空想犬猫記

※当日記では、犬も猫も空想も扱っておりません。(旧・エト記)

水曜日

日中、奥さんが歯医者に行っている間、会社でM氏を一時的にあずかる。

昼はコストコのフードコート。夜は煮豚の丼とうどん。

子供を寝かしつけてから自分が眠くなるまでのささやかな時間を使ってetolispを書き直し始める。本日はパーサ部分を書き直す。数年前の行き当たりばったりなコードを全て捨て去り、有限オートマトンとして設計図を紙の上に書き下し、コードに落とし込む中で状態遷移を整理しなおして、高速かつシンプルな実装になった。

以前のetolispは素朴に構文木をじかに評価する仕組みで、構文木と値の区別が無かった。今回はちゃんと構文解析から変換系を通って仮想マシンバイトコードを生成するところを作ってみたいので、そのへんも合わせてずっとシンプルにした。

月曜日

f:id:xoinu:20140203094909j:plain

有給。高校の同級生のつてでPasadenaにあるJPLというNASAの施設を見学する。

技術そのものも面白いけど、チームが一丸となって問題に取り組み、成果を喜べる「ミッション」を設計することの大切さに気付いた。宇宙開発の場合はそのあたりが分かりやすいだけで、本質的には身近にある開発のプロジェクトも、同じ原理で動いてよいはず。

単なる思い出作り以外にも、得るものが大きかったのでN君に感謝。

その後、ツアーで一緒だった学生さんをカリフォルニア工科大学に送って、自分も歴史ある超名門校を少しだけ散策してきた。高校の時に物理を志すきっかけとなったファインマン博士が教鞭をとっていた大学である。僕にはおとぎ話のような遠い世界だったけど、子供たちには手を伸ばせば届く「地元の大学」くらいに身近に感じて欲しかったので、マスコット人形のビーバーをお土産に買った。アメリカにしては珍しいゆるキャラじゃないだろうか。

M氏は期待通りカルテック君をぶん投げて遊んでいた。その調子だ。

f:id:xoinu:20140204142651j:plain

日曜日

家の掃除と子供の世話。

引越し以来、ユルユルで気分が悪かったトイレットペーパーのディスペンサーを取り付けなおす。ドライウォールを補修しなおし、アンカーを打ち直して再固定。会心の出来栄え。

昼はK氏に肉うどんを作ってあげる。見事完食。一方私は目玉焼き二個。家の中とバックヤードの掃除、子供の世話と一日中家事で精一杯。夕飯は体調が回復した奥さんがから揚げと、海草のサラダに野菜たっぷりのコンソメスープを作ってくれる。二日ぶりのちゃんとした家庭料理に涙が出そうになる。

K氏は一日中留守番で少し退屈そうだが、プレスクールの先生が作ってくれたビデオ教材や家の中のものを使って上手に時間を使っていた。M氏は父親とK氏のやることなすこと何でも興味津々。可愛い盛り。

土曜日

カーディーラで車のメンテナンス。無料で半日代車を貸してくれた。家族がいるのでSUVに乗っているけど、セダンはやはり安定していて、フリーウェイを走っていても心地よい。

昼はIrvineの日本のレストラン。奥さんが風邪気味だったので夕飯も近所の日本料理屋をto-goで注文する。最近人気が出てきたらしく大盛況でなにより。

金曜日

5年ぶりくらいにetolispのコードを読み直してみると、改善点があっさりと次々見つかる。ガーベージコレクタと構文木の実装の冗長さが目に余るので作り直し始めた。

子供を寝かしつけてから自分が眠くなるまでの数時間、5年間の進歩、厳密にはetolispを休止中に別のLispC言語で再実装したときの知見とC++の特性(new演算子オーバーロードコンストラクタ、デストラクタが言語仕様に組み込まれているところ)に加えて、C++-11の新文法を組み合わせてコードを書いた。仕事で使えるようになるまでにはあと数年掛りそうだが、C++-11はコードの見栄えを一変させる大きな進歩であることを実感。

木曜日

昼は豚肉のすり身のBBQ。夜はきのこともやしとキャベツの野菜炒め。うどん付き。

久々にetolispのソースコードを開いてみる。数年間コードは書かなかったが、いつも頭の片隅で気になっていたgarbage collectorの実装を見直した。5年と1日の成果。