2000年7月

[前月][次月][一覧]:[表紙][映画][King][BBS]


7/31 (Mon)

ハワイには似合わない、蒸し暑い天気をおかしいなと思っていたら、 台風Danielが接近し、一時は警戒警報が出る事態になっていた。 会社も不意の停電に備えて夜はサーバの電源を落とすことにしたので、早めに帰る。 台風は結局北の方に逸れて、警戒警報は解除となった模様。

7/30 (Sun) 仮想俳優は現実の俳優と競合するか/Chicken Run

さわやかな目覚めを迎えて、すがすがしい気分で時計を見たら昼の2時過ぎだった。 帰りの飛行機の中でもずっと寝っぱなしだったのだが、まだ足りないらしい。


フォトリアリスティックなCG俳優というのがメディアに取り上げられる時、 「これで生身の俳優は要らなくなる」とか「将来の映画は全てコンピュータの中で 作られるのでは」なんて議論が起きることがある。

個人的には、そんなわけないじゃん、と思っている。 両者は異なる表現形式だからだ。

生身の俳優の仕事の重要な部分は、自らの身体をインスツルメントとして、 固有のキャラクタの演技が出来る準備状態に持って行くことだ。ひとたび準備が出来れば、 役そのものはむしろ勝手に流れ出す---役に入るとか、役になりきるとか言われる状態だ。 役になりきるとは、自分がその役であると思い込んだり、自己陶酔したりすることではなく、 いかなる刺激が来ても、その役としての反応が出来るように身体をチューニングすることである。 準備が出来ている役者は、台本に無いハプニングが起きてもその役として反応することが 出来るし、いくらでもアドリブでその役を続けられる。生の演技では、綿密な計算は準備段階に行われ、 実際の演技の場では即時的な反応が全てとなる。これは、楽器の演奏にも似ている。 即時的な反応は常に一度限りのものであり、役者は毎回、一度きりのチャンスに最高のものを 出そうと努力する。その賭けが成功した時、想像を超える演技がもたらされる。

一方、CG俳優には、アドリブというのものは無い。CGアニメーションの製作は、何も無いところから、 理想の形へと、絶ゆまぬ努力によって精製してゆく地道な過程があるだけである。時々、 アドリブ的なアイディアが飛び込むこともあるが、それらも一度吟味され、取捨選択される。 これは、彫刻家がただの石の塊から精細な彫像を作り出して行く過程にも似ている。

だから、CGアニメーションは、どんなにリアル指向であっても、生身の役者を 置き換えようと言うものではない。リアルなCGアニメーションは、偉大なアーティストの 手にかかれば、ミケランジェロの作品に匹敵するものに成り得るかもしれないが、 それは偉大な役者の演技とは異なるものなのだ。

CGアニメーションの普及によって要らなくなるものがあるとすれば、 第一には、監督に言われた通りにしか演技できない役者だろう。 監督のイマジネーションを超えられない演技ならば、監督の思い通りに動くCG俳優の方が良い。 第二に、安定して即時性のある反応が出来ない役者。ばらつきのあるテイクから編集で良いところを 接ぎはぎしてもらっているような俳優は、仕事をCG俳優に脅かされるかもしれない。 極論すれば、舞台でも通用する演技が出来ない役者は淘汰される。 だが、そうでない、本物の役者をCG俳優が置き換えることは、有り得ないだろう。


SIGGRAPHもようやく終わったので、おあずけになっていた映画を駆け足で観始める。 まずはNick Park&Peter Lordのクレイアニメーション "Chicken Run"。 "Wallace and Gromit" シリーズで有名なモデルアニメーションスタジオ Aardman Studiosの初の長編映画だ。

実に良く出来ている。コマ撮りしているとは信じられないほど表情豊かに 良く動くたくさんのチキンたちは、観ているだけで楽しい。 セルアニメともCGとも違う独特の質感には不思議な存在感がある。 話は他愛無いけれど、素直に楽しめる作品。子供が居たらつれて行きたい映画だ。

7/29 (Sat) SIGGRAPH2000 "Come on, I have something to show you"

コンピュータグラフィクスの国際会議 SIGGRAPH 2000でデモをするため、 10日ばかりニューオリンズに行っていた。ここんとこ仕事ばかりしていたのはそのため。 展示会の前日には睡眠不足からか頭痛で立っていられなくなり、 横になって端末を打っていた。

展示会場を流れる人の波。ふと目をあげた人の足が止まる。 2〜3秒、画面を眺めて、それから目が驚きに見開かれる。吸い寄せられるように近付いて、 画面をなめるように見つめる。あるいは、先に行く友人を引き留めて、画面を指さして ひそひそと話しだす。ぽかんと口を開けて画面を見つめている人もいる。 そのうちの何人かが近付いて来て尋ねる。 「今私の見ているものは何なのだ。説明してくれ」 「これがリアルタイムであるはずがない」 「おまえらはクレージーだ」。

何をやっていたのかというと、SCE社製の新ハードウェア GSCube上での リアルタイムレンダリング用コンテンツを準備していたのだ。 (日経CGとか PC Watchにも記事がある)。 このキカイは簡単に言えばプレステ2が16台並列になってるもの (本当は同期を取ったり出力をマージしたりするからもちっと複雑)。 うちでは映画班が製作中のフルCG映画の1シーケンスのデータを抜きだして、 リアルタイムで走らせた。リアルタイムレンダリングだから、カメラやライティングが 自由に変えられる。もちろんデータは相当軽くしてあるが、 見栄えするシーンを選んだのと、元データの作り込みが高かったおかげで、 多くの人が固定観念として持っている「リアルタイムレンダリングの映像」とは ちょっと違うものになったのだろう。それが観客の良い反応につながったのだと思う。

大画面シアターでのプレゼン。映画の予告編を見せて、それからリアルタイムデモに入る。 もちろん説明はしているのだが、観客が本当にリアルタイムレンダリングであることを 悟るのは、途中で止めてカメラをぐりっと動かした時だ。 観客席から "Oh, god" という囁きが上がるのは、正直に言って、キモチイイ。 快 感 。脳内にドーパミンがどばっと出て、睡眠不足が吹き飛ぶ。

「映画のようにリアルなCG」という決まり文句はもう使い古されてしまっているが、 実際のところ、リアルタイムレンダリングはまだ遥かに映画のクオリティには及ばない。 新しい映像が出る度に、そこまでリアルにする意味があるのかと問う人もいるが、 それは聞くだけ野暮というものだ。誰も観たことの無いものを作り出して 観客をあっと言わせたい、という欲求は、表現手段に関わらず、人に見せるものを作る根本的な 動機のひとつなのではないか。固定観念を打ち破るところに、あらゆる表現の意味があるのだ。 今回のデモを、Fiat Lux を作ったPaul Debevecが見に来て、「アートとテクノロジーの見事な融合だ」と評した。 我々の目指すものは、結局そこに集約されるのかもしれない。

最終日。全てを終えた後、仲間とBourbon Streetに繰り出す。 強い酒を片手に、酒場のジャズ演奏を覗いて回る。 特に言葉で語れるような感慨は不思議と湧いて来ない。 敢えて言えば、確かに一歩進んだのだ、という感覚が身体を満たしている。 きつかった締切前のことや、観客の反応の話をするのは、楽しいけれど、もう色褪せかかっている。 話が途切れて、通りの喧騒にしばらく耳を傾けた後、誰からともなく話し出すのは、次の計画だ。 次のステップを議論するとき、皆の眼が光りはじめるのだ。

7/19 (Wed) 追い込み

気がついたら日が暮れてて、気がついたら夜が明けてて、気がついたらまた日が暮れてて、 次の夜明けを見る頃にようやく目処がついてきた。 ほとんど寝ていない眼に、南国の日射しが突き刺さる。 本日の午後に、New Orleansの発表会場へ向けて機械を送り出して、小さな一段落。 ローカルで出来る作業を出来るだけ進めて、チームは2便に分かれて木曜〜金曜に現地入り。 火曜からの本番まで、ホテルと会場で最終調整を詰めて行くことになる。

徹夜なんてしないに越したことはない。進行に対する読みの甘さを露呈している ようなもんだ。今回はちょっと反省点が多い。締切のきつい仕事に対する厳しさの 感覚が、チーム内で統一できてなかったように思える。ま、全ては終わってから考えよう。

SIGGRAPHに行かれる方は、ExhibitionでSony Computer Entertainmentか Square USAのブースにお立ち寄り頂ければ、成果をお見せできるかと。

7/15 (Sat) ハード屋さん/二次元人の観る鏡像は?

さすがに疲れがたまっていたので、睡眠を多めにとる。社内プレゼンは 月曜まで伸びたのでちょっと余裕ができた。最終の締切は変わらないので、油断は出来ないのだが。

機械の故障は、急拠飛んで来てもらったハードウェアエンジニヤさんに直してもらった。 面実装されてるICをちょいちょいっと交換してしまうのは、やっぱりプロの腕だなあ。

テストプログラムを流しながら雑談。ハードウェアな人はすごいなと思う。ソフトウェアなら いざとなったら最後の瞬間まで、いや場合によっては動作中でさえ修正が効くけど、 ハードウェアは一度作っちゃったらおいそれと直せないから。作るモノに対する覚悟というのが 違って来るんじゃないか。そんな話をしたら、いや、もっとすごいのは半導体屋さんですよ、 間違えてもジャンパ線で修正するなんて出来ませんからね、とのこと。確かにそうだけど、 この機械に入ってる基板は16層。やっぱり間違ってたら修正は不可能だと思うぞ。 私からみればどっちもすごいや。

ソフトであってもハードであっても、品質要求をクリアするシビアさというのは 本来同じであるべきだが、ソフトウェアの「後から修正がきく」という性質が、 ソフトウェア業界の甘えを産んでいるような気がしないでもない。 仮想世界の中にとりあえずのモノを作り出すのは、現実世界でモノを組み立てるよりずっと楽だが、 それなりの品質のモノを作るのに必要な技能と努力はどちらも同じであるはずなのだ。


鏡像というのは、鏡面と鉛直方向の軸を反転させるものだとナイーブに思い込んでいたのだが、 こちら(7/16) によれば3軸全てが反転しているというのが鏡像操作の本質であるとのこと。 なるほど、3次元なら1軸反転でも3軸反転でも結果は同じになる。 でもそしたら、例えば2次元での鏡像操作はどうなるんだろう。2軸とも反転させたら、 もとの像と重なる像になってしまうような。直観的には、2次元人の使う鏡は1次元、すなわち線対象に なると思う。

4次元人の使う鏡は3次元鏡で、やっぱり1軸だけ反転するんじゃなかろうか。 等方性は、軸の選び方が任意であるという点に入っているということで。

7/12 (Wed) マーフィー

機械は、本番直前に壊れる。

日本と米国本土と連絡を取り合って、製造元のエンジニアが明日夕方のフライトで飛んで来る ことに。今日あたりは帰れないんじゃないかと覚悟していたのだが、そんなわけで宙ぶらりん。


ニチメングラフィクスが日商岩井系の子会社に売却されるそうな。 普通の人には馴染みが無い会社だろうか、ここは3Dコンピュータグラフィクス ソフトウェアでは伝統がある。かつて、SymbolicsというLispマシン上で 動いていた3Dモデリングソフトウェアを、ワークステーションやPC上のLispに 移植している。ゲームに使うローポリゴンモデルを作るのに良い環境だったので うちも結構良く使っていた。Lispだと、パッチを当てたり拡張機能を作ったりするのが 楽だったなあ。でも流行らんのかなあ。

7/11 (Tue) 翻訳を読む楽しみ/キングの新たな実験

「あと少し」と言ってるのがなかなか上がって来ないので、ちょっと怒った。 詰めの作業を甘くみるなってことなんだけど。 後で、もうちょっとうまい伝えかたがあったかもしれぬ、などと にぼしをぽりぽりカルシウムを摂りながら思う。


yomoyomoさんとこ経由で 青空文庫の 翻訳よりは原文で読むべし(7/8)。確かに真っ当な意見であるし、 私自身もキングの小説に関して「原作を読もう」みたいなページを作ってるから 気持はわからなくは無いのだが、だからといって「わからなけりゃ勉強せい」 というのはちょっと疑問だなあ。原語で読めるに越したことはないけど、 読みたいと思う人が全員、語学にそれだけ時間を割けるわけでもなし、またその必要も無かろう。 人はそれぞれ目的を持っているものだ。語学の勉強に時間をかけるより大切なことを 持っている人だって、外国文学を読みたいことはあるわな。 結局、他のことを犠牲にしてもどうしても原語で読みたい、という人のみが時間をかければ 良いことなんだと思う。

翻訳には、外国語作品を紹介する、という機能もある。私も、 プロジェクト杉田玄白でまず日本語のテキストを 眺めて、面白そうだと思ったら英語の原文を読む、ということはよくある。 ざっと眺めるには、母国語である日本語のほうが数倍速いから。

また、そもそもある言語から別の言語へ情報を全く損なわずに変換することは事実上不可能 なのだから、翻訳とは、訳者による原作の再構築であるとも言える。 原作そのものを楽しみたい、という人にとっては訳者の介入は邪魔なだけであるが、 訳者による解釈や言葉選びをも楽しむ、という読み方だってあって良い。 複数の翻訳を並べて読めたりすると、訳者の個性がわかって面白かったりする。

昨日の日記に書いた友人というのはチェーホフの芝居をずーっとやってる役者で、 日本人だし、活動の拠点は日本だし、だから翻訳でやる。訳はいろいろ工夫してるみたいだけど。 翻訳じゃチェーホフの真髄はわからん、とか言われて原語でやられても、 それを観に行く大部分の人にはわからないだろう。それを、わからんのは勉強が足りないからだ、 と言われたとしたら、やっぱり何か違うと思うだろう。 彼女等は時々本場ロシアでも公演を打つけど、堂々と日本語でやってくる。 翻訳は亜流だ、なんてことは無いのだ。

印刷技術の発明前には、物語は口伝や芝居の形式で伝えられた。 吟遊詩人は一字一句を暗記していたわけではなく、むしろあらすじの記憶をもとに即興で 吟じていたという。表現と伝達は、そもそも創造と一体であった。 翻訳も、そのような能動的なミーム拡散のプロセスの一部である。 だからおもしろい。


で、スティーブン・キングの話が出たんでついでに。先日、E-bookで短編を電子出版した キングだが、さらにアグレッシブな実験を開始する。 キング初期の未完の小説 "The Plant" をネットで配布するのだ。 それだけなら今時珍しくも無いが、何と今回は暗号化だの何だのとしわい事は言わず、 プレインテキストをダウンロード可能にして、支払いは読者の良心に任せるという。 料金は1回1ドル。支払い率が良ければ続きをアップロードするし、ただで盗んで行く輩が 多ければ途中で打ち切るという。詳しくは 説明のページへ。

同じようなことを考えた人はこれまでにも何人も居ると思うのだけれど、 キングがやるからおもしろい、という点はある。 まず、本を出せば確実にミリオンの単位ではけるキングである。1ドル払う人が 100万人いれば100万ドルだ。この規模になると、それなりの企画として成り立つ。 しかも、何としてでも最後まで読みたいと渇望するファンがこれまた多いはずだ。 「正直に払わないと、最後まで見せたげないよ」というのは、かなり強い縛りだ。 (なお、キングば別にケチって小出しにしているわけではない。この小説は実際に まだ完結しておらず、この試みの反応を見て続きを書くかどうか決める、という ことだ)。

これがキングでなければ、この実験がうまくいくか大変興味深い、などと言って まとめるところだ。だがキングファンとしては、うまくいってもらわなければ困る。 未完の作品を読まされるのはファンにとって錬獄なのだ。

7/10 (Mon) 峠

友人に「日記には仕事のことばかり」と指摘されたのだが、 仕事しかしてないんだから仕方無いねえ。世の中では仕事ばかりすることは 必ずしも美徳とされないけれど、実現したいこと、見てみたいことがあって、 心がぐいぐいそっちの方向に引っ張られちゃうんで、こればかりはどうにもならない。

自転車で峠を超えるのが好きだったのだけれど、それと同じなんだよね。 標高だけ見れば、最後には結局同じところに下りて来ちゃうのに、何でわざわざ登るのか。

旅の行き先は、ほんのちょっとしたきっかけで決まる。電車内の吊広告の写真とか。 思い立ったらもうテントとキャンプ道具を詰め込みはじめる。 目の前に立ち塞がっていた山が、ふと消えて、道の向こうに見えはじめる青空に励まされたり、 ひとつ山を超える毎に変わる景色を楽しんで、 未だ見ぬ目的地の様子を想像しながらわくわくしている。

今やっていることも、それと全然変わらない気がする。

7/9 (Sun) 経験値

学部を出たての、20代前半の人と仕事をしていると、 認識が甘いなあと感じることがしばしばある。 それだけおっさんになったということか。 まあ、私もあのくらいの頃は、上から見れば同じようなもんだったのだろう。

画一的な新入社員研修みたいなものは、私は嫌いなのだが、 とりあえず経験値を一定程度まで貯めさせるには便利な制度なのかもしれない。 OJTで、知識を教えるのはまあそんなに難しくはないけれど、 共同でモノを作る上での作法とか、仕事としてモノを作る上での覚悟とか、 そういう抽象的なことがらは、体系として教えにくい。 自分の事を振り返っても、壁に当たったり失敗したりして学んで来たことではあるし。 で、現場では失敗されると大変困るので、普通の会社が最初に研修という場を 設けたがるのはわからんでもない。

ただ、中には既にそのへんのこと、仕事に対する姿勢みたいなものを わきまえている新人もいて、そういう人はほっといてもスポンジのように吸収するから もうどんどん現場に投入した方が良い。その場合は研修なんて大いなる無駄で、 本人のためにも会社のためにもマイナスだしなあ。

とりあえず、件の新人君には、「動くプログラム」と「使えるプログラム」は違うのだ、とか、 「理屈上は可能である」ということと、 「自分が、与えられた時間内に、求められる質のものを作ることが可能である」という ことは違うんだということを覚えて欲しい次第。

7/8 (Sat)

さすがに、今日はみんな仕事してる。要素はだいたい出来上がってるんだけど、 組み上げようとすると、いろいろ隙間仕事があるのだな。

コンピュータグラフィックス屋さんとして集まってても、個人個人は様々な背景を持っている。 コンピュータサイエンス専攻の人が多いが、物理や数学をやってた人もいる。 プログラムを書いてるぶんにはあんまり専攻を意識しないのだけれど、 ひょんな時に差が出るみたいだ。 電気電子専攻だった私が、とりあえずキカイをばらしてオシロスコープを当ててみたりしてると、 まるで異民族がエキゾチックな儀式を行っているかのように見られるのだ。

7/6 (Thu)

しまった。"The Silence of The Lambdas" を「λ達の沈黙」と訳したが、 元ネタの方の邦題は「達」ではなく「たち」だったのか。こっそり修正(←こっそりにならん)。


なるほど。「ハンニバル」で、フィレンツェを持って来たのは そういう意味があったのか。

読書日記とか、後で自分のための資料にもなりそうだから書いとこうかなと思うのだけれど、 どうも書けない。私はかなり節操無く読んでしまう質で、と言っても数を読むというのでは なく、いくつも平行して読み進めてしまう。居間からベッドから台所からトイレから、 家中に本が散らばっていて、あっちで数ページ、こっちで数ページ、 などという読み方をしているものだから、しばらく読んでなかった本は 話を思い出すために前から読み返したりしているとちっとも進まない。 読み終わる頃には最初の印象など忘れかけていることさえある。 これでは読書日記などは無理か。


「IX」は社販で入手したが、月末のデモが終わるまでは封印だな。 色々あったみたいだが、こうしてきちんと形にして出したスタッフに、個人的に敬意を表する。 お疲れ様。

7/4 (Tue) 「C#」と、λたちの沈黙

それとも、我々のようなプログラムの質を気にする人々が、十分に声を上げて 来なかったからなのかもしれない。 「良いプログラマの沈黙こそが、悪しきプログラムの勝利の条件」なのだから。 このような無抵抗性を、私は「λたちの沈黙」と呼ぼう。 --- Henry Baker, 「善き人々が悪しきプログラムに手を染める時」

先日、Microsoftが発表した新言語「C#」。 例によって具体的な話がさっぱり見えない、「C#は新しいんだぞ、すごいんだぞ」という プレスリリースに不安を覚えていたのだが、 リファレンス (←JavaScriptをonにしないと見られない。プンスカ。) をざっと見てみるとどうやらその不安は的中っぽい。 肝心な新機能の定義がまだ出ていないので断定は出来ないものの、 前時代の脆弱な土台の上に借り物の飾りをごてごて取り付けて、 無用に巨大でグロテスクな恐竜を作るつもりらしい。 もっとも、その点では同社の他の製品と一貫性はあるのだけれど。

何故C#のデザインが駄目なのかをわかりやすく説明するのは、ちと難しい。 無論、言語の設計に絶対的な基準は無いから、ある人がある基準で駄目だと言った言語も 他の基準では優秀だったりする。Lispのニューズグループに行けば、 C言語派とLisp言語派が互いに「お前のはダメだ」と言い合っているのが しばしば観察される。C#にしても、Microsoftの戦略的な思惑とは別に、 これが良き方向だと思う人々が設計をしているのだろう (Microsoftの技術者全員がビジネスのみを考え、ソフトウェアの質を考えていないとは 思いたくない---ただの感傷かもしれないが)。 ただ、C#の仕様は、設計方針の違いを云々する以前のところで根本的な間違いをしていて、 作っているほうははそれに気付いていない…という気がしてならないのだ。

CからC++が生まれたのは、その名前が示す通り、"A little better C" を作る 試みであったのだと思う。C++はオブジェクト指向を採り入れた、と評されるが、 オブジェクト指向そのものは言語が何であっても適用出来る概念であり、 C++のクラスはある意味、構文的なおまけ (syntactic sugar) に過ぎない。 ポインタがアドレスである、ということをプログラマが意識して書くという点では、 C++は質的にCと変わってはいないのだ。 (ただ、templateはちょっと別だと思うけど)。

Javaは、そこから大きく踏み出した。Javaというと「どこでも走る」ための仮想マシン の話が強調されがちだが、言語の機能としてはむしろ、C++の形だけを拝借して新しい セマンティクスを導入した点が重要だと思う。もちろん多くの概念は既に計算機科学の 世界にあったもので、真に新しいものではないが、根っ子をすげ換えたにもかかわらず 表面は多くのプログラマが慣れ親しんだC++の顔を拝借した、というところがうまい。 もちろん、言語としての成熟はまだ先のことになろう。それでも、一度全てをご破算に して土台を設計し直したぶん、化ける可能性は高い。

C#は、一見Javaをベースに、Javaが制約としている部分をとっぱらってC++寄りに 持って来たように見える。C/C++の「何でもあり」の世界から、間接的にしかオブジェクトを 触れないJavaの世界に来たプログラマにとって、両方のいいとこ取りのようなC#は魅力的に 映るのかもしれない。だがC#は、実は両方の悪いところも一緒に 取り込んでしまっているように見える。しかも、その悪いところが一見素敵なおまけ達に よって覆い隠されているようだ。 (unsafeメカニズムがどのように実装されるかがよく分からなかったので、 この指摘は的外れかもしれない。しかし、unsafeパートでのポインタ操作に バウンダリチェックやタイプチェックが入らないのであれば、それは全てをぶち壊すメカニズムだし、 チェックが入るのであれば、わざわざポインタ操作を許す意味が無くなる)。

C#が「新しい」という、delegation, versioning, attribute, property。 これらは、計算機科学では遥か昔から使われて来た、closureとmeta object protocol という概念を持ち込めば、パフォーマンスを落とさずにユーザレベルで実装できる機能である。 前者のような恣意的で制約の多い方法を持ち込まずとも、ずっと汎用的なメカニズムで実装 できるのだ。「XMLへの対応」「ラピッドプロトタイピング」などというキャッチフレーズは、 言語機能としてではなく、ライブラリや環境として実現すべきものである。 C++を進化させようと言うのなら、そちらの方向に行くべきであった。 みすみす進化の方向を捨ててごみを拾い集めているようなC#、 この言語は、PCプログラマ達に取って悪夢となるんじゃないか、という気がしてならない。 (Visual Basicは既に悪夢だけど)。

もちろん、「俺はMS嫌いだから触らないよ、知らないよ」と逃げてることも可能だろう。 しかし、コンピュータの世界では、悪貨が良貨を駆逐するという現実がほとんど当然のように なっている。その現状を容認するばかりでは、事態は悪くなる一方なのかもしれない。 悪しきプログラムの拡大再生産は止まらないかもしれない。

我々は、傑出したプログラムを書くことでこの悪循環を打ち破ることに、全力を傾けなければ ならない。コンパイラやハードウェアが、優れたプログラムを効率良く走らせるように 合わせるべきで、ハードウェアを効率良く使うためにプログラミングスタイルを合わせるようでは だめなのだ。優れたプログラムはたまたま出来てしまうようなものではなく、 非常な努力を必要とする。我々は進んで優雅さを追求しなければならない。 優雅さはむこうから自然と歩いて来てはくれない。 -- Henry Baker,

難しい課題だが、私のような者でも少しはその方向に貢献したい。 Henry Bakerのコラムを訳したのはその手始めである。 彼の言う「λたちの沈黙」を破らなければならない。

7/2 (Sun) 闘争宣言/Unixのテキスト

もとより君等には個人的な恨みがあるはずもなく、また私が先住権を主張したところで 君等はそんな世界とは無縁のところに居る。ただひたすら、 君等が私の領域内を我が物顔に歩き回っていることが、私は許せないのだ。 だからこの闘いに大義は無い。いや、人類の歴史において、大義のある闘いなどあったろうか。

私は構えを崩さずに息をつめた。一般に、彼等は私の動きを上回る反応速度と 運動能力を持っている。隙を突くしかない。

それにしても、と、目前の敵をじっくりと観察しながら思う。こいつはなかなか立派な 体格をしている。厚みのあるがっしりとした体格もそうだが、頭からすらりと伸びる2本の触覚の長いこと。 それらを悠々と動かして、辺りを探っている。

ダウンタウンの高層アパートに住んでいた頃は全く見かけなかったゴキブリだが、 街外れの低層アパートに移ったらすぐに顔を合わせることになった。こちらではゴキブリホイホイ みたいなのが見つからなかったので、毒餌Combatを買って来ていかにも彼等が好んで 通りそうなところに配置してある。しかし。こいつの大きさでは、Combatのパッケージ の入口は狭すぎる。今だって、毒餌をその内部に隠した黒いパッケージの上に乗って、 余裕を見せているではないか。

チャンスは一回しかない。私は慎重に射程距離へと身体をにじらせた。が、奴は 空気の動きを察知したのだろうか。すっ、とこちらに向き直ると。うわっ。

飛んだ。飛びやがった。一瞬こちらが怯んだ隙に、反対側の冷蔵庫の影に逃げ込まれてしまった。 話には聞いていて、その可能性も考えてはいたのだが、結果として虚を突かれた形になった。 まだ修行が足りない。

…という闘いが昨日の出来事。今日はさっそく、Large Roach用のCombatを買って来たのだ。 本体6cm、触覚が8cmはありそうな奴も、こいつなら大丈夫だ。 存分に私の餌を楽しんでもらおう。ふははは。

しかし、先程目の隅を駆け抜けて行った全長5mm程の黒い虫。やつらの幼生の様に見えたのだが… あああ、あまり考えたくない。

というわけでこちらにはシンパシーを覚える。

追記:うっ、また逃した。


Unix初級者に良いテキストを探していたのだが、何かこうピンと来るものが無くて、 結局Kernighan & Pike "The Unix Programming Environment" (1978) を 買って来た。改めて読んでみるとやっぱり古い記述が目立つ。 私がこの本で勉強したのは10年近く前で、その当時でもだいぶ記述が古くて システムと合わない面があったから、今ならなおさらである。

それでもこの本がいいなと思うのは、システムの説明をする際に、 どうやれば動くのかだけでなく、何故そう設計されたのか、そしてどのように 実装されているかが説明されているからだ。語り口は平易で、示されている例を タイプして確かめながら進めれば、全くのUnix初心者でも読み進めるのは 難しく無いのだが(Unix初心者用に書かれたのだから当然だ)、 気がつくとかなり高度な話を扱っていたりする。 普通のHowto本が、例えばバスツアーで山の5合目まで連れて行ってくれるものだとすると、 この本は、本格的な山道を、しかし初心者でも大丈夫な場所を選んでガイドしてくれて、 気がつくと山頂に着いていた、という感じだ。

例えば第3章でシェルプログラミングの基礎が説明される。実行ファイルの概念と、 いくつかの基本コマンドの説明があって、それらを段階を踏んで組み合わせていって、 一種の自己解凍スクリプト (複数のファイルを一個のファイルにまとめるのだが、 まとめられたファイル自身がシェルスクリプトになっていて、それを実行すると もとのファイルのセットが復元される:sharプログラムみたいなやつ) を作ってしまうのだ。 その間たったの30ページ。全ての要素はきちんと説明されていて、飛躍が無い。 使っているコマンドもごく基本的なものばかり。このエレガントさは、ほとんど感動的でさえある。 これで、いくつかの古いコマンドシンタックスを直した版が出ててくれればなあ。

今なら、情報系の大学生は多分1年次か2年次くらいでUnixを触るんだろう。 私が初めてUnixを本格的に使ったのは、大学4年になってからだった。 大学ではMS-DOS、自宅では自作のCP/Mマシンを使ってたんだが、 アルバイト先の小さな会社に何やら大きな機械が置いてあった。 ソルボンヌとかあったな。小さい会社で皆忙しくて、「とりあえずそこらへんの 本でも読んで勉強しといてよ」と言われて本棚を見たら英語の本ばかりでびびった。 で、薄そうなやつを抜きだして読み始めたのが "The Unix Programming Environment" だった。 2週間でUnixのシンプルさにすっかり心酔してしまった。 自宅のCP/Mを書き直して無理矢理標準入出力のリディレクションをつけたり、 Unixライクなコマンドを書いたりした。

コンピュータは、ごく簡単な基本操作をたくさん積み重ねることで、一見複雑にみえる 仕事をこなしている。その上の方から見ると、ものすごく複雑怪奇な機械に見えるのだろうけれど、 下の方から見てみれば、原理は単純だ。でもそれを、Kergnihanのようにわかりやすく 説明するのは、とても難しい。

7/1 (Sat) ふふふのふ/努力主義

ふふふのふ。今月下旬のデモに使うキカイ(本番用と同等品)がとうとう届いた。 おおお、冷却ファンの化け物だ。 思っていたよりコンパクトだったのは基板同士がかなり高密度に充填されているからのようで、 熱量はすごくなりそうだ。来週以降はオフィスの冷房を一段ときつくせねばならないかも。

土曜日だというのに某社のハードウェアエンジニアさんに出て来て頂いて、 セットアップしてもらう。何かトラブッてて、深夜までいろいろ差し替えたりしているが、 我々外野は後ろからちらちら眺めていることしか出来ない。 差し替える基板を見せてもらって、意味もなく「おおおっ」と言ってみたりとか、 単に邪魔しているだけだったかも。


努力家であることはとても有用な資質だけれど、 努力というのは手段であって、それ自体が善いものであるわけじゃない。 目的があって、でもそれを実現するには何かが足りなくて、汗を流して その何かを埋めなくちゃならないとき、あるいは現状に満足できなくて、 なんとか動こうとあがくとき、努力は自ずと発生する、副作用みたいなもんだ。

しかし、努力することを無条件に美徳とし、手を抜いて楽をすることを戒めるという風潮が 世間にはあるみたいで、「頑張れば良いってもんじゃない」とか言うと睨まれたり 冷たいやつだと思われたりするみたいだ。努力主義、とでも言おうか。 そんな中で育つと、努力が目的化してしまうのかもしれない。

引き受けた仕事が締切までに終わらなかったとする。「ごめんなさい、でも頑張ったんです。 次からはもっと頑張ります。」本人は至って真剣で、きっと次はもっと頑張るのだろう。 仕事で至らぬ分は努力で埋め合わせられるかのように。 でもね、必要とされているのは頑張ることでは無いんだ。 頑張ったか頑張らなかったかは、関係無いんだ。 仕事を完成させること、あるいはそれが出来なかったとすれば (出来ないこともある。それは仕方ない、人間だから) その時点からどのようにすればフォローできるのか、 それを考えて実行すること。それが求められていることなんだ。 …こう言っても、努力主義に染まった人にはわかってもらえないみたいだ。

努力の価値は、結果によって決まる。こう言うと語弊がありそうだが、 ここで言う結果とは、プロジェクトに成功するとか、競技で良い成績を収めるとか、 金持ちになるとか、そういう客観的な結果を指しているんじゃない。 自分の心の中の自分をつき動かすものに従って、汗を流す。 それによってどれだけ自分が変わったか、それが結果だ。 何も変わらずに、変えようともせずに、ただ汗を流して努力した気になっていられても、 困るばかりだ。

それとも、頑張っていれば周囲に認めてもらえる、あるいは切り捨てられない、 と思っているのかなあ。認めてもらいたい、という欲望が充足されることは 人にとって必要だけれど、仕事場でそれを第一目的にされちゃうと、やっぱり困る。 もう、認められないかもしれない、なんていう恐れはどっかでクリアした状態で、 自分の作りたいもののみに集中したい。 結局、狭い人間関係の中でどんなに認められたって、 自分の作りたいものが出来なければ仕方無いじゃないか。 こういう考え方って、受け入れられにくいのだろうか。


[前月][次月][一覧]:[表紙][映画][King][BBS]

Shiro Kawai
shiro@lava.net