2007-01-24(水) [長年日記]
■ ISBN-13 ⇔ ISBN-10相互変換(3)
先日話題にした、Amazon ECSがISBN-13に対応したのを受けて、tDiaryのamazonプラグインを最新の2007-01-17版APIに対応させた。
IdTypeにイロイロと与えられるのはいいんだが、今のamazonプラグインにはそういうインタフェースがない。しょうがないので与えられたIDから数字以外の文字を除いたものが13桁あった場合には"ISBN"、それ以外は"ASIN"と判断。JPサービスの場合、他に"EAN"が指定できるが、無視して大丈夫だろうか。
おまけに、IdTypeを"ISBN"にした時にはSearchIndexを"Books"にするか"ForeignBooks"にするか選ばないといけないのだが、これも情報がないので"Books"固定に。ForeignBooksにリンクしたいときはどーすりゃいいんだ? これ以上amazonプラグインのインタフェースを複雑にするのは勘弁だしなぁ。
■ 町田駅の特殊性に絶望した!
そろそろPASMOのことでも勉強しておこうかな〜、と思ってイロイロ調べていた。JR東日本と相互利用できるようになるってことは、いま小田急で使っている磁気定期券をSuicaに(もしくはPASMOに)一本化でき、ほとんどの生活圏内で「タッチ&ゴー」できるようになるからだ。
が。
調べていくうちに、不穏な情報にぶちあたる。
町田駅というのは特殊な駅で、JR町田は旧原町田駅なので、小田急町田駅との乗り換えが「制度上」認められていません。(難しく言うと連絡運輸協定がない)
ええぇぇぇー!? 制度上ってナニヨ!! 客をバカにしてんのかい!
いやー、たぶん鉄な人たちには常識的な話だったんだろうけど、なんで磁気時代から定期が別々だったのか、やっと真相が判明したよ。なんてこった。
で、PASMOのサイトには、無情にもこう書いてある:
2枚以上の定期券をお持ちになる場合は、お手数でも磁気定期券をご利用ください。
2枚以上のICカードの同時使用はできません。
じゃあ、町田駅で小田急線⇔横浜線を使ってる何千人だか何万人だかの人たちは、未来永劫、全面ICカード化は望めないってこと? スゴイハナシデスネ……。
■ ドメイン名の長さでspam判定してみる
だいぶ前から「www.なんちゃらinsure.com」とか「www.ほにゃららlife.info」みたいな、妙に長い名前のreferer spamがよく来る。発信元はまちまちなので、botnet経由だろう。ネーミングも手を変え品を変えしてくるので、NGワードで締め出すのも、イタチごっこだ。
そこで、「ドメイン名が長かったらspam」というのは有効ではないかと思い、以下のようなスクリプトを書いてtDiaryのリンク元ファイルを検索させてみた。ピリオドで切り離したホスト名要素の中に、13文字以上のものがあればアウト、である:
require 'uri' while s = gets next unless /^\d+ / =~ s n, u = s.split begin URI::parse( u ).host.split( /\./ ).each do |d| if d.length > 12 then puts uri.host next end end rescue URI::InvalidURIError end end
どれどれ……
% ruby longdomain.rb 2007/*.tdr takagi-hiromitsu.jp sinseihikikomori.bblog.jp : :
ああもう……_| ̄|○
とはいえ、こういう「まとも」だけど長いドメインはたいていblogだから、トップページだけじゃなくpermalinkからのrefererが多く含まれている。トップページ(パスが「/」のURL)を選んで弾くようにすれば、十分役に立ちそう。
というわけで、以下のようにフィルタを書いて設置してみることにした(longdomain.rb)。
require 'uri' module TDiary module Filter class LongdomainFilter < Filter def referer_filter( referer ) begin uri = URI::parse( referer ) uri.host.split( /\./ ).each do |d| if d.length > 12 and uri.path == '/' then return false end end return true rescue URI::InvalidURIError return false end end end end end
追記(2007-01-27): バグってたのでちょっと修正。
もしかしたらJR稲田堤⇔京王稲田堤なんかも同じかも?
Suica定期券とPASMO定期券を2枚じゃだめなんですかね。Mobile Suica + PASMO 定期券ということでどうでしょう。
同一のパスケースにSuicaとPASMOの二つの定期が入っていた場合、果たして改札がちゃんと開くかどうが問題になるかも。Suica/PASMOのコリジョン規格や改札の仕様について知らないので、よくわかりませんけど。
もし、ダメなら真ん中に電波を遮蔽するカードでもいれるか、どちらかを磁気定期にするようなことが必要になるのかなあ。
定期をなんとかして2枚持つというソリューション(例えば定期入れを二つ持つとか、一方をお財布ケータイにするとか)は、JR町田駅の改札にPASMOでタッチしちゃう(もしくはその逆)のような事故が避けられないので、なしですね。危なすぎる。
http://yamk.net/20070125.html#p03
yamk日記
町田駅の特殊性に絶望した! (ただのにっき)
要するに、JR東日本の横浜線「町田駅」と、小田急の小田原線「町田駅」で乗り換えする場合には、PASMO あるいは Suica でも1枚化できないという話。 意味がよくわからなかったので、Google maps で「町田駅」を 引いてみた。なーるほど、2路線が交差していているのだが、..
http://array.jugem.jp/?eid=420
Arrayの体外刺激反応
PASMOとSuica
ちょっとBuzzurlを眺めていたらこういうブログのエントリーにぶつかった。
ただのにっき(2007-01-24)町田駅の特殊性に絶望した!
な、懐かしい。
「定期をなんとかして2枚持つソリューションは無し」ということなので不要の蛇足情報だとは思いますが、アイクレバー(http://www.shelly-card.com/iclever/)やICカードプロテクター(http://tamagawa-tht.ktpc.or.jp/iccardpro.htm)などの製品で2枚を同じパスケースに入れてみるのはアリだと思うのですが…
通りすがりさんの方法では、たださんの言う「裏表間違えてタッチしたときに課金されちゃう」問題に対応できないですよね。
その通り、あの手の商品は問題を何も解決してくれません。改札を通るたびにどっちを上にすればいいのか考えなきゃいけないなんてナンセンスですよね。
それはそうと、おサイフケータイにはSuicaとPASMOを同居させられないのかな(無理か)。
片方の面に指で触ると分かる凸を付けて「凸の方がSuica」とか覚えてしまう…ダメか。