自分自身のための ものづくり / 自分自身のためのものづくりメモ

* ヤフオクのウォッチリスト用フィルタ

 ウォッチリストから商品IDが消えたと思ったら、まったくもって邪魔な「ポイント」とやらが出現。
 うりうりとProxomitron用フィルタを作成した。改変すると言うよりは、必要な情報を抽出して再構築するフィルタ。

商品名のみ
http://openwatchlist2.auctions.yahoo.co.jp/jp/show/mystatus?select=watchlist&s1=end&watchclosed=0&myaucpic=false
商品名と画像
http://openwatchlist2.auctions.yahoo.co.jp/jp/show/mystatus?select=watchlist&s1=end&watchclosed=0&myaucpic=true
等に対して機能。
 明示的に"myaucpic=true"とか書いてないと、どちらかを判別できないので適用されない。
(ReadMore...)

* mixi外からmixiへのアクセスを防ぐ

Proxomitorn用フィルタ
[Patterns]
Name = "Block mixi form not mixi (IP)"
Active = TRUE
URL = "(^mixi.jp)"
Limit = 512
Match = "59.106.41."

Name = "Block mixi form not mixi"
Active = TRUE
URL = "(^mixi.jp)"
Limit = 512
Match = "mixi.jp"
Replace = "mixotron.jp"
mixi.jp以外のサイトではmixi.jpという文字列を片っ端から書き換えてしまうという力業。
※単純に文字列の置換を行うだけなので、Javascriptで難読化されたりすると通用しない。
#悪用のヒントを出すのはどうかとも思うが、どーせ悪用するような人はそれぐらい思いつくだろう。
(ReadMore...)

* YAH!X試験中

 Yahoo!オークションWebサービスにより提供されるXMLデータを使うYahoo!AuctionHelperを作成中。

↓とりあえずの実験バージョン
http://baku.homeunix.net/program/yahX/yahX_test01.rb?category=2084045752&pic=true
categoryを書き換えれば他のカテゴリを見れる。
pic=trueで画像表示。それ以外で非表示。

 YAH!の特徴である各種NG機能は、とりあえず「NGキャラクタ」のみ実装。
 「次の25件」をいちいちクリックしなくてもいいので、現状でもとりあえずそこそこ役立つと思う。

 YAH! Ver.3としようかと思っていたけど、Yahoo!オークションWebサービスでは今のところキーワード検索ができないっぽいなどの理由で、Ver.Xとして別物としての扱い。

#Ruby #REXML #ヤフオク #YAH! #途中経過

* REXMLを使ってヤフオクのXMLデータを読む

 楽だ…。機械で読みやすいデータが提供されてるというのはこんなにもありがたい物だったとは。
 また、便利なREXMLに感謝。

#!ruby -Ku

require 'jcode'
require 'nkf'
require "rexml/document"

file = File.new( "y.xml" )
y = REXML::Document.new file

y.root.each_element('item') do |item|
  p item.elements['auctionID'].text
  p item.elements['title'].text
  item.each_element('seller') do |s_item|
    p s_item.elements['itemlist'].text
    p s_item.elements['rating'].text
  end
  p item.elements['url'].text
  p item.elements['img'].text
  p item.elements['price'].text
  p item.elements['bids'].text
  p item.elements['endtime'].text
end

Yahoo!デベロッパーネットワーク - オークションWebサービス
http://developer.yahoo.co.jp/auctions/

REXML - Home
http://www.germane-software.com/software/rexml/index.html

私家版REXML APIリファレンス
http://www.cozmixng.org/~kou/ruby/rexml/reference

REXML Tutorial - Home
http://www.germane-software.com/software/rexml/docs/tutorial.html

REXML であそぶ
http://www.namikilab.tuat.ac.jp/~sasada/prog/rexml.html


#Ruby #REXML #ヤフオク #YAH! #途中経過

* DOSモバとAIR-EDGE

AH-S405CをMobile Gear for DoCoMoに装着し、ちょいちょいと設定すると、あっけなく「テキストブラウザ」を使ったWebの閲覧ができた。



 ただし、「テキストブラウザ」は制限が色々あるので、そのままでは実用的に使うのは苦しい。
 googleのトップページすら開けないのはなぜだろう?
 テキストだけでも十分と思って開いた2chもちゃんと読めない。gzip圧縮に対応していないとダメなのかも。


 ちなみに、昔、MC-P300で試したときには数KB読んだところでつまって、モデムのATXコマンドをいじったり等もできないため手詰まりだった。

#モバイルギア #PDA

* 表示デバイス


アパチャーモジュレーション方式による12bit階調表示
http://radiforce.com/jp/support/pdf/wp_jp_05_001_Aperture.pdf

* RandomNote ロボット対策

 今度はgooのichiroが検索ワードを引っかき回していった。

 検索ワードによるリンク先にアクセスするとその単語がageられるけど、ロボットにかき回されると困る。…が、ロボットによるアクセスだけをうまく制限する方法が思いつかない。他の人にも役に立つかもしれないメモ帳を目指しているので、ロボットの完全排除は論外だし…。

 ぱっと思いつくのは、UAを見てロボットだったら記録に残さないように改造すること。でも、ブラックリスト方式だから、最初にリストを作るのがやや面倒で更に新手が増えるたびにリストを更新する必要があるのが面倒だぁ。

 とりあえずの対策として、ichiroとかはRefererが空なので、Refererがnilな場合は検索ワードを追加しないようにした。
def save
  PStore.new(CACHE_DATA).transaction do |db|
#    db['search']  = @search
    db['search']  = @search if @cgi_referer != nil

2006/02/09:今度はmsnbotが引っかき回していった。対策をミスっていたのが発覚し訂正。
cgi_refererはリファラ無しの場合はnilなのだな。

#RandomNote #Web

* コンタクトZ

 秋月で売っているDMMP-10の電池を交換したものの、やたら調子が悪く表示が時々消えた。叩くと動いたりするので電池の接触不良と考え、接点部を起こして接触圧を増すと共に、電池を固体系接点復活材コンタクトZにて処置した。

 どっちが効果的だったのかは不明だが、電池が結構前に買ったもので接点が曇っていたので、コンタクトZが効いたのではないかと思う。

#電子工作

* robots.txt BecomeBot締め出し

User-agent: BecomeBot
Disallow: /

 RandomNoteの検索履歴をしっちゃかめっちゃかにしていきやがったBecomeBotをルートから締め出し。
 どーせ日本語読めないんだから、その方が互いに資源の節約だ。

 RandomNoteはロボットに検索させないようにしているようなんだけど、BecomeBotはmetaを解さないらしい。

参考:
ウェブマスターフォーラム - クローラの情報
http://forum.su-jine.net/theme/seo/58/

◇追記
2006/02/04,11:58:17,64.124.85.211,"64.124.85.211.become.com","-","-",GET,"/robots.txt","","1.1",200,117,"-","","Mozilla/5.0 (compatible; BecomeBot/2.3; MSIE 6.0 compatible; +http://www.become.com/site_owners.html)"
robots.txtを読んで去っていった。その辺は行儀がいいな。

#Web

* 電気用品安全法


特定電気用品(112品目)一覧
電気用品取締法の表示が付してある電気用品の販売の猶予期間の起算日は、平成13年4月1日であり、満了日は、次のとおりです。
5年:平成18年3月31日   7年:平成20年3月31日   10年:平成23年3月31日
(中略)
71おもちや用変圧器7年
72その他の家庭機器用変圧器7年
73電子応用機械器具用変圧器7年
111直流電源装置7年

特定電気用品以外の電気用品(338品目)一覧
電気用品取締法の表示が付してある電気用品の販売の猶予期間の起算日は、平成13年4月1日であり、満了日は、次のとおりです。
5年:平成18年3月31日   7年:平成20年3月31日   10年:平成23年3月31
(中略)
322 電子応用遊戯器具 5年

電気用品安全法に関する解釈について
電子応用遊戯器具 電子応用遊戯器具 テレビジョン受信機に接続して使用するもの又はブラウン管を有するものに限る。)



http://www.ssaj.or.jp/topics/pdf/denanpo_gaiyo.pdf
「製造事業」、「輸入事業」、「改造」
■電気用品を完成させる行為は製造とみなされ、
これを継続反復する場合、製造事業となる。
また継続反復して輸入する場合は輸入事業となる。
・OEM
・個人輸入
■電気的、機械的条件を変更する行為は電気用品を
完成させる行為とみなされる。
・電線・プラグ等の変更
・内部配線の変更
・部品の変更etc
 …結構困るぞ。
 これまでヤフオクに改造ファミコンを出品するときは秋月のACアダプタ直結にしてたけど、ジャックを付けて「ACアダプタはPSEマークが付いたのを別に用意してね」としないとダメだな。
 多くの電子機器が電源内蔵じゃなくて外部にアダプタを付けているのは法律上手続きが面倒だからと聞いていたが、こーゆーわけだったのね。

 しかし、法律を読み込んでなくてよく理解していないのだが、電力周り以外もほとんど規制される?

参考資料:
本家本元>電気用品安全法の概要
http://www.meti.go.jp/policy/consumer/seian/denan/outline/hou_outline.htm

消費者の窓
http://www.consumer.go.jp/kanren/handbook2005/02/2005handbook-ch2-s1.html

電気用品安全法を真剣に考える
http://game9.2ch.net/test/read.cgi/retro/1137730500/
レトロゲームにとっては致命傷になりかねんからなぁ…

P.S.
検査機関の認定が必須だけど、ほんとーに日本全国の膨大な製品をちゃんとチェックできるのか…?
正直、甘い汁を吸いたいだけなんじゃないか?という疑念が晴れない。


電気用品安全法 PSEマーク

* RandomNote 内部へのリンク/外部へのリンク 差別化


def link_self(mes='', fname=nil, cmd=nil, option=nil, smode=nil, anchor=nil)
内を改変
%|<a class="self" href="#{url}" #{anchor ? anchor : ''}>#{mes != '' ? mes : '\root'}</a>|

後は、テーマのCSSを適当に変更のこと

* Ruby関連参考ページ


Rubyで画像ファイルのサイズ取得:生活活用形−ちょよて・ちゃよて
http://tociyuki.cool.ne.jp/clife/comp/rubyimagesize.html

Ruby/PureImage
http://cappuccino.jp/keisuken/ruby/pureimage/

backup_mixi
http://d.hatena.ne.jp/kusigahama/19700831#pl

Exerb Project
http://exerb.sourceforge.jp/
backup_mixiはexe化されたのが用意されてる。
Ruby環境を用意していない大多数の人にとっては便利だな。
用意してても便利。

RAA - http-access2
http://raa.ruby-lang.org/list.rhtml?name=http-access2
backup_mixiで使われているようだけど、やっぱ標準のhttp.rbより便利なのかな?


#プログラミング #Ruby

* HSP関連参考ページ

* RandomNote 参考文献

* RandomNoteを試してみる

RandomNoteを試してみる。


面白くて簡潔なシステムだ。でも、画像をインライン貼り付けする術がない?

画像インライン貼り付け機能付与

def inline(mes)内を改造。
    case $1
    when /(\[\[(.*?)\]\])/
      case $1
      when /\[\[img:(.*?)\|(.*?)\]\]/ # add by bakuchikujuu
        %|<img src="#$1" alt='#$2' />|
      when /\[\[img:(.*?)\]\]/ # add by bakuchikujuu
        %|<img src="#$1" alt='' />|
[''''''[img: ../photoxp/image/photoxp/f3/M_1.JPG]'''''']
とすることで、以下のようにインライン画像となる。

altを明記する場合は、
[''''''[img: ../photoxp/image/photoxp/f3/M_1.JPG|基板穴開け補助]'''''']
とすることで、以下のようにインライン画像となる。
基板穴開け補助

記法はWikipedia:編集の仕方を参考にした。

画像掲示板

画像アップロード用として、Rubyで組まれたPhotoXPを設置。
http://baku.homeunix.net/WiKi/photoxp/photoxp.cgi
にてアクセス可能。