2007-02-28

U-22日本代表×香港代表

勝ったけど、酷い試合だった。アメリカ戦と全く同じ問題がそのまま残っている感じ。しかも、相手はアメリカ代表よりも数段弱い香港相手だ。さすがに反町監督も試合後のインタビューでは殊勝はコメントを残していた。

ボランチが悪いのかと思っていたが、癌は3トップだったようだ。李とカレンがそれぞれ、家長と増田に交代してからは、ボランチとの連動性が高まり、中盤でスムーズな展開ができるようになっていた。

今の平山なら、1トップができるような気がするんだよね。それで、ちゃんとトップ下のMFを置いて、中盤を助けて、4バックにしてサイドをフォローすれば、かなり変わると思うのだが。

なんか、反町は山本以上に駄目臭が漂っている。まあ、新潟の監督やってたときも、エジミウソン頼みの酷いサッカーやっていたからなあ。オシムが五輪代表監督も兼任してくれないかな。

2007-02-26

BloggerPost 0.1.3 複数のブログサービスへの対応、トラックバック機能などを実装

bloggerpost-0.1.3.tar.bz2

主な変更点

  • Bloggerだけでなく、他の(Atomで投稿できる)ブログサービスにも対応。
  • トラックバックを送信できるようにした。
  • シンタックス・ハイライトでCSSを使うようにした。

UIの作成がなかなか進まないので、こんな機能を実装してみた。複数サービス対応をやるかどうかは、UIのプログラミングにも影響するので、もう、やるって決めようかな、と。これで、Blogger専用ではなくて、汎用のブログ投稿ツールを目指すという感じになったね。

今回対応したのは、

  • TypePad
  • livedoor Blog
  • So-net blog

の三つ。一般的にブログの投稿APIは、Movable Type互換のXML-RPCか、AtomPPに大別できる。BloggerはAtom PPを使っているが、認証がGoogle固有のものなので、他のサービスには使えない。今回は、認証方式としてメジャーなWSSE認証を実装して、Atomで投稿できるサービスに対応した。

3つというのは、少ないんだけど、世界的にメジャーなMovable TypeとWordPressは、Atomに対応しているので、汎用性はないわけではない。ただ、この二つは自分でサーバー(もしくはレンタルサーバー)を持たないといけないので、テストできないんだよね。TypePadも本当は有料サービスで、試用期間中にテストしているんだけど、このまま続けるかどうか悩み中。自分のブログは無料のBloggerなのに、BloggerPostのテストのために有料サービスに入るというのは、本末転倒だよなあ。

ちゃんと調べてないんだけど、日本の無料サービスは、Web APIでの投稿を許してことが多い。はてなもそうだし、ココログなんて、中身はTypePadを使っているのに、Atomを送りつけると、「500 Internal Server Error」が返ってくる。おそらく、APIでの投稿を禁止しているんだと思う。まあ、日本じゃ、使っている人も、あんまりいないだろうしね。

他のブログサービスに対応したということで、トラックバック機能も実装してみた。しかし、これが思ったより苦戦。というのは、実装そのものではなくて、スパム除けのフィルタに引っ掛りまくって、なかなかテストができない。特に、トラックバックの送信元IPをチェックしているサービスでは、BloggerPostは使えないね。けど、基本的にブログエントリーの方のIPを調べる方が多いっぽいので、それほど深刻ではないと思う。

個人的に残念だったのは、どのサービスでもBloggerのエントリーからのトラックバックは受けつけないっぽいんだよね。まあ、Bloggerはトラックバック機能がないから、そこからトラックバックがあるのはおかしいんだけど。今、ブログ界ではトラックバックスパムが深刻で、各社、色々と対策している。それがキツくて、普通のトラックバックも弾かれることも多いらしい。本音を言わせてもらえば、トラックバックなんていらないよね。だから、Bloggerを選んだというのもあるし。ああいう密結合は、こういう結果になりやすいよね。

さらに言うと、(公開された形での)コメントもいらないと思うんだよね。はてブとか、2chのウォッチスレでもいいけど、ああいう風にブログから距離を置いた形の疎結合な感じの方がいいんじゃないかな。炎上とかもなくなるし。ブログ作者とコンタクト取りたかったら、メールなり非公開のやりとりをして、必要に応じて、公開するという方が賢いよね。まあ、賢いだけでは盛り上がらないのかもしれないけど。

シンタックス・ハイライトのCSS対応は、Vimの起動時に

-c ':let html_use_css = 1'

というオプションを入れるだけで出来た。でも、手動でCSSを設定しないといけない。このブログでは、

/* for syntax */
.Special { color: khaki; }
.Type { color: palegreen; }
.Comment { color: darkorange; }
.PreProc { color: cyan; }
.Identifier { color: lightskyblue; }
.Constant { color: lightsalmon; }
.Statement { color: greenyellow; }
pre.bpsyntax {
border: none;
color: #ffffff;
background-color: #224444;
}

という設定をしている。

あと、地味なところでは、ニコニコ動画対応を削除した。なんか色々トラブルを抱えているらしい。

2007-02-25

イクサ、裏ダンクリア、訓練所50階クリア

トウマ、シリル共にゼィオン宮廷と訓練所50階クリア。パワーアートもコンプリートした。トウマは訓練所は楽勝、裏ボス苦戦。シリルは逆だった。裏ボスは、弱点がないのにノックバックはするので、魔法が有効。訓練所は、最強モンスターのアークドラゴンが、光闇攻撃は無効なのに、弱点が多いので、武器攻撃が有効なのだ。

最終装備はこんな感じ。

トウマ
強化SP1SP2奥義
カオスブレイカー+18クリティカル++アタック+100虚無の一撃
ゼナスシールド+18シールドガード+神託の盾
勝利者の王冠+18闇への耐性++大地の護符
不死鳥の体+18ガード+20ガード+20聖母の加護
イビルリングテクニック+100HP+80
ストーンブレスチェインアタック+アタック+100
シリル
強化SP1SP2奥義
邪神崇拝書+18シャインエレメント光の核
マスターチェーン+18吹き飛ばし耐性+30シールドガード+紙一重の見切り
ブルーローズ+18マジックパワー+50狂気の魔力
ノーブルホワイト+18HP+100ガード+25聖母の加護
イビルリング+9HP+100HP+80
メフィストブレス無慈悲マジックパワー+40

この装備は、裏ボスに最適化されているので、訓練所に行くときには、もっと防御力重視の装備にする。しかし、裏ボスにも余裕で勝てるのに、アークドラゴンには一撃で殺されるというのは、前作に引き続き殺伐としたバランスだよな。

トウマの武器のカオスブレイカーは地味だけどお気に入り。2chなどでは「暗黒の剣」が最強だと言われているし、まあ、確かにダメージだけ見ればそうなんだけど、暗黒の剣はスペシャル攻撃がカオスゲートだから、つまんないんだよね。その点、カオスブレイカーのスピンアタックは、くるくる回って爽快。

SPは、アタック+100は文句なく強いが、クリティカル++もレアリティはそんなに高くないと思うけど、地味に強い。これに虚無の一撃を組み合わせると、急所攻撃力は×4.7にもなる。指輪のテクニック+100込みだけど、急所攻撃率も1125%もある。これだけあると、裏ボスにも安定して急所攻撃が出る。常に急所攻撃なんだから、攻撃力が4.7倍になったのと同じですよ。強いでしょう。

盾は、いいのが全然出ない。シールドガード+があればいいかという感じ。シリルも同じ。

頭は、もっと出ない。強い装備ではSPが2つ付かないんじゃないのかとさえ言われている。それで、トウマは店で売っている勝利者の王冠を装備している。SPは飾りだが、素の能力の攻撃回数+2が強い。

不死鳥の体は、ヴィジュアルが酷い。トウマはネタかと思うような見た目の装備ばかりだけど、まさか、最強装備が着ぐるみとは……。でも、圧倒的に強いんだよね。2chでは、トウマの強さは、不死鳥装備の見た目を耐えられるかで決まると言われている。

対するシリルの最強装備のブルーローズとノーブルホワイトは、ウェディングドレスというネタ装備なんだけど、意外とカッコいい。あと、移動速度が早くて快適。クリア後は主にシリルを使って攻略してた。ちなみに、このHP+100とガード+25 のノーブルホワイトは、訓練所の32階で拾った。30階くらいで、もうラスダンより全然難しいんだよね。一体何のための訓練所なんだろう。

あと、試しに供給をONにしてみて贄神を倒してみたが、やっぱり弱かった。いつ倒せばよかったのだろう。やっぱりクリア直後だったのか?

2007-02-24

ゼロックススーパーカップ 浦和×G大阪

↑試合のダイジェスト。

去年のJリーグ最終戦、元旦の天皇杯決勝と、見る度にトラウマが深くなり、この2チームの対戦というだけで軽く欝になってしまう。しかし、今年のJリーグ公式戦の初戦ということで、まあ、見なきゃいけないでしょう。

浦和は怪我人が多く、DFの中央の"無職様"内舘と左サイドの小野という布陣がやや不安。対するガンバは、西野監督が今年から導入しようとしている4バックの布陣。今年は右サイドでの起用が濃厚な家長が、U-22の合宿に取られているということで、遠藤が一つ前のポジションに出ている。そして、左サイドバックは、期待の新人19歳の安田。この試合が初先発らしい。

試合は、序盤は互角だったものの、次第にガンバのペースになり、カウンターから、播戸の走りで浦和のラインにずれができたところを、二川がダッシュ、そこに遠藤からピンポイントのパス、二川シュート、こぼれたところをマグノアウベスが詰める、という形でガンバが先制。それからは、浦和の中盤のプレスが効かなくなり、遠藤と二川がやりたい放題。酷いのがガンバの2点目で、二川がハーフライン手前からスルスルとドリブルで上がり、ミドルシュート。これがあっさり決まってしまう。一体、浦和の守備陣はどうしてしまったのか。その後も終始ガンバペースで前半終了。

後半も前半と同じような展開。二川のキープから、ボランチの橋本が飛び出して、二川がスルーパス、橋本シュート、こぼれたところをマグノが得点。で、ガンバ3点目。この日の二川は好調だったが、それ以上に浦和のコンディションが悪い。こぼれ球をすぐにあきらめてしまったり、やる気が感じられない。そして圧巻だったのが、ガンバの4点目。遠藤がペナルティエリア手前で、キープからマルセイユルーレット、中央で待つバレーへクロス、バレーがシュート、こぼれ球をマグノアウベスが決めて、マグノがハットトリック達成。これは遠藤が凄かった。ターンして抜くところも凄いが、そのあとすぐに正確なクロスを上げられるって、どんな変態だよ。

で、結局ガンバが4-0が勝利。ガンバは会心の試合だったが、浦和が出来が酷すぎた。欧州遠征の直後とは言え、一週間後の開幕は大丈夫なのだろうか。

まあ、しかし、見ていて去年の溜飲が下がる試合だった。西野監督は、試合後のインタビューで、4点も取っているのに、「たくさんチャンスがあったのにあまり取れなかった」と余裕のコメント。確かにそんな感じの圧倒的な試合だった。やっぱり、なんと言っても遠藤が凄かった。ほんとに「ミスターJ リーグ」って感じだったね。代表しか見てない人は、遠藤がこんなに凄い選手だって知らないんだろうなあ。繰り返すけど、遠藤が離脱しなかったら、去年はあっさりガンバが優勝していただろうね。

あと、左サイドの安田はなかなか鋭い攻め上がりを見せて、将来が楽しみな感じだった。インタビューもなかなか大物で、今年来るんじゃないですかと振られて、「安田フィーバー、なるようにがんばります」とか、面白い答えを返していた。安田フィーバーって。

2007-02-21

U-22日本代表 vs アメリカ代表

0-0だった。微妙。少なくとも視聴率は取れてないだろう。やっぱり、梶山と本田拓のボランチがなー。消える時間の多い梶山と、テクニックに問題がある本田拓のコンビでは、中盤が作れてない感じだった。そのせいで、せっかくの水野と本田が全然機能しなかった。いや、梶山はめちゃくちゃ期待しているんだけどね。しかし、奴はほんとに小野タイプだよなー。期待もするけど、見てると不安になる選手でもある。そして悪かったのが、本田。こいつも良くも悪くも中田っぽいというか。駄目なときは、ほんと駄目だな。もうちょっとなんとかならんかなー。この世代は、水野、家長、本田、谷口、増田、梶山、枝村、柏木とタレントは十分だと思うんだけど、反町がいまいち使いこなせていない感じ。かつてないほど、見ていて歯痒い。

機本伸司/神様のパズル

神様のパズル
機本 伸司

角川春樹事務所

2002-11

単行本

この作品は2002年の第3回小松左京賞受賞作品で、映画化、ゲーム化も予定されているという話題作。精子バンクを利用してできた天才児のヒロインとバイトに明け暮れるダメ学生の主人公のコンビが、宇宙の作り方を探るというストーリー。まあ、コーディネイターとナチュラルのコンビだね。穏やかに話が進むと思いきや、農家の手伝いをしたり、その農家の人が病気で死んだり、思い詰めたヒロインが本当に宇宙を作ろうとしたり、父親は身近なところに?と、意外とサスペンスフルな展開になる。

と、真ん中くらいまでは面白く読めたんだけど、終盤、作者が息切れしているのが分かって、ちょっと残念だった。特に終わり方がよくない。最後、ヒロインは、飛び級で入った大学を退学し、本来の学年の高校に入り直し、精子提供者の父親も見つかり、親子3人で幸せに暮したというのだが、こんな結末は、ウンコ食らえである。

まず、高校に入り直すというのが駄目だ。人生はやり直せばいいというものでもないし、後戻りできるものでもないのだ。卒業したところに、もう一回入ってどうする。それに年相応のことをやるのが正しいなんていうのは、まさに社会の抑圧じゃないか。大人に大人になれというならともかく、子供に子供らしくしろ、なんて言うことには従う必要はないのだ。

青春小説で、こういう常識的な健全性なんていうものを押し出すというのよくないと思う。はっきり言えば、説教臭い。SEEDの例えをもう一度出せば、出自を呪い、親を殺し、人類を抹殺しようとしたクルーゼ様の方がまだマシである。キラ様が最後までクルーゼに反論できないとよく揶揄されるが、反論できないからこそ、SEEDはかろうじで作品として成立しているのである。もし、クルーゼが改心してラクス派になったら幻滅もいいところだろう。この作品には、そういう駄目さがある。

それと、この作品は、SFの新人賞である小松左京賞を取ったわけだけど、SFとして見ると、もっと言いたいことが出てくる。

用語はよく調べているのだろうけど、フレーズが応酬するわりに、論理展開に飛躍が多すぎて、議論が空回りしているような気がする。嘘のガジェットの上に正確な論理を展開するのがSFの作り方だとすると、本当のガジェットの上に不正確な論理を展開しているという感じ。ジャンルとしては、SFよりホラーの方が近い(そう考えるなら、一番最後の穂瑞の研究は全部嘘だったかもしれないという結末はちょっと面白い)。ディベートを追求するなら、途中にあった「宗教信者 vs 創造主はいるけど宗教否定派 vs 神様も科学万能も否定派 vs科学万能主義」の部分をもっと深く掘り下げた方がよかったと思う。

あと、理系大学出身者として言わせてもらうと、主人公が勉強しなさすぎ。結局、ほとんど物理学を勉強も研究もすることなく、物理学の社会的役割となんていう哲学的な卒論を2日で書き上げるというのは、それって典型的ダメ学生じゃんと言いたくなる。それで「いいこと言った感」を演出されても冷めるだけだ。

さらに言うと、理系の大学院進学率が50%を越えると言われる現在(東大や東工大は90%を越えるとか)、研究室の学生の進学に対する意識が低すぎる。4人中3人が就職で、残った一人も「彼は二浪で、就職も厳しいことから、大学院への進学を希望している」とか、大学院ナメすぎだろ、とツッコみたくなる。

あと、他のツッコミどころとしては、途中、宇宙の創造から未来までをコンピュータでシミュレーションするんだけど、シミュレーション中で、未来の人類が新しい物理学の理論を編み出して宇宙の生成を行なうという場面があった。そんなことができたら、それこそ、統一理論どころではない、世紀の大発見だよ。なんか、フィクションの中のコンピュータって適当だよな。

全体の感想としては、SFのふりをして、SFの魂がないというか、文系の人が想像して理系のことを書きました感が強すぎるね。決してつまらない小説じゃないんだけど、読む前の期待と実際のギャップを感じる小説。

2007-02-18

BloggerPost 0.1.2 Flickrの画像を貼り付ける機能などを実装

bloggerpost-0.1.2.tar.bz2

主な変更点

  • Flickrの画像にリンクする記法を追加
  • YouTube、Google Video、ニコニコ動画を貼り付ける記法を追加
  • 書式にEtTextスタイル、stxスタイル、Blogger HTMLスタイルを追加

Bloggerで不満なのは、画像の管理方法。アップした画像を直接コントロールできないんだよね。あまり画像使わないから気にしていなかったんだけど、BloggerPostとの相性も悪いので、Flickrを使って解決しようと考えた。

Flickrは、Flickrの画像ページにリンクすれば、画像を直リンクしてもかまわないという規則なので、Flickrで画像を管理しつつBloggerで使うということが可能になる(ただし、ロゴ、バナー等の素材のホスティングサーバーにすることは、ガイドラインで禁止しているので注意)。

というわけで、Flickrの画像にリンクする方法だが、申し訳ないが、これがちょっと面倒臭い。まず、Rubyのライブラリのrflickrをインストールする。RubyGemsでインストールするのが楽でいいだろう。類似ライブラリが多数あるので間違えないように。

で、次に、新しくできたbloggerpostflickrauthという長がったらしいコマンドを実行すると、

You must visit
http://flickr.com/services/auth/?api_sig=ca1619588b6295ac8584fbf324cc781d&frob=7212949-f8d5c2f198b0c465&perms=read&api_key=063adbe28d97be54e9237571c2dabeee
to authorize this application. Press enter when you have done so. This is the only time you will have to do this.

こんな画面が出る。指定されたURLに行くとBloggerPostからFlickrにアクセスしてもよいかを問う画面になるので、許可する。

それでやっと、bpflickr記法が使えるようになるわけだ。面倒臭い。でも最初の一回やればよいだけだから、我慢しよう。なんで、こんなに面倒臭いかというと、ユーザーのパスワードをアプリケーションに知られないようにするためらしい。BloggerPostのようなコマンドラインで動くようなツールではあまり関係ないが、Webアプリケーションの場合、ユーザーのパスワードがアプリケーション・ベンダーに知られてしまうわけだ。それを避けるための仕組みらしい。なるほど。

で、bpflickr記法の説明だが、

http://www.flickr.com/photos/31961488@N00/392530882/

この画像をブログに貼りたいと思った場合には

bpflickr:392530882

と記述する。そうすると、

茶虎ズ

と貼り付けられるわけだ。画像の大きさは、

bpflickr:392530882:square
bpflickr:392530882:thumbnail
bpflickr:392530882:small
bpflickr:392530882:medium
bpflickr:392530882:large
bpflickr:392530882:original

という感じで指定できる。猫の写真が並ぶだけなので実際には表示させないけど。

まあ、導入が面倒臭いわりに、大した機能ではない。Flickr APIを使えば、もうちょっと面白いことができるのかもしれない。あと、rflickrがプロキシ使えないんだよね。なんか、Rubyのライブラリって微妙なのが多いよなあ。

次は動画貼り付け系ね。個人的には前に書いたようにブロードバンド難民なので、使わないと思うけど、まあ、流行りっぽいし、簡単に実装できたので。

記法は、

bpyoutube:JS0CxKuocsE
bpgooglevideo:592031749984578587
bpniconico:utJS0CxKuocsE

こんな感じ。実行すると、

こんな感じ。やっていることは、それぞれのページの貼り付けHTMLをテンプレート化しているだけ。

書式の追加は、EtTextスタイル、stxスタイルはそれぞれのサイトの説明を読んでもらうとして、ここで説明が必要なのは、Blogger HTMLスタイル。これは、普通にBloggerのUIからHTMLを書くようにブログを書くという書式。BloggerPostは改行削除を行なっているんだけど、Blogger HTMLスタイルでは、これを行なわない。あと、タイトルは一行目に「bptitle: タイトル」という形で記述する。今までBloggerで書いていた人がそのまま移行できるように、と追加してみた。

今日は雨だったから一日プログラミングしてた。そろそろコマンドラインで実装するものがなくなってきたな。次はいよいよフロントエンドか。なんか、気が重いなあ。

2007-02-17

BloggerPost 0.1.1 Amazonアソシエイト・プログラム支援機能などを実装

bloggerpost-0.1.1.tar.bz2

主な変更点

  • プロキシ対応
  • プレビュー機能とbloggerpost2htmlコマンドを追加
  • HTMLをそのまま通すフィルタを追加
  • Rubyのコードをevalするフィルタを追加
  • Amazonアソシエイト・プログラム支援機能を追加

プロキシ対応は、まあ、特に説明するところはない。HTTPとHTTPSは分けて、プロキシ認証にも対応している。

プレビュー機能は、フィルタ機能のデバッグに必要だったので追加した。激しく便利なので、もっと早く作ればよかった。bloggerpost2htmlはプレビューの機能を独立させたコマンド。

下の三つは、今回機能拡張したフィルタの機能。スタイルと同じく、ディレクトリにファイルを入れるだけで動作する。Rubyのevalフィルタならfilterディレクトリに

class RubyFilter < BloggerPost::Filter
def translate(html)
html = filter_text(html, 'bpruby') do |src|
eval(src)
end
return html
end
end

BloggerPost.register_filter(RubyFilter)

というファイルを突っ込めば、evalフィルタが動くようになる。フィルタの文法は共通なのだが、詳しくは各々の機能のところで説明しよう。

HTMLをそのまま通すフィルタというのは、

[bphtml <del>hoge</del> bp]

もしくは、preタグの中に

bphtml
<ul>
<li>hoge</li>
<li>fuga</li>
</ul>

という形式で使う。結果は、

hoge

  • hoge
  • fuga

となる。要するに単にスルーするフィルタなんだけど、どうしてこんなものが必要なのかというと、大抵のスタイルでは、そのままHTMLを書いてもエスケープされてタグとは解釈されないので、どうしてもHTMLで書きたいときのために追加したというわけ。ちなみにインライン形式の'['は'{'でも'('でも動作する。スタイルの形式と被らないのを選択しよう。

Rubyのコードをevalするフィルタというのは、この記法を使うとRubyのコードをブログに埋め込めることができるようになる。

例えば、インラインの場合は、

このファイルを変換したのは[bpruby Time.now.strftime('%Y年%m月%d日') bp]です。

と書くと、

このファイルを変換したのは2007年02月19日です。

と表示される。preタグを使う場合は、

bpruby
require 'find'

home = ENV['BPHOME'] + '/lib/' # BPHOMEというのは僕のマシンの環境変数
files = []
Find.find(home) do |file|
files << file.sub(home, '') if file =~ /\.rb$/
end

'<pre>' + files.join("\n") + '</pre>'

と書くと、

hikidoc.rb
bloggerpost.rb
bloggerpost/filter/embedvideo.rb
bloggerpost/filter/flickr.rb
bloggerpost/filter/asin.rb
bloggerpost/filter/ruby.rb
bloggerpost/filter/html.rb
bloggerpost/filter/syntax.rb
bloggerpost/style/bhtml.rb
bloggerpost/style/stx.rb
bloggerpost/style/ettext.rb
bloggerpost/style/rst.rb
bloggerpost/style/rd.rb
bloggerpost/style/plain2.rb
bloggerpost/style/html.rb
bloggerpost/style/apt.rb
bloggerpost/style/wiki.rb
bloggerpost/style/markdown.rb
bloggerpost/style/grutatxt.rb
bloggerpost/style/txt2tags.rb
bloggerpost/style/textile.rb
bloggerpost/style/asciidoc.rb

と表示される。こんな機能を気軽に導入できるのはクライアントツールならではだね。セキュリティを考えなくてもいいからね。

そして、今回のメインと言えるAmazonアソシエイト・プログラム支援機能。いわゆるアフィリエイトってやつだね。今回は、ASINというAmazonで扱っている商品を一意に示すコードから、個別商品へのリンクを作成するという機能を実装した。

と書くとイメージしづらいのだが、要は、こいつのパクリだ。

書籍・音楽・映画の紹介リンクを挿入する(isbn/asin記法)

はてなは、リンクを辿ると、はてなの商品紹介ページに飛ぶわけだが、BloggerPostでは、ちゃんとAmazonのページに飛ぶようになってる。(まあ、はてなは商売でやっているので、しょうがないのだが)

では、どうやってこの機能を使うのかというと、まず、Amazonのアソシエイト・プログラムとAmazon E-Commerce Serviceに登録する。ECSにも登録しないといけないのは、ちょっと面倒臭いが、細かい情報を取ろうと思うとしょうがない。

取得したIDをconfig.ymlに書く。

amazon:
awsaccesskeyid: 170MPM6XPQTA41ANYGG2
associateid: lifeisuneafor-22

そしてブログに

bpasin:B000GWKY4O:title

bpasin:B000GWKY4O:image

bpasin:B000GWKY4O:detail

というような記述をすると、

シャイニング・フォース イクサ

シャイニング・フォース イクサ

と表示される。画像の大小も指定できる。

bpasin:404427102X:detail:small

bpasin:B0007D5J38:detail:large

愚者のエンドロール
米澤 穂信

角川書店

2002-07

文庫

AIR 1 通常版
ポニーキャニオン

2005-04-06

DVD

と表示される。で、クリックした先で24時間以内に購入すれば、3%くらいのお金がもらえるらしい。らしいというのは、まだ試してないから。もちろん、BloggerPost側でアフィリエイトを掠め取るようなセコい真似はしていません。

まあ、今回の機能は、アフィリエイト目的というよりは、書籍とかの情報を表示したかったという感じかな。

それにしても、今回の変更は、芋蔓式に修正点が増えて、今までで一番大変だった。そろそろ真面目に字句解析した方がいいかもしれない。

2007-02-13

BloggerPost 0.1.0

bloggerpost-0.1.0.tar.bz2

いろいろ変更した。

  • ライセンスを修正BSDライセンスにした。
  • setup.rbでインストールできるようにした。
  • 更新するときにラベルとスタイルの指定を省略できるようにした。
  • RD形式にRTを埋め込めるようにした。
  • Textile形式に対応(RedClothを使用)。

ライセンスはGPLにしようと思ったんだけど、やっぱりスクリプト言語の場合、外からコードをrequireしたり、コードをパクリたくなると思うんだよね。と言うわけで、修正BSDライセンスにした。スクリプト言語とGPLって相性が悪いかもね。

setup.rbはRubyの標準のようなので使ってみた。ディレクトリ構成を変えるだけで対応できるので簡単だった(まあ、そのときにレポジトリが壊れたんだけど)。

更新するときに、何も指定しない場合は、前回投稿したときにラベルとスタイルで送信するようにした。しかし、実装して気がついたのだが、元からBlogger.comの方で、ラベルが空の場合は前回のラベルから変更されないようになっていた。まあ、ログにちゃんと残るようになったので今回の修正が無駄なわけでもない。

スタイルについては、普通はファイルの拡張子から判定してくれるのだが、軽量マークアップ言語の中には標準の拡張子がないものも多く、そういうものは仮に拡張子を「.txt」としているのだが、この場合、投稿するときにスタイルをちゃんと指定しないと誤判定してしまう。更新するときまで一々指定するのは面倒臭いので、省略できるようにした。

RD形式のRT対応については、前にも書いたようにRDではtableタグを記述できないだが、それを補う機能がRT。個人的にhowmでrd-modeを使っている都合で、BloggerPostでもRD形式を使っているので、これは入れたかった。少し前のイクサのエントリーはRTを使って書いている。ソースはこんな感じ。

=begin RTRD


, 強化, SP1 , SP2 , 奥義

ガイアの律法書, +7 , フレイムエレメント, , 光の核
ジラチェーン , +6 , , , 紙一重の見切り
ジオサークル , +7 , マジックパワー+40 , , 狂気の魔力
白いコート・改, +4 , 闇への耐性+ , HP+60, 聖母の加護
ミスリルリング, +5 , HP+80 , HP+80,
ブレスレット , +5 , マジックパワー+40 , ,
=end

「=begin RT」ではなく、「=begin RTRD」にしているのは、こう書くと直前と直後の「=end」「=begin」を省略できるという機能を入れたから。RTはconfig部分とthead部分、tbody部分で分かれている。それぞれを空行で区切る。この場合はconfigを省略しているので頭に空行が二つある。

Textile形式対応は、RedClothがインストールされていない場合は無効になる。

2007-02-12

伊坂幸太郎/アヒルと鴨のコインロッカー

読む本がなくなったというわけではないのだが、米澤穂信にハマってミステリーを読みたくなったので、今、大人気の作家、伊坂幸太郎を読んでみた。

この「アヒルと鴨のコインロッカー」は、米澤穂信の「さよなら妖精」と同じ、東京創元社ミステリ・フロンティアのシリーズで、第25回吉川英治文学新人賞受賞作、2005年このミス2位、今年映画化も予定されているという、超話題作だ。

いやあ、今まで、あんまりこういうの読んだことないんだよね。伊坂幸太郎は1971年生まれという若さで、すでに4作も直木賞候補に選ばれているらしいが、そもそも直木賞受賞作って、全然読んだことないな。ざっとWikipediaの直木賞を見てみたが、一作も読んだことがないのが判明した。まあ、だから何なのだ、という感じではあるんだけど。

それで、この作品の感想だが、面白いは面白いのだが、違和感を感じるところもある。

まず、村上春樹のパン屋襲撃と比較されることが多いように、この作品の魅力として、書店を襲撃して広辞苑を盗むというような不条理さとユーモアがあるのだが、それらが最終的にミステリー的に解き明かされてしまう。それは基本的に面白いんだけど、味気ないところもあって、特に作中最大のトリックである河崎の正体は、驚いた反面、別に河崎のままでも良かったんじゃないかという気もするんだよね。難しいところだけど。

それと、悪役や嫌味な奴がどうも通俗的過ぎるような気がする。ペット殺しを趣味にする若者グループって、また、ワイドショー的な。あと、国籍差別の話もよく出てきて、これがまた紋切り型に留まっていると思う。なんとなく、作風や文体と、そういう通俗性が不釣り合いな気がするんだよね。

あと、結末で最後3人とも死んじゃうんだけど、果して死ぬ必要があるのかな、と思った。皆死ぬことで寓話的になりすぎるんじゃないかと。読み終わってもいまいちピンとこない感じ。

と、悪く書いたけど、基本的には面白い。もうちょっと他の作品も読んでみようかなとは思った。あと、映画化されるらしいけど、この最大のトリックは、どう映像化するのだろうか。気になる。

イクサ、シリルでクリア

今度は、シリルでクリア。装備はこんな感じ。

強化SP1SP2奥義
ガイアの律法書+7フレイムエレメント光の核
ジラチェーン+6紙一重の見切り
ジオサークル+7マジックパワー+40狂気の魔力
白いコート・改+4闇への耐性+HP+60聖母の加護
ミスリルリング+5HP+80HP+80
ブレスレット+5マジックパワー+40

と、ご覧のとおり、クリア後とは思えないやる気のなさなのだが、贄神にはほとんどダメージを食らわなかった。トウマのときは、一応、直撃を受けたら一撃で死んでいたのだが。そのときは、聖母の加護を取り忘れていたんだけど、そのせいなのか、それとも、シリルの属性耐性が効いているのか。

それより苦労したのが、火力不足。贄神を倒すだけなら、女神の涙をガブ飲みしてガイアノヴァ連発でなんとかなったのだが、普段のダメージが小さすぎて辛い。ゼイオン宮廷に行って、まだ入手していないパワーアートを入手すれば、もうちょっとマシになるのだろうか。

歯の詰め物がとれた

いつものように図書館の飲食スペースでおにぎりを食べていると、歯に小石を噛んだような嫌な感触が。おにぎりの中に石でも入っていたかと思ったら、口の中から出てきたのはヒトデの形をした金属片。一瞬でそれが何なのか悟ったが、困ったことに保険証がない。とりあえず歯医者に行って相談すると国民健康保険に加入しなさいと言われる。なるほど。調べると、何らかの健康保険に入ることは国民の義務らしい。そう言えばそうだったような気がする。それで思い出したが、年金も払っていないような気がする。ちょっと色々確かめないとまずいな。

2007-02-08

多崎礼/煌夜祭

Amazonから届いたので読んでみた。新人離れした構成力との評判だったので、楽しみにしていたのだが、その評判に違わない素晴らしい構成だった。

単に伏線の張り方とその回収がうまいだけでなく、基本的に、民話、伝承のフォーマットを借りた連作小説なのだが、二人の語り部が交互に語るという仕組みがうまく機能していて、話に対して語り部が別の解釈を与えたり、前の話の結末を次の話で否定したりと、構成のテクニックが随所に見られる。多重にミスリードを繰り返していて、ミステリー的楽しみ方もできるかも。途中、田中芳樹ばりの戦記ものの部分もあり、エンターテインメントの要素もある。

欠点を挙げると、テーマがちょっとベタすぎるね。ベタすぎて軽くなっちゃっている。読み終わると構成のうまさばかりが目立って、話が心に残らない。ちょっと厳しいけどね。それと、こちらの方がより気になるが、語り部が語るというわりに、文体が素直過ぎるんだよね。もうちょっと雰囲気が出るとよかったかも。語り部の描写もイガ粉(?)を投げるだけで物足りない。

総合すると、下半期ベスト10にランクインというのも頷ける出来だった。けど、文体的にもう一工夫欲しいところだね。次作も迷いなく読むかというと微妙なところ。

2007-02-06

navi2ch CVS unstableが動いた

前に

byte-code: Wrong type aprgument: listp, :invertn

と出てnavi2chが動かないと書いたが、Navi2ch for Emacs (Part17)で修正報告を発見。早速試してみると、動いた! Debian sidの人は試してみよう!

BloggerPostのsvnレポジトリが壊れた

psvn.el経由でディレクトリの移動とファイルの変更をいっぺんコミットしようとしたのがいけなかったらしい。ファイルがいくつか消えているし、変更しようとしてもおかしなメッセージが出て何もできない。

こういうときは、とりあえず正常だったときまで戻そうと思ったのだが、どうすればいいんだっけ、と「Subversion実践入門」を見ると、svn mergeを使えばいいらしい。リビジョン49で壊れて、最後に正常だったのがリビジョン44なので、これを元に戻すためには、

svn merge -r 49:44 .
svn ci .

とやればよい。なるほど。svnって独特の文化があるよね。タグを付けるのにsvn copyだし。しかし、psvn.elを使うときにはディレクトリの移動はしないようにしないといけないな。

2007-02-05

イクサクリア!

クリアしたー! まだ、隠しダンジョンと訓練所は残っている。エンディングは、せつないな。違う意味で。ちゃんとした感想はもうちょっと後で。

菜の2月の限定つけめん 鮟鱇と豚骨の塩仕立てつけめん あん肝とかぼちゃ入り特製麦味噌風味

今月のつけめんは

鮟鱇と豚骨の塩仕立てつけめん あん肝とかぼちゃ入り特製麦味噌風味

らしい。こう書くと、豚骨なのか、塩なのか、味噌なのか分からないが、菜のラーメンは、ベースの豚骨スープと鶏がらスープ、味付けの醤油、塩、味噌の組み合わせで作られるので、つまり、このつけめんは、豚骨のスープに塩の味付け、それに味噌のトッピング、ということになる。

今回はさらに鮟鱇が入るわけだが、確かにスープの底に鮟鱇の身が少しあるが、正直言ってあんまり鮟鱇の味は分からない。まあ、元からあまり鮟鱇を食べたことがないというのもあるけど、どうも、ただの薄味の豚骨スープに感じてしまう。トッピングも味噌の味が強すぎて、あまり鮟肝の味を感じない。

全体としては、塩っぽいんだけど味がないという感じだ。今月は、ちょっと、おれには合わないかな。

2007-02-04

vimを使ったシンタックス・ハイライト機能を追加

bloggerpost-0.0.9.tar.bz2

はてなダイアリーにはソースコードに色を付けて表示する機能がある。

ソースコードを色付けして記述する(シンタックス・ハイライト)

この対応しているファイルタイプというのを眺めて、ふと、これはひょっとしてvimのシンタックス・ハイライト機能を使っているのではないか、と思った。vimの豊富なハイライト機能は有名だ。自分のマシンの/usr/share/vim/vim70/syntaxを見てみたが、リストと同じくらいのシンタックスファイルがある。ほぼ間違いない。

ということは、bloggerpostでも真似できるのではないか、と調べてみると、/usr/share/vim/vim70/syntax/2html.vimというvimスクリプトを使えば、HTML を生成できることが分かった。ということで、この機能を使って、シンタックス・ハイライト機能を実装してみた。

preタグの中を

bpsyntax: ruby
class Foo
def bar'baz' # return baz
end
end

(:は半角の:を表している。RDでpreタグの中のエンティティをそのまま通す方法が分からない……。)

と言う風に記述すると、

class Foo
def bar'baz' # return baz
end
end

というように色がつくようになっている。

しかし、まだ調査不足で、vimのシンタックスの色を変更する方法が分からない。はてなはうまくspan要素とclass属性に変換できているようだ。多分、2html.vimに相当する部分を自作しているのだろう。ちょっと、この機能は改善の余地ありだな。

あと、前のエントリーに書いた更新と削除できない問題はANN: Blogger GData API changes, 1/30によると修正されたらしい。とりあえず、wwwをwww2に変更するTemporaryHackは削除。しかし、下のPostを見ると、まだ、なんかあやしいような気もするが。

2007-02-02

多数の入力書式に対応

bloggerpost-0.0.8.tar.bz2

今まで、bloggerpostでブログを投稿するには、HTMLかRDの形式で書かなければならなかったが、今回のバージョンアップで多数の入力書式に対応した。0.0.8で対応しているものを全部挙げると、

  • HTML
  • Wiki(HikiDoc)
  • RD
  • reStructuredText
  • Markdown
  • AsciiDoc
  • txt2tags
  • Almost Plain Text
  • Grutatxt
  • plain2

となる。上に行くほど、導入が簡単。下に行くほどインストールするのが大変になる。特にplain2は、素の状態ではコンパイルできないのでやめた方がいいです。

使用できる書式の選定には、2chの構造化テキストとWikipediaの軽量マークアップ言語を参考にした。採用の基準は、

  • HTMLに変換できるツールがある
  • aタグがちゃんと書ける
  • 日本語(EUC-JP or UTF-8)が通る
  • XML系を避ける

という感じ。

書式拡張のためのフレームワークを作ったので、bloggerpost側の修正は少なくて済んだ。例えば、reStructuredTextなら、以下のようなrst.rbを作ってstyleディレクトリに放りこんでおけばよいという感じだ。

class RSTStyle < BloggerPost::Style
def self.style_name
return 'rst'
end

def self.extname
return '.rst'
end

def entry_to_html(entry)
html = external_convert('rst2html', entry.body)
return delete_first_h1(html)
end
end

BloggerPost.register_style(RSTStyle)

しかし、面倒だったのが、それぞれのツールのインストールと動作確認。特にplain2は、HTML変換用途で使うにはパッチを当てなきゃいけないし、macro.c で使っているvarargs.hがobsoleteだっていうんで、stdarg.hを使ったコードに書きかえなきゃいけなかったりとインストールするだけでも一苦労だった。

おすすめは、WikiとreStructuredText。WikiはHikiDocというHikiやtDiaryで使っているものと同じライブラリを使っているので同等の記述力がある(はず)。reStructuredTextは見た目最強のテキスト形式。ただ、見た目に凝り過ぎて少々書きづらいかも。