トップ 最新 追記

Rogue Engineer's Diary / やさぐれ日記

Categories | CPUの創りかた | Modern Compiler Implementation in ML | NerdTV | PDP-11シミュレータで古代のUNIXを動かしてみる | The Yakumo Project | やさぐれ読書録
最近のツッコミ:1.Dominic(2008-06-23 05:05)  2.CheapestCheapOEMoem(2008-06-17 03:00)  3.NewDownloadCreativAdobOEM(2008-06-12 20:00)
最近のトラックバック:1.濃縮還元オレンジニュース:プロ.. (2006-12-22 22:02)

2004|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|09|

2005-09-11

[NerdTV] Andy Hertzfeld: ジョブズとゲイツの会話

PBSの技術系(?)インタビュー番組、NerdTVがオ ンライン上で公開されている(関 連記事)。第一回はMacintoshの最初の開発者の一人、Andy Hertzfeldへのインタビュー。

インタビューでは面白い話がいろいろと聞けるのだが、この中で特に傑作だったのが、インタビュー開始後ちょうど30分あたりに始まる一 節。1996年に放映されたTriumph of the Nerdsというドキュメンタリー番組にまつわる、スティーブ・ジョブスとビル・ゲイツの会話だ。Andyいわく:

1996年にTriumph of the Nerdsが放送されたすぐ後、スティーブが家に来たんだけど、そのとき彼に番組の感想を聞いてみたんだ。彼いわく、番組自体はとてもいいと思ったけど、 テレビで見たときに自分が言った、「ビル・ゲイツにはセンスがない(has no taste)」というコメントがちょっとキツすぎたかなと反省したんだって。で、「ごめん」とビル・ ゲイツに言おうと電話したんだそうだ。

ビル・ゲイツに直接電話するなんて、僕なんかどうやったらいいか見当もつかないんだけど、さすが天下のスティーブ・ジョブス、すぐ にゲ イツにつながったそうだ。で、「ビル、悪かった。番組の中でキミのことをセンスがないと言ってただろう、あれは確かに人前では言うべきじゃな かったよ。確かにホントのことで はあるけど、人前で言 うことではなかった」と言ったんだって。

ビル・ゲイツは、「謝るためにわざわざ電話してくれるなんてありがとう、スティーブ。確かにあれはひどかったと思う」と答えたんだ と か。

スティーブは思わず、「いや、で もあれ自体はホントのことだ よ、センスがないと いうのは事実だし」っ て返しちゃったらしい。

ビル・ゲイツはこれに答えて「スティーブ、確かに僕にはセ ンスはないかもしれないけど、僕の会社全体 にセンスがないというのとは違うからね」 と言ったそうな。

ビルは自分にセンスがないことを認めたけど、マ イクロソフトにセンスがないというのは、あんまりな言い草だと思った、というこ と だ。

NerdTV #1: Andy Hertzfeld by Robert X. Cringely and PBS福盛秀雄訳。フォントサイズと強調は実際のインタビューにできるだけ合わせた。音声も同時に聞くとさらに楽しくなります。)

なんというか、ジョークというか小噺そのものだな。でも本当にあったことらしい。すげー。


本エントリの内容はクリエイティブ・コモンズ・ライセンスの下に公開されています

本日のツッコミ(全2件) [ツッコミを入れる]

# 小野卓也 [NerdTVについては、CCでデータが公開されていると言うことと、内容も面白そうなのでチェック入れていたのですが、ま..]

# 福盛 [コメントありがとうございます。さすがに全編こんなにすごい話だらけとは行かないのですが、他にもなかなか良いエピソードが..]

本日のリンク元 | 604 | 215 | 93 | 41 | 39 | 34 | 29 | 28 | 28 | 22 | TrackBack(1)

2005-09-14

[NerdTV] Andy Hertzfeld: クヌースに「ソースコード見せてよ」と頼まれたら…

前回に引き続きNerdTVの第一 話、Andy Hertzfeldのインタビューのもう一つの山場を紹介しておこう。インタビュー開始後、1時間1分あたりから。

Andy: 今年の1月にComputer History Museumというところで、 オリジナルのMacintoshのマーケティングチームが講演をやったんだけど、その場では僕も含め最初のMacintoshにかかわったスタッフの多くも客席に座って話 を聞いていた。で、最後の方で質疑応答をやったときに、年配の観客が立ち上がって、「MacPaintと いうのはプログラムの歴史上、最も素晴らしい作品だったんじゃないかと私は思うのですが、ソースコードを見せていただくということは可能なのでしょうか」 という質問をしてきたんだ。その質問をした年配の観客というのは、実はドナルド・クヌースだった。

Bob: えーっ!

Andy: ドン・クヌースと言えば僕が最も尊敬する人物の一人でもあるし、とにかくすごい人だよね。質疑応答ではこの質問には答えられなかったんだけど、クヌースは 講演が終わった後に僕のところに来て…

Bob: ビ ル・アトキンソンはそこにいたの?

Andy: ビル・アトキンソンはその場にはいなかった。MacPaintの作者は彼だったんだよね。ともかく、ドン・クヌースが僕のところまでわざわざやって来て、 改めて頼んできたわけだ。「おい、あのドン・クヌースが僕に頼みごとをするなんて、普通ありえないぞ。できる限りのことをして、彼の望みをかなえてあげな くちゃ」ということで、家に着いたらすぐにビル・アトキンソンに電話をして、「キミのところに、MacPaintのソースコードが残ってたりしないか?」 と聞いたんだ。「ないよ」という答えが返ってきた。彼いわく、持っていたProFileのハード ドライブが10年前に壊れたときになくなったんだそうだ。「頼むよ、ビル、フロッピーディスクの中とかに残ってたりとかしないの?」 彼はフロッピーをあさってソースをさがすのはイヤだと言ったんだけど、そこをなんとか、と拝み倒した(I twisted his arm hard enough)。それから2日後、彼から電話があって、木箱に入ったフロッピーの中に、MacPaintのソースがあるのを見つけたけど、フロッピーを読 めるマシンがないと言って来たんだ。

僕は古いMacをなんとか動くように仕立てて、そのフロッピーを読もうとしたんだけど、実はそのフロッピーは、古代の、製品になら な かったファイルフォーマットというか、Lisaの 開発作業をするためだけに使われた、Lisa Monitorのファイルフォーマットで書かれていたんだ。ということで、これをなんとかするユーティリティを書く羽目になったんだけど、それで中身を見 たところ、ファイルは普通のテキスト形式で格納されていなかった。当時はディスク容量は貴重だったから、ランレングス法を使っ て、行頭の空白を圧縮するようにしていたんだ。ということでやっとファイルを取り出せたと思ったら、インデントはダメダメだわ、変なコントロール文字があちこ ちにあるわ、という姿だったので、かなりガックリときた。結局、昔の格納形式を思い出して、これをなんとかするユーティリティをperlで書いて通した 後に、やっときれいなMacPaintのソースコードが手に入ったわけだ。で、それをCDに焼いて、ドン・クヌースに送った。そしたらクヌースから返事が あって、ビル・アトキンソンと僕を彼の家に招待してくれるという。すごかったよ。

Bob: パイプオルガンが家にあるんだよね。

Andy: そうそう、パイプオルガンとか、すごい彫刻とか、学術関係で彼がもらったたくさんの賞がおさめられた箱とかがあって、とにかくすごかった。二つのオフィス で、立ったまま仕事をする様子まで見せてくれたよ。昼食を一緒に食べに出たけど、そこでも楽しく過ごすことが出来た。彼は受け取ったソースコードが本当に 気に入ったみたいで、感謝してくれたよ。

僕はそのときすでにfolklore プロジェクトを始めていたんだけど、クヌースのところから帰ったときに「MacPaintのソースコードをオンラインで公開するとい うのはMacintoshの歴史の記録としては最強なんじゃないか」と思い始めた。で、その件について友人たちに聞いてみたんだけど、みんな否定的な答え を返してきた。「アップルに訴えられるんじゃないかな」とか、「20年前のソースコードだから大丈夫っていうワケには行かないよね、だって歯止めがないでしょ う、誰かが3年前のソースコードを公開すると言い出したらどうするの? 無理だよ」とか言われたんだ。でも、「ドン・クヌースが役に立ったと言う品なら、歴史的にも学術的にもたくさんの人の役に立つはずだ。やっぱ りここは公開するのが筋だろう」と思って、とにかく公開した後アップルが文句を言ってきたら止めるということにしよう、でもその頃にはソースコードは世に 出回っていることになるだろうし、などと考えたんだ。でもそうと決めた後もまだ少々ビビっていたので、さらに識者に聞いて回っていたんだけども、最終的に、 ティム・オライリーがすばらしい解決策を出してくれた。彼に「どうしたらいい?」と聞くと、コンピュータの歴史上の資料としてComputer History Museumに寄贈すればいいじゃないか、と言うんだ。多分彼らだったら、アップルから許可を取り付けてくれるんじゃないか、ということで、その通りに やってみることにした。手続きには2〜3ヶ月かかったけど、今年の8月にアップルはMacPaintを Computer History Museumに寄贈してくれたんだ。まだ公式発表はしてないけど…これが実現したのもドン・クヌース、ビル・アトキンソン、そして その他の人たちのおかげだ。Computer History Museumの人たちは僕らのビデオも撮ってくれたよ。これはComputer History Museumでの、本格的なソフトウェアのコレクション第一号になるということで、彼らもかなり気合を入れていて、ビデオ映像を用意したり、開発にまつわ る話とかも僕らからいろいろと聞いていた。ということで、もうしばらくするとMacPaintのソースコードは彼らのWebサイトで、世界に向けて公開さ れるはずだ。

NerdTV #1: Andy Hertzfeld by Robert X. Cringely and PBS福盛秀雄訳)

かつて、萩谷先生青 木淳さんが言っていた、ソフトウェア博物館の実現への第一歩が(海の向こうではあるけれども)今まさに踏み出されようとしている。公開される日を楽しみに待つこととしたい。

9/16追記: 上記文章のうち、「多分今年の10月には公開される…アップルは」とあった箇所は、「今年の8月にアップルは」の誤りでした(本文 の該当箇所および関連箇所は修正済)― 謹んで訂正させていただきます。


本エントリの内容はクリエイティブ・コモンズ・ライセンスの下に公開されています

本日のツッコミ(全4件) [ツッコミを入れる]

# 三浦 [驚いた。 Slashdottedおめでとう。 ]

# 福盛 [どうもありがとう。レンタルサーバの負荷/帯域制限にかかるかと少し心配でしたが、 なんとかなりそうです。 せっか..]

# hir [すみません、2005-09-21 03:05のトラックバックの送信主です。 wiki編集中に変なTBが飛んでしまいま..]

# 福盛 [該当トラックバックを削除しました。 以上、(非常に簡単ですが)ご連絡まで。 ]

本日のリンク元 | 727 | 558 | 387 | 336 | 288 | 248 | 218 | 185 | 170 | 135 | TrackBacks(6)

2005-09-17

[NerdTV] Folklore.orgから: MacPaint Evolution

先日の『NerdTVから:クヌースに「ソース コード見せてよ」と頼まれたら…』で紹介したにもかかわらず、僕はMacPaintを使ったことがない。MacPaintとは一体何者なのだろう、そして1984年に登場した、このとても古い製品を、クヌース先生が2005年に「ソフトウェアの歴史上最も素晴らしいプログラム」と呼んだのは一体なぜなのだろう?

その疑問はAndy Hertzfeldが主宰する、Folklore.orgの中にある 文章"MacPaint Evolution"を読んで氷解した。以下はその日本語訳である。


MacPaint Evolution

著者: Andy Hertzfeld
日本語訳: 福盛秀雄
日付: June 1983
登場人物: Steve Jobs,  Bill Atkinson,  Rod Perkins
トピック: MacPaint,  Software Design,  QuickDraw,  Technical,  Lisa
要約: 素晴らしい機能をあえて外すことに決めたBill Atkinson
Revision: most recent of 23

Bill AtkinsonがLisaとMacintoshのユーザインタフェースの基礎となった、重要かつ超高速なグラフィックス パッケージ、LisaGraf(後にMac向けにQuickDrawと改名)を開発していたのと同時期に、彼は時間をみつけては、SketchPadと呼 ばれる、Lisaのためのシンプルな、ビットマップベースのドローイングプログラムを作っていた。SketchPadは絵筆やパターンを選択することがで きる、マウスを使った描画ツールであり、LisaGrafに追加された新機能や改良部分をテストしたり、他の人にデモンストレーションするための手っ取り早い手 段を提供してくれていた。

1983年の初めにLisaがAppleの年次株主総会で発表された直後、BillはLisaのシステムソフトウェアの担当から、 Macintosh向けのグラフィックス系のキラーアプリケーションの開発に移った。Steve JobsはBillに、Mark Cutterの作ったLisaDrawのような、構造化ドローイングプログラムを作ってもらいたいと考えていたが、Billは構造化ドローイングプログラ ムは複雑すぎると考えており、もっとシンプルでエレガント、かつ楽しく使えるものを作りたいと思っていた。

彼はまず最初に、古いSketchPadのコードを引っ張り出して、Mac上で動作するように改造し、そのプログラムを MacSketchと名づけた。SketchPadはパターンや線のスタイルを選択するのにメニューを使っていたが、Billはこれを、画面の下のほうに 常時表示されているパレットを使うように変更した。彼はまた、画面の左に大きく目立つパレットを配置し、そこにさまざまな描画ツールを用意した。以後そこ にはさらに多くのツールが追加されることになるが、MacPaintの基本形は、その初期には既に確立されていたのだ。

Billがもたらした最初の大きな進歩は、フリッカー(ちらつき)の排除だった。図形やイメージを画面上でドラッグするときには、移動 後の位置に描画するまえに、これを移動前の位置から消さなければならないが、その際に中途半端に描画された状態が表示されると、目障りなフリッカーとな る。Billはオフスクリーンのメモリバッファに全てを描画した後、これを一気にスクリーンへ転送する方法を使い、中途半端な描画が表示されないようにすることで、 フリッカーを完全に排除した。

実際のところ、Macintoshの厳しいメモリ容量の制限にもかかわらず、彼は二つのオフスクリーンバッファを使っていた。二つの バッファはドキュメントウィンドウと同じサイズを持っており、片方には現在のドキュメントのピクセル情報、もう片方には最後に実行したオペレーションが反 映される前の状態が格納されていた。これにより古いバッファの状態を新しいバッファにコピーするという非常に簡単な方法で、undoが実現できるように なった。またこの方法によりfast drawingも可能となった。オブジェクトが変更される際に、二つ目のバッファにある変更前のドキュメントの状態にアクセスすることは非常に容易であっ たためだ。

基本的な描画更新部分がきちんと動くようになった後、Billはパレットにさらに多くのツールを追加する作業を始めた。彼はユーザがド キュメントの一部に操作を加えることが出来るよう、長方形領域選択ツールを追加した。当初、選択された長方形部分は反転表示で示すようにしていたが、これ は塗りつぶされた面に対しては有効であったものの、選択部分にデジタイズ化された写真のような、複雑なイメージがある場合には見づらくなるという問題が あり、これをなんとかしなければならないとBillは思っていた。

この領域選択の問題を考えていたある日の夕方、彼はLos Gatosにある、ビールとハンバーガーが売り物のレストランに夕食を食べに出た。そこはさまざま客が数十年もの間にも渡り、木のテーブルに刻ん できたイニシャルがそのまま残っているといった雰囲気の、古い店である。ビールを注文し、バーを見回すとHemm'sのビールの看板が彼の目にとまった。その看板に は流れる滝の絵があり、水が滝から湖に流れ込むようなアニメーション効果が施されていた。Billは、看板の表面のすぐ下で移動 するマスク面が、目に触れる場所ごとに違うイメージを表示するという方法により、そのアニメーションが実現されているのだろうと推理した。

彼は突然、この滝と同じようなテクニックで境界線をアニメーション化すれば、バックグラウンドに何があるかにかかわらず選択領域を簡単 に認識することができ、グラフィックスの選択領域の問題は解決できるであろう、ということに気付いた。彼は家に飛んで帰り、交互に表示されるパターンを 使って、彼の見たビールの看板のような、連続した動きを見せるようなアニメーションを実装した。このアニメーションの効果は素晴らしいものであったが、良 い名前が彼には思い浮かばなかった。二日ほど経った後、LisaアプリケーションチームのRod Perkinsにこれを見せると、Perkinsはこの効果がmarching ants(アリの行進)に似ているとBillに言った。Billはこれが気に入り、この"marching ants"を呼び名とすることにした。

1983年の4月ごろ、Billはこのプログラムの名前をMacSketchからMacPaintに変えた。彼は開発のペースを上げ、 一日ごとにMacPaintに新しい機能を追加していった。その中で特に重要なものの一つとして、"Fat Bits"がある。これはドキュメントの一部分を8倍に拡大し、ユーザがピクセル単位で描画することを可能にするものだった。これはオフスクリーンのバッ ファがスクリーンへ転送される際にスケーリング処理を行なうことにより実現されていたため、他の全てのツールや描画効果は、Fat Bitsモードでもそのまま動作させることが可能であった。

もう一つの鍵となる改良は、Billがpaint bucketツールを実装した際にもたらされた。paint bucketはクリック一つで、ユーザの選択したパターンで画面上の領域全体を埋めることを可能にするツールである。これは近傍のピクセルのうち一致する 色を持つものを発見する"seed fill"というアルゴリズムを利用していたが、メモリの制限が厳しいために実装は困難であった。最終的にBillは複数のseed fillアルゴリズムを試験的に実装し、その中で高速かつメモリの利用効率の良いものを一つ選び出す、というやり方によりこの問題に対処した。この seed fillのルーチンは、最終的にMacPaintからQuickDrawへ移動し、128KのROMの一角を占めることになった。

長方形領域選択ツールは有用であったが、イメージの中で任意の形状を持つ領域を選択したくなるような場面も、往々にして発生することがあった。そこでBillは"lasso"と呼ばれる、もう一つの選択ツールを考え出した。"lasso(投げ縄)"という名前は、ターゲットの周囲に巻き つくことから付けられている。ピクセル単位で正確にマウスをコントロールするのは難しいが、lassoツールは選択したいエリアの大まかなアウトラインを 指定すると、白いピクセルを飛ばしてターゲットの周りにきっちりと巻きついた選択領域を自動的に選択してくれる。lassoはpaint bucketの副産物と言っても良い。というのも、paint bucketのために開発されたseed fillルーチンは、lassoツールの巻きつき機能を実現するのにそのまま利用できたからだ。

lassoは画面上の任意のピクセル領域を指定できるが、その実現のためには三つ目のオフスクリーンバッファが必要となった。このバッ ファは ドキュメントウィンドウと同じサイズを持ち、どのピクセルが選択されているかを示すためのマスク情報が格納されていた。このマスクバッファにより、画面上 でイメージをドラッグしたり、lassoで選択された領域をmarching ants効果で目立たせるといった、不規則かつ大きなサイズの領域に対する 高速なグラフィックス処理が可能となった。最初の二つのオフスクリーンバッファは静的に確保されていたが、三つ目のオフスクリーンバッファであるマスク バッファは、他の機能がそのメモリ領域を利用できるように、バッファが利用されていないときにはメモリを解放するようになっていた。

MacPaintはユーザが好きな場所に、好きなフォント、サイズ、スタイルで文字を書けるという点で、テキストを描くのにも優れてい た。だが一旦テキストが描画されると、そのテキストは他の図形と同様、ただのピクセルの集合となるため、これを再度テキストとして編集することは不可能で あった。1983年の6月、これをなんとかしなければならないとBillは考えていた。

Billは、テキストの描かれた領域をテキストツールで選択したときに、ピクセルの集合を文字の集まりに戻す機能を作ることにした。彼 はMacPaintの他のどの機能にも劣らないほどの、精巧なコードを大量に書き上げた。まず最初に彼は、選択領域内にある文字の、個別の長方形領域を取り出 すルーチンをアセンブリ言語で記述した。次に彼は、これら長方形領域のピクセルのチェックサムを計算して、それを既知のフォントに対してあらかじめ計算 されたテーブルと比較する機能を実装した。これにより、チェックサムが一致した場合にのみ、完全な比較作業を行なうという処理が可能となった。

Billの実装した文字認識ルーチンは見事に機能し、以前のMacPaintを使っていた人たちの目には、一度描画されたテキストが再 び編集できる姿はまるで魔法のように映った。もちろんこれも完璧というわけではなかった。というのも余計なピクセルが一つでも文字領域の中に混ざっていると、そ の文字は認識できなかったからだ。とはいえ非常に役に立つものであったことには変わりない。皆、この機能が気に入り、Billが起こした新たな奇跡を祝福 した。

それから数日後、MacPaintから文字認識機能を外すことにしたとBillが言ったとき、僕は耳を疑った。彼が言うに、もしこれを 残しておくと、人々はこの機能をたくさん使うことになるだろう、そうなればMacPaintは優れたドローイングプログラムではなく、出来の悪いワードプ ロセッサとしてとらえられてしまうのではないか、ということを恐れたのだという。今思うと、これはおそらく正しい判断だったのだろうが、当時の僕はそうは 思わ なかった。僕は、多大な努力の下に実装したはずの機能を捨てるという、自身の執着から自らを切り離す彼の姿に驚きを覚えた。多分僕だったらそんなことは出来な かっただろう。

MacPaintは他の主要なアプリケーションにはるか先行して、1983年の10月にはほぼ完成していた。MacPaintの最後の 仕上げは、out of memory問題の発見と対処に費やされた。というのも、MacPaintは自身の持つ三つのオフスクリーンバッファで、Macintoshの128Kの メモリの限界に迫っていたからだ。ワーストケースにおいては、MacPaintのヒープにはたったの100バイト程度しか残らないという状態となった。 MacPaintを動作させている際に僕たちが見つけたバグのほとんどは、メモリ容量の限界に近づいたことにより顕在化した、システム側のバグだった。

MacPaintは現在の基準から言うと、かなり小さいプログラムであるが、Macの持つ128キロバイトのメモリで動作する必要が あった、ということにも触れておきたい。完成したMacPaintは、5804行のパスカルのコードと、それに加えて2738行のアセンブリ言語のコード から構成されていた。コンパイル後の実行コードは、0.05メガバイト以下というサイズであった。


…いかがだろうか。クヌース先生がこれらのアルゴリズムをMacPaintの中に見出した様子を想像するだけでも鳥肌の立つ思いだが、自分が実装した素晴らしい機能を あえて捨てるという判断を下したBill Atkinsonの姿も、言いようがないくらいに印象的だ。Folklore.orgには宝が埋まっている。


本エントリの内容はクリエイ ティブ・コモンズ・ライセンスの下に公開されています

本日のリンク元 | 347 | 246 | 234 | 133 | 93 | 69 | 57 | 39 | 37 | 36 | TrackBacks(2)

2005-09-23

[Modern Compiler Implementation in ML] テストケースの用意と "freezeMoves", "freeze", "selectSpill"の実装

前回用意したテスト用の干渉グラフ の生成プログラムだが、結局レジスタ割り付け用のテストコード(2005年4月3日に少し触れた)に 取り込んでしまうことにした。取り込み後のテストコードはこ ちら。コピーアンドペーストでそのまま張り込んでしまったためにかなり汚い(というか、かなり悲惨…)

テスト用の干渉グラフの定義は別のファイルで 行っている。定義用ファイルの中では、レジスタ割り付け部のコードの各部分を少なくとも一回は実行させる(カバレッジを確保する)ために、10種類ほどの テストパターンを用意している (本当はもっと必要なのかも知れないが…)。最初の三つのテストパターンを図で表示させるとこんな感じ:

また同時に、レジスタ割り付け部本体の"freezeMoves", "freeze","selectSpill"の実装も進める。

色のついたところが、レジスタ割り付け部で実装の終わった箇所。ようやく一通り埋まってきた感じがする…

本日のリンク元 | 31 | 3 | 3 | 2 | 2 | 2 | 2 | 1 | 1 | 1 | TrackBack(0)

2005-09-24

[NerdTV] Andy Hertzfeldのインタビュー全文の日本語訳

NerdTVの 第一話、Andi Hertzfeldのインタビュー全文(!)がhirさんにより日本語訳され、公開されている。

驚くべきスピード、見事な仕事だ。そしてこれさえあればartonさんのお願いだって(部分的には)実現するかも知れない:

NerdTVの作品をNHK教育とかでやってくれないかな(もちろん日本語字幕か吹き替えで)
#く、CCなのか。CCだってことはこういう他力本願寺な言い方は無効化されるんだよな……でも、誰かやっ てくれないかな。
(L’eclat des jours - 9月14日)

さすがにNHK教育とかでの放送については見当が付かないが、少なくともあと一歩踏み出せば、日本語字幕版が作れるところまでは来てい るのは確かだ。動画 に直接字幕を埋め込むのもいいし、ogijun さんが9月15日の日記で紹介していた、動画アノテーションツールとメタデータ、というのも試してみる価値がありそうだ。さらに根性 があれば吹き替え版を作るのも面白いかもしれない。

CC(Creative Commons)のご利益は思ったよりもありそうですよ、ということで誰かやってくれないかな、と他力本願寺二号がここに。

[NerdTV] で、第二話と第三話はどうなったの?

で、NerdTVの 第二話(Max Levchin)と第三話(Bill Joy)なのだが…残念ながら(僕的には)不発であった。Andy Hertzfeldのインタビューが破格の出来だったせいで僕の基準が高くなりすぎたことも一因か。

…と言っている間にhirさんが抜粋ムービー(Juicy Bit/Nerdy Bit)部分の翻訳を始めてい た。さすがだ。

興味のある方、ぜひご一読を。

本日のリンク元 | 470 | 56 | 40 | 27 | 26 | 18 | 16 | 14 | 10 | 9 | TrackBack(1)

2005-09-26

[やさぐれ読書録][NerdTV] 「レボリューション・イン・ザ・バレー」

今週末は、NerdTV の第一話でも話題に上っていた、Folklore.orgを 書籍としてまとめた本「レ ボリューション・イン・ザ・バレー」(Andy Herzfeld)を眺めていた。オライリー・ジャパン様(ここ最近の一 連のエントリを読んでくれたとのこと)からの頂きモノである(ありがとうございます)。

一言で言うならば、とても美しい本。読んでいて一切ストレスを感じることがない。また、あちこちにMacintosh開発に関係する手 書きのメモ(例えば:最初に出荷されるMacintoshを誰に贈呈するかをまとめたリストや、"Super Fast Ball Bounce"デモのアセンブリコード、ROMの不正コピーに対抗するためのトラップの実装アイディア、など)が掲載されているのだが、これらはいずれも Folklore.orgでは見ることができないだけに、非常に貴重なものであると言えそうだ。

日本語訳も元の文の魅力を余すところなく伝えている。これだけのボリュームをこのクオリティで読めるのは素晴らしい。 NerdTVの第一話と Folklore.orgに興味を抱いた人たちには一見の価値あり。

本日のリンク元 | 119 | 85 | 18 | 11 | 9 | 8 | 7 | 7 | 6 | 6 | TrackBack(0)

2005-09-28

[NerdTV] MacPaintのソースコードは今どこに?

9月26日の日記で「レ ボリューション・イン・ザ・バレー」の紹介を書いているときに、妙なことに気がついた。最初は大した問題ではないと思っていたのだが、その後事態は予想外の方向に展開していくこととなる。

何かちょっとヘン

NerdTVのインタビューでは「レボリューション・イン・ザ・バレー」の原著に当たる"Revolution in The Valley"の発売時期に関して、

Andy: ついこの間1冊受け取ったんだ。まだ出回ってはいない。イタリアで印刷されているんだけどね。年末までには書店に並ぶはずだよ。
(NerdTV 翻訳/1-Andy Hertzfeld)

と語られているのだが、もしこれが正しいとすると、「年末までには書店に並ぶはず」という英語版よりも、9月26日に発売された日本語版の方が先に登場している、 という話になる。そういう可能性がゼロであるとは言わないが、どうもおかしい。

1年ズレているよ

気になったのでamazon.com の"Revolution in The Valley"の紹介ページを見てみると、発行日は(December 6, 2004)となっている。「年末」というのは2004年の年末のことなのか、ということは …まさかあのインタビューは今年で はなく2004年に収録され たものなの? 

あわててイ ンタビューのトランスクリプトをもう一度よく見ると、「NerdTV から:クヌースに「ソースコード見せてよ」と頼まれたら…」の冒頭、「今年の1月にComputer History Museumというところで…」 にあたる部分の英文が"In January, 2004, the Computer History Museum had a little presentation about..."となっている。

…やられた。インタビュー音声ではこの部分は"In January of this year, ..."となっており、 僕もそのまま、これが2005年に起きた出来事だと思いながら訳していたのであった。ひどいよ、NerdTV。映像版にも音声版にも、インタビューの収録 日がいつだったかなんて記録は入っていなかったじゃないか…と言っても、僕も最終的なチェックと仕上げはトランスクリプトを見なが ら行なっていたのは確かであるし、そこで見落としていたオマエが悪いと言われればそれまでである。(ちなみにNerdTV 第三話からは、収録された日が冒頭のナレーションに入るようになった)

MacPaintは一体どこに?

このインタビューは昨年の8月(AppleがMacPaintを寄贈した月)からその年末("Revolution in The Valley"が書店に並ぶ)までの間に収録されたものと推測されるので、MacPaintのソースが公開予定だとAndy Hertzfeldが語ってから、ほぼ1年が経っているということになる。もしかしたら既にComputer History Museumで公開されているのだろうか、と、同サイトを改めて探してみたが見つからない。Folklore.orgも見たが、やはり公開に関する情報は見つからない。 WikipediaのMacPaintのエントリについても同様であった。

かくなる上はと、Googleで試行錯誤の上"Computer history museum" macpaint source codeというキーワードで検索したところ、Handbook of Software Architecture (Blog)とい うページが見つかった。でもこのサイト、ホスト名がwww.booch.comなんだけど、もしかしてあのBoochなの? まさか?

Grady Boochの登場

そう、あのGrady Booch、"Object-Oriented Analysis and Design"の著者であり、Jacobson, Rumbaughと共にUMLを作り上げたその人のblogにMacPaintのソースコードに関する話が出ていたのだ。

先日の記事で述べたように、私はComputer History Museumの協力の下、古典的ソフトウェアを保存するプロジェクトを始めている。Tim O'Raillyの協力により、数週間前にMacPaintのソースコードが私の手元に転がり込んで来た(fell into my lap)。 明日は私にとってのヒーロー達、Bill AtkinsonとAndy Hertzfeldに、MacPaintに関する話をしてもらう予定になっている。

MacPaintのソースコード(Object Pascalで書かれている)を読むのはとても楽しい作業だ(is a delight)。Don Knuthは、MacPaintは彼が今まで読んだ中で最も美しいソフトウェアの一つであると言っている。不思議なことであるが、他の分野では大抵、達人 の作り上げた作品を調べて学ぶ、というのが当たり前であるにもかかわらず、私はコンピュータサイエンスの授業で、「ソフトウェア(コード)読解」という名 前がついたものを未だに見たことがない…
("Handbook of Software Architecture (Blog)"June 7, 2004 by Grady Booch)

まさか、Computer History Museumのソフトウェア収集プロジェクトを立ち上げたのがGrady Boochだったとは…だがBooch氏によるこの2004年6月7日の記述を最後に、以後のMacPaintのソースコードの足 どりは再び見えなくなる。

推測するくらいなら聞いてしまえ、そして

ここまで調べたところで僕の頭に浮かんだ推測は二通り:

  • 一つはAppleがMacPaintを寄贈し、またBooch氏もそのソースコードを見ているというのに、それから1年以上経過した現在でも公開に関する情報は 見当たらない、ということは何か問題が起きているのではないか、というもの。となるとこのままソースコードが公開されない、なんてことにはならないだろう か。
  • 一方で、NerdTVでこれだけはっきりと「公開する」と宣言(しかも収録から約1年の間をおいて)されたからには公開の準備が ついに整ったということなのだろうか。

だがあれこれ勝手に憶測をめぐらせても答えがでるはずもない。ならばやることは一つ。

Grady Booch本人に聞いてしまえ。

ということでこんな 文面のメールをBooch氏に直接送ったのが昨夜(27日)のこと(書いたメールを今読み返すと、少々表現が大げさな気もする が、真っ赤なウソというワケでもないし、まぁいいか)。驚いたことに、約1時間半後に返事がやってきた。いわく、現在のSoftware Collections Committeeのリーダー(返信されたメールのCC:欄に追加されていた)が詳細を教えてくれるはずとのこと。そして、

I'm happy to hear that the presence of the MacPaint source resonated so well with the Japanese community. 
MacPaintのソースの存在が日本のコミュニティに大きな反響を起こしていると聞き、嬉しく思います

との Booch氏のメッセージが添えられていた。

以上、いろいろと紆余曲折があったが、MacPaintのソースコード公開の時期などについて、現状はSoftware Collections Committeeからの回答待ちというステータスである。新しい情報が入り次第、またお伝えすることにしたい。

本日のツッコミ(全2件) [ツッコミを入れる]

# hir [NerdTV 4回目来ました。まだ半分しか聞いていませんが、今回はかなりラディカルな内容で面白いですよ。 ]

# 福盛 [聞き終わりました。後半はさらにラディカルさが増してますね。面白い。 :) Nerdy/Juicy Bitsでない部分..]

本日のリンク元 | 200 | 162 | 157 | 146 | 117 | 104 | 66 | 40 | 31 | 28 | TrackBacks(2)


福盛秀雄/Hideo Fukumori

Visitors Count: 230(yesterday) / 90(today) / 276390(total)