X22 だと画面の縦幅が十分にあるので、tab widget を on にしてみる。 ediff を使うと昔懐しい tab の右側が redisplay されなくて灰色になってしまう bug に遭遇。
Alsa を load した状態で suspend しようとすると、どっかの module が NULL pointer reference で死ぬ。そのために、suspend できなくなって、 shutdown も途中で止まってしまうようになる。 別に音がでなくても困らないので、とりあえず alsa は外しておくことにする。
大学に居るときとそうでないときでは IMAP server への接続の仕方が違うので local で一段間に proxy が入ると楽になるけど、そういうものは無いのだろうか。 Wanderlust や gnus でも offline はできるけど、両方とも独自にやるので、 相手が download してきたのは見えないし、何よりも folder に access しにいくのがかなり遅いのが難点。あと、設定ファイルを一々書き換えるのも あんまりやりたくない。Offline 用では簡単に download できて、 online では透過的に動いてくれるものが欲しい。
なぜ Debian で X が動かないのかを調べるために、RedHat 7.2 を install する。 そうすると、RedHat でも i830M を正しく認識しているわけではないことが判明する。 これで、X が怪しいということにしぼられたので、XFree86 を CVS から とってきて build する。無理矢理 radeon の driver を置き換えると X が無事 起動する。これでようやく仕事ができる。
買うかどうか迷っていたのだが、結局購入する。
agpgart の i830 用の code で、NULL pointer を dereference して SEGV る。 一行 patch を書いて解決。
結局、idepci の boot disk を使えば boot できるということがわかる。 ここまでくればこっちのもの。
Copying GC で、compiler に root object の table を作成させると table が大きくなってしまうので、それをどうやって小さくするか、という話。
悪い人に唆されて秋葉原に買いに行く。Partition は parted で無事に 分けられたのだが、Debian を install するところで苦労する。Boot floppy では どれも boot の途中で終わってしまい、結局今日中には install できなかった。 一番先まで進んだのは Omoikane 1.2 の CD. 明日もうちょっと試してみよう。 IBM の site には TurboLinux 6.0 の install に成功した、というのがでているので、 kernel が古い、ということではなさそうなんだけど。 CD からやらないとだめなのかなぁ。それとも boot floppy が二枚あるというのが よくないのかなぁ...
輪読で説明していて、explicit memory management と GC を比べることに どのくらい意味があるのかを疑問に思う。
cvs.xemacs.org が cvs.sunsite.dk に移って復活。
各関数の test case を書くことから始める。
Conservative GC と、precise GC でどのくらい object の回収効率に 差がでるか、という話。Boehm-Demers-Weiser collector を改造して type accurate に したもの、Boehm-Demers-Weiser collector, explicit memory management を alpha, sparc, pentium 上で比較。Architecture や OS によって type accuracy がどれくらい効いてくるのか、というのが変わるらしい。
徹夜明けなので、普通に寝るかと思いきや、近くの図書館で漫画を読み漁る。 その後、やはり疲れて昼過ぎに眠る。
Emacs は主に pointer tag だということを考えると、copying GC 方式では なくて、XEmacs のように Lisp_Object を全部 hash table に登録しておいて、 address の relocate をやりながら実体を file に書き出す方が楽なような 気がする。そういうわけで、今までの code は捨てることにする。
少々嫌な予感はしていたのだが、見事に的中して徹夜で飲むはめになる。 いろいろあったが、どこまでを公開して良いか考えるのはめんどうなので、 詳細は後藤さんの日記に譲ることにしよう。重要なのは、
ということ。この忙しい時期に、二人共自分で自分の首を締めているような 気がしなくもない。
Richard Stallman, Linus Torvalds, 坂村 健の武田賞共同受賞のときの 話を聞く。授業では相変わらず PKI の話ばかりで ubiquitous computing そのものに関する話はほとんどない。
ようやく C で書いたものが何となく動くようになる。APR 使うと楽だなぁ。
Vim component があるというのを草野さんのところで発見。
XEmacs component を作れば、DSO を作りまくって himi さんや土屋さんに 文句を言われることも無くなるだろう。おもしろそうなので 暇があればやってみたいのだが...復帰したといってもさらっと mailing list を眺めて何通か mail を書いている だけなんだが、これだけでも意外に時間を取られる。
この前いきなり C で書いて失敗したので、とりあえず prototype を Emacs Lisp で 書いてみる。 Eugene W. Myers の CURRICULUM VITAE のところにある O(NP) algorithm を実装してみたのだが、 結局 akr さんの ruby-cvs の shortestpath.rb とほとんど同じになってしまった。 Linear space 版をつくるのは、ND の方の論文はよく理解していないし、 面倒そうなのでやめよう。
svn_client.h の binding を増やす。
どうしても耐えられないので、code の clean up を始める。
syntax.[ch] を眺める。macro の山とでっかい関数はどうにかして欲しいものだ。 しかし、何故にこんなにわけのわからない code になるかね。もっと straightforward に書いてもらいたいものだ。
Svn::Ra#getCommitEditor を完全に実装。Ruby binding はかなり充実してきたと思う。
あんまり素養がないせいで、一つの algorithm を理解するのにかなり時間がかかる。