2006年 10月 (2)。

その件につきましては陰謀のせいにする予定でございmす。

Last Modified: Sat Oct 21 01:45:18 EDT 2006 (10/21, 14:45 JST)

Oct 20 [Fri]


(08:27)
ふーー。どうやら寝坊しなかったぜ。
(19:16)
帰宅。きょうは、真澄 純米吟醸のために費やされた一日だった。(ウソ度 17%)

今日は下手なプレゼンを沢山見たので、 C級映画をたくさん見たあとのような疲労感がある。 カレーと福神漬の関係のようなもんだ。 オライリーとコライリーの関係のようぬもんだ。 さて、ご飯食お。

(22:46)
…と書いてからシャワーを浴びたらネムネムくなり、2時間くらい寝ていた。

プレゼンについて。プレゼンというのは lossy な圧縮アルゴリズムのようなものだ。 上手にプレゼンをするには結局のところ (ケッキョキ) 嘘をつくことが必要である。なぜなら自分の研究内容を 100% 伝えることはできないからで (それは論文がやろうとしていることだ)、あることを省略したり、簡略化したり、 比喩をつかって言いかえたりした場合には、それがたとえ悪意のある嘘ではなくても、 真実を一定のやり方でゆがめて提示していることは否定しようがない。 しかし考えてみりゃ、たとえふだんの状況でも言いたいことを 100% 誤解なしで 正確に伝えられることなどありえないよな。どのみち伝送エラーは入りこむのだから、 むしろ重要なのは「どういった類のエラーなら許されて、どういった類のエラーは許されないのか」を 考えることだろう。つまり、伝える内容をある程度、客観的に見る必要がある。 JPEG とかの場合は圧縮するのに人間の目の特性という“客観的な”基準に頼っているわけだけど、 プレゼンの場合は自分でそういう基準を考えださなきゃあいけないのね。

(23:16)
rsync で手っ取り早く自殺する方法:

$ rsync --delete -avz foo host:/home/yusuke/
とやるべきところを、
$ rsync --delete -avz foo/ host:/home/yusuke/
とやる。 ホームディレクトリの下がすべて消されて、簡単に自殺できる。
(00:27)
それにしても今日 cristina がもってきたケーキはすんげーウマかったなー (彼女は昨日一日、料理のために大学を休んだほどなのである)。 …しかしあんなに砂糖タップリなものを自前で作れるとしたら、 彼女の体格が説明つくような気もする。
(01:32)
どうでもいいが、ふと思ったのだが、世の中ではアニメ全般をさして 「二次元」とよぶらしい。するとなんだ、音楽や人の声が好きなのは「一次元」なのか? それとも小説やエッセイが好きなことをいうのだろうか。 最近オレは極端に一次元化しているんだ。だから、たとえ意味のない (3次元的な世界モデルに結びつけられない) 文章であっても、楽しめる。 よよろよろりよろよろよろろろよろり。 もぼもももぼももばぼむぼも。

ちなみに視覚障害者にとっては、3次元と 1次元は理解できるが、2次元はほとんど理解できないだろう。
同様に聴覚障害者、3次元と 2次元は理解できるが、1次元はたぶんほとんど理解できない。

Oct 19 [Thu]


(09:10)
うー、だんだん起きる時間が遅くなってる。ヤバイよ。
(10:44)
花、まだもってる。うご
(13:07)
つぶやきとぶつやきはどうちがうの? うげ
(17:27)
てまえポンは一帯じょろりこと流れつつもある。ず
(22:58)
そういえばデタラメって言葉は「出たら目」ぬはずなのに
はずなのにはなぜ出鱈目って 当て字  を使うのだろう。
オレはそんな当て字をそんな当て字はは使いたくないな。はは   は  

.I oyed offendly infriendment.

もう
カゼ
ひき
たい

(23:14)
さいきん、ここにどうでもいいこと (どうでもよろこ) を書いていなかったので、 もう今日は (京都いう日は) あふれるくらいに (血管がブチ切れるくらいに) 真面目なことを書くぞ! それがおうした。

わかるカネ?

あんぐたは負け犬と 思はさしまようが。、あんたは暗転とは違う。(訳注: 違わないかもしれない、脚注。)

ある日あるところで恐しいことを聞いたのだが… (とこうして話ははじめる。タングステンの木も それをもってまったくわかっちゃいない)。柳の木はどうして名古屋を連想させるのだろう。 それはういろうだから? いや、いや、無心。虫酸とはヨシズ張りのことであるが、 それはそれで走るのか。(疑問ばっかり。疑問ばっかり百日草。)

<ppp>
あなたはこれを見て、そろろそ読むのやめようかな、と思っているだろう。 ところが、やめないのだ!<pppp>
なぜならそれは、この「pppp」のところが、目に見えるから。 (複眼でない人々が、大いなる宇宙線を占めてもなにも咎めない、質実剛健。)

オレはそんなわけで、3回噛むと使えなくなる歯のようなわけです。それは風。

あ、このこともう発表したっけ?

そうでない場合は 68ページ、そうでなくなくない場合は 9367.2ページを護憲のこと。

なぜなら秋だからでしてね。秋とゆうのは風のあまりふかない季節だが、 かわりにメガネは降る。5ミリくらい。そこかしこに。華氏子って? そしてそれは退席しないように注意しせねばならない。 かも堆積。どっちにしても、彼はシロツメクサが人民の敵であることに日本人としては 初めて気づいていた。だからその責任もない。責任もなければ人身事故もない。 それはそれは平和なこと。便所の玄関先にホコリがたまると (退・席・す る と!!) これは名前が変わり、ホコホコって呼ばれるようになるが、これは成長魚と一緒なのか。 いや成長魚じゃねえ出世魚だ。オラマタこりゃー改変なこったょねえ。 (i'm not a crazy, i'm notta crazie, )</smallllll> じょろっこ。ufzfguzfgzufgzzzufguzgzz.

そういえば便所のことを「べんどこ」と呼ぶのは世界でも日本人のオレ (と鈴木) しかいないようの気のする。 [ふいにオレはある場所をクリックしなければいけないような気がした。 しかし、その感覚はすぐに消えた。]

前方不徹底。

(23:47)
(以上のことからおわかりのようにオレは真に眠気をおして 日記を書いているわけなのですが、その理由はなにかというと、 ひとえに「眠気をためておけば貯金ができる」からなのです。 どならないでもらいたい!)

もっともっとつまんないことかいてやる。

Oct 18 [Wed]


(11:39)
Baby spinach 復活! 久しぶりに喰ったが、 「This spinach growed in NY.」という注意書きがついていた。 つまり、他のところのはまだヤバイということらしい。

(追伸) grow の過去形は grew だと思う。

(13:42)
きょうの SRG セミナーは電子投票システムの欠陥について。 米国のシステムはどれも私企業によって作られていて (とりわけ有名なのは ATM 製造で有名な Diebold が作っている AccuVote という機種である)、 その構造は秘密になっている。聞いた話によると、オーストラリアでは電子投票システムは オープンソースでなければならないという規定があるらしい。オランダでは最近、 あるハッカーグループが (電子投票システムがいかに脆弱であるかを示す例として) 電子投票端末にチェスをさせる という実演をして国じゅうでシステムを使用停止にさせた。これに比べると、 米国では信じられないくらいアホなことになっている。これは、部分的には 企業と政府が結託しているためである。カストロを連れてきてチェックさせろよ! 日本ではこのような議論はどれくらいあるんだろう? たぶん、ほとんどなさそうだな。そもそも、投票システムの信頼性・安全性は 実施方法とか集計方法をあわせて考えないとなんとも言えない。 単純なソフトウェアのバグも含めて、投票の開始から終了までには トンでもない数の落し穴があるのが普通だ。とーぜんのことながら、電子投票普及協会とかでは ふつう利点しか言わないので、だまされてる一般人は相当に多いものと思われる。

技術的なことがよくわかっている人間ほど、 テクノロジーをむやみに使うことに対して批判的なのは皮肉なことなのだろうか。 いや、オレはそうは思わないが…。しかしよくわかっていない人に 問題を問題として認識させるのが難しいことはたしかだ。 ここでいう「よくわかっていない人」とは、技術的なことがよくわかっていない人のことではない。 「人類はいつも必ず間違える (= 複雑なシステムをきちんと作って動かすことなんてムリ)」という 根本的な真理を理解してない人のことである。これは学校で教えられるものかどうかもわからん。

(20:58)
JSQ 駅前にあるイスラム教の宣伝。 どこの宗教団体がやってんだろうな、こういうのは。
(00:28)
Berkeley DB がヘンな場所 (うちは /usr/local/bsddb/current/) にあるので、 Python が _bsddb.so をつくってくれない。

Python-2.4.3/setup.py を見たら、うげっ。パス名が決め打ちだ。 コマンドラインから変更もできないらしい。しょうがないので、 db_inc_paths を直接書き換える。db.h のあるディレクトリ名を リストのいちばん最初に追加すれば ok。

ところで (てくるで)、この場合はいちばん最初に入れるんだから 「追加」っていわないよな。「挿入」が正しいのだろうか。 英語だと append に接頭語 pre- をつけた prepend っていう造語があるけど、 日本語だと「前加」になるんだろうか? いや、なんかヘンだ。

あいかわらず google はこの手の単語を正しく検索してくれない。 grep としての機能がなくなったらホントに google の意味がなくなってしまうでわないか。

てくるで… Python 2.5 じゃないのかって? いいえ、まだまだです。(何が?)

Oct 17 [Tue]


けさの Washington Mews。

(07:05)
さいきん、時差ボーの余韻か? 毎日よる 11時ごろにはネムネムになってしまい、 朝は 6時半ごろ勝手に目がさめるという生活がつづいている。 これはよきことだが、なんだかすでに年寄りくさい気もするな。 とはいいつつ、どうせ何らかの拍子にすぐまた夜型人間に戻ってしまうんだろうケド。

てくるで、ゆうべの nycbug-talk に流れていた話。 NVidia 製の blob にバッファオーバーフロー。 しかもリモートからroot取得可能。おめでとう! Xで異常に長い文字列をレンダリングさせると起こるらしいので、 Firefox でWebページ見ただけで発動ってこともありうるらしい。…まあ、どうせこんなもんだろ。 つまりTheo様は正しかったと。 NVidia とか、あれだけデカくなりゃ石の内部にもドライバにもバグあって当然だわな。 Theo様および OpenBSD が圧倒的にエラいと思うのは、その偏執狂的な単純さの追求である。 これに関していえば djb とも共通するのに、ふたりともライセンスの問題で仲たがいしているのは 残念なことだよ。これはたとえていえば立川談志と永六輔が仲悪いようなもんか。いや、ちがうか。

ちなみに新山のオフィスの PC には NVidia が載っているが、 以前からずっとオープンソースの nv を使っていた。 だいたい 3D 機能なんていらんもんね。

(14:26)
よろ

どうでもいいが (DDI)、Python で註釈つき SGML 文書を生成する非常にクールな方法を発見 (はっけそ) した。 SGML のタグは入れ子になっているため、生成するとき、 とくに閉じタグが連続して現れるときは開いたタグと逆順で出力しなければならない。 ふつうはスタックか何かを使って開いた順序を覚えておくのだが、 以下のようにすればずっと簡単に実現できる:

class SGMLDoc:

  def __init__(self, text):
    self.text = text
    self.id = 0
    self.anon = []
    return

  def add(self, start, end, tag):
    self.id += 1
    self.anon.append((start, self.id, tag))    # open tag
    self.anon.append((end, -self.id, '/'+tag)) # close tag
    return

  def dump(self):
    s = ''
    pos0 = 0
    for (pos,_,tag) in sorted(self.anon):
      s += self.text[pos0:pos1]+('<%s>' % tag)
      pos0 = pos1
    return s+self.text[pos0:]

doc = SGMLDoc('aargh!')
doc.add(0,5,'a')
doc.add(2,5,'b')
print doc.dump() # <a>aa<b>rgh!</b></a>

あれま? でもこれでは長さゼロの領域 (開きタグと閉じタグが同じ位置にある) で </a><a> のようになってしまいますね…。 どうしたもんかシラン。

(15:36)
ところで (てくるで)、キタキタ挑戦が大好きな言葉が「宣戦布告とみなす」であることは 誰もが認める真実であるが、日本にも「宣戦布告」って言葉が大好きらしい人がいるなあ。

どうでもいいが (どうでもよろ)、「ps占い」というものを考え出した。

$ ps x | grep grep | wc
       0       0       0
$ ps x | grep grep | wc
       0       0       0
$ ps x | grep grep | wc
       0       0       0
$ ps x | grep grep | wc
       1       6      36
$ ps x | grep grep | wc
       0       0       0
$ ps x | grep grep | wc
       0       0       0

たま〜に 0 以外になる。

(21:10)
python-workshop で DTK をいじる。 DTK というのは「Dan の作ったツールキット」の略で、その名のとおり Dan が作った。 CLI で GUI(?) をやるための curses ベースのフレームワークである。 日本語は使えないけど、Tk のような感覚でレイアウトできるのでいいかもね。 ソースもシンプルだし。なんだかんだいって CLI ベースのアプリケーションは まだまだ根強い人気がある。そりゃふつうの人にとっちゃそもそも GUI なんて 必要ないんだから当然だ。しかしこの雨のためか、出席率は悪かった。

Oct 16 [Mon]


(07:31)
寝ているあいだに唇が (乾いて) 切れてフトンが血に染まっているということはありませんか? この現象を、サスペンス小説赤い布団と名づけよう。 なぜ「小説」なのか? といえば、それは事実は小説のみが知る。
(09:16)
やばいもうねむくなってきたっ
(10:01)
そういえば先週の金曜日 (きにょうび) に、うちの学科でやっていた The Second Northeastern Verification Seminar というのに 顔を出してみたのだが、ひとつおもしろい研究があったのを書くの忘れてた。 それは時相論理を使って C. elegans の遺伝子発現を説明するというやつだ。

C. elegans は 正確に 959個の細胞からなる多細胞生物であり、その遺伝情報はすべて解読されているが、 1個の受精卵の段階からどの組織がどんなメカニズムで発現していくかはまだ詳しくわかってない。 1個いっこの細胞は初期段階ではどんな細胞にもなれる性質をもっているのだが、 これは一種の状態遷移機械であって、ある generic な細胞は隣の細胞からのシグナルを 受けとることで特定の機能をもった細胞に変化する。 これがさらに隣の細胞にシグナルを送って…というぐあいにして成長するので、 この生物の発現というのは多数のノードが互いに決まった順序で シグナルを送りあうことで起こる複雑な連鎖反応ネットワークとしてモデル化できるらしい。 しかも途中で一部の細胞が死んだりなくなったりしても回復できるように、 冗長性をもたせたプロトコルになっているらしい。 さて、ここでいろんな変異を起こしてヘンテコな成長をとげさせた個体の時間変化を示した サンプルがいくつもあるのだが、このような実験結果をすべて説明するような 「シグナルの送り方」というか、状態遷移の法則を発見できるかどうかが問題である。 これを LTL だか CTL だか (どっちを使ったのかは忘れた) を使ってモデル化し、 実際にこういう法則があるらしいことを発見しましたって話。

(11:48)
ああもうニベアの季節だこと。
(16:00)
<table border>
<tr><td>a</td><td rowspan=2 valign=center>b</td></tr>
<tr><td colspan=2 align=center>c</td></tr>
</table>
なるほどこうするとこうなるのか…

ab
c

(17:48)
ねむいなーー。でも今日は 7時から授業があんのよ。うるうる

さっきはまた Chen の攻撃を受けたが、今日はてきとうにやりすごした。 奴は明日、悪の帝国の面接があるんだ、といっていた。 おマエ、あそこ嫌いだったんじゃなかたけ? まあオレもわざわざ嫌いな会社に行ったから人のこと言えないけどな。 あの面接のときはたしか受け付けのイスにすわって「悪霊」を読んでいたことを覚えている。 はっきりいって、シャレのつもりで受けていたのでまったく緊張していなかった。 しかし面接とは往々にしてそういう「どうでもいい場合」にかぎって成功してしまい、 「どうでもよくない場合」には失敗することが多いようの気のする、オレの場合。 つまり「キリ・クルの法則」ってやつですよ。

PhD になると何が悪いかというと、給料が上がるかわりに 自分の専門分野しかやらせてもらえなくなることである。新山の場合、 すでに「自然ゴンゴ処理のセンモンカ」というレッテルをはられてしまっているために、 webサーバの障害検出とかをやりたいと思っても「あんたの専門じゃないからダメです」と 言われてしまう。高い給料を払ってるんだから専門をやれということらしい。 安い給料でいいから別のコトやらしてくれー、といっても、大企業ではそれも難しいらしい。 だから学部や修士の連中には「なるべく今のうちに いろんな分野のインターンをやっといたほうがいいぞ」と言っている。 こんな終わった分野の専門家扱いされても先はないからね。 ほんとに。

(21:51)
あしたはもっと早く返ってグリセリン買わなきゃ。

あーちくしょう、ナベヤキうどんの長ネギが食いたい。 スキヤキの長葱じゃない。 ナベヤキうどんに入ってるやつじゃなきゃやだ。

Oct 15 [Sun]


(07:36)
また今朝もサムい。秋ねえ…。

てくるで、写真を整理していたら、 新山がインターンした某社をこっそり撮影したやつがあった。

アホなオフィス。

いちおう秘密保持のためにモザイクをかけてあります…。 なお、そのご会社が別のビルに引っ越したため、 このオフィスは今現在もう使われていないことが明らかになっている。 ちなみにこのノートはただの大学ノートだし、 横にあるマグカップはモザイクがかかっているが 実は新山がもってきた NYU印のマグであり、秘密なことは何もないんだが。

ちなみに昨日の写真はこれ。 天井直撃のチョーー外野席だったことがおわかりいただけるだらう…。 ちなみに中央に光っている文字は「携帯の電源切ってね」と書いてある。

(11:25)
いま知ったが、日本にはいまだに「理系」「文系」という意味不明な区別があるらっし。 新山の理解するところによれば、理系とはオレのような人間のことであり、 また文系とはオレのような人間のことをさすらしい…。 って、これじゃ占いと同じじゃん! どっちをとってもあてはまるんだから。 ちなみに新山は星座を尋かれたときはいつもかならず "Gemini (じぇみない)" と答えるようにしているが (なぜなら双子座が好きだから! 生年月日は関係ない)、 星座占いというのはまず「自分の星座 → 性格」のマッピングをふつうのやり方で 使ってはならない。逆向きのやり方で使うのだ。 星座によって自分の性格が決まるのではなく、 自分の性格によって星座が決まるのである! しかしいろんな星座占いを読むとオレはほぼすべての星座をもっているようである。 動揺に血液型占いもすべての血液型にあてはまるので、 血液型占いは輸血のさい血液型を決定するのには絶対用いてはならない。 ひどい話だ!

…さて、理系文系の話にもどると、これをこんなに厳密に区別してるのは今んとこ 日本だけなんで、こいつはぜったいアメリカの陰謀だよ。 じっさい、日本の社会ではこの二分法は差別と密接に関連しているから、 この対立構造を続けたい人は沢山いるのだと思われる。 たとえば世の中には「理系 = 論理的 = 男」「文系 = 感情的 = 女」というしょうもない理論 (?) を 信じている人が存在するので、あとは理系と文系にいろんな属性をくっつけちゃえば、簡単に 「○○○は×××に向かない」という差別理論のできあがりだ。 日本ではアイドルとかも一様に「嫌いな教科は数学」というような風潮があるような気がする… が、これも「数学が好きなやつは女らしくない」という世間の一般論を利用した マーケティング戦略だよね。しかしH嬢なんかに聞くかぎりでは、中国でも同じような 風潮はあるようである。だが、日本のほうがその区別はずっと強い。いや、なんしろこういう 二分法ってのは強いからなあ。わかりやすいし。「わかりやすくてそこそこ正しい理論」というのなら、 そういうのは普及していいと思うが、一時はやった「猫よけにはペットボトル」みたいな、 「わかりやすくてチャンチャラおかしい理論」というのは、 もうこれは一旦普及してしまうと手のほどこしようがないほどヤッカイ。 まあ、ヒトラーとかはその手の理論を作る天才だよね。

(16:51)
のろのろとした一日 (いにちに)。

どうでもいいが (どうでもよろ)、 さっき oogle でうっかり「理系 文型」で検索したのだが、 yahoo だとこれは「理系 文系」に訂正されることに気がついた。 ま、ホントにどうでもいいな。しかし yahoo がこのように 激遅くて余計なモンをいっぱい表示するのでなければ、 日本語の検索にはこっちをデフォルトで使いたいところではある。最近。 しかし、もっといえば、wikipedia があれば検索エンジンはじつは ほとんど必要なかったんじゃないかとすら思えてきた。 いかなる情報技術も人海戦術には負けるのである。

(22:37)
「他人の無知につけこむ商売」というのは、 まだ一般にあまり知られていない知識をもったいぶって小出しにすることで 稼ぐため、これは一種の利権商売と考えることもできる。 そういう人間にだけはならないように気をつけたい。 一部の「研究者」とよばれる人々も、まさにこれとおなじことをやっている。 新山のように意志も弱く脳ミソも少ない人間が稼ごうとしたら、 このやり方が一番“ボロい”ことはよくわかっているのだが…。

あぁ、寝よう。

Oct 14 [Sat]


(10:28)
寒くて目がさめました。よ

ゆうべは H嬢がすすめる「rice soup」を食いにみんなで Bowery にある 中華料理屋へ行った…ら、"rice soup" とはお粥 (rice porridge) のことだった。 中国語でいえば zhou ですね。ちなみにオレは中国的粥の大ファンだ。 店の名前は「粥之家」という。直球ですな。ちなみに新山は カタツムリと蛙入りの粥を注文した (本 当)。ウマかったが、 その他の皿料理を頼みすぎて 7人いても消費できず。

まえに北京に行ったとき、宿泊には大学宿舎を使っていたが、毎朝食堂で出される あったかいおカユ (日本のものよりも水っぽい) と漬物のコンビには つくづく惚れこんだものだった。同室のやつと起きて「んじゃ、朝飯いっか」といって、 のろくさと食堂に向かうのだが (早起きして太極拳に参加してる奴もいた)、 朝の混雑した食堂の中でお粥というのは 非常にノドを通りやすく、そのあとジャズミン茶をのんでいるといかにも 中国人の生活にとけこんでいるような気分になり、シアワセになる (で、そのあとまた眠くなるのだが)。あれがコーヒーとパン食だったりしたら こうはならないだろうね。一応、食堂にはコーヒーとパンも用意されていたが、 案の定それらはマズかった。たぶんこれは中国でも日本でもそうだが、 たいていの食事、とくに朝食は伝統的で質素 (これが重要) なもののほうがいい。 変にシャレっ気を出すとろくなことにならないのである。 とかいいつつ、新山の実家では伝統的に毎朝パン (自家製) とヨーグルト (自家製) と コーヒー (他家製) であるわけですが…。まあ、朝からコメを炊くのは大変だからな。

ちなみに中国語の勉強は全然進んでない。

(13:26)
自分の夢に気をつけるべきだ。 なぜなら、それはいつの日か本当に実現してしまうかもしれないから。 そのときになってこれは自分の望んでいたものではなかったと言っても、 すでに手遅れである。
(00:38)
また夜帰りだゼ。遅すぎる。

きゃふは某氏のメモリヰ・リヰク問題で 2時間ぐらいつぶされたあと、 鴨葱ホール。今週は一週間のあいだに 2回もピザを喰ってしまった。 これはこれわ呪われそ。

(追伸) わかったか。つまりわかったか、オ・レ・ハ・オ・ト・ナ・な・ん・だ・よ。 わかったか。よおするにそおゆうことた。わかったか。わらからったか! ちょっきんナーーーーーーーー
ーーーーー

(追々伸)
あの人は、ああいう人たちは、メンツさえつぶさなければなんでもやってくれる。 すばらしい生命体であると言えよう。まあ、バカだけど、他の人は内緒だよ。 自分が立ち上がるとまわりの世界は立ち下がる。 よくわからんがそういうことだ。そゆこと。

Oct 13 [Fri]


(07:22)
どーーりで寒いと思ったら、外気温は 4℃。
(08:22)
大学に来ると月曜日に H嬢からもらったガーベラがヘナっていた。 同じく月曜日に自分で買ってきたアルストロメリヤはまだ一枚も散っていない。 オレは、ガーベラは、嫌いなんだよ! しかし、メリヤ君も好きかと言われれば、 実際にはそうでもな (い)、 というのが本当 (ほんtぅー) のところだ (てくるなのだ)。 ただしこちらの花屋にはこぢんまり生けられる花がヒジョーに少ないのよ。 どいつもこいつもみんなバケモノみたいにデカくて重い花ばっかり。 なので、小さい花は限られてしまう。しかし新山は植物に関する知識がほとんどない。 これはいずれなんとかしようと思っている目標のひとつ。

ふいに GPS が電源低下を知らせ、画面がくずれる。 (警告が wall で端末にブロードキャストされるため)

てくるで新山が最近買うヨーグルトはもっぱら DANNON の All Natural Low-Fat Yogurt だ。こちらに来て数十種類のヨグ〜ルトをためしてみた結果、 こいつがいちばんマトモだという結論に達した。砂糖が入ってないから甘くないし、 こちらの (lowfat でない) ヨーグルトにありがちな牛臭さもない。 しかし小岩井ほどうまくもないけど。パッケージに "No Artificial Anything(R)" と書いてあるが、こんなんで登録商標かい!

(09:25)
人間は顔を認識する能力がズバぬけて優れているという話。

たとえば、目の前にあるキーボードを見てもらいたい。 その中から隣りあって逆三角形になっている 3つのキーをえらぶ。 たとえば S、D、X でも 6、7、Y でもいい。 するとこれら 3つのキーは顔に見える。いや、ただ見えるだけではない、 これはすでにもうなのだ! つまり、あなたの目の前には何十という顔があって、 みんなこちらを向いており、それを指で叩いていることになる。 ここで後をふり返ってみよう。たぶん何もいないが、また前を向くとそこには 顔があるのだ! あなたが後を向いているとき、こいつらは一斉に何事かを あなたに向かって叫んでいるのだが、前を向くとそれらは止まってしまう。 これはとてもおそろしい。これがおそろしくなくて何なのか。 ちなみに、世の中にはいい人イヤな奴の 2種類しかいないよ。

(10:00)
こんなのが欲しいんだよな。 存在しない要素に代入すると自動的に伸びてくれるようなリスト。
class elist:

  def __init__(self, a=None, default=lambda :None):
    self.default = default
    self.a = a or []
    return

  def __repr__(self):
    return repr(self.a)

  def __len__(self):
    return len(self.a)

  def __iter__(self):
    return iter(self.a)

  def __contains__(self, x):
    return x in self.a

  def __getitem__(self, i):
    if i < len(self.a):
      return self.a[i]
    else:
      x = self.default()
      self[i] = x
      return x

  def __setitem__(self, i, x):
    if i < len(self.a):
      self.a[i] = x
    else:
      self.a.extend( self.default() for _ in xrange(i-len(self.a)) )
      self.a.append(x)
    return

こうなる。

>>> a=elist(default=lambda:elist())
>>> a[4][4]=1
>>> a[1][1]=3
>>> a
[[], [None, 3], [], [], [None, None, None, None, 1]]

ホンマに疎なリストだらばリストのかわりに dictionary を使ってもいいかもしんない。 しかしそうすると今度は iter が難しくなる。 こういうクラスは本来わざわざつくる必要はないのかもしれないが、 こうすることで余計な添え字チェックが必要なくなって、 ロジックが簡潔になる。

プログラミングをするとき、いつも決定的な要素となるのは抽象化だ。 これがなぜ大事かっつうと、結局のところそれは抽象化によって 複雑な事柄をより単純な言葉で語ることができ、 つまり比喩的にいえば「比喩を使うことができるようになり」、 それによって「自分が考慮に入れなきゃいけない複雑さ」を狭めることができるからである。 プログラミングが下手な人 (例: へれん) のコードを見ると、 このことがまるでわかっていない。こういう人々は 自分がよほど頭いいと思っているのか…。構造化プログラミングにせよ オブジェクト指向にせよジェネレータにせよ、 すべてのプログラミングモデルの究極的な目標は同じだ。 なるべく考えなきゃいけない範囲が小さくてすむように、言いかえれば なるべく人間が「バカでいいように」発展してきているのである。 よく「コードの再利用」が目的のように言われるが、それは副次的な目標でしかない。 ただし抽象化を達成するためには、その抽象化された部分は本当に どんな場合でも抽象的に扱えるようになっていなければならない (つまり、その下にある低水準のしくみを考えなければいけないような実装では、 まだ「考えなきゃいけない範囲」を十分に減らせてないことになる)。 一般化が必要だというのはそのためで、たとえ十分に一般的なライブラリでも 抽象化が十分でなければ (そんなケースが実際にあるとはあんまり思えないが、 この 2つは主観的な尺度だし)、それはダメなライブラリということになる。

プログラミングで「高速化が難しい」というのは、抽象化されたものの下にある実装を 考慮しなければならなくなるためだ。たとえばファイルにアクセスする シーク時間を減らすためには、データに適切な順序でアクセスする必要があるとしよう。 しかしこれは「ファイルオブジェクト」をメモリと同じように抽象化されたものとして 考えている時には現れなかった問題で、高速化を意識しだすとこの抽象化された 意味づけを壊さなければならない事態が生じる。これは抽象化の部分をかしこくすることで (たとえばキャッシュを使うとか) 解決できる場合もあるが、そうでない場合も多い。 そもそも最初から抽象化の方法が間違っていたのかもしれない。 いくつもの制約を同時に満たせるような抽象化のやりかたというのは そもそも存在してるのかどうかもわからず、結局は試行錯誤の連続になってしまう。 アスペクト指向で解決できるほど簡単じゃない。

(19:09)
とーぜんオレは Freedman, Pisani, Purves の教科書のファンですよ。

Oct 12 [Thu]


(10:26)
そろそろ baby spinach が食いたいと思わないかい? なければカイワレ大根でもいいよ。 そういえばカイワレ大根は英語でなんと言うのだろう? こういう英語であんまり馴染みのない名詞や専門用語を訳すときは Wikipedia が非常に役に立つのだが、「カイワレ大根」っていう エントリーはないなあ。Sprout Daikon というのだろうか?
(11:08)
I am not lazy. I am an effort minimalist.
(11:46)
今日の下世話ニュース。 Hans Reiser 逮捕される。 Hans Reiser って、あの ReiserFS の? だよね…。

キョークン: 有名なハッカーでも殺人をすることがある。 (あたりまえか)

(15:42)
よぅーーーやく websudoku の Easy で 5分台のタイムを出した。 つかれた。眠気さましのためにやったのだが、終わるとすんげく体力を使い果たしてしまい、 気分をリフレッスュするどころか、なおさら疲れる。やるんじゃなかった。
(21:01)
ところで (てくるで)、@classmethod をつかった関数を pychecker をしてわかったんだけど、クラスメソッドの第一引数は self でなくて klass にする慣習があったって知ってた? オレは知らなかった。この 2秒間というもの。

てくるで (ところで)、 Python 2.5 ダウンロードした? オレはまだしていない (rc さえ見ていない)。この 3秒間というもの。 今回はとくに欲しい機能が追加されたわけでもないので、 しばらくは変える必要がないと思わせる。そういやー じつは OpenSSH 4.4 もまだダウンロードすらしてないというのは秘密である (マニュアルは CVS でとってきたやつを訳した)。

(22:22)
ネットが普及すれば利権商売がなくなるかと思ったら大間違いだ!!

つうか、間違いなく前より陰湿になるだろうね。 大間違いなく。

(22:50)
NYCBSDCon で学割があるかどうかでモメているときに ある人のいわく「この手のイベントが成功するかどうかは、ひとえに 参加費を圧倒的に安く (= 要するにタダに) できるかどうかにかかっている」。 もちろん値段をどうするかは目的と内容によって違うが、 BSD を「普及させる」ことが一番の目的だとすれば、 ビンボー学生などをとりこむのがてっとり早い。 しかし、これをやるためには企業をスポンサーとしてとりつけることが不可欠である。 BSD は Linux と違ってこれがあまりつきにくい。

まあ、BSD の人々にとっては「普及させる」ことは一番の目的じゃなさそうだが。

Oct 11 [Wed]


(09:28)
よぅーやく時差ボケから解放された。つまり寝坊した。 時差ボーからもとに戻るまでに 1週間近くもかかるとは、オレも歳をくったもんだぜ。

おれはカツゼツが悪い。濃縮還元反対!

ふと考えたのだが、 動画配信ビジネスが一般化すると、たぶん MS とか Macromedia とかは 動画フォーマットをもっと (暗号を使った) 厳密なものにして、 CM 部分が絶対にスキップできないようなプレイヤーをつくるだろうなあ。 (その部分を改変するのは DMCA により禁じられている)。

(11:44)
それにしてもつくづく思うんだけど、 世の中には「自分のやっていることはスゴイ」と思わせたがる人が、 どうしてこんなに多いのだろう。これは学術的な分野だけでなくてもあてはまる。 ブラフな技術ばっかり発展しちゃって困りますなあ。 機械のクローズ化、ブラックボックス化にともなってこの現象はいっそう加速される。 今のところ陳腐な言い方しかできないので、このことはまたあとで考えよう。
(14:43)
雨ふんの? ふらんの??
(17:08)
ドシャ降ってる。おいおいーー。どうしてくれんだよ。 カサ持ってないぞ今日は。
(18:14)
やれやれ、ひどい雨だったよ。例の事故さわぎで 一時地下鉄が止まってるとか聞いたが PATH は動いてた。

それにしても、トップニュースでやるようなことか?? nytimes のようなローカル紙でやるのはわかるが、 日経にまで書いてあってアホかと思った。オマエらはこんな世界の辺境の チンケな火災事故よりほかにニュースすることがあんだろーと。

(00:44)
うわーまた降ってきたっ! しかも派手にカミナリつきじゃよ。 まあ、新山は雨が自分に降ってこられるのは嫌いだが、 外でドシャ雨が降っているのを安全な場所にいて見るぶんにはけっこう楽しめる。 雨粒が屋根や車にパサパサと当たっているのは見てて飽きない。 明日から一気に最低気温が下がるようなことが書いてあるが、 この雨はホントーに朝になれば止むんかいな。 どうもこの季節の天気ヨホオはいまいち信頼できない。

ところで、きょうは Nikos たちのやっている「反検閲システム」の話を聞いたが、 P2P による反検閲システムで問題なのは、悪意あるノード (= 政府) を どうやって増えすぎないようにするかということだった。つまり、だれかが P2P ネットワークを 力ずくで止めようと思ったら、悪意あるノードを沢山参加させてシステムを事実上 使用不可能にできるようではマズイのである。それから、複数ノードが協力して匿名の 使用者を簡単に特定できるようにするのもまずい。こうした問題に根本的な解決策というのはないのだが (政府が莫大な予算を投じてネットワークを全部登録性にしたら何をしようがオワリである)、このシステムの主眼は 「完全な反検閲システムを作ること」ではないという。ここがおもしろかった。 中国ではほとんどの人が「検閲が実際に行われている」ということすら知らない。 これは政府が検閲システムをインフラの下に完全に隠しおおせているためである。 反検閲システムの目的はこれを暴きだし、政府が各個人の計算機に踏み込まざるをえないような 状況にさせる (その結果、多くの人は政府が検閲をしているという事実を知ることになる) ことだという。 各ノードは局所的な情報しか保持しないので、P2P の使用を全面的にやめさせようと思ったら 多くの人に気づかれるような方法をとるしかない…というようにプロトコルを設計するのである。 少なくとも、「検閲されているということを知らないで検閲されている状態」と、 「検閲されていることを知っていて検閲されている状態」では、後者のほうがよほどいい。 P2P を使っている人の多くは、これが「社会変革のツール」という側面もあるということに 気づいていないことが多いけれど、ここではその側面をもろに利用して、 ほんらい計算機システムにとって「外の事柄」を動かすために使うというアイデアは 斬新に思えた。そうするともうこりゃ計算機科学だけの問題じゃないけどなあ。

(01:44)
わかってますって。

Document ID: 1efba875f3eb8f454ce060aafbe5a4dc

Yusuke Shinyama