題名:Java Diary-25章

五郎の入り口に戻る

日付:2000/6/4

目次に戻る


GSIS Ver0.2 & SETI@Support Ver0.74-Part2

GSIS Ver0.2とSETI@Support Ver0.74が世の中に出たのは5月の26日である。そしてそれから3日後の"Making of my homepage"にはこんな文章が書いてある。

「GSISとSETI@Supportのダブルのバグがレポートされて、泡を食っている。」

GSIS Ver0.2を公開した直後にある人からメールをもらった。この人はGSIS公開当初からあれこれのフィードバックをしてくれる人で、OS8.6+Ram Diskを使って解析を実行させている。この「RAM Disk」がこの人からのフィードバックが貴重な点だ。RAM Diskでの使用に問題があるかどうかは、いつもの自分の環境だけではわからない。

さて、一応プログラムはRAM Diskでの使用も考慮して作っている。ところが何かを変更したり、追加するたびにそんなことは「すかっ」と忘れてしまうのが悲しいところだ。一番最初にもらったメールに「RAM Diskでも動きました」とあったのでご機嫌になったのもつかのま、ちょっと変更したら「エラーメッセージがでました」とご指摘をいただき泡を食った。

そこにこのVer0.2をリリースしたところ「エラーメッセージがでました」というお知らせだ。最初は何が起こったのだろう、と途方に暮れたが、この人がRAM Diskを使っていることを思い出したとたんに疑問は氷解した。1度やれば間違いだが、全く同じミスを2度やればそれは馬鹿と言われてもしょうがない。実はVer0.2公開直後に二つほど改善点を見つけてそれをちまちま直していたところなのだが、こうなればご指摘された問題点も直して早急に公開すべきだ。Ver0.21は5月29日にアップされた。

 

さて、もう一つのSETI@Support Ver0.74の方はさらに深刻であった。メールを送ってきてくれたのは以前にもいくつかMacintosh向けにはこうしたほうがいいのではないか、とSuggestionを送ってくれたフランス人である。彼が言うには

「新しくVer0.74をダウンロードして立ち上げようと思ったら、エラーがでて立ち上がらないよ」

である。

私はそのメールを読みながら血液が逆流するように感じた。これはVer0.6のときにさんざん悩まされた問題ではないか。そこからあれやこれやと悩んだあげく、(実際この問題はどうやっても自分のMacintosh上では再現しなかったのだ)妙な方法でアプリケーションを作ることにして、それでなんとかごまかしていた問題である。それがまたでてきたか。

それからあれやこれややってみたがどうにも問題がわからない。一時はMacintosh用のVer0.74はひっこめて、Ver0.731に戻そうかと思ったが、Ver0.74にはそれなしではなんともしまらないGSIS Ver0.21がひっついているのである。つまりGSISで追加したデータロギング機能は、SETISupportのデータロギング機能と重複してしまうことになる。従ってこのVer0.74ではその機能をOn/Offできるようにしたのである。そしてこれは何よりも自分自身の願望によって実現した機能であった。

とにかく前進だと思いあれこれ調べてみるがどうにも原因がわからない。そして幸か不幸か「立ち上がらない」という問題を報告してくるのはあのフランス人だけである。しかし立ち上げようとして

「なんだこれ、使えないや」

と思ってそのままSETI@Supportをゴミ箱に捨ててしまう人が他に何人いるともしれない。その後Macintosh版だけはひたすらバージョンがあがり続けた。0.74a, 0.74b, 最後は0.74cである。0.74bからはついにコンパイラというか開発環境が悪いのではなかろうかと思いわざわざ別のパッケージを買ってきた。もっともメニューとかメッセージが日本語化されただけで結果には何の影響も与えなかったが。

そこまでやってもフランス人からは「立ち上がらない」というレポートが届くばかりである。私はついに

「あなたのところで使っているこれとこれとこのファイルを送ってくれ」

と頼んだ。届いたファイルを使って立ちあげてみると見事にトラブルが再現する。つまり立ち上がらないわけだ。普通であればこれはうれしくないことだが、トラブル対策をしているときにこの「再現」というやつは何よりもうれしい。捕まえることができればあとの解析・対策も行いようがあるが、捕まえることができないトラブルはいつまでもそこに浮かんでいるだけである。

さて、原因は、、と調べることしばらく。ロギングしてある過去のデータの一部が壊れていることがわかった。その理由は定かではないが、とにかくデータは怪しげな文字に変わり果てており、それを一生懸命読み込もうとするところでプログラムはおなくなりになっていた、というわけだ。私はほっとするとフランス人にそのことをメールで伝えた。

その後もSETI@homeにはいくらか変更があった。Clientのバージョンはいつしか3にあがり、そしていくつかのデータが追加されたのである。さてさっそく対応せねば、、と思っている間にもっとも肝心な要素が消えていってしまったのに気がついた。私のやる気である。

改良点はいくつか頭に浮かんでいる。解析済みのデータがたまるにしたがってプログラム立ち上がり時間は不愉快なほど長くなっている。また表示の動きも実に遅い。また長年考えていた「多国語対応」もアイディアはまとまっているからあとはインプリメントするだけ。しかしとにかく気力が消えてしまってはなんともならない。

実は私のハードディスクにはVer0.81までフォルダだけは作ってある。しかし中身はほとんどさわっていない。つまり

「さあ、がんばろう」

と新しいフォルダだけは作るのだがそこから一歩も手が動かない状況である。そして幸か不幸かその後新しいバグレポートも受け取っていない。そして今SETI@Supportは長い眠りについている。いつのタイミングだったか忘れたが、SETI@homeのサイトが大幅に更新された際、とうとうGSISとSETI@Supportへのリンクが張られることになった。特に何の加減かしらないが、GSISはMacintosh用プログラムの一番最初にあげられている。であるからかどうかは知らないが、結構いろいろな国からアクセスされることもあり、また

「SUMと違い、Freewareで公開するのがすばらしい」

と英文でお褒めのメールをいただいたいする。それには

「いや、お礼は日本のメーリングリストに参加している人たちに向けられるべきだ」

と答えを書いたりするが、とにかく手は動かない。

 

さて、ある日私は別のメールを受け取ることになった内容は

「Fleet Commander懐かしいですね。是非復活させてください」

というものである。そういえばFleet Commanderもデバッグ途中でお蔵入りにしてしまっていた。さんざん制作を進めたあげくどっかでプログラムが発散してしまったのだったなあ、、仕事がおもしろくないから現実逃避でもってなんとかしてみるか、などと考えてみる。

さて、どんなプログラムであったか、、と思ってファイルをあけてみてあらびっくり。自分でも「何を考えているのか」というような「手続き型全開」のプログラミングスタイルである。書いている途中自分でも

「これではなんともならないのではないか」

と思ってはいたが、目標を目指して視野が狭くなっている時というのは恐ろしい。このまま進んでも絶対目標に到達できない、と今ならば思うところだがそういう時というのはひたすら進んでしまうのである。崩壊に向かって。しばらく考えた私はプログラムの7割程度を新しく書き直すことにした。もっとも前回一応オリジナルプログラムが何をやっているかは解析していたし、それほど時間はかかるまい。

今度のバージョンはちゃんとクラスだの、継承だの、オブジェクト指向のパラダイムを絢爛豪華に使用である。前回発散してしまったやっかいな条件分岐もなんのその。しばらくの後に「一通り」動くようにはなった。さて、ここからがまたまた遠い道のり。「ちゃんと動く」ようにしなければ、、、というところでまたもや私に訪れるのは

「気力の喪失」

である。この時期ちょうどCLIEを使うようになり、いつでもどこでも文章を読んで悦に入っていた。ただ文章だけではあきることもあるから、なんとかこのFleet CommanderをCLIE上のJavaに乗せることはできまいか、と考えたりもする。しかしそうした構想だけは浮かんでくるのだがなんとも手が動かない。そしてまたもやFleet Commanderはひっそりと私のハードディスクの中で眠りにつくことになる。

思えば私も38だ。プログラマー30歳定年説などというものは最近聞かないが、やはりああいう純粋な知的作業は若いうちしかできないのかなあ、、と思う。そこに一つの転機が訪れた。PB2400+Mac OS 8.6からiBook+Mac OS X10.1への環境乗り換えである。

前の章 | 次の章


注釈