| 葉山文書 3/5〜3/14の逃走篇 |
最近、空を見る度に、自分が京都に居る日数を考えてしまいます。 京都の空というのは「町なのに広い」独特の空だと勝手に思ってます。 実家の羽曳野はまだ田舎で確かに空は広いんですけど、 それは何も無いから広いんで、それはあたりまえなんですよね。 大阪市内と違って、街中なのに、高層建築が無くて空が広いっていうのは、 僕には「都(みやこ)の優雅さ」に思えました (まぁ、他の街を知らんからなんですけどね)。 この空を見てられるのも、あと1,2週間なんですよね*3(ウルウル)。
大学に入って、最初の3年間は、京大マイコンクラブで、 へこへこプログラムを作っていました。 ここで、UNIX と OS/2 と SKK を知ったんです。 部室には入部当時から LUNA が 2 台、SPARC が 1 台あって、 これで UNIX を勉強させてもらいました。 と書くと結構豊かなんだなと思われるかもしれませんが、 これらは借りものだったし、クラブの台所は部室の家賃の支払いなどで 結構火の車だったと聞きます(今もですけど)。
OS/2 は、warp/index.html に書いているので、御存知だと思いますが、 このクラブの有馬さんという人に洗脳されて 2.11β*4 をフロッピーに 落してもらったのがきっかけです。 当時、Diamond Computer System と XFree86 が喧嘩をしていて、 僕の持っていた Stealth 24 では Linux とか FreeBSD とかは出来なかったんですよね(T_T)。 その Stealth 24 で、DISPS3.EXE による V-Text を堪能していたのですが、 2.11 では、その V-Text 環境がそのまま利用できて、 「へぇー、OS/2 って象が踏んでも壊れないほど、VDM が強いんだなぁ」 と感動しました*5。 まぁ、UNIX は NetNews を読んだり、メイルを書く程度で、 まだまだ、バリバリの DOS 野郎だったわけです。
修士課程になって、現在の「材料プロセス工学研究室」に配属されました。 非常に幸運だったのは、同じ年にこの研究室にシミュレーション用Sun互換機が初めて4台導入されて、 root として管理を任してもらえたことです。 もう、調子に乗ってインストールしまくり。Emiclock やら xtetris やら、 fvwm95 とか。Solaris 2.4 だったので、一筋縄ではいきませんでしたけど、 その分、コンパイルがうまくいったときの感動はひとしおで、 先生に「コンピューターで遊んでばっかりいてたら、あかんで」と怒られたくらいでした(これはこたえた)。
このころには言うまでもなく tcsh にシャブ漬け*6になっていました。 当然、OS/2 にも tcsh を望むわけですけど、英語版tcsh は日本語ファイル名を 内蔵 ls (「ls-F」てやつ) でサポートしていませんでしたし、 何よりコマンドファイル(*.CMD)を実行できない(シェルスクリプトだと思いやがる) のは致命的でした。で、いろいろ探したあげく見付けたのが「YAOS」。 でも、こいつ、補完がみっともないんですよねー。侯補がキャラクタウインドウで 表示されるのはいいんだけど、枠がカナ文字。原因は分かりますよね。
ところが、こいつ「DIR」はちゃーんと日本語で表示されるんです。 ソースを見たわけじゃないんですけど、ぴーんときました。 「これって、system関数に命令を渡してるだけやないんかい? そのやり方なら、儂にも真似できるんやないかい。 おお、これできたら、すごいやん。もしかしたら有名になれるかも」 (何回も書いてるなぁー、これって、すみません)
その後の事は結構御存知だと思いますので、割愛しますけど、 この NYAOS が僕の京都の6年間の最後を飾ってくれたと思います。 僕は、すがやみつるの「こんにちはマイコン」を見て、 コンピューターにはまったくちなんですが、 心にはいつも「その筋での有名人になる」という野望を持っていました。 でも、単にプログラムできる能力があるだけじゃ、だめなんですよね。 自分のできる範囲で、誰もやっていないことをやらなきゃ、 すでにあるものを作っても仕方ないんです*7。 そういう点で、OS/2 というのは理想な環境だったと思います。 そう、需要は多いのに、供給が少ない。フリーソフトウェア作者の 最後のフロンティア。それが OS/2 だったわけです。 で、まんまとその筋で有名になれました。みなさん、ありがとうございます。 「我が人生に一辺の悔いない」です、はい*8。
NYAOS を発表してから、いろいろな方々からメイルをいただきました。 人づきあいの下手な僕にとって、それらがどんなに嬉しかったことやら。 そんな人々と僕を継いでくれたのがネットワークと ferrari6 でした。 (なんか、強引な話の展開だなぁ...(笑)) その ferrari6 とも、ぼちぼちお別れです。
就職したら、UNIX や OS/2 に触れられるのでしょうか、NT やら 95 ばかりに 携わらなくてはいけないのでしょうか。それは今の時点では分かりません。 この一年は NYAOS をモーレツにバージョンアップすることができました。 ベクターデザインの方に ferrari6上の代わりのWebページをもらいましたが、 今まで通りにバージョンアップできるかどうか全く分かりません。 もしかしたら、半年、一年バージョンアップできないかもしれません。 もしそうなったら、僕はきっと ferrari6 を介して、 いろんな人とメイルのやりとりをしたこの一年をよく思い出すことになるんでしょうねぇ。
って、勝手に NYAOS のサポートの終結宣言をしては、みなさん怒りますよね(笑)。 つい感傷的になってしまいましたが、僕にはまだまだ、ファイラーやら エディターを作るという野望もありますし、NYAOS とて公約の一つ SKK を未だサポートしていません。 いくら職場が忙しいといっても日曜出勤ということは無いでしょうし(えっあるの?!)、 むしろ、定期的にまとまった時間でプログラミングできるということで、 効率が上がるかもしれません。まぁ、こればかりは蓋を開けなきゃ、分かりませんね。
「我が青春のferrari6」。これは、かなり前から考えていたフレーズです。 ferrari6 は Solaris ですから、当然、NYAOS は動きませんが、 NYAOS をネットワークへ発信してくれたマシンでした。 NYAOS サポートページの方はベクターのサイトの方へ引越しましたけど、 葉山文書の方は、ここしばらくは ferrari6 で更新していました。 しかしいつまでも ferrari6 の上に安住するわけには行きません。 だって、また、いつハードディスククラッシュするか分からないし(爆)*9
そういうわけで、ferrari6 の上での葉山の日記シリーズ (「近況」「余談」「文書」)の更新はこれでおしまいです。 次回からはベクターのサイトの方で書き始めます。 鳥頭なもんで、同じことをしつこく何回も書いたり、 少々思い上がったことを書いたりして、お気を悪くしたこともあったかもしれません。 そんなページを(凝りもせず、あ、失礼)、読んでいただいて、誠にありがとうございました。
さらば京都大学、さらば化学工学、さらば我が青春の ferrari6。さらば「日々、これ勉強の毎日」よ。 はずしたところで、お後がよろしいようで...
上野さんがおっしゃった通りに、DosLoadModule/DosQueryProcAddr とか を用いたところ、あっさりと canna.dll が無くても起動する、 かんな対応NYAOS.EXE ができました (もちろん、canna.dll が無いと漢字変換はできません)。 というわけで、次のバージョンから、また「かんにゃおす」と「NYAOS」は 統合されます。ころころ、かわってすみません。
あと、シングルクォートをダブルクォートに変換するようにしました。 今まで無かった方が不思議でしたね。変換するだけなんで、 機能的な違いはないんですけど、一応
'..."...' → "...""..."
"...'..." → "...'..."
みたいに、クォートの内外は意識させてます。
今のところ、CONFIG.SYS で NYAOS を COMSPEC にできるように、 起動した時に COMSPEC を CMD.EXE に書き変えるようにしているんですけど、 これではいろいろと問題が多そうなんで、system("..."); を spawnlp(P_WAIT,"CMD.EXE","CMD","/C" ,...,NULL);に書き変えるようにしています。 これと、popen を自前で用意すれば、 環境変数COMSPEC の意味が 少くともNYAOS内では無くなるんで、バグの温床も減ると思うのですがね。
NYAOS は、ノーマルな NYAOS と、かんな対応の CANNYAOS(かんにゃおす) に分 けてしまいました。 CANNYAOS が canna.dll が無いと起動できない為であるが、結果的には、 これでよかったと思う。次は いよいよ SKK をサポートして、 SKKNYAOS(すけにゃおす)を加えたいものです(口先三寸100%)。
しかし、CANNYAOS ってスペル長いなぁ。
≡★
ところで、就職先は TIS なんですけど、勤務地は京阪神地区(大阪江坂)なんです。 なぜかは知らないのですが、TIS って二社本社制とかいって、 東京も本社だし、大阪も本社らしいです。 東京へは入社式の時に一度行くことにはなりそうですが。 う〜む、ちょっと、これでは筑波の方々と会えそうもないかな...最近、OS/2 Warp情報局 や UNOさんのページが更新停止状態になってしまって、 Warp関係で、更新頻度の高いサイトが Romy さんとこだけになってしまった。 ちょっと、さびしいですねぇ。
≡★
Hソフトの主人公の名字に「葉山」が多いのは、なぜ? それにHコミックの女の子の名字にも「葉山」というのがあったぞ。 なんでだぁぁぁー。それはともかく、東京三菱銀行の副頭取の方と同性同名らしい。 悪事を働くと迷惑がかかるので、気をつけねばならんのぉ。
しかし、発表の前後で思いましたが、僕はつくづく story の作り方が下手なので、 今度は人の論文を見ながら、章立てとかをよく考えて... と思っていたら「温度による発泡ちゃんとやってね」って、先生。うーむ。 締切はあと一週間なんだけど、大丈夫かなぁ...
修論発表が終わったら、さぞ思う存分、コードが書けるだろうと思ったが、
今一、やる気が起きない。やはり、貴重な時間だからこそ、浪費する価値も
あるのだろうか。奥が深い。
(補足) すみません。バグリポートをさらにもらったら、やる気出ました。本当です。 信じてください。
NYAOS 1.36 は「gcc -O2 -g」のまま、Release してしまった。 一生とは言わんが、ここ2,3週間の不覚である(反省しとらん)。 1週間以内に bugfix をRelease しますんで。お許しを。
しかし、自分で言うのも何だが、 約30回ほどのバージョンアップで、なんだかんだ言って、 公約のほとんどをクリアしたのは大したもんだ。 REXX のサポートとか、「かんな」とか、最初は、 出来もせん(と思っていた)ことを口、もとい、キーから出まかせで 書いたんだもんなぁ。
でも、この二つについては、それぞれの API が非常に使い易かったちゅうのが 真相であります。REXX については、ファイルの先頭が「/*」だというのが 分かり次第、APIにそのファイル名とコマンドインタープリタルーチン(execute()) のアドレスを渡しているだけだし、かんなもキー入力ルーチン Edlin2::getkey() の中に hook をかけるだけで済んだわけですし。 優秀なシステム(もち、REXX や かんな の事)は、 クライアントソフトが非常に書き易いもんですねぇ。
あと、大きい山で、達成していないことといえば、CMD.EXE からの独立と、 SKK のサポートですね。CMD.EXE からの独立は、その後、パイプの作り方とか、 分かりましたから可能なんですけど、何といってもコード変更量の割に メリットが少ない。少々、速くなる程度では、誰でもバグの多いバージョンより、 今までのものを選ぶことでしょう。
でも、本音は、抜本改革と称して、全部書き換えたいんです。 NYAOS は、大きくエディター部とインタプリタ部に分かれているんですけど、 今、その両方に構造的欠陥が見付かってしまってまして... エディター部は結局他のプログラムから利用しにくいし、 インタプリタは無理にCMD.EXEへのプリプロセッサ構造にしたばっかりに、 リダイレクト/パイプまわりが非常に汚なくなっているし(使いにくいとは 言わないが、美意識が..)。 でも、これらって、表面上、全然問題にならないんですよね。 それどころか、構造改革をすると、かえって、仕様的に後退する事の方が多いという.. こりゃ、もう無理ですねぇ。
SKK については、ねぇ、skkfep とか skkinput を get はしたんですけど、 どういうものか、コード自身を全然見とりません。 skkserv のコンパイルからやらなきゃと思ってたら、この手の移植に関しては 達人の上野 博さんがコンパイル済みのバイナリを公開されました。 うーん、ナイスタイミング(笑) (へ、自爆!?)
そうそう、このページを読んで、その上野さんが canna.dll を作ってくださった そうです(現在テスト中でしたよね?)。なんか、ものすごく恐縮の至り。 だって、考えてみたら、自分のプログラムのサイズが大きくなるから、 DLL 作ってだなんて、かなり、わがままだったなぁと... どうも、ありがとうございます。
京都も、あと2週間すれば去るというのに、まだ全然、夜逃げ、もとい、 引越しの用意ができてないなぁ。いや、それ以前に、掃除すらしてない。 いかんなー。
ぼちぼち、移転が進む、この「はやまったページ」。 就職したら、今ほど、頻繁に更新できないかもしれません。 だって、会社のページの社員の声のところを見ると、 「暇がな〜い、暇がな〜い」という魂の叫びが聞こえてきますもの。 まぁ、忙しいということは、繁盛しているということですから、 将来に渡って安泰ということで喜ぶべきことですが。
だが、しかし(ダンッ!)。 肩書が「大学院生」から「社会人/サラリーマン/SE」になろうと、 僕は、それ以前に「プログラマー」でありたいと思うのであります (できれば、ハッカーって呼ばれるくらいになりたいもんですけどね。 でも、cat でデバイスドライバーは書けんよなぁ、どうしても)。
でも、本当にそれでいいのぉぉぉ
# 何か、回転させたいような気が...
で、「かんにゃおす」をついに正式 Release しました。
公開は今回から、
ということで、リンクされている方は、
しかし、ftp で WWW の内容を転送するのって、思ったよりも 手間がかかりますねぇ。みなさん、効率のよいやり方を開発されているのかしらん。 今まで、自分のホームディレクトリの下のディレクトリ(~/html)を、Mule で直接いじくれば、 Save した途端に反映されるので、むちゃくちゃ楽だったんですけどね。 おかげで、編集途中の文書も、読まれてしまっていますね(笑)
宇野さんのページが読めなくなって、悲しいぃぃぃ。 巡回路の一つがなくなってしまった。 半月ほどの我慢でしたっけ? 今まで、宇野さんとこ → Romy さんとこ → OS/2 情報局 → 中村正三郎さんとこ てな感じで巡回してたんですが...あれ、誰かさんの巡回路とダブっているような(笑) あ、関係無いんですが、Romy さんの誕生日(1972/5/29)って、私と同じではないですか(年も!)。 びっくりしました。ううむ、どうりで、ウテナの波動がよく伝わると思った(ナニカチガウ)。
今月の一言? 決まってるじゃないですか
「俺は学生をやめるぞぉぉぉぉ、ジョジョォォォォ」
失礼いたしました。