2005年 2月 (2)。

Last Modified: Sun Feb 20 23:16:40 EST 2005 (02/21, 13:16 JST)

Feb 20 [Sun]


(14:00)
← しまる ・ あく →

(追記: しまったぁああ! こういういいネタは上の「一行欄 (←勝手にそう名づけている)」にすべきだった!)

(14:27)
「たいがいにする」を「たいていにする」という言い方があるとは知らなかった。
(16:51)
8st. の Le Pain Quotidien ですこし奮発してピーチタルトを買ってみた。 が、値段ほどにはうまくはない。皮が固くて箸で切れないでやんの。 ここはコーヒーはまあまあなんだけどね。

今日もあいかわらづ寒ひが、それほど薄暗い天気ではない。 どうでもいいが、新山はやや霞んだ空にながれるすじ雲が好きだ。あと、うろこ雲も。 とくに 5番街のビルの谷間から見える、縦に長細い空のあいだにすじ雲が泳いでいると、 それがまた水彩画のように見え、はるか彼方まで世界が続いているのが感ぜられる。

ああ、ブログロ風。

(17:52)
google://よー面、よー面。/
(19:02)
float の小数部分だけとりだすにはどうやるんだろう? もちろん x - int(x) とか math.fmod(x, 1) でできるのだが、Python の癖からいって、この手の操作には古くからの 組み込み関数がありそうな気がする。でも abs とか round はあるのに 小数部分だけってのはないのな。変なの。使いみちがすくないからか。

てくるで RFB 部分の実装がほぼ完了した。これで vnc2swf.py のための基礎技術はそろった。 ついでに vncrec 相当の機能もとり入れた。こうなると VNC は単にネットワーク上からの 画像入力デバイスのひとつにすぎなくなる。つまり、vnc2swf は

{vnc, vncLog(vncrec形式), swf} (+ mp3, png, etc.) → swf

という変換操作をおこなうプログラムになるのだ。とうぜん 100% python (+pygame) なので Windows 上でも動くはず (GUI をどうするかは今後の課題だが)。 もともと、スピードの問題から Python で書く気はなかったのだけど、 pyvncviewer というのがあって、これは Twisted と Pygame をつかって書かれている vnc クライアントなのだが、 やってみたらそこそこ速かった。「あれえ? いけるじゃん」つうことで、 RFB の仕様書を読んでみるとこれがえらく簡単で、べつに Twisted を 使うまでもなくて、まあそういうわけです。 ちなみに、そう思ったとき書いた日記がここね。

一度やってみたいのだけど、 プログラミングコンテストなどで この手の画面キャプチャーをつかって複数の参加者の画面を合成し、 制限時間内でかれらがいかにコードを書いていくかを比較してみせたらおもしろいだろう。

しかし、われながら、平凡なアプリケーションつくってるよな。平平凡凡。花鳥風月猪鹿蝶。

(21:43)
JSQ についてみたらしんしんと雪がふっていた。さむかりける。

リゾットだと? 雑炊と言え!

(22:35)
きょうあらためて思ったこと。 学術的な研究のおもしろさとゆーのは新しい問題を発見したときに生まれるものであって、 それが解けるかどうかはあまり重要ではない。

こう考えたのは TaOS というオペレーティングシステムに関する論文を読んだからである。 まだいっぱい書きたいんだけどねむくて以下 todo

Feb 19 [Sat]


(09:47)
誰かが lisp 実装の話をしていた。ソバを食いに行こうという話になった。 海はなぜかお風呂のように熱く、丸い石をさがすのは大変だった。

今朝みた夢を順を追って話していくとこうなる。

それにしても夢の中では日本人も米人も出てきたが、 かれらはいったい何語で会話していたんだろうか?

(12:24)
nytimes が podcasting について取り上げている が、これってそんなに大したことかあ?
(13:36)
フジ、ライブドアにTOB協力要請・ラ社は拒否 (20:48)
TOrakkuBakku?
(14:08)
ふと、「姓と名がお互い文字の並びかえになってるような姓名 (例: アラキ アキラ) っていくつあるんだろ?」と思い、簡単に実験してみた。 まず以下のような Python スクリプトを作成し、ipadic/Noun.name.dic を食わせる:
#!/usr/bin/env python
# -*- encoding: euc-jp -*-
import fileinput, re

dic = {}
PAT = re.compile(ur'[\u4e00-\u9fff]')    # kanji
for line in fileinput.input():
  f = unicode(line.strip().replace('(','').replace(')','')).split(' ')
  (t, w, y) = (f[4], f[6], f[9])
  if len(y) < 3: continue
  if t not in (u'姓', u'名'): continue
  if not PAT.search(w): continue
  yc = list(y)
  yc.sort()
  k = ''.join(yc)
  if k not in dic: dic[k] = []
  dic[k].append('%s:%s(%s)' % (t,w,y))

for (k,v) in dic.iteritems():
  sei = [ w for w in v if w.startswith(u'姓:') ]
  mei = [ w for w in v if w.startswith(u'名:') ]
  if sei and mei:
    print ' '.join(sei), 'x', ' '.join(mei)

これは姓と名に同じ文字が使われていれば、文字コード順にソートしたときに 同じになるはずだという原理を利用している。

で、その結果 (面白そうなやつだけ抜粋) :

小浪 美奈子 (こなみ みなこ)
穂積 みづほ (ほづみ みづほ)
鶴見 満 (つるみ みつる)
桝谷 保馬 (ますや やすま)
成本 斉朝 (なりもと なりとも)
木塚 香月 (きづか かづき)
三好 芳美 (みよし よしみ)
迫田 さだ子 (さこだ さだこ)
秋定 貞明 (あきさだ さだあき)
青木 昭雄 (あおき あきお)
小本 トモコ (こもと ともこ)
三岡 勝臣 (みつおか かつおみ)
佐伯 咲恵 (さえき さきえ)
江本 巴 (えもと ともえ)
北道 民吉 (きたみち たみきち)
狭山 昌也 (さやま まさや)
秋吉 義明 (あきよし よしあき)
小中 佳奈子 (こなか かなこ)

実際には、「人見 ひとみ」のような姓と名が同音のものも取れてしまうし、 あまり名前っぽくない単語が姓と名の両方にふくまれていたりして、 完全におもしろい名前だけはとれない (たとえば「春町」は姓と名の両方に入っているし、 「姓:小番(コツガイ) x 名:外骨(ガイコツ)」なんてのも出てくる)。 でも ipadic の固有名詞はほとんど実用にならんが、オモチャとしては果てしなく遊べるのう。

(17:46)
むふっちょ (てくに意味もなくやる木もねいので、ふと記してみたりする文字列の一片かつ断片)
(23:31)
作家は小説の主人公に自分自身を投影する。 ところでプログラマーは自分のコードに自分自身を投影することができるだろうか?

どうぞ、どうぞ!

(01:12)
またコイツか…
(03:56)
www.yomiuri.co.jp の HTML:
<!-- ★ブラウザによってトップニュース見出し上下の罫線の出し方を変える★ -->
<noscript></tr></table></noscript>

くそっっっったれ。<noscript> もネストしてないのか。 どつぼ。 (まあ予想はついていましたが)

HTML 文書を DOM として保持するのはもう不可能なんじゃないかというがしてきた。 むしろこれは「いいかげんに開いたり閉じたりするタグの集まり」として解釈すべきなのカモしれない。

つうか、こういう物理的実体のない要素はむしろ <? ... ?> と似たような 「パーザへの指令」として解釈し、じっさいの DOM はそれらの場合分けが 終わったあとで (つまり noscript なんかは除かれた状態で) 作るのがただしいやり方のような気がする。 しかし、それでも「浮いた form」の問題は存在するよな…。

もう今日はネムすぎてだめ

(04:49)
シャワーをあびたらまた元気になった。 が、もうコードを書く気力はさすがにないので論文をよむことにする。

“私はもっとも頭のいい時にプログラムを書き、 それほど頭のよくない時に文章を書き、 いちばん頭がよくない時に論文を読んだ”

ああ、アホらしい。

Feb 18 [Fri]


(12:26)
けさは久しぶりに寒い (もう朝じゃないけど!)。
(13:33)
嘘いつわりなし。

てくるで、"forward security" は日本語でどう訳すのがいいんだろう。 openssh のマニュアルを翻訳した当時、新山はこの言葉が専門用語であることをわかっておらず、 「進歩したセキュリティ」などと訳していた。 しかし、いまになってみるとこれは間違いだが、 あらためて検索してみても forward security の 訳語は見当たらない。AC には書いてあったっけ? とりあえず「将来的な安全性」とか訳しておけば平穏か。 しかしこれだけでも何のことだかよくわからない (もともと英語でも意味はよくわからんのだが)。 そもそも、ここで "security" という単語を使うのはあいまいである。 "forward secrecy" のほうが状況を正しく言いあらわしていると思う。

(追記: AC にも訳語は使われていなかった、そもそも forward secrecy に関する説明があまりない。 EKE とその拡張 [Bellovin, Meritt] についての記述はあるが、 「古い K を復元したときの攻撃を防ぐ」と書かれている)

(17:02)
そもそも -Wall -Werror をつけてコンパイルできないようなコードは全部ダメなんだよ。

ちなみに新山の専門は自然言語処理です (いちおう、対外的には) 。

(19:45)
ふうーーー やっと ACL と CLISP で結果に違いがなくなったぞ。 最後のバグは自分で勝手に導入した関数 startswith に 渡す引数の順序が間違っていたというアホきわまる原因であった。 Lisp きらい。結局、subseq すべてをフックして ACL と完全互換なふるまいにするようにして むりやり解決。

で、このプログラムが何をするかというと、下のような文章を解析して、 こんな意味構造をつくる

Flight attendants for America West Airlines neared a strike Friday, rejecting binding arbitration with the airline over salary issues.

"attendants" が "near" と "rejecting" の両方の主語になっていることに注目。 修飾・被修飾の関係もきちんと解明されている (じつは一か所間違ってますが)。 また、この例ではわからないが、GLARF のすばらしいところは 並列構造を非常にきれいなやり方で扱うことだ。でも、コードはめちゃくちゃ汚いけどね。 ここに言語「学者」と計算機「屋」の違いがあると思う。 しかし、素性のよくわからんデータを一生懸命いじくって 「精度が数パーセント上がった」とかいって喜んでる人々よりは、 ちゃんとこうした言語学的なバックグラウンドがある研究のほうがどう考えてもまともだ…。 というか、ある学問分野の「まともさ」というものについて考えさせられる。 Proceedings を見ればそのテの研究ばかりが幅をきかせている学会に魅力ってある?

あー、そうだ。よく見たら、矢印の向きは逆にすべきだったかもしれない。

(21:43)
今日は一日ブルサムかった。てくLで。

おんなじこと考えている人は沢山いるということの証明:

google://Mac Mini 弁当箱/ (5,170)

Feb 17 [Thu]


(06:48)
よだれについて。口からよだれが出るのはバッファオーバーフローが起きるのと同じ原理だろうか? つまり、よだれはゼロとみなすことができる。
(11:44)
“いやあ、もう、「これもん」で。(意味のわからない仕草と表現 × 2、3階)”

ふと思ったんだけどタルタルサイエンスというのはタルタルソースをいつ かけるかあるいはまたその成分はとかに的をしぼった科学という意味だろう
か?

tkrd、
安いくつしたを買うとなぜダメなのかがわかった。ゴムがのびてすぐにユルユルになってしまうのだ!

(14:36)
そもそも新山は「散発的に、発作的に仕事をする」傾向があり、 そのため気分がのったときは爆発的に研究が進み、そうでないときにはただ死んでるだけ、 といった状態が発生する。 これはまともな社会人になるには改めなくてならない勤務態度だ。 まともな社会人とは、つねに、一定のペースで、50% 創造的かつ 50% 凡庸でなければならないのだ…。 ぼにょうって何。

ピザの海? それとも海のピザ?

ひとつの今日たるハッケンをここにお記ししよう。それはいままで、新山が 「うるさがた」という人種のことを、「うるさ方」と書くのだと思っていたと思っていたと思っていたと、 いう、とこである。ところが、それは、ちがった。大辞林に、よると、「うるさ型」に、なっている。 いや、なっていた。すくなくともいまのところは。てくるでだ。

世の中御用の方 (かた) が多いのである。かたではないぞ。ホーだぞ。 ホ↓ー! ひとつ注意。ここでひとつの注意。 この「ホ↓ー!」の使い方は標準語のそれと同じではない。 ひょじゅん語のホーは数学的厳密敵には「ホ↑ー」と記述し (denote)、 これあはふつう語尾末尾が上がるが、長野では下がる。 そしてそしてこれは「ほら」或いは「ほれ」のような意味にとられる。 つまり「ハサミ貸して」「ホ↓ー! これ」のように使う。 ここで良識ある人はオラホウを認識するがそれは連想ではない。 以下長文。

(16:19)
オレの右目はさいきんつねに二重だ (左目は 1.5重である)。 鏡にうつっているそれを見ると、右目なのになぜか右側にある。 アレ?? おかしいな。鏡の世界では左右逆になるはづだから、 本当は右目は左側にくるはずじゃないのか? なぜそうならないんだ!!

(あなたへの注意: わざとです)

(17:17)
おおおおーっ! いま 171717 だ! (こんなことで感動モノ人生っていいね)

どうでもいいが、別に新山は Wiki のエキスパートではないのだが、 なぜか moinmoin を使っているというだけでこのあたりではそう見られるらしい。 システム組の連中から、セキィリティとユーザ管理をちゃんとやってる Wiki って知ってる? ときかれた。 ユーザ管理をちゃんとやりだしたらそれは もう Wiki じゃないだろうと思うのだが、Plone をすすめておく。 といっても新山もほとんど使ったことないのだが…。 しかし Wiki やら Plone やらのセキュリティ意識が彼ら system people のポリシーに沿うかどうかはなんともいえんがね。 だって連中はみんな OpenBSD ユーザーなんだよ? 「こんな危険なモン動かせるか、ばか!」と言われそうな気がする。

(22:06)
あれからだいぶ時間がたったような気がしたが、まだ 10時か。

雪がふったようだ。道路はつめたく湿っている。 今日は午後からちらついていたが、ちょうど幸運にも新山が外出していたときだけは 降っていなかったらしい。久しぶりに底冷えのする一日だ。った。さて。

Feb 16 [Wed]


(10:11)
じゅっ。

“地獄の沙汰も SATA RAID”

オヤギャグ注意報 !!

てくるで、思うでのすが、オレの使ってるフォントだと「!」っていう記号が鉛直に上を向いててつまんないよな。 スピード感あるれふ驚き (なんだそ) の場合は、「!」のようにナナメに なってるほうがいいのだ。だが、斜体にしただけではいまいちパンチが弱い。

(12:08)
憂鬱な未来に関するニュースを発見。 A New Model Army Soldier Rolls Closer to the Battlefield (新しい陸軍ロボット、実戦投入近し)

まあ、どうせこんなのは、今後しばらくのうちはただのコケおどしに過ぎないだろうが (今までもそうだったでしょ?)、 いかにもアメリカンが喜びそうなことだと思う。 なにしろ、缶詰を切るのにわざわざ電動の機械を使うアホンダラだからな、こいつらは。 「将来的にはが一人も戦闘で死なないようにするのが目標」だってサ。 ちなみに彼がいってるというのはアメリカ人のことだからね。 だからこの国は 70年代から AI 研究に莫大な金をかけてきたのだ。しかし、TSS の発展も GNU の登場も間接的には国防総省のカネによって生まれたといえるだろうから、オレとしては全部が全部 間違いだったとは言えない。けれども、いずれはへっぽこロボットが実際に戦場投入され、 さらに金と時間 (と、バグによるアメリカ人の人命) がムダになる日は近いだろう。 べつに 12歳の子供が抗うつ剤のんで祖父母を射殺したとか、炭坑で何百人死んだ、とかいう ニュースにはたいして落ちこまないが (いや、多少は落ちこむが、それはもう起きてしまったわけだし)、 こういうニュースは将来にわたって落ちこむ下り坂を保証するので、確実に憂鬱度。

まあ、オレは、ロボットが本当に (人間のコントロールを超えた) 脅威になるまえに、 さっさと死んじまうことにするぞ。もし、生まれかわるほど十分に罪深くなければ、 そのまま土になれる可能性が高い。

土葬だって?

(14:07)
また Where's George? のお札をひろった。Univ. Pl. にあるデリでコーヒイ買ったときにもらったのだ。 それによると、このお札は 3ヵ月前に Inglewood, CA で確認されたことになっている。 けっこう動いたな。

研究 todo:

(16:56)
この時間帯はいつもダメだなー

雨ふってるのー

(21:11)
もう C なんて使わんと決心した Python ユーザが ひさびすりに C を使った場合の症状シリーづ・その 1:
fprintf(stderr, "keylen=%d" % keylen);
(23:05)
やっと動えたぜよ。暗号君。もう帰ろ帰ろ牛帰ろ。

Feb 15 [Tue]


(09:09)
やりける。
やりけらとぷす。

形ある物はいつかは壊れるが、それらは何度でも修復され我々の目の前に現れる。 つまり形があろうとなかろうと同じってことだけど。

どりぞるひや

(13:09)
きのうは雨ふってて風が強くて生きていることを呪ったが、きょうはいいね。 というか、非常、あたかい。あさオフィスに来てみたら空調がオフになってて、 部屋の中が死ぐほど暑くなっていた。オイオイこんなんじゃやばいだろ。 計算機様のために涼しさを絶やしてはならぬい。ナラヌイ大統領。ならなぞよ!
(17:12)
"Zope" はゾウプとよむのが正しいのかそれとも 「ぞうぴぃ」と読むのが正しいのか? その答えがここにある: http://mail.zope.org/pipermail/zope-web/2002-March/001051.html

regardless to say, オレはどんなことがあってモ「ぞうぴぃ」と呼ぶぞ!
いや、そもそも呼ばないけど。呼ぶ機会ない。

(19:00)
てくるで、"Lagrange" という人名はふつう英語では「ラグランジュ」とみんな発音しているが、 じつはこれはフランス語なので、正しくは「ら〜ご〜んしゅ」のように 発音するということをきょう知った (ご〜ん の部分が鼻声)。だからなんだって話。

火曜日はミーティングで 1時間つぶれて、そのあと講義が 4時間あるので、 ほとんど仮想的に (virtually)何もできない。やっぱ機械学習の授業に出るのやめようかなあ。 これは単に聴講しているだけなのでいつでも切ろうと思えば切れるのだ。が、宿題きつくてみんな大変そう。

(23:38)
電車の中で研究のアイデアについていろいろ考える。3つ4つ。でも帰ったらみんな忘れていた。

なにかほかに書くことがあったはずなんだけど。

Feb 14 [Mon]


(07:05)
…みたいな顔してる。
(10:34)
共通の敵とは?
(11:06)
転がり落ちるのはオレであってプチトマトじゃない!!
(15:37)
何も言わなければアレだし、何か言ったところでまたアレだし、 とにかくなるべく何もかも「なかったこと」にする、という行動が、 必要なときもまたあるのだ、
と。
(17:31)
きょうはずっと一日 Adam の書いた CommonLisp のコードと格闘していた。 まーるでワケわからん。つうか、やればやるほど CL が嫌いになる。 なんで関数と変数が別の名前空間にあるんだよ! Adam のプログラムは、やっていることは基本的に 構文木をいろいろなやり方で変換していくのだが、間に 100近くのフィルター関数がある (これらは *regularization-transforms* というリストに入っていて、 それらがひとつずつ funcall されていく)。で、 ある種の特定の木を食わせると、そのうちのどれかがバグになって、 とりあえずその関数まではつきとめたのだが、デバッグのやり方がわからない (いまのところ新山は clisp を使用しております)。というか、コードがあまりにも入りくんでて:
(if なんとか
    (setf rest
          (mapcar #'(lambda (x)
                      (cond ((and (proc1 x)
                                  (not (proc2 x nil))
                                  (member-if #'(lambda (y) (member y '(cc dd))) 
                                             x :key #'friendly-car))
                             (proc3 (proc4 x)))
                             ...
このうちのどこかでエラーが起きるのだが、コードが ひどく関数型なやり方でかかれているために、 トラップを仕掛ける場所がほとんどないのである。 そもそもオレはテキストベースのプログラムでは、いつも「標準出力に表示させてログを見る」 という原始的な方法でデバッグしている。C を使っているときは gdb も使うけれど、 スクリプト言語では圧倒的に標準出力派だ。でも、こういうコードだと 行ベースであれこれ挿入したりできないので、こういうときに Lisp/Scheme って不便ねー。 Scheme をやっていたころは副作用 (表示) だけを起こすデバッグ用の関数をつくって (問題の式1 (dbg (問題の式2) "value=~a")) などとやっていたが (dbg は第1引数をそのまま値として返すのである)、 いちいち (dbg ) をはさむのは大変つらいよ。 Python とか C の場合はさっさとコメントアウトできるのにね。おそらく、この場合の正統派なやり方は Lisp のデバッガを使って追っかけることだろうが、新山は Lisp のデバッガって フレームを見るぐらいにしか使ったことない。で、この場合は -interactive-debug を入れて :bt すると、大量のフレームがガーーっと出る。読めねーよコノヤロー。 おまけにここで表示されるソースはすべて大文字化されているので とても読みにくい。変数を評価するにもわざわざ大文字で入力してやらねばならない。 おまけにちょっと間違えるとレベルがいっこ上がるし、まちがえて :q 押しちゃうと 全部パーで toplevel に戻っちゃうし、地獄だよ。
(18:08)
エラーの原因判明。もともとはこれは ACL 用に書かれていたのだが、 関数におかしい引数を与えたときのふるまいが実装によって違うのだ。 いまちょっと調べてみたところでは、こんな感じである:
> (subseq "abc" 0 5)
ACL: "abc"
CMUCL: error
CLISP: error

> (position-if (lambda (x) t) '(1 2 3) :start 5)
ACL: nil
CMUCL: nil
CLISP: error

けっっっ、なーーーーにが標準だよ。ばか。こんな基本的なとこで違うな!

(20:05)
やっと動いた…。で、意味構造を graphviz で可視化するところまでいった (というか、GLARF は木構造ではなくてほんとに「グラフ」なので、 新山は絵をかかないと出力が読めないのです)。 しかし、まだまだ沢山バグってるもよう。ふーむ
(23:08)
「亭主」らしい。どうもありがとうございます。

今から満腹中枢の働きにより死にそうに眠くなるまでの間が仕事をするさいごのチャンスだ。 あと 10分。

このところ毎日ぜんぜん違うことをやっている。 土曜日は Flash の仕様書を読み、vnc2swf をいじっていた。 日曜日は html パーザを書いていた。 きょうは CL にあけくれている。 ちなみに明日は RSA と AES, SHA1 ライブラリを使って暗号化ツールを作らねばならない (授業の課題なのです)。あ、ついでに機械学習の授業もある。 つくづく節操がないと思う。それはときにはいいことだが、ときによくない。 新山の場合は…よくわからない。

(00:26)
そして、やはり今日思ったのは、Lisp/Scheme は Python にくらべて プログラミングがずっと「パズルっぽい」ということである。 というのも、デザインの段階がパズルっぽいのならまだわかるが、 実装のこまかい部分がパズルっぽいのだ。知能指数を上げようと日夜努力している人々や、 計算機の理論と構造を学習している人々にとってはこういう特徴は 楽しいのかもしれないが、オレはそんなのどうでもいい (少なくとも目の前の仕事はその段階ではない)。 というか、もっと他に気をつかうべきところが沢山あるので、たのむからオレの集中したい 問題に集中させてくれ!

この手の言語の欠点がひとつ (自分にとっては) 明らかになった。 ある種の人々は「あることをやるのに、いくつものやり方があるほうがいい」というような ことをいう。しかし新山のような人間にとって、下手にいくつものやり方が可能だと、 細かいところで永久に考えこんでしまい先へ進めなくなる。 これはオレがバカなせいなのかもしれない。まあそれはそれでいいが、 むしろ枝葉の問題は放っておくことを強制させられる言語のほうがいい。 もちろん、これはバランスの問題なのだろうけど、言語を必要以上にこまかくしようとする人々が いつまでたってもうさん臭く見えるのはそういうことだ。

すくなくとも、新山にとっては

オレは計算機の操作を自動車の運転のようにみなしている若者 (=バカ者) を嫌悪している。 これは同族嫌悪か? そんなことはないと思うけど…。頭の回転速度とプログラミングの上手下手は まったく関係がないということは、そのうち示されるであろう。 もうすでに自明か。

Feb 13 [Sun]


(11:08)
きょうって、日曜だよね?
(13:10)
「知らぬはナントカばかりなり」って、ナントカの部分には何が入るのだろう?? 語感からいって、3モーラ以上の語でないとダメだということはわかるが…

google://知らぬは ばかりなり/

ああそう、それってどういう意味?

(15:45)
チャイナたウんへ行き食料品買い出し。 「旧正月パレード」を見てあまりの人の多さにめまいがしつつ北上し大学着。 とちゅうで、中国人のばあちゃんに道を聞かれたが、英語の発音がすげいので (おまけに途中で中国語がまじる) 何をいってるかよくわからず。 「3rd avenue 106!」という住所をくりかえすが、「いや、あの、ここは Lafayette Ave. なんだけど」 といっても通じたのかどうかよくわからない。

(16:35)
 方 針 :

スクリプト言語用の dmalloc とでもいうものはあるんだろうか。誰か作ってそうだな。 「指定した変数 (あるいはリスト) の大きさがある一定以上を超えたら例外を出す」って オプションがグローバルに使用可能だとうれしいのに。

(19:20)
しかしパーザを完全に feed base にすると codecs の問題につきあたることがわかった。 Python codec は feed base ではないからだ。 この問題はすでに python-dev で議論されている が、結論は出ていない。

とりあえず、すべてのエンコーディングが 0x20 以下の octet をアルファベ集合に含めていないのであれば (つまり utf-16 以外)、 改行コードで確実に文字が切れると保証できる。UTF-16 はどうするかって? 氏ねばいい。 でも、どちらにせよ、 1行をいちどすべてバッファにれなければならない。 もし 100MBytes のファイル中に改行が一度もなかったらどうするのだ! 「キチガイ的に conservative なメモリ消費量」の目標が達成できなくなってしまうな。

だうでもいいが、サマリーを出してるやつがこんなこといってるのがムカつく (強調新山):

... I just couldn't follow everything about stateful and stateless decoders/encoders and the issues;
I'm American so Unicode just doesn't fit in my brain well.

ちなみに、この国の計算機業界における Unicode (あるいはそれ以外のコードや、文字コードにまつわる一般的な問題) の 認知度の低さにはすさまじいものがある。彼らは「UTF」という単語すら知らない。 もっとも、日本人であっても新山の周囲では誰もそんなこと知らないが!

(21:37)
やっとこさ帰ってきた。ダイコン 1本をまるまる買ったので 荷物がオモカッタ。おまけに、よせばいいのに今日は PBG4 まで持って歩いてたから大変 (そして結局 [ケッキョキ] 使わずじまい)。

ご飯を食いながらテレビをみていたら、Iron Chef America をやっている。 基本的な構成は日本のと同じだが、日本のに比べてセットがはるかに安っぽい。 まあ、アメリカのこういう番組はみんなどれも金なさそうだからな。 それからシェフをはじめ、審査員がみんな太っている。で、食べ方が非常に キッタナイの。つうか、べつに景山民夫の食い方がとくに 上品というわけでもなかったが、もうちょっと放送向けのふるまいというものがあるだろう。 昨日は日本版がまたやっていたからちょっと見たのだが、 日本版で演出されていたようなクラッシぃな (かっこわらい) 雰囲気はまるでなかった。 あくまで「軽い」のだ。まあどうでもいいけろさ、べつに日本でも料理のテツ人が好きなわけでは なかったのである (そもそもテレビなかった)。

(23:41)
まともなことを言うには、その 10倍のデタラメを言う必要がある。 人の受け売りをしないならね。
(00:18)
てくるで、千曲市ってドコダ!? …と思ったら、 更埴と戸倉・上山田のことかよ。急に言われてもわかんねーよ!

Feb 12 [Sat]


(10:57)
似ているモノは同じモノ。

さいきん、この日記に暗いことや恨みがましいことをあまり書いていない。 だいぶんフッきれてきたのかとも思うが、これは由々しきことだ。 日記というのはそのためにあるのだから。ゆゆしき。初心に帰るって大切ね。 というか、他人に対するグチなどは本来どうでもいい (オレにとっても、その当人にとっても)。自分に対する愚痴こそが重要なのである。

(12:12)
ハタシテこの Orbitz から来なすったメールはホンモノなのかっ
(13:59)
彼の人生は刺ショウガのジャムのようにわたしの生涯に立てついた。それが顔面恐怖症。

てくるで、雪まつりといえば 十日町ですよね (類似品にご注意ください)。雪国の町におけるささやかな明るいイベントであって、新山もむかし行ったことがある。 飯山線で。しかし、あなどれないことに十日町は「町」と名がつくくせに実は 十日町であり、十日町村 → 十日町 → 十日町市 と変遷してきたのだ。 まあ長野でいうところの大町 (市) とか信州新町 (まだ町だが、昔は信州新町村だったはず) と似たようなもんだね。 しかし佐賀だったかには「大町町」というところがあるっ。スジを通すところとみた。えらいぜ佐賀。

(19:50)
Python でとにかく処理速度を気にしようとすると、めったやたら C風の書き方になってしまう (つまり (文字列 + 文字列)[:-1] なんてやらない、つまんない場合分け多数)。 このあと何をいっても面白くないので割愛。
(00:28)
ふん、またお前は忘れたな。(映画的セリフ風日本語)

(01:41)
asahi.com の HTML ってこんなんだよ:
<SCRIPT LANGUAGE="JavaScript"> 
var random=new Date();
document.write('<SCR'+'IPT LANGUAGE="JavaScript" SRC="http://adnet.asahi.com/js.ng/pagename=toppage_banner&transactionID='+random.getTime()+'?">'); 
document.write('</SCR'+'IPT>');
</SCRIPT>

赤字で書かれた部分がひどく 4.0 準拠じゃない (CDATA 中には </ という文字が入ってはイケない)。 Mozilla や IE では動いてるみたいだが、バカやろー。

ちなみにじつは CDATA の規定はかなりややこしいことがわかる。Wikipedia などを見るとこうなっているのだが、

<style type="text/css" media="screen,projection">/*<![CDATA[*/ @import "/skins/monobook/main.css"; /*]]>*/</style>

これは HTML 4.01 では import が有効になるはずだが、 いったいどのブラウザで有効になるのだろうか…?

(追記: これは、XHTML 1.0 での話だった)

Feb 11 [Fri]


(07:42)
きょうは DARPA のお偉方がくるので至上命令として早く行かねばならない。 べつにオレはなにも発表しないんだけどなあ。ぶつくさ。
(09:32)
ねみーーーーーーーーー
alias bc=python
(12:50)
終了。ただ傍にすわって死んだふりをしていただけだが、どうにか寝ずにやりすごした。
(16:08)
Google Maps すげーーー。いままで MapQuest とか使ってて不満だった部分がみごとに改善されてる。 Javascript でここまでやるとは (いままで javascript の「イメージ変更」を 許可していなかったので、見えなかったのである)。 Gmail や Google Suggest には大して驚きもしなかったが、さすがにこれにはオドロいた。 欲をいえば縮尺がほしいのだけど、こっちの地図ってだいたい縮尺はついてないのがあたりまえなんだよな。 なんでだろう? 日本人は縮尺好きなのだろうか?

どうでもいいが、Weather.com が激使いにくくなったので勝手に期待するけど、 Google Weather は出ないんだろうか? ここまで来ればもう奴らはなんでもアリだろうから、 あとは時間の問題だろう。

(21:23)
久しぶりに今日は寒い。帰りに新しい MoMA へ寄ってみた。 金曜日は午後 4時から無料になり、8時までやっている。 本当はもっと早く行きたかったが、セキネマシンに手をとられて 7時ごろにようやく到着。しかし、すごかった。 まるでバーゲン時のデパートのような混み方なのである。 まあ、有名な美術館はだいたいそうだが、世界各国の言語が飛び交っていたけど、 あれは観光客にはおすすめしない。だってぜんぜんゆっくりできないもん…。 といっても今回はプレビューのつもりだったので、エスカレーターで 6階まで一気に上がり、 かなり早足で見ていたつもりだったのだが、やっぱし 1時間ではキツかった。 4階あたりまで降りたところで強制的に追いだされ、スゴスゴと退散する。まあ見たければまた来週くればいいのだが、 いつもあんなんじゃ参っちゃうね。てくるで、今度は 4階から見ること! それから、どの美術館も午前中は比較的すいているので、本当にちゃんと見るなら 平日の午前に限る。しかし、それができない人は chelsea のギャラリーあたりを ぶらついたほうがアタリだ。
(23:33)
ところで、X が立ちあがらない原因は DRI を許可していたことだった。
Yusuke Shinyama