今年度いっぱいで K 先生が定年退職される。
思い出す事はいっぱいある。
初めて直接教わったのは二回生あたりでのシステムソフト関係の演習だったか。
数字列からなる入力に対して、その数字が初見であればストアし、ストアされておれば取り出して削除し、EOF
を読んだときの格納状況を出力せよ、というようなものだった。
ただ動くだけのプログラムなら何でもない。
これをメモリやキャッシュに対する入出力要求と見なして、そのメモリへのアクセス回数が最小になるように工夫せよ、というのが課題の本意である。アクセス回数も出した、かな。(システムソフトだからね)
あれこれ工夫を凝らして出したと思う。面白かった。課題をやることの意味を直接的に理解したのはこの時だったと思う。つまり重要な事を学んだ。
課題をやることに意味はない。課題を通して何を理解するかが問題なんだ。
(なおこのことを強烈に感じさせてくれたのは K 君のおかげでもある。彼はアクセス数のカウントの方法に抜け道をみつけて、僕より遙かに少ない回数で終了させていた。確か課題のレギュレーションには合っているが、現実のシステムではそのようなアクセスが利かないような方法を採っていた。彼はとにかく最小回数になることをゴールに設定して、実際に今やっている事がメモリへのアクセス数を減らす事の重要性と、その難しさ、アルゴリズムの複雑さと効果の関係などを俯瞰する、といったことを無視していた。K 君には僕の解釈を説明したが、彼としてはあまり納得がいかないふうだった。)
さて、三回生になってゼミに配属され(僕のいた学科は三回生からまるまる二年間卒業研究に取り組むのだ)、僕たちは隣のゼミである
K 先生と実験室(端末室)を共用する事になった。
当時使っていたのは DEC System-2060, VAX8300, OMRON SuperMate, FACOM
M-180ADII だった。端末は VT-52 と VT-100 と LA-120 で、RS-232C
で接続する。
僕は VT-100 のグニャっとしたキータッチがイヤで、古い 52 をよく使った。カチっとしたキータッチで、タイプ時のビープがメカ・リレーによるブザーで、タイプするたびに「ジッ」と鳴って微妙に機体に振動が出る(ような気がする)。対して 100 はブザーでブツッとした感じの音でこれも好きでなかった。
好んでよく使った 52 だが何しろ古いのでよく壊れていた。
端末は非常に高価なものだったので台数が少なく、いつも端末が足りない。ふと見ると壊れた 52 が転がっている。また空いているのに使われていない 52 があり、なんじゃいなと思うとそれは英大文字とカナしか出ない奴だった。壊れているのは英子文字版である。
ここで妄想が働かないようなら学生でいる資格はない。
同じゼミの同期生、K 君(先の K 君とはまた別の K 君なのでややこしいから以後 K2 君としよう)と「二個イチにしよう」と決めて予備調査をし(とりあえずバラして基板・回路構成を見比べて見通しを立てる)、いけると踏んで機材の管理をされておられた K 先生の研究室のドアを叩いた。
や:「先生、VT-52
ですが、****な状態ので二つ合わせて動くかどうか試してみたいんですが、、」
K先生:「どうぞー」
即答だった。
モノクロディスプレイとは言え通電したブラウン管の近くに手を入れるのはかなり危ないし、他にも危ないところはいろいろあるのだけれど、迷い無く即答された。
僕たちは喜んで全バラし、基板を組み替えて「完動の英子文字版」と「故障したカナ版」の二台に仕立て直すことに成功した。外装を戻して、キートップを全部入れ替えて、作業終了である。やった。端末不足を(少しだけ)改善した!
ところで数少ない端末に対して、複数あった接続先ホストを切り替えて使うために、僕の大学では
RS-232C
パッチボードが廊下の壁に据えてあった。まずパッチボードでどのホストに接続するか、パッチケーブルを差し替えてから端末を使うのだ。
ところが FACOM は 1200baud, 7bit Even だがその他は 9600baud, 8bit Non
である。そのため接続先を切り替えた後に各自端末の通信設定を直すのが常であった。直さずに使うと
VAX などは自動認識なので 1200
に落ちてしまい、フルスクリーンエディタなどが使いにくい。(ええ、FACOM
はラインエディタでしたよ)
VT-100 はキー操作で通信設定を変えることができるが、我が VT-52 はロータリースイッチで、しかも底面にそれがついている。毎度底を持ち上げて、グリグリといじっては使うという日々だった。さすがに業を煮やしてこれも改造を検討した。やはり K2 君とバラして回路を当たり、ロータリースイッチの短絡状態がビットパターンをなすように配線されていることを把握した。parity は単純 on/off x 2 程度だったように思う。
そこでロータリースイッチの位置をある特定の場所にして、別のスイッチまで 2, 3 本の線を引き出し、その線をこう短絡させると 1200baud になり、こう短絡させると 9600baud になる、という便利なパターンがあり得ることを突き止めた。また K 先生の部屋をノックする。
や:「先生、VT-52
ですが、****が不便なので**な感じでスイッチを付けて解決したいのですが、、」
K先生:「どうぞー」
即答である。
電気屋でトグルスイッチを買ってきて、バラした VT-52 に半田付けした。しかし取り付ける場所がなく、機体の横にテープで貼り付けても良かったのだろうが、僕は機体正面のパネルに穴を開けて取り付けようとした。再び相談すると、K 先生はやはり「どうぞー」と即答され、電気ドリルを貸して下さった。
僕はドリルで穴を開け、正面にトグルスイッチが二つ付いた特製 VT-52 が二台出来上がった。二つのスイッチのバーを共に一方に倒せば FACOM 向けの 1200baud, 7E 設定となり、逆に倒せば 9600baud, 8N 設定となる。Sun 3/60 がやってくるまで、いや来てからも、僕は好んでこの特製端末を使い続けた。
他にもいろんなお願いをさせていただいたが、何であれ K
先生は「どうぞー」と即答された。はじめからそう答えると決まっていたように。
今にして思うとあれは凄いことだなあと。
物理的な危険もあるし、壊したときの事務に対する後始末も相応にまずい事態が想定されるのだけれど、本当に何でも「どうぞー」と即答された。
その結果、僕はいろんなことをさせて貰った。たくさん学ばせて貰った。
だから学生から何か頼まれたら、決して断らないつもりでいる。
そう決めた。
もう 25 年ほど昔の話だが、K 先生の「どうぞー」を僕は覚えている。一生忘れない。
2011.03.04