テクノロジやネットワークについての雑想


人に厳しいテクノロジ

最近は, 人に優しいテクノロジが流行りで, 俺はどうもなっとくいかんのである. テクノロジは, 人に優しくて地球に優しいという振りくらいはしないと, 近頃は 居場所が無いようで, 寂しい限りだ.

むかしは(といってもどれくらい昔かはよくしらんがね), テクノロジは偉くて近 寄りがたいものなのだった. ハカセが眉間にタテジワ寄せて, 血管がブチ切れる 程考えたり, 酸いも甘いもかみわけた熟練の助手が操作しないと機械は動かない でぶっ壊れてしまったりするものなのだった. UNIX がかっこいいのは, わけのわかんない謎のコマンドを矢次ぎ早に打ち込む ところにあるわけで, 穴あきテープの出力を見たハカセが世界制服の方法を読み 取るのと同じようなものなわけです. こういう偉大なる技術者の原型は, 東洋なら仙人, 西洋なら魔術師とか錬金術師 に求めることが出来る気がするな.

このへんになるとどこまで伝説でどこから本当だか全然わかんないのですが, なんでも聖トマスの師匠というのが大アルベルトゥスで, それが偉大な錬金術師 で賢者の石を持っていたとか作り方を知っていたとかいないとかいう話である. トマスは実在の人物だが, といっても 13世紀ヨーロッパなので, 俺が会ったわ けではないのだがね, でも, その師匠の方は, 全然正体不明ですな.

13世紀のヨーロッパというのはおかしな時代で, 最近までは中世暗黒時代という ことになっていたが, 実はそうでもなくて, なかなかに学芸の実り豊かな時代だっ たらしい. 当時は知識人はみなラテン語を話したし, 国といっても国民国家なん か無かったから, イギリスのインテリとイタリアのインテリが苦労せずにラテン 語で喋れた時代だったらしい. 当時の偉い論理学者でイギリス出身というのが何 人も居るからねえ. そのあと, 産業革命まで, イギリスてのはどうしょうもない 田舎になってしまうんだが. そういう時代に居た, えらい錬金術師というのは, けっこう気になるなあ.

だいたい, 最先端のテクノロジつうものがだな. 誰でも使えるわけがないのだよ. そりゃそうさ. 誰でも使えたら, もう, 最先端じゃないからな. 最先端の定義上, 最先端は誰で も使えるわけが無いのだ. 安定して大量生産できるようになったら, もう, 最先 端じゃない. 普及した量産品が, なんで最先端であるものか.

テクノロジが人間の顔色を伺ってるのは, みっともない. そりゃ誰でも使えるようにするのは大変だし, 馬鹿が(おっと失礼)使っても壊れたり, 怪我しないように作るのは並大抵じゃない. でも, そればっかりじゃあ寂しいよな. やっぱりテクノロジは新しい地平を開いてくれないと, 夢がねえよ. たとえ, 俺の手が届かなくても, そこに新しい世界が開かれたということは, それ自体において意味がある. 誰にでも出来ることではなく, そいつじゃないと出来なかった, という業績には, それ自体の中に偉大さが存在する. 角のタバコやのオバチャンが理解したり使ったり出来なくても, その意義には変 わり無いのだ.

しかし, それにもかかわらず, 近頃はテクノロジが日和ばっかり気にしてさ, 「人に優しい」とか言ってるから, だらしねえよ. 最新のテクノロジを使うためには, 自らも最新のテクノロジに相応しい者でなく てはならぬ! そういう訓練なくしてテクノロジに未来は無い. だから, テクノロジは人に媚びなくていい!

人に厳しいテクノロジで行こう.

ネットワークて何?

話しは全然変わりますが, ネットワークって何じゃろうと, 最近しきりに考えていました. 何じゃろう, というのは, つまり, 何でネットワークになるとこんなに便利で面 白いのじゃろう, ということです. そして, その答えが, なんとなく解ったので, ここで発表しよう.

ネットワークのスピードって実は大したことないわけですよ. でかい磁気テープにデータ一杯詰め込んで, 飛行機で送るのに勝てるネットワー クなんか, 存在しない(*). 高速衛星通信回線を一人占めにしても, ダメ. あるいは, MO に満タンのデータをバイク便で送ることを考えてもいい. 数百M Bytes のデータを1時間で転送できるネットワークは, まだまだ少ない. 東工大の学内なら, 余裕だけどね. だったら, なんでネットワークがこんなに普及したのか?

データ転送速度がネットワークの本質では無いわけですよ. 実際に通信する人なら判るでしょうが, ネットワークで本質的なのは, データ通信速度ではなく, 「繋がっているかどうか」だ. 遅くても繋がっていれば可能性があるが, どんなに速いマシンでも, 繋がってなければ, 単なる鎖国. これはいったいどういうわけだ?

コンピュータの便利さというのは, スピードと機能で構成されている. ネットワークは, スピードも機能も両方, 基礎的なところから 微妙に増大させることができるのだ. しかし, これを理解するにはまず, 計算機において「スピード」や「機能」とは何か というところをちょっと考える必要がある.

コンピュータのスピードは, CPU やドライブやメモリの処理能力だけではない. スピードは結局, 人間が何か入力してその返事が帰って来る具合のことだ. CPU が遅かったら人間が待たないといけなかったりするので「遅い」ということ になるわけだが, 同様にキーボード操作が遅い人間も, そいつがボトルネックに なって計算機を遅くしてしまっているのである. 同様に, 狭い画面もボトルネックになりうるし, 使いにくくてしょっちゅう止ま る OS もボトルネックになる. だから, 計算機だけのスピードを考えても, 実際にはあまり意味が無い. 人間も含めて全体的に見たときに, どの程度の処理が行われたか, あるいは, どういう処理が可能なのか, というのが問題なわけです.

ネットワークの便利さは, コンピュータを操作するのをコンピュータにやらせる, というところに, その本質がある. そうすることにより, 人間にやらせたんではちょっと厳しいデー タの入力や解釈, それに入出力速度が達成できるのだ. 複数の計算機をネットワークで接続すると, 人間が操作することによるボトルネッ クが解消され, 孤立した計算機をいちいち操作する よりも計算機資源を有効に使うことになり, 結果的に全体として処理能力が向上するのである. ネットワークが便利だということはつまり, 人間が直接に計算機を操作するより も, 計算機にやらせた方が良いところが結構あるということなのである. 死ぬ程遅いモデムでも, 一旦繋がると何か別の次元の可能性が生じて来たり, しょうもないマシンでも 2台あると, スゲエのが一個あるよりもいろいろ面白い ことが出来るようになるのは, 計算機の操作を計算機にやらせるからなのだ. いくらタッチタイプが速くても, 一番遅いモデムの帯域すら全部使い切れまい.

プロセス間通信という用語がある. プログラムを他のプログラムが操作したり, あるプログラムからの出力を他のプログラムが受け取ったりするアレだ. シェルのパイプラインなんかがそれにあたるわけだが, ネットワークの便利さは, プロセス間通信の便利さの延長に存在することが解る だろう. こうなれば, リモートホストのプロセスと通信することを考え付く奴が 居てもおかしくないわけだ(**). だから, OS やプログラムは, どこか特定の計 算機で動作しているものだ, という今の常識は, 計算機資源の有効な活用を妨げ ていると言えなくもない. 使ったことは無いが, plan9 とか inferno とかは, そういう発想で作られたの ではなかろうか, と想像してみるわしだった.

俺は, 高速なプロセッサなんかは今更で, 大して夢を感じないが, こういう話なら, 大いに興奮する. これが, 何でも統合して分散すれば良いと言うものでもないから, 面白いのだ. あんまり高度に統合してしまうと, 自由にネットワークに出入りできなくなって しまう. 資源とチャンスも分散すると同時にリスクを分散しないといけない. この辺のバランスを考えると, 意外と今の UNIX と X くらいがちょうど良いのかも知れないなあ.

両手でマウス.

またまた話は変わる. またしてもポインティングデバイスだ. そもそも, マウスはなぜ片手で操作するものなのだ? モデリングソフトなど, 両手で使った方が絶対やりやすいと思うけどなあ. それに, 片手でやってると, 右の肩ばっかり肩こりになって, かなり嫌なんですけど. アイカメラもいいが, 両手マウスというのが, なぜ出来ぬ. photoshop とかでも, 左手はツール窓. 右手は描画画面とか, 右手はペイントブ ラシで左手は消しゴムとかにしとけば, ずいぶん使いやすいと思うが, どうか. それくらいの改善が 5だか6だかバージョンを重ねても一向に行われないのはな ぜか? まあ世の中, 俺に解ることばかりではないが, それにしてもフニ落ちぬ.

さっき, ファイルのタイムスタンプを見たら 1997年 11月のファイルが存在する. そんな昔から俺のサイトってあったっけ? サーバをアップグレードするときにアクセスログとか全消ししちゃうもんで, いったいいつからやってるのか, 全然わかりません. わかりませんが, たしか OS の代金返せとかいって始めたから, HiNote Ultra 買って間もなくだ よな. だから, 97年の秋からか. ぎょぎょぎょ. もう2年もこんなことやってん のか. 我ながら猛烈に不毛だな.


(*)だから, vlbi つまり大陸間干渉計のデータとかは磁気テープで飛行機 で運んだものらしい. 今はどうだか知りませんが.
(**)X は, そういうシステムの一つですね. 環境変数 ``DISPLAY'' を適当 に設定しとけば, 勝手にリモートの Xサーバに接続するが, これは Xlib がやる 仕事で, X client 自体はローカルの サーバに接続してるのか, リモートに接続しているのか, 知ったことではない, という設計です.