LL Future に行ってきた2008年08月30日

LL Future に行ってきた。

途中、前売りで入手しておいたチケットを忘れたことに気づいたが、引き返すのも面倒なので当日券で入場。前売りと当日売りで1,001人だったことが発表されたけど、+1って私がダブルカウントされてることによるものだろうか。

基調講演 は Perl の Larry Wall。内容は Perl6 の grammer まわりの機能などについての地味なものだったけど、それにしてもそのメタっぷりがなかなか。続いてのプログラムにおいての Ruby のまつもとゆきひろさんの、マクロについてのスタンスとはある意味真逆な方向性が面白い。

昼飯は駅前の喫茶店でカレーセット。落ち着くなあ。

フレームワークのセッションではまず、MobaSIF に興味が行った。今度覗いてみよう。

会場のDebian の方が言語独自のパッケージングシステム、たとえば、Ruby の gem と、OSのパッケージングシステムの整合性について質問してたけど、確かに gem や CPAN を大量のホストに deploy していく気にはなれないんだよなあ。私も実使用環境ではすべて dh-make-perl などで .deb 化してから使うようにしてる。でも最近の CPAN モジュールだと etch や、あるいは sid である OS 標準の CPAN モジュールよりも新しいのを要求してたりして結構つらい。ひがやすおさんが「自分でフレームワーク作ってみるのは勉強になる」旨おっしゃっていたけど、それはそう思う。今、私もフレームワークめいたものを作ってて、Catalyst とかの既存のフレームワークの理解も進むし。

LLでアートもなかなか。ビジュアルプログラミングの環境もいろいろあるのね。筋電センサーと音の連動が楽しい。IDE的な環境で、書かれたコードがリアルタイムに3次元モデルに反映されていくのも、昔、CM制作会社のCG部門でバイトしてた経験もあり、興味深いものだった。

このあとも面白そうな話はあったが、最後までいると遅くなりそうだったので、ここで帰宅。ちょうど、中野は大雨でびしょびしょになってしまった。

HTMLのテンプレートシステム2008年02月04日

「安全なテンプレートシステムはあるのか」 のコメントで知ったの だけど、PHP用に PHPTAL なんてのがあるのを知った。perl用は無いかと調べたら、 Petalがあった。

ところで、

   <span>$hoge</span>

というテンプレートに対して、$hoge に DOM Tree か何かを 与えたら、適切に展開してくれるというテンプレートエンジンを 作ったとして、$hoge の表わす木構造は %inline に限る、みたいなことをやってくれればいいかなぁ。 絶対に well-formed かつ、valid であるHTML/XHTMLしか 生成できないようなもの。

Thunderbird のメッセージフィルタ2008年01月11日

Thunderbird (Icedove) 2.0.0.9 のメッセージフィルタ機能において設定した フィルタは msgFilterRules.dat に保存されるけど、このファイルに書き出す処理が 変な気がする。

msgFilterRules.dat から .procmailrc に変換するスクリプトでも書こうと、 msgFilterRules.dat のフォーマットを調べているあいだに変な点にでくわした。

「フィルタの設定」のダイアログで、たとえば、

[件名] [に含む] [word]

と書くと、msgFilterRules.dat の対応する行には

condition="OR (subject,contains,word)"

と出力される。

[件名] [に含む] [word1 (word2) word3]

のように、文字列中に ')' という文字を含まれるようにしてみると、

condition="OR (subject,contains,\"word1 (word2) word3\")"

となる。また、

[件名] [に含む] [word1 "word2" word3]

condition="OR (subject,contains,word1 \\"word2\\" word3)"

となる。さてここで、

[件名] [に含む] [word1 \" word2]

としてみると、

condition="OR (subject,contains,word11 \\\"word2)"

となる。バックスラッシュの数が何か変。Thunderbird を再起動し、 このように書き出された msgFilterRules.dat を読みこませると、

フィルタの定義ファイル msgFilterRules.dat が壊れてします。
古い定義ファイルの名前を rulesbackup.dat に変更し、新しい
フィルタ定義ファイルを作成します。

というエラーが出て、フィルタの一覧がクリアされてしまう。Thunderbird を終了し、 rulesbackup.dat をふたたび msgFilterRules.dat として戻し、

condition="OR (subject,contains,word11 \\\\"word2)"

と手で修正すると正常にダイアログは表示され、該当文字列は入力した とおりに戻っている。

mailnews/base/search/src/nsMsgSearchTerm.cpp の nsresult nsMsgSearchTerm::OutputValue(nsCString &outputStr) あたりが怪しい。

<< 2008/08 >>
01 02
03 04 05 06 07 08 09
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31

RSS