steps to phantasien

瞬くあいだに時はながれて

cover

最初のバグ修正 をレビューしてくれたのはたぶん、Apple の Darin Adler だったと思う。雑誌連載のねたづくりに書いたパッチだった。このあとも Darin Adler には度々レビューをしてもらった。私にとって、Bugzilla 界隈でのメンターはこのひとだ。あるとき ASSERT_NO_EXCEPTION という小粋なマクロを私が発明した際も、彼は私にかわりメーリングリストで宣伝をしてくれた。何かをわかりあえたと思った。

最初のリグレッションとその修正は 6 つ目と 7 つ目のパッチで…仕事にする前からエンバグしてたわけですが… KDE の Nicholas Zimmerman が見てくれた。彼はそのあと BlackBerry の会社に入ったと聞いたけど、最近は姿をみない。当時の SVG は無法地帯で、やんちゃなパッチもけっこう見逃してもらえた。Zimmerman, KSVG からの upstream をやり切ったときはまだ高校生だったらしい。すごいハッカーもいるもんだ。いま何してるのかな。

ASSET_NO_EXCEPTION はさておき、もう少し役にたったとおもわれる仕事はテストのスクリプトからライブラリの内部にアクセスする API window.intenrals の追加。これは二回目の Contributors Meeting で必要性を売り込んだ力作。といっても、実はもたもたしてたら最終的なコードは同僚が書いてくれちゃったんだけど。最近は 濫用するな と怒る人がでるくらいにはよく使われており満足。こんな当たり前の改善をする余地がある、そのことに当時は驚いていた。

もっと趣味色の強い仕事としては、手動で管理されていたリンカ用のシンボルリストをコード内の属性(メタデータ)に書き換えるパッチなんてのも書いた。更新忘れのせいでしょっちゅうビルドを壊すその不愉快なリストをなんとかしたかった。最初は wxWidget port のメンテナ Kevin Ollivier が頑張って直そうとしていたものの、目視頼みの作業は難航していた。なんとか自動化できないかと思い立った私は Clang のプラグインと Python で 書き換えツールをつくって手を貸した。Clang のプラグインを書きたかっただけだろといわれればその通りで、たぶんヒマだったんだな。

このあそび、プラグイン自体は一日二日で書けたもののビルドシステムの修正なんかに大変時間がかかり、楽しみの代償を学んだのだった。結局のところ駆逐できたシンボルファイルは一部だけで、大きいのは残ったまま。Kevin Ollivier が旅行で東京にきたとき、彼とは一度ごはんをたべた。この余暇オープンソースプログラマがどんな人かを知った。

そのほか tDiary が 3 タブなのは酷いと憤り CSS の tab-size プロパティを実装してみたりもした。ぜんぜんレビューされなくて、コードを書いてからチェックインまで一年以上かかった。もっとも私のやるきもぜんぜんだったからレビュアのせいばかりにはできない。私はその間に Octopress に乗り換えてしまった。レビューしてくれたのは Netscape の末裔にして CSS の達人である Simon Fraser。

枚挙はつづく。本業でない仕事ほどよく覚えている。仕事と呼ぶのも気が引ける。ただ戯れていただけだ。例の新しい仕事場は、そろそろ真面目に働けと私を急かすだろう。

それはいつかおこる運命だったと私には思える。でもまあ、寂しい。このプロジェクト、けっこう好きだったからなあ。いろいろお世話になりました。ありがとう。迷惑かけてごめん。でも少しはいいこともしたよね。これからもお互いうまくやれるよね。瞬くあいだに時はながれて、昔話にできるよね。

cover