2005-11-20(日) [長年日記]
■ はやぶさ、タッチダウンせず(か?)
どうも、松浦晋也のL/Dが、世界的にはやぶさ関連ニュースのポータル化しているっぽいなぁ。というのも、先日のTrackBackをたどってきたとおぼしき、日英翻訳サイトからのrefererがあるからなんだが。やっぱ、本家からのアウトプットが乏しいよなぁ。貧乏の壁は厚い。
今朝の降下に関する記者会見の、詳細なレポートも、やはりL/Dから。ターゲットマーカーは着地したが、本体は地表すれすれをウロウロしただけでタッチダウンには至らなかったようだ。くそー、応援がちょっと足らんかったか! 残念だけど、満身創痍なのに自律でここまでやれれば、たいしたもんだよなー。はやぶさはたいしたロボットだ。
願わくば高温のダメージが少なくて、25日の再降下にチャレンジできますように。
■ Alexa Web Information Service (AWIS)を使ってみようとしてほぼ挫折中
ふとした気の迷いで、AlexaのWeb Serviceを使ってみようと思い、いじってみたんだけど、うまくいかない。一定回数以上のクエリから有料になるため、一風変わった認証システムが組み込まれているんだけど、そこをうまく通過できないっぽい。Amazon Web Services Request Authenticationというのがそれなんだが:
- HMACを使ってdigestを計算し、base64でエンコードする
- ハッシュ関数はSHA1を使用
- digest用のキーは、AWS共通のsecret keyを使用する
- digest用の値は、サービス名(AlexaWebInfoService)、オペレーション、タイムスタンプを連結した文字列
- タイムスタンプはXML SchemaのdateTime形式
まず、HMACの計算をどうするのかわからず、調べてみたらOpenSSLに入ってるらしい。が、例によってドキュメントが見つからない。Ruby使いの宿命だ。甘んじて受け入れよう(全肯定かよ)。OpenSSL::HMAC::digestに、SHA1のインスタンス、キー、値の3つの引数を渡すと、公開されているJavaのサンプルと同じ値を返すようになったので、これでいいんだろう。たぶん(ここからしてすでに怪しい)。
で、楽なRESTインタフェースを選ぶことにして、まずは呼び出し用のURLだけを生成するクラスをこんな感じで作った:
require 'openssl' require 'base64' require 'cgi' class Alexa BASE = 'http://awis.amazonaws.com/onca/xml' SERVICE = 'AlexaWebInfoService' def initialize( access_key_id, secret_access_key ) @access, @secret = access_key_id, secret_access_key end def url_info( url, response_group = 'Rank' ) ope = 'UrlInfo' ts = timestamp sig = signature( ope, ts ) awis = BASE.dup awis << "?Service=#{SERVICE}" awis << "&AWSAccessKeyId=#{@access}" awis << "&Operation=#{ope}" awis << "&Url=#{url}" awis << "&ResponseGroup=#{response_group}" awis << "&Timestamp=#{ts}" awis << "&Signature=#{sig}" end private def timestamp ts = Time::now::utc::strftime( '%Y-%m-%dT%H:%M:%SZ' ) end def signature( operation, timestamp ) digest = OpenSSL::HMAC::digest( OpenSSL::Digest::SHA1::new, @secret, "#{SERVICE}#{operation}#{timestamp}" ) CGI::escape( Base64::encode64( digest ).chomp ) end end
こんな感じで使う:
alexa = Alexa::new( アクセスキー, シークレットキー ) puts alexa.url_info( 'sho.tdiary.net' )
表示された長いURLをブラウザに貼ると、指定したURLに関するアクセス統計情報が得られる……はずなんだけど、帰ってきたのはこんなエラー:
<?xml version="1.0" encoding="UTF-8" ?> <UrlInfoResponse xmlns="http://webservices.amazon.com/AWSAlexa/2005-07-11"> <OperationRequest> <RequestId>066697A3WVFSXYM29S4D</RequestId> <Errors> <Error> <Code>AWS.NotAuthorized</Code> <Message>The identity contained in the request is not authorized to use this subscription id.</Message> </Error> </Errors> </OperationRequest> </UrlInfoResponse>
「not authorized」って言われてもなぁ……。事前になにか、おまじないが必要なんだろうか。
といった感じで、今日は時間切れ。AWISは人気がないらしく、Web上にもほとんど情報がない。とほほ。
2005-11-19(土) [長年日記]
■ 「はやぶさ」の応援に行く
はやぶさのタッチダウンが19日の土曜予定が20日未明に変更というのを知って、行くのやめようと思ってたんだけど、18日の記者会見を読んでいてもたってもいられなくなってしまった。
というわけで、「地球上で(ある意味)一番はやぶさに近い場所」こと、臼田宇宙空間観測所に行ってきた。ちなみに二番目は、わが街相模原であるのは言うまでもない。
とにかく死ぬほど寒かったわけだが、それはふらっとツインの方で。ともあれ、はやぶさはあっちの方向だ。ほぼ太陽の方角を向いていたので「ほんまかいな」と思ったが、帰ってきてからはやぶさ現在位置を見てみたら、本当に太陽の向こう側にいるようだ。パラボラの台座をじーっと観察していると、地球の自転に合わせて少しずつ向きを変えているのもわかった。
つーわけで、パラボラと一緒に成功を祈って念を送ってきたよ!
2005-11-18(金) [長年日記]
■ JoltMark
JoltMarkという、新しいソーシャルブックマークサービスが出たそうなので、登録してみた。まぁ、機能的に目新しいところはないかな。デザインはすっきりしていてわかりやすいけど。各所でRSSが取得できるのはえらいと思った。あと、ユーザ登録時によけいなことを聞かないところも好感度高し。
で、ためしにJoltMark自身をブックマークしようとしたら、拒否られてしまったという(笑)。この制限に、いったいどんな意味があるんだ。ちなみに運営元のステッドファストはちゃんとブックマークできたのであった。
まぁ、MM/Memoから乗り換えるほどでもないか。つーかブックマークって、OPMLがあるRSSアグリゲータと違って流通用のファイルフォーマットが決まってない(よね?)から、移行コストが高くてロックインされやすいよなぁ。
◆ (ふ) [「HAYABUSA LIVE」もタッチダウン当日だけですもんね。今回はJAXAのWeb担当のテラキンさんもプロジェク..]
◆ FWDer [つらいよな 明日のクローズアップ現代はどのような構成になるのか?(松浦晋也はゲストのはず...)]
◆ TrackBack [http://sho.tdiary.net/20051121.html#p02 ただのにっき Alexa Web I..]
◆ FWDer [なんと放送予定が飛ばされてなくなっちゃたよ]
◆ TrackBack [http://d.hatena.ne.jp/satzz/20080104/1199438426 satzz onli..]