Profile. Don't speculate. -- D. J. Bernstein
それ以上の詳しいことはまだわかっておりません。
http://www.google.com/doodle9.html
てくるで、以下のような「究極の洗濯」を考えた:
実際にはこれは究極の洗濯でも何でもない。 オレが選ぶのはかならず 1. に決まっている。 プログラミングの観点からいえば、つねにコードが主要なコミュニケーションのための言葉で、 自然言語はコード言語の使い方がへたな人のための補助手段にすぎない。
だうでもううけど今日no気温は -8℃以上には上がらなかった。すでに外気は下がりはじめている。 ざけんなチクショウ。しかもこれが最高気温ですよ? けさの東京の最低気温より 10℃も低いじゃねーかよ。ざけんなチクショウ。
長岡から来ていた 2人はこの寒さを経験せずに帰ったんだなあ。いーーなあ
もう外に出たくないよ今日は でも外に出ないと帰れない
てくるで、avenge と revenge の違い:
PDF は腐りにも腐ったフォーマットだ!!
氏ね。氏んでしまへ。もう最悪。PDF パーザを書いていて、 どーーーやってもストリームの終わりを検出する方法がわからなかったのだ。 最後に xpdf のソースを見て仕様書とつきあわせてようやく「ファイルの末尾から読まないと間接参照の値が解決できない」 ということがわかったのである。氏ね。こんなら最初っからおとなしくバイナリ一辺倒にすりゃよかったのに、 ヘンに PostScript の影響をうけすぎなんだよ。とにかく氏ね。氏んでしまへ。 これで Adobe のワルモノ度がますます高まったな。
これとくらべると SWF はなんてわかりやすいんだ。天地の差だね! これからは PDF のかわりに全部 Flash で書くことにすりゃあいいのに。pdf2swf もあるしさ…
週末にしかけておいたスクリプトが終了して、AQUAINT から 約20,000 pairsの類似記事がとれた。ここからランダムに 100記事を抽出して 目かくしテストをする。が、きょうは 50個やったらもう飽きた (これでも 3時間ぐらいかかっている、もうイヤ)。 正解率は 94%。記事レベルではこんなもんだろ。最初の 100語の中に言い換え表現が 含まれている確率は 64% だが、これはさらに洗練できるはず…。 Ralph の照応解決プログラムを使えば、recall を下げずに精度を上げられるかな? ということを明日のミーチイングで聞いてみること。やや問題なのは、 比較したニュース記事が NYTimes, AP Wire および新華電のため、 米国の超ローカルな殺人事件や経済関連の記事は agree せず、落ちてしまっていることだ。 結果として、国際ニュース規模のどでかい合併やら衝突、あるいは政治的記事しか 出てこなくなる。こりゃあ実際には問題のような気もするが、いまのところはコーパスの限界かな。 つうか、記事をみていると anaphora だけでなく cataphora も結構ある。 こんなの解決すんのは大変そー
趣味は料理です。
趣味は編み物です。
そして 7日目に神は休まれた。
てくるで編集者のことを「編み者」と呼んだらカッコいいと思う。
こいつ。
追記: 「アホネン」という名前を見てニヤリとしても誰もオレを責めはしないだろう。
じつは Mozilla Firefox の「Firefox」というのはキツネなんかではなかった。
レッサーパンダ (red panda) だった (FAQ参照)。
そんだけ。まあこっちのほうがカワイイからいいけど、 これはアライグマじゃんよ!! それにしてもあのアイコンはキツネに見えるがなあ?
さて、これから greeting cards を書かねばならない。 いまから出してもぜったい 24日までには日本に着かないことは確実なのだが、 まあ今年じゅうに着きゃあいいのよ。どのみち、オレにはクリスマスなんて適当なイベントなんだから。
ちなみに、きょうは 18st あたりの、印刷工房とか紙屋さんが集中してる地域があるが、 そこらの店にいいカードをさがしに行ったのだが、なんか気どってんのばっかりで、 あんまり「これは!」というのがなかった。新山が好きなのはむしろコミカルなやつで、 サンタが邪悪な顔して、トナカイに「おい、おまえら、もし今日の走りが jerky (=ギクシャクする) だったら、明日はおまえら全員 jerky (食い物のジャーキー) だかんな!」 といって、トナカイが怯えているようなやつである。基本的にマンガ系のカードなのね。
あらかじめ衝動買いしようと思って出かけたのだが、決意して出かけたので これは定義上、衝動買いではない。しかし、決意はきょうの朝にふいに起こったので、 衝動決意とは呼べないか? いや、どうでもいい。むしろオレが言いたいのは 「衝動的に」と「発作的に」は意味が似ているんではないかということだ。 でも「衝動的」のほうが多少強そうに感じる。あるいは「発作」というのは すでに (病気などで) ある程度の頻度で起こることがあらかじめ予期されている症状を いうのかもしれない。とすると、オレの場合はある程度時間がたつと、この「衝動買い決意 (=発作)」が 起こるので、これは一定期間のうちにに発作が起きる確率は一定である、つまりこれは ポアソン発作とよぶべきではないかという提案? これだけが言いたかった。それだ。
4時間ぐらい買い物してたことになるなあ。移動時間をのぞけば 3時間くらいか。 回ったのは、Strand → B&N → カード屋 → 紀伊國屋 → カレンダー屋 の順である。 買ったのは本と greetingカードとカレンダーだけなのに、$100以上使っている。 とくに信じがたいのは文庫本 6冊で $62 もしたことだ。 日本の定価の 1.5倍なので日本ならこれは計 4000円ぐらいだが、それでもけっこう高いな。 しかしこういうのは経験上、買いたいと思ったときに買わないと絶対ダメなので、 まず買いたい本をドバドバと取ったあとに「どれを切りどれを残すべきか」で非常に悩む。 どうせオレは文庫本しか買わない (だってハードカバーはアホみたく高いし場所もとるし) ので、 紀伊國屋の奧のほうの文庫コーナーで 1時間ぐらい立ち読みしつつウロウロする。疲れた…。 最後のほうになるともう荷物で肩はこるし腹はへるしで、本選びにさっぱり集中できず。 カードとカレンダーは結局、rockefeller center の地下にあるカード屋やカレンダー専門店が けっきょく一番品ぞろえがよかった。買ったのはみんな「再販モノ」ばかりなので、 どこで買おうが値段は一緒である。来年のカレンダーは OLIVIA にした。 まえに B&N かどこかで見かけてすげー欲しかったのだが、そのご行方不明になっていたが 今日発見したぜウッヒッヒ。
どうえもいいけれろ、Strand の大規模改装はまだつづいている。 地下の本はほとんど 2階にうつってガランとした。あのあやしい狭い階段はもう用をなさなくなり、 かわりに新しいデカい階段がドーンと地下から2階まで通った。エレベータもある。 もうびっくりだね! 芸術関連の本もぜんぶ中2階から 2階に行き、 1階のまえ画集があったあたりはぜんぶ cookbook になった。 てくるで、ハラがへってるときに和食のおかず本を見てはいけない。絶対に。 紀伊國屋でヨダレが 5リットルぐらいたれそうになってあせった。本当だって。
"Unlike some negative reports from Japanese media, people in TRL are accepting this event with positive attitude," vice president Arimasa Naito, the father of ThinkPad and an IBM fellow researcher, said.でも疲れるからこの調子ではやらない。 てくるで「ホテンシャス」ってどういう綴りなんだろう? Hortensius が一番近そうだが、日本語メディアはこの手の人名をぜんぶカタカナにしちゃうので 原文をあたるのに苦労するよな。
ThinkPad が売られることについて、まわりの人に意見をきくと ほとんどみんな「悲しい」という。中国人にはあまり聞いてないからわからないけど (追記: TP の大ファンである Jinyuan も「悲しい」といっていたが、かれはもうすこし論理的な 考察をしており「今まで世の中のたいていの PC 事業の買収は失敗に終わっているから」という理由らしい。 Lenovo は中国における Dell みたいな会社だが、すでに ThinkPad のかなりの部分は中国で作られており、 この品質管理がもしこのまま続けられればそんなに見通しは暗くないという)。 IBM の偉大なところは、買ったときの品質だけでなくて メンテナンスも体制がととのっていることだ。 たとえば、5年以上も前のノートの電池がいまだに売っていたりするし、 IBM 以外にも IBM 製品のメンテを専用にやってる会社が米国にはいくつも存在する。 そういう体制って Lenovo にはないだろ。
てくるでぜんぜん関係ないが、さいきん「日本鬼子」の読み方を聞いたぞ。 「鬼子」は「gui tse」と読むそうだ。でも「鬼子」ってなんか日本人のイメージからすると カワイイ感じだよね? ちなみに「小日本 鬼子」で google 検索すると感嘆符「!!!」ばっかり使ってる 力強いページが沢山出てきて笑ってしまう。 てくるで、「日」に使われる「ri」という音は、英語の「r」よりも ずっと弱く、ほとんど舌を離さずに発音したほうがいいということがわかった。 だからどちらかというと「リー」よりも「イー」のように聞こえるのだ。
…しかしどうでもいいが、「小日本」と呼んでけなしているつもりのところが 中国人はわかってない、と思う。日本人にとって「小さきものは、うつくし」なんだって。 むしろオレは「大日本なんとか」という名前をつけた人のセンスを疑うね。
Gmail からぱくってきたんだけど、こういう細かいところによく気がつくよなあ。function setFocus() { if (document.forms[0].username.value == null || document.forms[0].username.value == "") { document.forms[0].username.focus(); } else { document.forms[0].password.focus(); } }
さいきん、カタカナ度が異常に侵食している気がしてこわい。 この調子でいくと、約2年後にはオレは 95% 以上の文字をカタカナで書いていそうである。 言々 (ことこと)
やはりオレはこういうアホなこと書いてるほうがずっと楽しいので、そうする。
き、きた! しかも題名が「ことばとコンピュータ」だと? なんで今からもう題名が決まってるんだオカシイじゃないか。 だいたいタナカ先生の講義ってのはいつもその場で話が脱線するので、 いちばん脱線する確率の高いタイトル「電総研時代の思い出」とかにしといたほうが安全なような気がする。 まあ、どうせ最終講義ってのは 「30余年この大学に勤めてきましたが (←そんなに長くないはず)、いま思い返してみますと」 というタイプの話になるのだろうが、せっかくだからタナカ先生には最後の最後までLR厨房として 「LR表の接続制約とその展望」とかいう題名で LR法について熱く語ってほしいのだが、 まあこの人はそういうタイプじゃないから無理だろう。Subject: 田中先生最終講義のご案内
しかしとにかく、一時は病気がちだったらしいので、定年までつつがなく終えられてよかったよかった、 というふうには思う。でも、こーゆうのってむなしいよなあ。べつに何かが「完成した」わけではないんだから。 多くの場合 技術の「研究」というものには完成がない。 まあ、どうせ日本の国立大では教授になったら最後まともに現場の研究に手を出す時間なんてほとんどないから、 完全に「おつとめ」状態だったんだろうけど、たいていの研究は途中で飽きるか、 時代遅れになるか、あるいは時間切れになるかのどれかだ。 で、定年というのは「時間切れ」を非常に感じさせるものであるわけで…。 ところで、たいていの国立大の教授は定年退職したあと私大でもうひと稼ぎする (たぶん、こっちのほうが時給はいい)。これは高校の先生が停年後に予備校教師としてもうひと稼ぎするのに 似ている (少なくとも、新山が通った予備校ではそうだった)。 タナカ先生は再就職どこになるんでしょうね。まあ、どこでもいいけど、 それまたなんかムナシイことに変わりはない。こういう面をみても、やっぱり研究者として大学に勤めるなら 絶対に米国のほうがいいよな、と思ってしまう。定年というのがないし、一度テニュアとっちゃえば、 死ぬか、大学ごとつぶれるか (これはときどきあるらしい)、 自分からやめると言いだすまで続けられるのだ。学生どものやる気も全然違うしさ。ただしこちらの大学では教授にかかる プレッシャーは日本よりずっときついと思うので、ダラダラ続けられる仕事ではないように思うけど (でも、うちの大学の Sigel とかありゃ何なんだ? ダラダラしてるよなあ)。 ま、新山は大学勤めする気はさらさらありませんが。日本でも米国でもね。
そもそも、いまの日本で大学に研究者として勤めたいってのがよくわからん (もっともこれは計算機関連の分野の話であって、物理や数学なら話は違うと思う)。 べつに大して研究に時間がさけるわけでもないし、 いまさら教授がカッコいいなどという、古風なイメージを持っている人もいないだろうし。 まあいいや。
でもまあ、どの職業でも人生そんなもんか。
ところでまたショッキングな記事名を発見。
Google News で「少年 逮捕」などを検索 してみるとおもしろい。(いや、別におもしろくもない)「進路で意見違った」と母親刺殺 (nikkei)
この調子で次に出てきそうな親ごろしの記事名を推測してみよう:
おそろしい世の中だ…。世の中はなんておそろしいんだもう住めない。
てくるで、Word が吐いた HTML を手作業で (おまけに vi で) 直すのは拷問だ。 vimなどではない!
pow
がなぜか math でなくグローバルに定義されている (たぶん、歴史的な理由)。
なぜか pow
と **
が等価。
google://おいそん/ (240件)
"python" と打とうとして、"oython" と打ってしまった人は絶対、オレ以外にもいるはずた。
まさに素敵な誤読ですが、先をこされました。
ねる
うー
きみは Wikiquote の Daniel J. Bernstein の項目 を 見たかっ。さまざまな djb 語録がのせられている。
Python-docs-2.4 をさっさと翻訳してしまわねばならないが、 それ以外にも翻訳すべきかどうか迷っているものがある。
www.opencvs.org 関連 … 手をつけるかどうかかなり迷っている。 てゆうか、やろうと思えばすぐに訳しはじめられるのだが、問題は web だけを翻訳しても (格好をつける以外) 何の役にも立たんということだ。やるなら cvs の manpage も 全部やらねば意味がないのである。同じことは openntpd にもいえるのだが、 これは短かいのでじきにできる予定。でも cvs の方はメチャながそう。 いまのところ cvs コマンドまるごとの man しか入手できていないが、 リリースされたらこれが cvs, cvsd, cvs.conf などに分割されるのだろう。 いずれにしてもながい。誰か元気な日本人が翻訳チームに入ってくれないもんか。 本家 openbsd/ja のほうも停滞してるんだけど。しかしいまさら cvs か?
Python/XML HOWTO … 誰もやんないの?
てくるで、今日はもうひとつ、おもしろいものを発見した。 けさ、なんとなく財布の中を見てみたら、なにやら 1ドル札の上に 文字が書いてある:
さいしょは誰かの落書きかと思ったが、 なーんと! これは「インターネットを通じて紙幣を追跡しよう」という Where's George? プロジェクト の お札だったのです。だいぶくたびれた紙幣だったので、「なんかいかにも企画倒れしそうな プロジェクトだな…ホントにまだやってんのお?」と 阪神半疑でアクセスしたが、サイトはちゃんとあった。 お札のシリアル番号と入手した住所 (正確には覚えてないが、マンハッタンのどこかのデリであることは確実) を 入力すると、その紙幣がいつ、どこで確認されたかを見ることができる。新山のこの紙幣は いまから 3ヵ月前にフロリダで確認されたのが最後で、平均移動速度は「9マイル/日」と出ていた。 これはおもしろーーーーい! よくこんなこと考えるな。しかもこのサイトでは同じ紙幣を手にした ユーザどうしがメッセージを送れるようになっていて、きょうの午後には この紙幣の前の確認者である John から「おっす」とメールが届いた。ヒマな奴だな〜と思ったが、 こういうヘンテコなつながりは楽しいかもしれない。検索してみると、日本でも www.osatsu.net という同様のプロジェクトがあるらしいが、 こちらはそんなに盛り上がってない模様。こういうバカっぽい試みはたしかにアメリカ人のほうが ノリがよさそうな気がする。 どこぞの国で一日じゅう他人のサイトの引用ばっかりやってる人々よりは、 ずっといいね!
てくるで、おまけにもひとつ写真:
てくるでゲオルグといえばカントールだろ。
おっと。誰かさんの好きそうなものが出ましたぜ。
LWN: わずか15行で書かれたP2Pファイル共有ソフトEd Felten による tinyp2p がリリースされた。これはわずか 15行のコード (これ自体が「Python わかりにコンテスト」の エントリーになりそうな気配だ) しか必要としない。Ed いわく「peer-to-peer アプリケーションを規制するのはむずかしいということを示すために TinyP2P を書いた。P2P アプリはとても簡単で、人並にスキルのあるプログラマなら 誰でも書くことができるから、これの作成を禁止しようとしても徒労に終わると思う」
オレはこのコードはちっとも好きじゃないぞ。
(追記: 「Perl なら 9行 で書けた!」 とかいってるアホも出てきた、2番煎じはつまらんよ)
しかしこれ、サーバは走るのですが、クライアントを走らせようとすると エラーが出るのだけど、原因を解析するのはめんどくさいので放置。
きょうのパーティーでは何人かの知人に会ったが (まあ、向こうからすれば 「ヘンなアジア人」という程度の認識だろうが)、これだけまわりの人数が多いと、 かえって知らない人とはほとんど話さない雰囲気があるよね。O'Reilly や Wiley などいくつかの出版社がブースをだしていて、Lisp組の Heow はきょうは PHP本の著者としてブースに待機していた。わお、表紙に顔写真が! こっちの計算機本は表紙に著者の顔写真がのってるのが多いが、なぜなんだろう。 やっぱりノートン先生のように、「人」で売る、という要素が強いからかな。 でも Lisp に恋焦がれつつ PHP 本を売るって心境はどうなんか。 まあいい。そして友達の Patrick を紹介されたが、これがルビラーな人で、 なんでも Narf という Ruby 用の webアプリフレームワークを作っているのだそうな (でも「あんまり使われてないんでガッカリしている」と本人はいっていた)。 Heow もそうだけどこの辺のアヤしい人々には Ruby 好きが異常に多い。 オレには理解できないが、これは Python があまりにメジャー化してしまっているため、 やはりマイノリティはマイナーなものを好むの法則だろうか。これまた、どうでもいい。 そのあとうだうだと長居して、Heow がようやく出版社ブースから解放されて、 みんなで別のバーに飲みに行ったが (Crosby St. のどっかだ)、せまいのと 音楽がうるさくて何言ってんだかサッパリ理解不能。ただでさえカジュアルな会話に ついていくのは大変なのに、酔っててこんなにうるさきゃ絶対無理だよ。 まあ、みんなお互いよくわかってないで話してたみたいだけど。
「そうだ! トカマクの T だ!」
という結論を得たのです。新山はトカマク式核融合がどんなもんだかは まったく知らないが、この名詞にはまえまえから目をつけていたのである。 なぜなら、この響きになぜかクルものがあるから。
NEAT = Non-Employed Aho Tokamak の略。
えいほほっぷくろふとうるまん。
えいほほっぷくろふとうるまん。
なんだ MS はこんな研究もやってんのか。COMPUTER SCIENCE COLLOQUIUM Friday, December 17, 2004 - 11:30 a.m. Room 1302 Warren Weaver Hall 251 Mercer Street New York, NY 10012-1185 Speaker: Dimitris Achlioptas Microsoft Title: Applications of Random Matrices in Spectral Computations and Machine Learning
それにしてもうちの植物たちは元気ない。ヘナちょっコ
どうでもいいけど「身近」は「みじか」ではないだろ。「みぢか」だろ。
毎年、この学会に「なんか出そー」と思って準備しているが、いつでも出さずじまいで終わる。 原因: 秋学期の授業がスゴすぎるからだ。でももう今年で取りたいものはホトンド取ったので、 来年はもうすこし暇になる予定。いや暇になってる暇なんかないが。
ふんげぁ!
it's frigging cold you know this is nuovo york you know
…きょうの授業は最終回ということで、なぜか過去にこの授業をうけた OB も参加で ふだんより人数が多かった。このアットホームな雰囲気はなんだ。去年の学生も巻き込んだ ゲーム大会のあと (新山はようやく自分の設計した postoffice 問題の検証を正しくやることができました、 これは、基本的には「盗聴の可能性があるか否か」を有向グラフの最大流量問題に置き換えることで解くのだが、 これをここで説明してもしょうがない)、みんなで近所の Apple (レストランの名前) に飲みに出かける。 ていうか、今日は昼食もココだったのですが。1日に 2回も Apple に来るハメになるとは 思わなかったのですが。学生のひとり Leon は、こないだ ACM で一位をとった台湾人だが、 こいつはホントにホントにパズルやアルゴリズムの類が好きらしく、ほとんどずっと アルゴリズムのことしか喋っていなかった。いわく「この条件式は一般的に成り立つと思う? これをもっと速く計算する方法あるかな?」とか、そんなんばっか。香港人の女の子は アニメオタクだということが判明。「もしかして yusuke ってユウユウハクショの主人公と同じ名前?」 そうだよ! だが漢字は違うよ! (たぶん) といっておく。自慢じゃないが、オレは自分の 「祐介」って名前はけっこう気に入っているのである。 漢字で書いてもそんなに座りが悪くないし、語感もまあまあいい。 英語だと usecase に似ているのが難だけど。そしてそれが原因かどうか知らないが、 新山はひらがなの「ゆ」の字が好きだ…。まあそれはどうでもいいとして、 途中、先生が店の中でクレジットカードをなくすというトラブルに見舞われたが ぶじ発見。このクラスは新山の長い長い長い長い学生生活のなかでも 思い出に残るもののひとつになるだろうなあ。
と、いうか、11:30 からだと思ってたら、11時からだっったんだって! だって今朝目がさめたら 10:30 だったんだから間に合うハズねーじゃねーかよ (逆ギーれ)。 そもそも、そういうことはちゃんとメモ(ここ)に書いたはずなのになあ…と思ったら、 書いてなかった。dmdmjn..
ろけんろ
あけおめ〜〜〜〜!
っていうのを誰かどこかの国でやれべいいのに。
ああそうだ。カード買わなきゃ。といっても今年はク
リス マ
と書いていたら Ralph がきて… 恐縮 ゆるして
しかし、その瞬間は過ぎ去った。
…たぶんレイアウトを全自動で決めさせるのがよくないのだと 思うんだけど、でも細かく指定しようとするとかえって面倒なんだよね、これ。
きょう買ってきた花は失敗だった。元気がなくてヘンナリしてしまっている。 もともとこの部屋は空気が悪いのだが (別の部屋だと、 同じ日に買ってきた同じ花でもより長活きしている)、これはさすがに元気なさすぎだ。
直訳:
→ 寝不足で眠たかったので、小掘りしながら昨々と帰ってきて仕舞った。
まったくなあ。なんぜオレはこうも最近カタカナが多くなってきてんだろ (なんぜ → なんで)。これはアメリ化とは別の現象のようの気のする (ような気がする) が、まあいい。まあよくない。
来学期の授業なに取ろうかなあ…。 今度はイッコだけにするぞ! というか、授業とるとまた「研究やれ」と文句言われそうなのだが、 まちあす先生の Computer Security が非常におもしろそうなんだな。 どうしようか。
来週あたりから (やっと) 本格的にサムくなりそうだね。
今日の slashdot。 アイデアの年。音でキーボードのどのキーを打っているか判定する? 地雷を探知する植物? 濡れない水??
>>> a=[1,2,3] >>> a[:None] [1, 2, 3]
なんぜだろう?? None はべつに int 型に変換できるわけでもないのにな…?
いま急に!!
親子どん食いたい
親子どん食いたい
親子どん食いたい
く、なった。
どうすれべいい? (typ0)
どうすればできるようになる?
えぇと … (動的プランニング) まずご飯は昨日ののこりを使えばよいし、タマゴはあるし、 タマネギあるし、味付けはめんつゆ使っちゃえばいいし、 あと、ないのは鶏肉だ! よって帰りに鶏肉かうこと!!
異常終了
でもそれ親子じゃない
親子じゃない
真の親子じゃないわ!!
ende
「親子ドンを食いたい」といってからすでにかれこれ 4時間近くも経過してることに留意せよ。 この間、新山はお茶しか飲んでいない。かくのごとき空腹に耐えるのは人生の中でも時間の問題だ。
なーんか、味がいまいちだなあ。今回は贖罪がまずかったとはそんなに思わないのだが、 やっぱりみりんを使わずに砂糖もなかったので人工甘味料を使ったのがまずかっ
たのか?
todo: くりすますかーど買わなきゃ。
そして、みそ汁だけで朝食が終わりそうな気配。
てくるで、いまは NetBSD も CD-ROM からブートできるんだ。 時代は変わったなあ。
かねてからの懸案であった、あやしい挙動のトースターを分解清掃した。 開けてビックリ、ホントにアホみたいに簡単な仕組みだった。 どうかトースターは今後ともインターネット対応にはならないでほしい。 しかしさすがに 3年も使っているとパンくずが中にたまっていたので、 掃除機をとりだして吸引し、クリーナーでふく。 たかがトースターなのにけっこう汚れるもんだな。 ついでなので部屋もざっと掃除する。
家電製品を分解するというのはあんまり新山はやらないが (中学生のときにウォークマンを分解して元に戻んなくなったトラウマがあるので)、 たまにやるといろいろ勉強になる。 いままで、パンが焼き上がってくると自動的に「がったん」ってなるのが 一体どういう仕組みなのかと思っていたが、これは電磁石を使っていることがわかった。 トースター内の温度は金属製の棒を通して電磁石のコイルに伝わる (そして、温度調節のツマミはこの伝導の面積を調整しているだけだった)。 たぶんこのコイルには負の温度特性をもつ金属が使われていて、トースターの温度が 上がるにつれてコイルの抵抗値が下がり、電磁石として通電して「止め金」をひっぱって レバーを解放するのだと思う。よくできてるよなあ。
新山はキカイ類は苦手なので、こういうのには感心するばっかりです。
しかし、文句があるのだが、どのみち掃除するんだから、 もうちょっと簡単に分解/組み立てできるように設計しておいてもいいと思う。 このへんに対する感覚はソフトウェアと一緒だ。道具はつねにできるかぎり一般ユーザが手入れできるように 設計すべきであり、そのためにはなるべく単純な構造にしておかねばならないのである。 使いやすさとかインターフェイスの面からみた道具のデザインについてはドナルド・ノーマンとか、 佐貫亦男とかがすでに考察しているが (本当は学術的な研究をしている人はもっといるだろうが、 とりあえずオレはこの 2人読んだらもういいやと思った)、ユーザによるメンテナンスという観点からみた デザインについてはどうなのか。暮らしの手帖はいつになったらフリーソフトの性能比較をするようになるのか。
頭がふやけてきたのでパソコンをもって散歩した。 うちの近くはすさんだ地域のため、こういう「ちょっと気分癲癇したい」ってなときに 気軽に入れる喫茶店のようなものがないのですよ。白人の住んでるとこなら、 かならず Starbucks の 1つや 2つあるのだが、JSQ 周辺にはない。 かといってただそのためだけに電車に乗るのもばからしいので、駅前の Dunkin Donuts に 入ってレポートの続きを書く。コーヒーあまい。1時間ちょっと粘って帰ってくる。 あそこでパソコンをいじっていると姿勢が非常に悪くなる。そのごスーパーで買い物。 プログラムはまだできてない。やばいなあ、早くやんなきゃ。
この日はみんなホテルでのろのろと朝食をとって、それから地下鉄で MIT についたら最初の発表に遅刻しそうになった。 Boston にくるのは LL のときしかないので、毎回 Boston はいつも週末につくのだ…。だから平日この街が どんな様子であるかは新山はいまだに知らない。Kendall Sq. でおりる。NY よりサムい。
まずしょっぱなの発表は「自然言語をプログラミング言語として使う」という、 どっかで聞いたような話なのだが、「自然言語をプログラミング言語として使うには こんなことをやる必要がありますよ」というだけで、何がどうなってるのか、 ほどんどわからんかった。はっきりいって、ただのほら話のように見える。 いちおう実装らしきものはあるみたいだけど、 なんやら、「ストーリーを入力するとクラスのテンプレートを作ってくれる」というものらしいのだが、 それで何がうれしいのか? このスピーカ (hugo) によれば、自然言語ではたんなる名詞でも いろいろな「活用」があり、その形態は聴き手のなかで変化する。たとえば「bar がある」などという 文章に "bar" という単語がただ現れただけでは、これは記号 (atom) にすぎないが、 「bar にはスツールがある」という文章では bar はいまやコンテナ (配列) として聴き手のなかで 認識されるようになるし、「bar は開店・閉店する」という文章なら bar はオブジェクト (開店・閉店というメソッドをもつ) として扱われるようになる、という。だから? いずれにせよ、自然言語をプログラミング言語として扱ったときのメリットがちっとも見えてこない。 名詞(句) = オブジェクト、動詞 = 関数(あるいは手続き) という類推は すでに Iverson によって APL という形で実現されているが、Iverson は賢明にも 自然言語そのものをプログラミング言語として使おうとはしなかった (し、60年代後半の 技術でそれをやるのは限界があった)。もちろん、対象とするプログラムの種類を非常に限れば あるいは役にたつものもできるかもしれないが、しょせんそれはマクロとおなじたぐいのものである。 一般的なプログラミングを、自然言語によって行うというのはいまだに新山はかなり懐疑的だ。 そもそも自然言語は手続き的なことをいうのに向いていない。「それを代入しろ」程度なら まだいいが、フィボナッチ数列 (またでました!) を手続き的に求めるような指令を 日本語で書いたらどうなるのだ… 「ある数とその前の数をたして次の数をつくるように 1から順に数列を構築していけ」かな? しかしここでもやや宣言的な物言い (「…になるように〜しろ」) を含んでいる。 ひとつの可能性としてあるのは、検証ツールとしての自然言語の利用である。 つまりプログラムが満たすべき条件を (宣言的に) 日本語で記述するとか、 プログラムを日本語にいかに変換して読みやすくするとか、とかだ。これについてはやや考えるところもあるのでまたあとで。
さておつぎは IronPython。待ってました。x86 アセンブリの話が出てきたりして
かなりオタクな内容のトークだったが、ようするに IronPython 高速化のヒミツというのは
「頻出するメソッド呼び出しの組み合わせを いっこのメソッドとしてまとめてしまう」ことのようだ。
たとえば if a == b:
を厳密な Python の式として扱おうとすると、
まず「メソッド a.__eq__(b)
を呼び出して、その返り値を boolean 型に型変換して、
それから判定する」というぐあいだったのが、かれの実装ではこの 2つをいっぺんにやるようなメソッド
EqualTrue のようなものを生成する。こうすると CLR のコンパイラが最適化しやすい形になるらしい。
かれの理屈によれば、Python を .NET 上に実装するとなにがいいかというと、MS の CLR はかなりバイトコードの
最適化が研究されており (詳しくは知らないが、MS はこの分野で世界でも数えるほどの技術者を
大量に仕入れているはずだ、SQL server もそうだが、かれらは金をつんで世界じゅうから
いちばん優秀な技術者をかき集めているらしい)、Python そのものが最適化されなくても、CLR の最適化が進歩すれば
勝手に Python も速くなるからいいんだそうな。おまけに C# 用の IDE で
すでに Python のコードがデバッグできるようになってしまっており、かれは実際に
デモを動かしてみせていた。
それまで .NET は C# や VB などの、静的に型付けされた言語にのみ向いており、
動的な型の言語には不向きであると考えられていた (そういう批評は見たことがある)。
で、スピーカの Jim Hugunin の功績というのは .NET が dynamic typed なプログラミング言語にも
使えるということを証明したことにある。で、かれはなんと .NET チームの一員としていま MS で働いているのだが、
(もともとこのワークショップは昔から MS Research が協賛だし -- タダ飯くえるのも MS のおかげだね!)、
これは IronPython の功績が認められたためらしい。Dynamic Typing された
言語をいかに .NET で高速で動かすかという仕事をやっているそうだ。
MS は Python をサポートすることをやや本気で考えているらしく、もしかすると
これは MS からリリースされる初のオープンソースな言語になるかもしれないという。
トークそのものよりこっちのほうがおどろきな話であった。でも、かれは Jython の
主要開発者でもあるのだが、かれが MS にいったら、もう Java なんてやらないだろうから、
Jython の開発は止まっちゃうんじゃないかね? IDE にしても、MS VisualStudio が
もし本当に Python をサポートしたら、いまある競合製品 (商用 Python IDE) はひとたまりもない。
つくづく MS のやることは罪ぶかい。
kakunotukareta...
ぞんぞん関係ないが、きのう表へでたらジングルベルのサビをクラクションで演奏してる (--- --- --−-−) アホなトラックがいた。そういえばこの部分っておなじ音程が多いもんな、 クラクシぉンでやるのにいいかもな。でもアホだけど。
(つづき) で、IronPython のつぎは Scheme で巨大な望遠鏡の制御をやるという LispNYC の連中が 手をたたいて喜んでたやつ。ようするに MzScheme を組み込みに使いましたって話だが、 Scheme がこの手の組み込み用言語として向いてるのは同意する (なんにでも Python 使えとはいいませんがな)。ただ、この手のアプリケーションで 言語に期待されてるのは「お手軽性」だと思うんで、Perl がもし Scheme 並に組み込みが 容易になっていたらこの手のやつで使われるのは Perl だったかもしれない。 ただ、数値計算が入っているとなるとやっぱり Scheme のほうがいいかな。
で、おつぎは Marmalade とゆー、Squeak 上に実装した「目で見てさわれる言語」なのだが、 ようするにこれは UML のクラス図みたいなのを直接いじってプログラミングしていく、 というもので、アイデア自体は、なーんだ、という程度。というか Squeak の連中ならとっくにそんなの 最初から実装してるかと思ったら、まだやってなかったの? しかしこのトークで むしろクールだったのはその実行環境 Zest のほうにある。これは「言語の実行環境と Wiki が合わさっている」 というキテレツなもので、通常の Wiki のごとく誰もが Marmalade のクラス図をぺたぺた 貼りつけてそのページ上で実行可能なコードが書ける! というものだった。 これは…いいかもしれない。Marmalade のオブジェクトは可視化もできるので、 同一ページ上にいくつかのオブジェクトを置いておき、それらの関係を理解させるにも役立つ。 とくにいいと思ったのは、これがデザインパターンのリポジトリとして役立つ可能性があるからである。 新しいパターンができたら、みんなで Wiki で共有するのだが、c2.com なんかのページと違ってこの場合は 「実際に動かせる Wiki」なのだ! …しかし新山はデザインパターンの共有というのをほとんど信用してないうえに 専用のブラウザでないと見れない (とーぜん、Zest は Squeak で動く) ために、結局ダメだね。 SmallTalk でキライなのは奴らが開発環境をふくめて何もかもいっさいがっさいをオブジェクト指向の 枠内におさめたがるところだ。統一性の観点からいえばたしかにその考えは理想的だが、オレは そこまでして宗教を実践する必要はないと思う。
で、つぎは何だ。ELIZA か。これは lisp とはなんの関係もない
(が、名前はたしかに あの ELIZA からとっている)。ML っぽい関数型言語なのだが、
関数をいくつかのタイプ (generator, filter, concentrator, transformer) に分類し、
これらをシェルスクリプト風に f | g
などと書けるあたりがなかなか変態っぽくて
気にいった。
そのつぎの REST ってのは、継続ベースの web アプリサーバらしい。最近こういうの流行ってんのかな。 もともと ViaWeb もそうなので Lisp 組はこれを語らせだすとなかなかアツいのだが、 あまり新山は興味なかったが、その中で世にあるいろんな継続ベースのアプリケーションサーバを列挙してる スライドがあって、Python にも Impostor という ものがあるというのを知ったのはおろどきだった。yield 使ってんのかしらん?
もうねむいので適当に。最後から 2番目の発表は Gooze とゆー、これまた Lisp ライクな言語だった。 ただし通常のデータではなく「ストリーム」を扱うことができるというもので、 ビデオクリップや音をデータ型としてとることができ、それに演算をほどこすことができる (もともと、そういう映像処理のために作ったらしい)。 デモも派手なんでみんな喜んでいたけど、言語としてはそう目新しくもなし。 たぶんデータフローモデルで実装してんだろうが、学術的にはここに Aspect oriented なんかの 話を入れるときっと深みがでる (ように見せられる)。それより最後の発表がおもしろかった。 Frink という言語なのだが、 プログラミング言語というよりはむしろ「電卓言語」って感じである。あらゆる数値が「単位」を属性として もっていて、物理量の計算に向いているのだ。というか、それに特化してつくられた言語らしい。 たとえば「12月12日 午前2時31分 + 600000秒」とか、「100ワット × 2分 ÷ 5キログラム」とかいった計算ができる。 これは言語がどうとかいうよりも、純粋に計算機として便利そうで、ぜひインストールしたくなった。 組み込みの単位や定数の数がハンパじゃなく多い。たとえば各国の単位や物理定数がほとんど入ってるし、 「1960年の 1ドル / いま現在の 1ドル」とかいう定数はインターネットに接続して実際に「いまの値」を求めるように なっている。おまけにプレゼンもかなりおもしろかった。 これを作った動機というのが笑える。あるとき、彼 (Alan) の友達が、かれに次のようなメールを おくりつけてきたという: 「もし誰かが 6年と9ヵ月のあいだ連続してオナラをこき続けたら、そのガスのエネルギーは 原爆一個分に相当するにちがいない」 で、この人は「そんなバカな」と思って、それを検証するために この言語を作ったというのだ (残念ながらこの命題は真だったらしいが)。 このおっさん、かなりの凝り性らしい。最後に司会者のおじさんが「オナラのすごさを我々に思い知らせてくれて ありがとうございました」とかいってまたウケを狙っていたが、なんにせよいいプレゼンをごちそうさまでした。
もう眠いのでこのさいだからこないだ考えたことも書くぞ。 新山がなぜ Ruby や SmallTalk などの背景にある「強オブジェクト指向」思想がキライなのかという話。
たいていの科学には理論がある。数学や物理には体系的ともいえる理論があり、 とくに物理では「世界をただひとつの方程式で記述する」なんていう言葉があるくらい、 世界が厳密な法則に従って動いているというイメージがある。
で、ようするに、オブジェクト指向の幻想が目指すものは、これなんだと思う。 「世の中のモノはすべてオブジェクトで…」というようなアホな議論は、ソフトウェアを、ひいては 世界でおこりうるすべての現象をオブジェクト指向の枠組みで、統一的に、理論的に、とらえられるかもしれない、 という子供っぽい夢からきている。
これはまさに新興宗教の教義の必要事項を満たしていると思う。 中途半端になじみやすく、慣れるのも簡単な概念で、さらにやや「理論っぽく」聞こえる。 おまけに実際に世界を支配してそうに見える…。 高校生ぐらいがはまるのにはもってこい。ここが重要なのだろう。しかし、いい歳になって、 そういうのをありがたがる計算機屋ってのは、まあ、はっきりいって、 学術コンプレックスというか、悪あがきのようなものがあるのだと思うが、 新山にとって計算機屋は絶対にそんな「高尚な仕事」にはなれないというか、 なるべきじゃないと思う。なぜならそれは、いずれ料理のようなものにならざるを得ないんだから。 それは理屈うんぬんの前にまず訓練の世界で、そもそも国語だっていまだに どうすればいい文章が書ける人間をつくれるかわかってないんだから、 べつにソフトウェアが理屈でとらえられなくてもしょうがない。
なに言ってんだっけ?
あ、そうだ。 新山が Ruby を嫌いなのは、ライブラリがヘボいとか、よく落ちるとか、 文字コードの扱いがださいとか、 web がださいとか、日本でしか使われてないとか、そういうことではない。 一般にマイナーな言語がヘボいのは当然で、そういうことを理由に 評価すんのはフェアじゃないと思う。 理由はもっと根本的なことなのだ。 ソフトウェアのことがよくわかっていない初心者に、 上のような正しくない幻想 (「間違った」幻想とはいえない、 そもそも否定も証明もできないというべきだ) を押しつけるのは、 とうてい知的に誠実とはいいがたい。 まさに新興宗教の教義を押しつけるのと同じやり方に思える。
smalltalk も同じだ。でも、違うのは SmallTalk は、まだ OOP の宇宙を それなりに「かっこよく見せようとしている」ところにある。 Ruby の描く宇宙はみにくい。非常に。無邪気な人をつかまえて そこまで趣味を悪化させる必要もないと思う。空中浮遊。
もう眠すぎてダメですね。
(追記 dec12: どんなプログラミング言語にも特定のバイアスはあるので、 結局は何をやったところで偏向する。しかし、オブジェクト指向は最初に 偏向すべき考え方とは思わない)