40th Anniversary of Dynabook
Computer History Museumで行われたイベントに参加してきました。もともとはプログラムに書かれていたように、ChuckとMary LouとAlanによるパネルだけが予定されていたのだけど、聞くところによるとAlanが「ちょっとだけ歴史的文脈を説明したいから」と言って、ちょっとだけの講演が入った、といういきさつである。が、案の定予定されていた90分のうち70分くらい話をしたという成り行きではありました。もちろん、パネルは発散するだけで90分も普通は持たないし、Alanの立てるストーリーにはかなうわけないので、こちらのほうが成功だったと思う。が、主催者側は時計をたたいて見せたりあとでいやみを言ったりという場面はあったが。
講演の内容は、50年代から60年代後半にいたるコンピュータハードウェアとソフトウェアの系譜をエピソードたっぷりに述べたものであった。機会があればまた書きます。すみません。
Larry TeslerやBert SutherlandやSteve RusselやCarl HewittやMac界からはBruce Hornが来ていた。というかAlanが「PARCかARPAに関係していた人は立ってくれ」と言ったときにはたくさんの人が立ったので、有名人チェックをするつもりだったら、かなりたくさんの人を見かけたことになったと思うのだけど。
追記。というわけで、レポートです。もちろん実際にはもっと多くのことを楽しい言い方で行っているのですが、ここは簡単に。現物はきっとビデオで見られたりするようになると思うのでそちらを当たってください。
50年代の気分。科学発展の期待と、ソビエトという敵の存在によって研究が栄えた。
Whirlwindはその後のコンピュータにつながる大きな影響があった。SAGEシステムは対話的に使えるコンピュータだった。
Q-32というシステムがあった。でっかいなあと思ってみたら、見ていたのはコンソールだけだった。このシステムはシステムモニタがあって、機能していないインストラクションがあるかどうかを判別して、機能していないものがあれば機能しているものでエミュレートする仕組みがあった。そのため、クラッシュするのにも何日もかかってクラッシュしていた。
1955-1958。Harry HuskeyのBendix G-25も一人で使うことができた。
マクルーハンの本を60年代によく読んで、メディアとはメッセージ・マッサージであるということとコンピュータ・メディアのつながりについて考えた。
1958。今年祝うとすればLisp 50周年であるべし。コンピューティングにおけるマクスウェル方程式みたいなもの。Lispは今でもどんな言語よりも強力といえる。
1960。PDP-1は大学で学生が簡単に使えるコンピュータとして入ってきた。
1960。LickliderのMan Computer Symbiosisの論文があって、伝説によれば、ARPAのえらい人がひそかに集まって、"金が余っていることだしLickにちょっと金をやってみてなにが起こるか見てみよう"といってIPTOが始まった。Lickliderは、Washington DCのベルトウェイの内側ではよいアイディアは生まれないといっていたので、外部に人を見つけて人を援助するという方針で資金提供した。
60年代初頭。JOSSは最初のエンドユーザープログラミングシステムで、デザインしたC. J. Shawは、「対話型コンピュータシステムではちょっとした小さなことがとても大事である。何百もの小さなことを」と言った。今頃ではそこまでこだわっている人がいない。
1961-1962。Bartonには授業で教わった。B5000は高級言語をハードウェアで実行すればよいではないか、というアイディアで、ハードウェアスタックなど彼のアイディアの多くが今でも重要なものになっている。
1962。Sketchpad。Ivanはディスプレイそのものをプログラムするというアプローチで、コンピュータグラフィックスとリアルタイム制約処理系とオブジェクトシステムをいっぺんに発明してしまった。
1962。LINCは最初のパーソナル・コンピュータと言えるだろう。
1962。SpacewarがPDP-1上で作られた。
1962-1969。EngelbertのNLS。来月にはthe big demoの40周年記念イベントがある。
1964-1969。RAND tabletとGRAIL文字認識システム。
1964。SteveはLispの実装もした。それは対話型ではなかったが、ほどなく16歳くらいだったPeter DeutschがPDP-1のアセンブリでとても美しく対話型のLispを作った。
1965。Mooreの法則。もともとMOS(?)の話だったので、テクノロジの違いに気をとられて多くの人はそれほど気にしていなかったが、後に改定された18ヶ月で倍という法則にだいたい沿ってきている。
1966。Dave Evans。Utah ARPA Project。彼のすばらしいところは、できそうなやつであればそれが誰であるかにはまったくこだわらないところであった。
Simula。「あの二人けんかしているぞ」「違う、二人で言語の設計をしているんだ」
1967。512bit ROMのうわさ。コンピュータ屋は騒然。1967-1969。FLEXマシーン。
1965-1969。Project Genie。Butlerはいつも老成した大人のようだったが、このころはまだ25だった。
1968。LickliderとTaylorの"The Computer as a Communication Device"
1968-1969。The intergalactic Network。Lickliderは心理学者だったので具体的なゴールを設定する任ではないとわかっていたし、具体的な小さなゴールを設定してしまうとエンジニアたちがそれで満足してしまうような仕様で作ってしまうこともわかっていたので、ビジョンとして大きなものを打ち出した。
1968。フラットパネルディスプレイ。APRAの学生たちが集う会議で、発表を見た。FLEXマシーンがこんなパネルの裏に入ってしまう、ということにいずれ気がつく。
1968。FLEXマシーンを使ってくれそうな人々をたずねて回っていた。その中の一人がSeymourで、モダンな微分幾何学が子供の「自分が中心」という世界観とマッチしていて、それに基づいた言語と作れば子供でもPowerful Ideasが理解できるということを発見していた。この知見から、子供が持ち運べるようなコンピューターDynabookのアイディアにたどり着いた。段ボール箱でモデルを作って、散弾をいれていろいろな重さにしてみて持ち運びの感じを実験してみた。ほかのものと一緒に運ぶことを考えると2ポンドが限度。それ以上はだめ。GRAILの知見から、キーボードは必須。
ただ、ハードウェアそのものが重要なのではない。Ivanは液晶パネルを使ったヘッドマウントディスプレイを作っていたが、HMD用であればパネルも小さくてよいので歩留まりも高いのに、商業的には大きなパネルを作るほうにばかり行ってしまった。Negroponteが70年代にいろいろ実験していたGesture Sensingは、その後いろいろな人が別の名前で最発明しているが、いずれにしてもハードウェアそのものが重要なのではなく「サービス」を提供するという概念が重要。
70年代にはStanford AI LabとPARCでいろいろなフォームファクターのコンピュータを研究した。着任したとき、Taylorに「何をしたらよいの?」ときいたら「自分の本能に従え」といわれたので、二度と質問せずに進めた。
40th Anniversary of Dynabook
水曜日に迫った40th Anniversaryのイベントですが、Wiredに記事があります。
http://blog.wired.com/gadgets/2008/11/museum-celebrat.html
ところで、今日Alanに「A Personal Computer for Children of All AgesではDynaBookだけど、その後の論文ではDynabookだよね、なんで?」と聞いたら、「まあ気が変わったんだよね。最初はXeroxで商品化したときの架空の商品名としてDynaBookだったんだけど、その後ちょっと一般名詞っぽくなってDynabookしたんだ」ということでした。
Factorの人々来訪
Factorというプログラミング言語をやっている人々のグループが来訪。
一時山宮さんをはじめはてな近辺でconcatenative言語が話題になっていたがFactorはそのような言語の一実装である。が、最適化コンパイラだけではなく、後戻りできるデバッガやヘルプビューワやインスペクタやらもちゃんと全部書いて世の中の人が使えるようにしているというシステムである。
まあスタック言語で本当にやりたいのか?という疑問はあるわけだが、それはともかく中心になっているSlava Pestovは14歳のときにjEdit(日本のやつじゃなくてhttp://www.jedit.org/のほう)を作って3百万ダウンロードされるようなソフトにし、5年前からFactorを作ってここまで持ってきたという人である。話していても、SmalltalkやLispについてもとてもよく知っているし、過去の最適化技法についても明るいし(最近の最適化技法についても明るい)、24歳にしてかなりのつわものである。一緒に来たEdやDougもSqueak界の内情にくわしかったりしてびっくりさせられたし。彼らはなにかしでかすかもしれん。
Tina Palin
数日前のSaturday Night Liveは、Sarah Palinが登場するということで過去14年(?)で最高の視聴率になったそうである。なぜか我が家も録画してみてしまうくらいなのだから話題性はあるよね。
ラジオのトークショーなどでは、「キャンペーンにとって良い効果があったかどうか」というようなことを論じているわけだが、外国人の俺にとっては「悪い効果がアメリカ合衆国そのものにかかった」という感を禁じえない。一般論としては、アメリカ人はシリアスな状況になればなるほどジョークを一発入れてみるという文化(?)で、それ自体は俺もかなり同じのりではないかとおもうのだが、大統領選の行く末によって国内で何百万人もの(というか何億人もの)生活にかかわり、国外でも何万人もの死者がでるような政策変更につながるはずなのに、あほみたいな馬鹿騒ぎをしてその受け具合で決まる、というのはやっぱりいかがなものだろうか。
Etoys V4.0
この日記でも過去に何度か話題になっていたSqueak Etoysのライセンス問題ですが、コードを削除したり書き換えたりして、Viewpointsとして自信を持って「完全にApache 2.0またはMIT」のコードベースを作ることができました。
http://tinlizzie.org/olpc/etoys-dev-4.0.zip
いろいろな自由の定義を持った人が世の中にいますが、これはかなりの人に受け入れられることと思います。
このイメージを作る過程の副産物として、Squeak V1からのすべての履歴をたどることができるデータベースとWebアプリを作りました。興味のある人は
http://tinlizzie.org:8080/seaside/examples/authorship2
またはAJAXが嫌いな人は
http://tinlizzie.org:8080/seaside/examples/authorship
にアクセスして、あるいはMorph>>addAddHandMenuItemsForHalo:hand:を見るためのhttp://tinlizzie.org:8080/seaside/examples/authorship2?class=Morph&method=addAddHandMenuItemsForHalo:hand:&instOrClass=instance
というURLにアクセスして、メソッドがたどった数奇な運命を鑑賞してみてください。
(http://tinlizzie.org:8080/seaside/examples/authorship2
のほうにはクリックが時々無視されるという問題があります。そのときはもう一度クリックしてみてください。修正したバージョンもあるのですが、サーバーの都合でアップロードできないので、機を見て更新します。)
OLPC G1G1
http://wiki.laptop.org/go/G1G1_2008
です。私年末年始にかけて日本に往復したりするので、もしどうしてもという方がいれば相談してください。
