2007年 11月 (1.11)。

Last Modified: Sat Dec 1 17:25:39 JST 2007

すこしの毒は、薬です。
ちょっとのバグなら、改良です。

おしらっせ: tabesugi.net は探索中です。 現在 unixuser.org 様のサーバを間借りしております。

Dec 01 [Sat]


(10:18)
プログラミング歴 1年で「C++ が好き」なんていってる連中は、 「メタリカ最高!」とかいってる中学生と似ている。

(ちなみに新山は、中学生のときはアセンブラが好きだった。 C は、CP/M上の 2パス コンパイラが激遅かったので嫌いだった。)

Nov 30 [Fri]


(22:07)
カレイの煮付け。煮物 (のあまり)。ジャガイモとワカメの味噌汁。 キュウリのぬか付け (駅前の八百屋でカゴに乗っているのを一目惚れ)。 塩分多かった。

いまだに自分がいる所と長野の間には時差があるように感じてしまう。 いや、実際あるんだけど。測定可能。

(23:26)
彼等はもうすこしマシなプライドをもったほうがいいんではないか。

Nov 29 [Thu]


(19:23)
ドーでもいいが、また今日某検索エソジソの blatant な間違いをみつけたのだが、 ここには書かない。あのなあ、オレは google のバグ探しをタダでやる 趣味はねえんだ (まあ、金もらってもやんないけど…)。しかし、 google のバグは必ず再現するからまだぜんぜんいいよ。 MS のバグはときどきしか再現しないうえに、再現したときは破壊的状況になっている。 今日も起きた。ネットワークごしにファイル操作をするときに 何かがデッドロックするらしいのだが、いまんとこ原因は不明である。 ファイル共有以外の部分では、マシンはふつうに動きつづけているのだが、 そのフォルダにアクセスできないのでリブートしようとすると、永久に シャットダウンしない。青画面も出ずに固まるので 仕方なく「5秒押し」をやるハメになる。Vista の話ですよ。 こっちのほうが、ずっとずっと悪い。ちなみに以前は IPv6 のナニカが原因で 必ず WINS の名前解決をアホっていた (正確にはIPv6のせいじゃないかもしれないが、 v6をはずしたら動いたのでもうこれ以上原因究明する気なし)。なにか質問は?
(21:47)
音声合成で難しいのは、通常の会話文に自然な抑揚をつけることである。 これはほんとに難しい。たとえば数字の「3」を考えてみよう。 これは、現在の東京弁では「さん」というふうに平板な発音で読まれる。 最初の「さ」を強調して「ん」にすると、 Sun Microsystems のことを指しているように聞こえてしまう。 ところが、これに「分」をつけて「3分」というときは、 「さ」を強調して「んぷん」と言わねばならないのだ。 「さんぷん」を平坦に発音しても、「散粉? 産糞?」というふうにしか思われない。 ところが、ところが! さらにここに「間」を追加して「3分間」というと、 平坦な「さんぷんかん」なのだ。 「んぷんかん」ではオカシイのである。ここからわかるように、 同じ単語でも抑揚がぜんぜん決定できない。これはほんとに大変だよ。 ま、これは音声合成に限った話じゃないが、CG でも何でも一番ムズかしいのは 「自然さを表現する」ことである。なんしろ「自然さ」の厳密な定義は 存在しないにもかかわらず、「自然でないもの」を見分ける技術に かけては人間はピカイチなのだから。
(21:56)
どうでもいいが (どうでもよくなろ)、きょう offensive programming について 考えていて思った。Defensive programming (fail early/fail often) と offensive programming についてはいまだに大くの混乱があるが、 新山の理解では、おそらく offensive programming は「defensive programming を包含するもの」なのだろうと思う。 というのは、defensive programming における「おかしな入力をチェックして防ぐ」 という機構は、どんな場合であってもとにかく必要だろうからだ。 しかし offensive programming においては、チェックしたあとが違っている。 defensive な場合は、たとえば受けとったポインタが NULL かどうか チェックしたとして、NULL の場合は泣き寝入りするだけなのだが:
void foo(char* ptr) {
  /* この ptr は NULL でないはずだが念のため... */
  if (ptr == NULL) return;  /* なんで?? */
  ...
}
offensive programming では大げさに騒ぐ:
void foo(char* ptr) {
  /* ここで NULL を受けとるなんてことは宇宙が崩壊してもありえない。
     でも、万が一 NULL だったら? */
  if (ptr == NULL) {
    syslog(LOG_EMERG, "** YOU BASTARD! YOU JUST FUCKED UP EVERYTHING! **");
    system("echo vomit | mail yusuke@shinyama.example.com");
    abort();
  }
  ...
}
もちろん、この関数が本当に NULL かもしれない値を受けとる仕様であるならば、 こんなことはすべきでない。しかし、ここで NULL を受けとる状況が 想定できないような場合ならば、その仮定が破られたということは もはや世界の崩壊、数学的健全性の喪失、「もう誰も信じられない」状況である。 たぶん重要なのは、「エラー」と「バグ」は区別すべきである、 ということだ。NULL を受けとるかもしれないと 想定しているときの NULL は、単なる「エラー」である。しかし本来決して 来るはずのない場合の NULL は確実に「致命的なバグ」なのだ。 このメッセージを見るのは (願わくば) テスト・デバッグをしている 人間のみだろうから、そういう時はとにかく問題を大声で知らせたほうがいい。 これはシステムが想定している (そして、プログラマが ついうっかり破りがちな) 仮定を明確に記しておく、という役目にもつながる。 しかしそんなら offensive programming というのは結局、 assert をいっぱい書くだけのものなのか?

いや、もうひとつの特徴は、offensive programming においては 「保証されていない (にもかかわらず、偶然そうなってしまいそうな) 仮定を徹底的に破る」ということである。 たとえば、メモリが 0 で初期化されているとは限らないし、 同じ関数を呼んだときにスタックがつねに同じ位置にあるとは限らない。 すべてのサブシステムが初期化されているとも限らない。 そこで、これらの仮定を意図的に破るようにコーディングしておく。 もっとも、これはいつもできるわけじゃないし、やればやったで パフォーマンスが犠牲になるかもしれないから、コーディング方法というよりは テストの一種と考えるべきかなあ。

しかしとにかく、offensive programming の観点からいえば、 できれば実行時のチェックでなく、コンパイル時に静的に欠陥を 発見できればそれに越したことはない。その意味では、 コンパイラの検査は厳密なほどいいし、型付けが強いほど いい言語ってことになる。これは新山の好みとも合致する… が、いくら型付けが強くてもサンプルコードを打つだけで 小指がツリそうになったり (Ada)、文法がある意味 perl よりもひどかったり (Haskell) する言語は論外。 残念ながら。

ちなみに、上のコードには致命的なバグがある。それはどこか。

(誤) system("echo vomit | mail yusuke@shinyama.example.com");
(正) system("echo vomit | /var/qmail/bin/qmail-inject yusuke@shinyama.example.com");

Nov 28 [Wed]


(23:12)
どうでもいいけど (どでもよろ)、 「A社とB社が提携!」とかいう日本のニュース報道によく出てくる、 数人のおっさん達が手をふれあっている写真は、 たまらなく creepy だと思うのはオレだけだろうか。 やるほうも変態だが、ああいう写真を平気で掲載する神経も疑う。

それにしても、 (以下 差別的に発言削除)    creepy      ..   creepy

(23:36)
あなたはもう気づいているが、オレはきょうようやく気づいた。 頭が悪い (あるいは悪そうに見える) 人のほとんどは 本当に頭が悪いわけではなく、ただ脅えているだけなのだと。

でも何に?

Nov 27 [Tue]


(19:06)
専門用語を使えば知的に見えると思ってる人は幸せだ…

どどどうでもいいいけけどどど「守屋」といえば物部守屋だろう。

(19:38)
El Paso で雪が降ったんだって。どうかしてるよ。

Nov 26 [Mon]


(07:30)
あいかわらず日本の大学は「優秀な人材を育成」するために 大学院を強化したりしてるようだ。 すでに学部から差がついてるというのに、アホである。 海外ではどこでもやってるが、日本社会には絶対できないことというのが ひとつある。それは「できない学生を容赦なく落第させ、なおかつ 落第した学生でも企業で活躍させること」だ。 ある意味、ipv6 以上にムリだね。
(20:47)
アホな人間がフレームワークを設計したりしてはならないが、 (自分がアホでないと仮定すれば) ライブラリや フレームワークの設計ほど楽しいもんもない。 新山はとりわけこの手の仕事が好きなようだ。 なぜなら、フレームワーク設計とゆうのは現実の「モデル化」であり、 結局のところ (ケッキョキ) それは事物の整理整頓だからである。 というか、フレームワークだけじゃなく、システムの設計というのは そういうもんなんだけど。 ある事象 (処理) を分割し、分類し、それらの分担と責任範囲を考える。 そして「この切り分け方は筋が通っているか、否か?」と問う。 たとえば、ある処理は意味的にひとつのまとまった動作として考えることができるのか、 あるいは複数の処理とみなしたほうが自然なのか? それとも、さらに世界を別の方向から切りとったら、事象のさらに自然な (単純な == 計算機科学的にいえば、よりコルモゴロフ複雑性の少ない == 少ない状態数のチューリング機械で記述できる) モデルがありうるのか?

これはほとんど理論物理学の問題と同じである。だが フレームワークの設計が理論物理学と違うのは、実はここには 変数がふたつあるということだ。物理学においては、 現実 (自然法則) はすでに決定されており、物理学者はモデルをいじるだけである。 しかし工学においては、 現実のほうを変更するという解もありうる。 つまり「現実」と「モデル」ふたつの変数が変更可能なのだ。 なぜなら、どっちも人間が作ったもんだからね。 これを「おもしろい」ととらえるか「やってらんねえ」ととらえるかは 適性の違いだと思う。 そんなわけで、他人の書いたソースを 読んでるときの新山は、しょっちゅう画面に向かって「おマエ、 その処理はここの管轄でやるべきことじゃあねえだろ!」という ツッコミを入れてるのだが、それはそれでやりがいを感じるときもあるのだった。 「言葉の意味」にこだわる性格も起因しているかもしれない。 ある関数がおこなう処理の「意味づけ」が明快かどうかにこだわるのである。

さて、フレームワークの設計で重視しなければならないのはもちろん論理的一貫性だが、 同時に、使う人のことを考えれば「なじみやすさ (自然さ)」も見逃せない。 でもこのふたつは実際のところ対立する概念かもしれず、 そのために設計では悩ましい「あれか | これか」の問題がしょっちゅう現れる。 「考え方 1 によれば、こっちにすべきだ。しかし別の考え方 2 をとれば、 あっちもありうる。どっちが自然なんだろう…?」といったぐあい。 最終的には、新山は筋よりも自然さをとる傾向にあるようだ。直観主義なので。 でも「自然さ」の定義なんて人によって違うから、完全には合意できない。 でも、こうやって悩んでいるときがすっごく楽しい。

以上のことからわかるように、新山は現実的なプログラミングというものを 決して純粋な「創造」や「コントロール」とは考えてない。 (ときどき「プログラマーは世界を創造する云々」というようなことをヌカして 万能感にひたっているガキをみかけるが、そんなのが許されるのは中学生までである。 そいつがどんなに一般人に使いやすい、 ユーザフレンドリーなソフトウェアを書くかとくと拝見したいもんだ。) 新山のイメージでは、システム設計者というのは、むしろ調停者、仲裁役である。 彼または彼女は人間世界と機械の世界の中間に立って、 双方の言い分 (その要求と限界) に耳を傾ける。そして 「よろしい、じゃあこうしましょう」と処分を申しわたす。 その処分が「設計」と呼ばれるもの、なわけだ。 しかしその処分が人間世界にとって不服な場合、彼は役たたずとして解雇され、 それが機械にとって不服な場合、彼は誤動作の嵐や パフォーマンス低下に悩まされる、とゆうわけである。 ある意味、設計とはつねに妥協の産物である。政治と同じだ。 プログラマーはつねに板ばさみなのだ。(過労が多いのも無理はない。) しかしこれだけはいえる。機械と人間、どちらか一方の言い分しか聞かない人間が、 いいプログラマーであることはありえない。 これまで世の中は機械の言い分か、あるいは上司の言い分かの どちらか一方にしか従わない人間に「いいプログラマー」という レッテルをはりすぎた。それはバランスに欠けた人間を増長させる。 その代償が、このロクでもねえ慇懃無礼なシステムだらけの 世の中よ! まったくもう、ふんとに。新山はよく会社の総務のおばちゃんなどに、 ソフトウェアに不満があったら、どんどん口にしてください、 と言っている。こういう人々は、専門家風をふかせる連中におびえてしまうのね。 しかしそのことが連中をのさばらせる結果になっていることは、 もっと知られるべきだと思う。みんな、もっと衝突しないとだめよ。

ところで (てくるで)、これは矛盾しているところだと自分でも思うのだが、 新山は行為としては整理整頓が好きなのに、 なぜか結果としては混沌とした雑多な世界がスキなのだった。 これは一体なんなんだろう。オレは心の奥底では堕落を求めているのかもしれない。 そんなふうにふと考えることがある。気を抜くと向こう側に転落するぞ… いや…しかしそれもいいのかな?…人生はこの決定不可能性がおもしろいよな。

(22:36)
どうでもいいけど、もうラジオに winter wonderland が流れる季節になってしまいましたこと
yo。

今日の夕食はきのうの余った煮物に豆腐を入れて似非けんちん汁モドキに した。ら、結構うまかった。しかし白菜が余ってたので味噌汁も作ってしまい、 おかしな状況に。新山家のけんちん汁は油を使わないので (それは「けんちん」じゃない、という意見もあるが却下す)、 今日の夕飯は死亡ゼロ、コレステロールゼロの 完全ノンファットだ。なんて健康的なの。死亡ゼロ。

(今夜はなぜこんぬに爆発してるのだらう?)

Nov 25 [Sun]


(13:18)
注意すべきこと:
>>> a=[]
>>> b=[]
>>> a.append(1)
>>> (a,b)
([1], [])

>>> a=b=[]
>>> a.append(1)
>>> (a,b)
([1], [1])
(19:10)
今日はトチョカンで楽しい午後をすごした。特に、カラスについての知見を得た。 そのごノートパソコンをもって街を歩き、喫茶店をさがすが徒労に終わる。 中野駅前はアホみたいに沢山のレストランや飲み屋が所せましと 袋小路状に充満しているが、あんまりそれっぽい喫茶店はない (追記: でも中野BWの中にはあったのかもしれない、これについてはまた記す)。 それにしてもあすこはなんであんなに立ち飲み屋やホッピーを出す店が多いんだ? ホッピーの存在感がここほど大きな街ってそんなにないと思う (でも ここによるとやはり下町のほうがメジャーなようだ)。 最近はそんなにマイナーでもないんだね、ホッピーって…。 10年前 (新山が学部生だったころ) はすでに遺物と化した往年の マイナー飲料で、オレは武蔵小杉ではじめて飲んで感動してたというのに。 しかしその後、第二・第三のビールが出てきたときに (当時オレは NY にいたからほとんど知らなかったが)、 なんだ、そんなのよりホッピーを飲めよ! と思った。 スーパードライなんかよりはホッピーのほうがマシな味すると思う。 ちなみに、新山は酒は普段ほとんど飲まないぞ。

ところで今日の夕食はめかじきのムニぇーるにしてみたのだるが (てくるで)、 味つけにちょろっとガラムマサラを入れてみたらめちゃくちゃウマかった。 これ、おすすめ。 きょうの発見 (ハッケソ)。

(21:54)
そういえば今日はまた米を一袋 (5kg) 買った。 ほぼ 1ト月に一袋のペースで消費しているので、 オレは一ヶ月で米を約5kg食うことになる。 5000/30 = 166g。米 1合を約150g とすれば、 毎日 1合ちょっと。ええ、そんだけ?? 1年で60kgとゆうことは、なんと 日本人の平均消費量 より少ないではないか! こんなハズはない。 朝はパンを食っているが、それ以外はほとんど米食なのだから、 これはオレがよほど小食化したかあるいはさもなくば日本人失格 ということになる。どうなのよ?

Nov 24 [Sat]


(11:44)
今日は朝から病院で診察。 「まだ傷が浅く、再発したとは言えない状態なので、しばらく様子をみよう」 ということになった。なんだよもう。 しかし本当に再発したら、今度こそ入院手術になるのだろうからまあいいか。
(17:31)
いや、しかしそれにしてもだね、ジョークのわからない奴は世界を滅ぼすね。
(17:48)
システム屋が使う "capability (ケイパビリティ)" という概念は あまり知られていないようだ。これは、ようするに資源を指す ポインタのようなものだが、単なるポインタとは違って「権利」がついており、 その「場所を知っている」ということ自体が、「その資源へのアクセス権がある」 ものと考える。つまりポインタとアクセス権がひとつの値にパックされた概念、 これが capability である。

識別子はどんなものでも capability になりうる。 たとえば、他人の知らない掲示板の URL を誰かに教えてもらった (この掲示板はパスワード保護などはされていないが、通常は検索エンジンなどでは 到達できない場所にあると仮定する)、ということは、 その掲示板にアクセスする権限を与えられた、と考えることも できるから、この場合の URL は capability とみなせる。 さらに資源は同じでも、異なる名前でアクセスすると異なる権限が与えられる ようになっている場合、個々の名前はそれぞれ別々の capability とみなせる。 たとえば http://bbs.example.com/user/1b7f9304 からアクセスしたときと、 http://bbs.example.com/admin/d34f3ba6310e57 からアクセスしたときでは 同じ掲示板が表示されるが、書き込み権限が違っている、という場合ね。

この意味で、capability は ただのポインタとは違う概念だが、「型つきのポインタ」とは似たようなものかも しれない。たとえば、C における const char* と char* ではたとえポインタの 指す場所が同じであっても、与えられている権限 (=それに対してできる操作の集合) が違う。しかしこの場合は ポインタ変数に格納されている情報そのものは同じなので、強制キャストすれば const char* を char* に変換できてしまう。Capability は一般に こうした変換や偽装ができない (内容が opaque である)。 そのため、capability は通常、暗号化された認証情報のようなものを 内部に含んでいることが多い。上の例でいえば .../admin/d34f3ba6310e57 という部分とかね。

capability の概念は、アクセスコントロールを実装するうえで非常に役に立つ。 この概念のキモは、ポインタ自体が「権限」を内包しているとみなすことができて、 認証システムなどからは完全に独立しているというところにある。たとえば あるユーザがある資源に対して、これこれの操作はできるが、これこれの操作はできない、 といった制限をかけたい場合、capability を使わない方法だと ユーザにその資源へのポインタ (ファイル名や URL、デバイス番号など) を知らせ、 なおかつそのユーザが資源にアクセスするたびごとに、 正しい権限を持っていることを何らかの方法で確認しなければならない。 この場合、システムのユーザ認証とアクセス制御はたいてい不可分になる。 認証を中央集権的におこなう場合、これは ユーザが毎回資源にアクセスするたびに呼ばれるので負荷が大きくなるし、 「ある資源は一定時間後にアクセス不可能になる」などの処理を実装しようと 思ったら、かなり複雑になる。しかしユーザの認証時に capability を新しく 生成して渡し、アクセス制御はすべてその capability を使っておこなうように すれば、認証とアクセス制御を分離できる。また、使用期限の切れた capability を revoke するのに中央集権的な機構はいらない。

SSH におけるコマンド制限された 公開鍵などは目に見える capability の一種である。実際には SSH でも 中央集権的な機構 (/etc/passwd など) をすこしは利用しているが、 理論上は公開鍵さえ合っていればそのユーザのアクセスを許してよい。 ユーザが複数の公開鍵を持っていて、それぞれが異なる制限コマンドに 割り当てられていたとすると、そのユーザに特定の操作を禁止したい場合は 「その」公開鍵だけを authorized_keys から削除すればいい。 これは一般ユーザ権限でできるし、たとえその鍵が削除されても、 それ以外の鍵は依然として有効である。これとまったく逆のアプローチが sudo である。これは /etc/sudoers に「このユーザは何ができて、 何ができない」という一覧が記されているので、このファイルが失われたり 改竄された場合、権限システムはすべて崩壊する。 それでも sudo がこうせざるを得なかったのは、 現在の unixコマンドのほとんどがアクセス制限をカーネルに 任せているからである。そう、つまり capability の欠点というのは、 各モジュールが独自にアクセス制限を実装しなければならないところにある。 これは手間がかかる。しかし危機管理という面からみると、そっちのほうが理想的。

これをもうちょい現実的な例え(?) でいうと、 「たとえ神サマ仏様といえども、 ビールを買うには免許証が必要です」ってのが理想的な危機管理。 か?

Nov 22 [Thu]


(21:39)
このシステムの発明者は、
科学と教育におけるもっとも偉大な貢献者、
あるいは人類に対するもっとも偉大な恩人の一人となるかもしれない。
-- Josiah F. Bumstead、1841年、黒板とチョークの発明に対して
もちろん、世界を変えられるのは技術だけだし、 世界を救えるのも技術だけだ。 つまり技術者だけが世界を救うに値し、また救われるのである。

…とか思っている人、いますか?

Nov 21 [Wed]


(22:24)
長野から大量のリンゴが送られてきた。しかも、激デカイ。 あした会社に持っていこうっと。なんしろ東京もんは 真のアポーの味つうもんを知らねえからな。(いや、ホントに)

Nov 20 [Tue]


(07:35)
書きかけのまま止まっている日記が多かったが、 さっさとアップロードしとく。 いかん、こんなことしてると遅刻すっぞ。
(23:24)
きょう気づいたのだが、また例のアノ病気が 再発しているようである。まだ手術を受けなければならないのだろうか。 前の NYU 附属病院がヤブ医者だったのかなあ。 そういうわけで今日はかなりショックだった。

Nov 19 [Mon]


月曜に代休を取ったので、なぜか日光へ行ってきた。 紅葉にはちょっと遅いかな…と思ったが、ちょうど最後の 散りぎわに間に合った。まさに自分にとってはベストなタイミングだと思える。 もう山には雪が降ったから、そろそろ全部散っちゃうだろう。

これが写真ね。

東照宮はいかにもガイジンの喜びそうなところだし、実際ガイジンは沢山いた。 しかし世界遺産とかいってるわりには英語の案内がまるでないね。 これもようするに、「世界遺産」っていう名前だけが欲しいのだな。 実より名をとってる典型的な例のような気がする。

どうでもいいけど、18日は宇都宮に一泊したのだが (日光のホテルは高そうなので…ホントウは日曜限定バイキング朝食付プランに引かれたダケだが)、 宇都宮がギョウザの街だなんて誰が決めたんだ?? (つづく)

ちなみに費用は交通費等しめて 13000円ほど。

Nov 17 [Sat]


(11:57)

辞書ファイルをいじっていて偶然発見した 「ほんらい部分文字列でも同じように読めるのに、 なぜか余計な文字がくっついている単語」一覧 (のうち、メジャーなもの):

それにしても「内匠」なんて単語は知らなかったよ…。 「馘首 (くび)」というのは身体の一部ではなく「仕事をクビにする」ときに使うのだが、 いまはただ「首にする」というふうに使っている人も多いと思う。しかし こういうのが残っているのはおもしろいな。発音は同じでも語義によって 漢字が違う、つまり言文一致じゃないわけだ。まあそれをいえば「速い」 「早い」の区別もそうか。「他人 (ひと)」や「身体 (からだ)」はよく使うが、 べつに現在なら「人」や「体」だけでもいいんじゃないかと 言はれれば、たしかにそのとおりかもしれない。それでも、たとえば「身体 (からだ)」 という読ませ方はより生々しく聞こえる。 「ゆうこ」に関してはナゾである。「裕有子」というのもあるし、 どういうわけか「ゆう」という漢字は 2つ重ねてもいいようだ。 そんならオレの名前も「裕祐介」にしてくれればよかったノニ。

ちなみに、「裕」と「祐」の字はよく間違えられる。 「裕」はヒロヒトの裕であり、「祐」は上祐の祐 (?) だ。 どっちも犯罪者の文字だ。 しかしこの 2つは書き並べてみるとわかるように、ひとつは衣偏で もうひとつは示偏であるので、意味的にゼンゼン違う。 フォントが小さいとよくわからないかもしれないけど、こうですよ: 裕 祐。 オレはとーぜん自分の文字を気に入っているが (自分の文字だって!)、 「祐」の意味についてはあんまりよくわかっていなかった。中国人に尋いてみると、 これは「メデタイ」というような意味、なんだそうである。 ちなみに「祐」は「すけ」とも読めるので、じつは「祐介」は 「スケスケ」とも読めてしまう。ああ、なやましき日本語。

ぜんぜん関係ないが、英語には「速い」を示す単語がいくつもある: fast, rapid, quick, swift, speedy.

(12:44)
どうでもいいけど (どうでもよろ)、 BBC が天皇の戦争責任について特集した番組のビデオをみつけた : BBC Timewatch - Emperor Hirohito

インタビューは東條ヒデキの孫娘から当時の兵卒、およびGHQの(米国側の) 憲法草案委員会のメンバーまで多岐にわたっている。番組は 「おそらく天皇にはモラル的な責任はあっただろうが、東京裁判では 東條らが罪をかぶることにしたらしい」という論調でまとまっている。しかし (自殺に失敗した) 東條の輸血シーンとか絞殺シーンは本物なのだろうか。 こんなんはじめて見たぞ。 最後に広島の (撃たれた) 元市長が出てきて「『天皇に戦争責任があると思う』… たった13文字ですよ、こんなの秘密でもなんでもない」と証言するが、 これは BBC だからできたことで、NHK にはこういう番組は (いまだに) できないだろう。

問題は途中で出てきたコロンビア大のおばちゃんも言っていたように、 「天皇が“決断”した」という事象の曖昧さにある。 基本的には、日本では天皇がみずから何かしろ、ということはなくて、 側近が提案し、天皇が「あ、そう、いいんじゃないの?」という流れが一般的である。 それをさして「天皇が決めた」と受け取ることに どれほどの意味があるのか? しかも昭和天皇はとりわけ世間から 隔離されており、(権威その他はぬきにしても) 普通の人間ではないわけで、 (つづく)

Oh, and who could forget this shit:

http://www.youtube.com/watch?v=HqxeWmX93u0

Nov 16 [Fri]


(18:47)
即っ帰宅っく。毎日仕事が終わったあとは 「もうコードのコトなんて考えたくねー」って気分にナル。 でもいい設計のアイデアはけっこう帰りに自転車をこいでいるときに 思いつくことが多いのだが。きょうも nmake と python ばっか使っていた。 帰りがけにひどいバグをいっこ発見。やはり他人のコードを 何もわからず使うもんじゃない。

Nov 15 [Thu]


(07:38)
小さすぎて聞こえないような声のことを「蚊の鳴くような声」というが、 オレはその蚊の鳴く音で毎晩のように起こされる。チクショーー、 どっから入ってきやがるんだ!

Nov 13 [Tue]


(19:02)
よーやく反映された。
(22:44)
きょうは途中でネムくてねむくてドーにもなくなったので、 「なんか手作業ないですか」と尋き、宛て名シール貼りをやらせてもらった。 20分ぐらいで勘弁してもらう。「まだまだあるわよ〜ん♪」と言われたけど、 あんまり眠気の解消にはならないので。新山はとりわけ午後3時から4時ごろに 弱い。この時間は目がショボショボしてくるしオフィスの空気もなんだか全体的に ヨドんでくるし。どうでもいいけど (よくないぞ) オレはもうちょっと プログラミングするときに画面から離れたほうがいいと思う。 さいきんあまりに目が疲れすぎるので、昼飯のときはとにかく目を休めたいと思い、 趣味のサイトとかも見てない。このごろ会社で見る (日本の) ウェブサイトは ホントに会社のホームページと yahoo! 天気予報だけになってしまった。 まあ、終わるとサッサと帰ってしまうので健康的でよいとは思うのだけど。

それにしても暇がねえなあくそったれ。 家に着いたのは 7時前だったのに、ゴハンつくって食っただけで なんでこんな時間になるんだ?

  1. オレは料理に時間をかけすぎている。
  2. 米を研ぎわすれたのが悪い。
  3. 亜光速に近い速さだった。

さてどえrえdしょう?

Nov 12 [Mon]


(23:42)
またメールを書いていたらこんな時間だ! ところで (てくるで)、ipv6 についてある人と話していたのだが (MLで)、 2001年に新山が向こうに行ってから、あんまり日本の状況は変わってないみたいだ、 という話。いや、普及率は多少なりとも上がったかもしれないけど、 ひどいのは普及率うんぬんじゃない。これだけ時間をかけて、 まだ誰も一般消費者の立場からメリットを考えていないということだ。 ここでいう一般消費者ってのは「検索エンジン」という言葉すら知らないけど オークションには燃えているオバチャンとかも含むからね。 この手の話題を書くのはいつも IT 関連の提灯記者なのだが、 彼らのどこが「一般」なものか。オレが求めてるのは 「ホームサーバが簡単になる」とかいう言い訳じゃないんだよ。 これほどの時間とカネ (何百億円か?) を使っておきながら、 いまだにオタク以外の人々に対するアピールを、誰も、何も説明できない。 これってちょっとひどいんじゃないか。新山の懸念は、 そもそも誰も説明する必要があるとすら思っていないんじゃないか、 ってことである。彼らは本気でネット家電なぞが便利だと思ってるのだろうか、 それとも「IPv6は男のロマンなのだ」とでもいうつもりだろうか? どっちにせよ、ここにはマトモな生活感覚が欠如している。 政府がたいして v6 を支援してない米国ならまだしも、日本じゃすでに 国が大量にカネを使っているんだから、これで何も説得力のある説明がなかったら、 基本的には役人の無駄づかいなんかと変わらない。 何も知らない一般大衆には黙って金を出させておけ、というのだろうか。 じつは同じようなことが地上波デジタルにも言えると思うけど、 新山はテレビを見ないのでこれはどうでもいい。 でもネットに関してはステークホルダーなんだから、不満をもってもいいだろう。 いや、たしかに ipv6 はすばらしいよ。 軌道タワーと同じく、ぜひとも実現すべきだね。

このテの現象に関するもうひとつの懸念 (というか、うさん臭さ) は、 とりわけ日本の場合、この動きがきわめて「感情的な理由」から 出ているのじゃないかという憶測である。いつも「なんで日本は ipv6 にそんなに 熱心なんだ?」とか「なぜ日本じゃ Ruby があんなに流行ってるんだ?」 とか尋かれるたびに、オレは「歪んだナショナリズムじゃないかなあ…」と 答えてきた。そしていまでもそう思っている。はっきりいえば、日本で ipv6 を推進する人々は韓国を嫌う人々とどことなく似ている。 彼らが本当によかれと思っているなどとはとても思えない。 彼の頭の中は「今度こそ日本が勝つニダ!」という、これだけだ。 これはさしずめイジメられた人間が 「一流大学 (あるいは一流企業) に入って見返してやる!」というのに似ている。 こうした「イジメられっ子の論理」が鼻持ちならないと 思うのはオレだけなのだろうか? それともこれは同族嫌悪なんだろうか? いや、つまり、ホントの問題は ipv6 や鬼畜米英なんかじゃないんだよ。 本当の問題は 「なぜ日本のオタクはこれほど自分を嫌いなのか」ってことだよ。 もちろん新山も自分はかなり嫌いなほうだと思っていたが、 他の人々を見ていると実はそれほどでもないっかと思えてきた。 でもミも蓋もなく言っちゃうけどこれは国民病で 治療はもう不可能だ。この病原菌はおそらく50年ぐらい前に…。 おっと、電波、電波。

しかし ipv6 やイジメにかかわらず、他人に権威づけてもらわないと ダメな人がこの国にはほんと多いなあ。 これは米国とは顕著な差があるところで、おもしろい。 アメリカンを見ろよ! あれだけテロを起こされてるにもかかわらず、 まだオレたちゃ好かれてると思ってんだぜ? すごいもんだ。

Nov 11 [Sun]


(09:59)
いや、それにしても最近シゴトが楽しいなあ。 といっても新山は残業はしないし、週末には仕事は一切しないけどね。 なにが楽しいって、自分で「設計できる」ところがヒジョーに楽しいのだ。 これはプログラミングに限らないが、「おまえの好きにやっていいよ」と 言われて楽しくならない人というのは少ないと思う。もっとも人によっては 指示されないと何をやっていいのかわかんない、という人形的なのもいるが、 新山は基本的に好きにやれと言われるとガゼンやる気が出てくるタイプの 人間である。なんしろ、やりたいアイデアがいっぱいあるからね。 といっても、だからといって簡単なわけではない! むしろその場合は自分で責任をとる範囲がずっと広くなるわけで、 その分プレッシャーは余計にあるといってもいい。でも、あんましオレは 今のとこ気にしてないけど! 重要なのは「大まかなゴールについては 上司と同意している」ということだ。その (大まかな) 思想に従って 自分の意見を展開していく、というのが「設計」にあたるわけである。
(11:22)
どうでもいいけど (ようでもどろ)、 google様のすばらしい洗濯アルゴリズムにより、信濃毎日新聞の adsense 中に 朝日新聞の広告が載ってるよ。これって信毎の担当者はイカらないんだろうかね? ちなみに、朝日の広告が載らないときは「ネット副業で信じられない収入が!」 みたいな広告ばっかり載ってる。googleがどことなくいかがわしい企業として 認知されている日本の現状はしごくまっとうだと思う。うん、そうだな。 いや、実際はきっとすばらしい会社なのでしょうけど! (少なくとも、置いてあるエスプレッソ・マシンは)

わたくしの人生のモットーは公明正大、 天真爛漫であります。
(それにしても「公明正大」っていうとなんだかソーカ学会を思い出してしまうな、 どことなく。)

(13:27)
うわぉ、NY はもうかなり寒いんだね。 トォーキョーはもうすっかり温暖化しておりますさ。
(19:24)
魚はアジにまさるものなし!

Nov 10 [Sat]


(09:56)
なんでこう週末だけ示しあわせたように雨なの? しかも、ちょっとゴミ出しに行っただけでドシャぶりだった。
(12:09)
あいかわらず新山にはちっとも興味のない IPv6 だるが、 Randy Bush が先月にこんなプレゼンをしていたのね:

IPv6 Transition & Operational Reality

要点をまとめると次のとおりである:

実際のプレゼンはこちら。 ちょっくら見てみたのだが、正直な感想は「ナンじゃこりゃ…」というものであった。 Randy Bush は IPv6 の (かなり強気な) 推進者である。 その彼がこういっているってことは、要するにこいつは 逃げる準備をしているのだな。新山はそう理解した。 しかしこの意見の変わりよう、これは Randy Bush だけがそうなのではなく、 アメリカ人ってのは一般的にこういうもんなのである。 よく見ておくがいい。これが彼らの強みでもあるし同時に弱点でもある。 日本ではここまで意見をコロコロ変えるのは抵抗があるという人が多いんじゃないか。 そしてこれまたいい点もあるしまた悪い点 (融通が利かなすぎる) もあるのである。 好みの問題。 オレはどっちかっていうとアメリカ人のこうした風潮はわりと好きだが、 これは向こうでの影響かもしれない。 ちなみに質疑応答では Randy は Cisco の技術者にコテンパに叩かれていて笑えた。 しかし、かれはこうやってちゃんと正面に出てきているからいいけれど、 2000年ごろに日本で強気なこといってた人々はいったいどこへ行ったんでしょうねえ。 連中のヤルコトはもうわかっている。そんな発言は「なかったこと」にするのだ。 そういう人々を新山は心から尊敬いたしますよ、ホントに。

(追記) とくに笑ったのが、「/32 とかのアホみたいにデカい空間を バカスカ配りまくったおかげで、いまじゃ IPv6アドレスも枯渇する心配がある」 という話。いくらお金があるからといって、これみよがしに浪費してみせても、 やっぱりお金は有限だ、という話は「杜子春 (とこはる)」を思い出させる。 教訓だなあ。

(さらに追記) この手の「なかったことにしたい人々」は 実際、その後何事もなかったかのように生きていけるのだが、 この現象はおもしろい。日本においては、こういう人々の扱いは 口臭がキツい人とか、髪の毛が薄くなってきた人とかのそれに似ている。 まわりはみんな知っているのだが、ワザと知らないフリをしてあげるのが みんなとってもうまいのだ。幸か不幸か、オレはちっともうまくないぞ。

(13:20)
「ネットで話題」という表現の意味不明さ。 「ネットで話題」って一体ナンだ?? どうも今の段階だと、 なんとかブックマークとか、なんとか掲示板で話題になっていれば 「ネットで話題」と言われるようである。しかし、こういう所に 書き込む人間がネット利用者の中でそんなに多いはずがない。 「こういう人々」は日記とかブログロに書き込む率も高いので、 ネット上ではとにかく声が大きい人々の部類に入ることは事実だろうが、 社会的にはむしろかなり虐げられた立場の人々が多いと思うのは オレの偏見なのか。「ネットで話題」という表現は、 弱者のメディアとしてのネットの存在をより強調するだけのように思える。 ああ、それが目的で意図的にこの表現を使っているのだとしたら、 やっぱりマスコミはなかなかかしこいね。 しかしこの新しい便所の落書きシステムは、 「落書き界の有名人」ができうることが従来の落書きと最大の異なる点である。 しかしそのために金をかけてきたのかと思うと ??? である。 ま、オレにはどーでもいーけど。ホンタオに。
(16:32)
ここ

想像を絶するバカさ加減。この回は ATHF の中でも新山のお気に入りである。 こんなのをタダで見せちゃうなんて、このフトッパラ!

Nov 09 [Fri]


(08:06)
どうでもいいけど、ゆうべまた蚊にさされた。ムカつく。

この週末に買うもの todo!

Nov 08 [Thu]


(20:37)
実家から卒業証書が (いまろご!) 届いたという連絡が。 しかしただの紙切れ一枚で、カバーも何もないらしい。 いーかげんだな。それじゃオークションに出しても売れないじゃん…。
(23:26)
新山の無謀な win32 api 学習法・その 2 :

ctypes を活用しよう。

import ctypes
from struct import pack, unpack
kernel32 = ctypes.windll.kernel32
user32 = ctypes.windll.LoadLibrary('user32.dll')
WM_USER = 0x400

hwnd = user32.FindWindow(None, 'MyWindow\x00')
# メッセージをかたっぱしから送ってみる
for i in xrange(65536):
  print i, SendMessageA(hwnd, i, 123, 456), kernel32.GetLastError()
WIN32 API には short を返すものも結構あるが、& 0xffff すれば正しい値になる。

ちなみに Python で自力でウィンドウを開くのはたぶんムリなのだが (コールバックを登録しなければならないため)、 じつは Pygame を使えばウィンドウができる。

import pygame
pygame.display.init()
pygame.display.set_mode((800,600))
hwnd = pygame.display.get_wm_info()['window']  # じつはこの値が hWnd だった!

しかし、これまで python はちょっとした一発作業や API の実験に 使っているばかりだったが、その時期はもう終わった。 これからの仕事が楽しみだるます。

どうでもいいけど、いま DOS プロンプト上でいちばん実行している コマンドはおそらく vinmake である。 新山は vim よりも elvis が好きなのよね (てゆうか vim はなんか重いんだよ)。 たぶん Slackware 時代の癖がここでも生きている。

Nov 08 [Thu]


(00:18)
きみはもう PyBlockTower をやったかっ。

Nov 06 [Tue]


(20:06)
凶藻態仕手麩羅菜勝田根。

ブードゥー教。

(23:05)
ちょっとのバグなら薬だが、多量のバグだと生命にかかわる。

Nov 05 [Mon]


(07:55)
きょうわ天気が良さそうなのに、雨が降るのかあ。
(20:19)
ふらなかった。よかったー。しかし明日は降るらしい。 また電車通禁になりそな予感と空間。

きょうは、どういうわけか帰ってくると和食を食いたくなかった。 新山はたまにこういうことがある。しかも、どういうわけか ギュー肉を食いたかった。新山はたまにこういうことがある。 ということで夕食は牛肉をテキトーに調理し、ジャガイモゆでる。 うう、ワインが欲しいぜ (飲むのではなく調理用にでス)。 そういえば米国で受けた食文化の(悪)影響のひとつに、 「必ずしも炭水化物を食わなくなった」というのがある。 つまり、ときどきメインディッシュだけで食事を終わらせてしまい、 ゴハンあるいはパンをほとんど食わない、というときがあるのである。 日本のレストランに行っても、肉とサラダだけ注文してすませることがある。 健康上は、これは (腹を満たすために副食を食いすぎるので) よくないと思う。やはり日本人なら毎食ゴハンくわないとだめだ! し、かし、いっぽうで、「今日は身体がきっとなにか足りない栄養素を 要求しているのだろうから素直に従おう」と思ってしまう新山がいる。

(23:00)
うる、降ってんじぁん!

Nov 04 [Sun]


(20:05)
「あーわかるわかる、よぉーーーーく分かるよ、その気持ち。 もうね論文が書けるくらいによくわかるね。」

Nov 03 [Sat]


(09:19)
コンランドリーにて。日本のコインランドリーで みるセンタッキは、どれも SANYO 製のものばかりである。 家庭用洗濯機は松下とか結構あるのに、ランドリー用洗濯機は どういうわけかサニョーが独占だな。市場としては結構でかいはずだ。

その後、近くのタバコ屋に

「カーナビで タバコ屋さがし 道をきく」
という川柳が貼ってあるのを見る。 どうでもよろ。
(10:56)
つねに時代の最先端を行こうとすれば、軽薄になるのは論理的必然である。だ
(13:59)
Pythonで書くワンライナーシリーヅ・その 96875: 「untabify する」
import れ, fileinput
P=re.compile('\t')
T=8
def f(m): return ' '*(T-(m.start(0) % T))
for line in fileinput.input():
 print P.sub(line,f)

くそーーー! 6行もかかった!!

(14:58)
遅めの昼食はまたソバゆでる。 きょうは稀代の天才ベーシスト「ちりめん・パストリアス 3世」を 醤油とみりんで佃煮ふうにし、千切り大根と混ぜた。

じつは、いまのとこ調味料でいちばん使ってるのは料理酒かもしれない。 なんしろ、何にでも入れるからなあ。

(22:16)
steelix 復活。これで、ようやく「OpenSSH 4.7 がリリースされました」って更新できるよ。
(22:52)
「友達ゲット!」のことを、 「ゲっ友!」て言わないのだろうか。

Nov 02 [Fri]


(06:48)
まあ、個人的にはぜんぜん関係ないのだけど、ご冥福をおいのりします。

寡黙で有能な人々は去り、overhypedな人間ばかり生き残る世の中です。

(18:59)
きょうーわ某所での展示会において朝から当社のブースにおりました。

どうでもいいけど (どうでもよろ)、IH ヒーターってけっこういいなあ。


Document ID: e37640ae85068ca7595b2d5ba84fb823

Yusuke Shinyama