リンゴをかじると歯茎から翼が生えませんか?
どうでもいいけど (どうでもよろ)、Apple の携帯電話ってあれ落としたらすぐ壊れそうだよなあ。 あの会社はデザインばかりでそういうとこ全然考えてなさそうで。ま、ddik. (どうデモいいケド)
こういうことをいうと一部のアホな人は「やはり OpenBSD はまだデスクトップ用途には…」 というようなことを言いたがるが、こうした「正しさ」が必要なのは なにもサーバだけではない。自分専用マシンであればどんなにいい加減な使い方をしても 許されると大抵の人は思っているだろうけど、なんでもネットにつながってる今じゃ こういう過剰なセキュリティ機能をほしがる人はいずれ沢山でてくるだろう。 とはいっても所詮、マイナーだろうけど。
x
が None
でないどうかを
で判定するくせは本当に直したほうがいいという話。なぜならif x:
x
が 0 のとき、この if は反応してくんないから。
($_$)
。
新山は今年もダメそうだ。じつはネタがまったくないというわけではなく、
某社のインターンでやった研究について書こうと思えば書けるのだが、
この会社とはもう関わりたくないんでやらない。
どうせまた守秘義務がどうたらこうたら…でいろいろ面倒な検閲手続きをやらなきゃいけないんだろうし、
そもそもオレはもう研究者にはならないから、ゴミ論文を無駄に生産する必要もないのだ
(書く前からゴミと決めつけております)。卒業するための数は足りているらしいしね。
しかし、オレが面白くないと思った研究については論文を書かなくてもいい、
という環境は非常に恵まれていると思う。こんなんでいいのだろうか。
最近 (さいきそ)、しょうもない研究をしないことは本当に重要だとますます思うようになってきた。 でも、給料をもらっている限り、つねに何がしかを生産しなければならないというプレッシャーがある。 そういうときに地味で誠実な研究ができればいいよなあ。
料理中なんでまたあとで!
なお、これ以外の変態趣味としては、 「蕎麦の実 (そば茶) を茶として淹れずにそのままボリボリ食う」というのがあります。。。 どうもオレは「そのまま食う系」が好きらしい。 といっても、もちろんチキンラーメンを生で食ったりはしない。
gutugutu sitemasu.
きょうのできごと:
朝から異臭騒ぎ。メーリングリストで「ミッドタウンでも臭ってる」「NJでも臭ってる」の応酬。 NYU周辺ではほとんど感じなかったが。
gzip に --rsyncable
なるオプショニがあるのを発見 (はっけそ)。
Python の正規表現で、
「.
」が newline (\n
) にだけはマッチしないということを知る。
いままでこのことを知らなくって「なーんか動きがおかしーなあ…」と思っていた。
PCREの仕様らしいけど、なんで?
どーーーーーーなってんだ??
てゆうか暖房つけてないのに、なんか暑いです。
このぶんだと来年あたりには臨海副都心とマンハッタンは水没するにちがいない。
目標: さっさと卒業して長野に帰ること。 (就職どうすんだ?)
ちなみに、さいきんは (日本の) 書籍でも、 Wikipedia を真面目に参考文献として挙げているのがあって、こういうのは本として信用できない。 まあ「広辞苑によると…」と同じようなお約束的な使い方はできるかもしんないけど、 基本的に事実をいうときに「wikipedia が一次情報」ってことは、ありえないからである。 Wikipedia は情報の検証可能性を重視するので、あそこに書かれている事実は 「誰でもその気になれば調べられるようなもの (明確にソースが与えられたもの)」にかぎる。 (この制約がなかったら、wikipedia の信頼性は長期的にはツウちゃんねると同じものに収束してしまう、 まあ、あっても収束するかもしんないけど…。) ようするにあれは「まとめサイト」のでっかくなったものでしかないのよ。 ときどき wikipedia ユーザ自身でさえこのことをわかってなくて、自分が勝手に聞いた噂を 書いてるのがいるが、そういうのはツウちゃんねるか、 geocities でやれと思う。 (しかし geocities ってもう古いよな…今は何なんだろ? googlepages か?)
UNITED COLORS OF BENETTON. |
UNITED COLORS OF PYTTHON. |
UNITED COLORS OF LISP. |
UNITED COLORS OF RUBY. |
sshutup sshithead, ssharpsshooting susshi sshplats ssharking assholes.
-- Theo de Raadt
と打ったあとに、気がつくと、$ ps ax
と打っている。何も$ kill
kill
する気がないときにでも、である。
scrub in on egress
したら、
いきなり NFS が止まってビックリ。
scrub in on egress no-df
にしたら元に戻ったが、
これってどう違うんだかよくわかんない。
論文読めって? もーもー牛
/var/log/messages
に
amd[11501]: key home: Old syntax selector found: rfs=/home
などとゆー警告がたくさん出ていた。なんだこりゃ?
と書くべきところをrfs:=/home
と書いていた、というただそれだけの話。rfs=/home
こういうときに、いつでもソースを確認できるのはありがたいですよね。
きのうの PF meeting に触発されて、 PF FAQを印刷し 9st. の駅で読んでいた。 電車が来たのでなんとなく乗った。気がついたら Hoboken。 うっげー。よほど熱中していたんだろう。しょうがないので JSQ 行きの電車に乗った。 すると気がついたら Exchange Place にいた。 フンギョエー。1度ならず 2度も電車を間違えるとは! オレってお茶目な奴、と思いながら帰ってきた。
しかし、pf はかなり巨大なソフトウェアである。 どうりで、昨日のミーティングでも項目が多すぎてさっぱりわかんなかったわけだ。
しかし、人々の間にはどうも「長野県出身 == スキー/スケートがうまい」という誤解があるようである。 そもそも、スキーがさかん (小学校の体育でスキーをやらされる) のは長野以北の北信地域だけだ。 中南信は冬の体育の時間はスケートらしい。新山はスケートは未体験である。 やりたいとも思わない。楽しいの? あれって。 さらに、実際には北信の出身者でもスキーが本当にうまい人はそれほどいない。 「そこそこすべれる」人は多いが、普通は東京の好き者のほうがずっとうまい。 なんせ東京もんはカネかけてるし、必死だからね。 いっぽうスキー場まで車 30分、という地域に住んでる人間の感覚では、 「スキーに行く」ってのは区民プールに行くのとあんまりかわんない。 だからべつに無理して練習する必要もないのだ。いつでも行けるわけだし…。 長野だと、ガキんちょでもバスに乗ってスキーに行く。 いまでも覚えているのが、小学生のときに友達とスキーへ行ったときのこと。 新山の周囲では、みんな夜間瀬に行っていた。 母ちゃんにおにぎり作ってもらって持っていくわけだけど、なんしろガキだけなので、とうぜん アナーキーな方向へ向かうわけです。この頃のガキの典型的な行動パターンというのが:
いやー、いま思いだしても楽しかった…。 ガキのころってのは恐れを知らぬので、無謀なことを平気でやる。 しかし身体が小さいので、思いっきりコケてふっとばされてもあまり危険じゃない (立ち木に衝突しない限りは)。ところが歳をとると、だんだん転ぶのが怖くなってくる。
(追記) 思うに、日本では使わなくてもいいところにやたらハイテクな仕組みを使いたがるアホが多く、 米国では使ってはいけない(道徳的な意味で)ところに使うアホが多い。ホントウか?
こないだ見かけたクノールのカップスープ (BSE牛エキス & MSG たっぷり配合・推定) を のんでみたら、日本にいたときに (つまり 5年前に) これけっこう好きだったのを思い出した。… また買ってみよ。
で、カキナベラーメンって何だ?
思い立ったが吉日ということで、ナーんも考えずに フォーマットしてインストールした。OpenBSD のインストール自体は 10分もかからずできる。 しかし、sshd のホスト鍵を保存し忘れた…。 どっかの本に「再インストールの際には必ずもとのホスト鍵を保存しておきましょう」とか 書いた奴はだれだっけ? まあいいんだ、これはどうせサーバマシンじゃないんだから (新山以外にログインする人は誰もいない)。 de、途中まではしごく順調だったのだが (インストール CD は実によくできてる)、 バックアップしたディスクをリストアする時点でこけた。 新山のマシンには 250G のディスクが 2つ入ってて、 重要なデータはぜんぶバックアップしておいたんだけど、 こいつが UFS で入ってたわけね。そんで、OpenBSD も UFS を読むので 大丈夫だろうと思っていたら、マウントできない! Invalid type うんちゃらとかエラーがでる。 なんと FreeBSD 5.1 からの UFS は UFS2 といって、OpenBSD の使っている UFS1 とは別物なのだった。上位互換なのかもしれないが、すくなくとも OpenBSD からは読めん。くそったれ。
しょうがないので、2つの方法を考えた。
ひとつはまず NFS 経由で別のホストにコピーしてそれから戻す、という方式。
やってみたが、あまりにノロすぎて話にならず。3MBytes/s というような速度では
200G のデータをコピーするのに何日かかるか、わかったもんじゃない。
というわけで、もうひとつの方法である「CD から FreeBSD を立ちあげて OpenBSD の
パーティションにコピーする」をやることに。FreeBSD からは OpenBSD の
ファイルシステムも読み書きできる…のだが、どういうわけか OpenBSD が入ってるパーティションの
最初のスライス にしかアクセスできないという欠点が
(ここでいう「最初のスライス」というのは a
スライスのことではなく、
c
を除いた、シリンダ番号がもっとも小さいスライスのことである)。
しかし OpenBSD のインストールで最初のスライスを a
にしてしまったので
(ま、普通はそうするわな)、仕切り直し。h
を最初のスライスにして
200GB 確保、そのあと a, b, d, e, g と切っていったら、FreeBSD から h をマウントできた。
めでたくコピー完了。
教訓: バックアップ用のファイルシステムはやはり ext2 にしておくべき。
しかしまだ全然設定してない。kterm もないし。
でも X
も xterm
も screen
も、
すべてデフォルトで特権ナシというところはすばらしい。
それにファイルシステムも最初から nosuid になっていて、
テキストコンソールの状態でも Alt キーが使えるし (FreeBSD では使えなかった)、
第一印象は結構よさそうな感じ。ただし微妙に X がトロそうだったのが気になるが。
問題: screen で日本語がバケる (なぜか defencoding jis にするとうまくいくことがある)。 python がなぜか遅い (大問題)。
タマネギも一玉余っていた。
ということで「いいや、入れちまえ」と思ってタマネギを切ってうどんに入れたら、 これが実はものすごい分量で、「タマネギ入りうどん」などという表現を はるかに通りこして「うどん入りタマネギ」とでもいうべき代物 (だいぶつ) ができた。 他の具 (玉子など) もいくつか入っているのだが、すべてタマネギに隠れている。 まるで主食がゆでたタマネギのようだ。 まえに、うちの母があまりに納豆好きのため、 納豆とごはんの比率が 2:1 ぐらいでまざっていて、 これじゃ「納豆ごはん」じゃなくて「ごはんつぶ入り納豆」だ、 と思ったことを思いだし、ひとりでウケる。平和。
(まことに恐れいりますが、お食事中の方は閲覧をお控えください)
もったいないおばけは今どこで何してるんだ? イラクにでも派兵されたか?
棚がぼたぼたモチってた。广广
新山は相手を軽蔑していればするほど慇懃になる傾向があるようです。
[Full-disclosure] Vista の限定機能モード (Reduced Function mode) がオンになった
Mon Jan 1 19:26:52 GMT 2007
私はすこし前にルータの設定を変えて、Vista の入ってるノートパソコンから ある特定のサブネットにしかアクセスできないようにしました。すると 3日後、 とつぜんすべて動かなくなったんです。
まずソリティアが起動しなくなり、クリックしてもドーナツ状のアイコンが出て 一見すると起動中に見えますが、何も起こりません。
ネットワークを右クリックしてプロパティを見ようとしても、 ドーナツ状のアイコンが出て起動中に見えますが何も起こりません。
それでルータの設定を元にもどして、Vista がまた MS に連絡できるようにしたら、 数分のうちにソリティアもネットワーク・プロパティも復活しました。
さて、この Vista は購入 30日以内のもので、すでにアクティベーションされています。 なので 30日以内にアクティベーションしないときだけ限定機能 (Reduced Function) モードが働くという 主張はウソだったことになります。もしこれが本当に限定機能モードなら、ですが。
そこで意図的に限定機能モードをオンにして、何が起こるか見てみようと思いました。 ソフトウェア・ライセンス (Software License) サービスを止めると 限定機能モードになるということだったので、これを止めてみました。 すると 24時間後にはソリティアも、ネットワーク・プロパティも、コントロールパネルも すべて同じふるまいを示しました。ドーナツ状のアイコンが出ますが何も起こりません。 イベントログにも何もないのです。
その後ソフトウェア・ライセンス・サービスを開始させたらすぐに これらの機能は復活しました。そこで、私はこのマシンが数日間 MS と 通信できなかったために限定機能モードになったと判断しました。 この試験方法は完全に科学的とはいえないものの、今ではかなり確信しています。 さらに、これは事件の予兆のようにも見えます。もし MS が地球上から消滅したら、 全世界のコンピュータのほとんどがシャットダウンしてしまうんではないでしょうか?
そこで、私よりもうちょっと技術的にお詳しい方にこの問題を調査してほしいのですが。
Geo.
(追記) フォローアップ。別の人によれば、この現象は 再現不可能とのこと。 しかし限定機能モードに移行する前にはふつう警告が出るらしい。 またぁ、 MS のいつもの「まともに動かないよ実装」じゃないの? そもそもこんな複雑なシステムでちゃんとアクティベーションしようってのが無理なんだよ。
<ような気がする/>
。
(自信がないので、このタグを加えさせていただきました。)
というのは、この本では信仰が非常に個人的なものとして扱われていて
(これは今じゃ当たり前だけど、昔はちっとも当たり前ではなかったし、今でもまだそう考えていない人が沢山いる)、
「言葉」という共通のプロトコルがなくても信仰は可能だ、
とされているからである。たとえば最終的にこの外人宣教師 (名前忘れました) は
転向するわけだけど、それは言葉の上でそう宣言するだけの話で、それでもまだ彼はキリスト教徒なのだ、
と遠藤周作は思っているらしい。これは欧米的には許されんだろうと思う。というのは、彼らにとっては言葉は絶対的であるからだ。
だからはっきりいうと、言葉を喋れない人間 (あるいは人間以外) は、
信仰の資格ナシ、ともいえる。この意味では欧米型宗教は非常に「ソフトウェア的」だと思う。
ようするに言葉あるいは書かれたものをソフトウェアとして配布すれば布教がなりたつわけで、
物理的な実体はあまり必要ない。偶像崇拝がいかんとか、聖書が重要だというのもそのためだろう。
自然言語とゆーいーかげんなものを、
あたかも堅牢なプロトコルのように思い込ませて、その幻想により布教するって戦略。かしこいよなあ。
(ちなみに、新山はべつにキリスト教徒を悪いと思ってるワケじゃありません。 ただ McDonald をうまいうまいと食ってる奴と同じような「趣味の悪さ」を感じるダケです。 趣味が悪いこと自体は悪ではありませんので、おまちがいぇなきよう (しかしある意味では、それ以上に悪い、ともいえる)。 こういう場合、たいてい向こうもこっちのことを「趣味が悪い」と思ってくれてるはずなので、 お互いなるべく離れて暮らしてりゃそれでいいんだよね。)
てくるで (ところで) いま助詞の使い方が雰囲気 (ふいんき) に影響を与える例を発見した。 「自信がない」と書くときに、助詞「が」を省略するとこうなる:
どうでもいいが (どうでもよろ)、 新山がなにか思いつくのは風呂に入っているときが異常に多い。 もしも風呂がなかったら、オレはたぶんなんにも面白いことを考えつけないだろう。 そういう意味で、風呂は新山の生活に欠かせないものなぬである。
てゆうか来年のカレンダーまだ買ってねえんだけどよ、 これから買えば割り引きしてるかな? (まだ売ってれば)
って、これ日記にかくようなことか?
って、まあいいじゃん、これメモなんだから。
こういう個人的な記述を毎日ニヤニヤしながらチェックしてるようなそこの君 (くん!)
そんなのぞき魔なキミも、来年はまともな人間扱いしてさしあげるから、覚悟するように。
れられられられら。
おべんちゃら。
あんたの反応:
さてどれでしょう。でれどしょ。
新山はおせち料理にはとんんと興味がないが、蒲鉾だけには興味がある。 カマボコ! アマボコ! カマボコ型!
きょうの NY Post の見出し: SADDAM IS THE KING OF SWING (サダムはスウィングの王様)
まあ、月並みな表現だけど、ウゲっとする。これはたぶん新山があまのじゃくだからで、 きっとオレはヒトラーや麻原焼香がこういう形で殺されても同じように反応しただろう。 べつに人が死ぬのを喜ぶのが悪趣味だというんじゃなくて (まあそれも悪趣味には違いないけれど)、 問題はこういうドーでもいいことで感情的に煽る人々 (メディア) がイヤなのだ。 個人的にサダムを恨んでいる人々は喜ぶだろうが、そりゃ勝手に喜んでろと思う。 同じことは極悪な犯罪者が死刑になったときにもいえる。 そんなことは被害者の家族だけが喜んでりゃいいだろうに、 なんでそんな感情を他人と共有しなきゃなんないの? そもそも犯罪者が死刑になったからといって、同じ犯罪がまた起こらないとは誰も保証できない。 ほんとに喜ぶのはそれが起こらなくなったときだろうが、 残念ながらそれを観察する方法は存在しないんだろう。きっと。
なぜ毎度このようなコトが生じるかという戸、 「野菜はこの店でもいいけど、コーヒーはこの店で買わなきゃダメ」などというヤッカイな制約があるためである。 うちの近所の C-TOWN には品質的にロクなものが置いてないので、 ここで肉やら野菜やらをあまり買う気になれない。 いっぽう、洗剤とか水 (ミジどん) とかテッシゅ・ペーパーとかは 重いしかさばるので近場で買ったほよがいいんだよね。 どのみち店変えても質は変わんないし。うる
A Contract with God(神との契約) を読む。 これはこないだクリスマス・プレゼントということで、Cristina にもらったもの。 日本語訳はされてないらしい。基本的にマンガなんですぐ読めるのだが、 ストーリーは重ったるしい。そしてこれを読んだら、またもキリスト教的な考え方 (まあ、この本で出てくるのはユダヤ教だが) のダメさにムカついちまった。
キリスト教…にかぎらず、ユダヤ教やイスラム教などあっちの宗教で、 いちばんバカ (あるいはインチキ臭い、見苦しい、傲慢) だと思うところは、 こいつら「言語に頼りすぎ」ということである。言葉が使えないと何もできない。 そもそもの「神」から始まって、信仰告白だってそうだし、 「精霊」だの「善」だの、とにかく抽象的な概念の扱えるシステムを 前提にしないとなーんもできない。記号がそんなに重要か、と思う。 つまりこの人々にとっては世界の前に「まず記号ありき」なわけで、 実際にこの態度は創世記とか見てもよく表れている。 神が最初に「光あれ」と言って、そんで光ができたってことは、 つまり「光」という概念はすでにその前から定義されてたわけだ。 そして誰もそのことに疑いを抱いてない。ムカーー!! なんで言語をそんなにファーストクラス化したいんだよ!
仏教ではどうなのか知らないが
(仏教でも本家インドじゃコムズかしい抽象概念をもて遊んでそうだが)、
新山は言語なんてのはずーーーっと、ずーっと後のほうにできた、
いーかげんなモノだと思っている。だからそんなもんで世界を語られると笑っちまう。
というか信用できない。というかムカつく! だいたい、
依存関係が間違ってるだろう。世界は抽象概念より前からあったんだよ。
「真」とか「偽」とか「素数」とか「xmkmf -a
」とかはあとからできたんだ。
ウチらは「語れないシステム」についてはただ唖然としてるしかない。
それを語れるというのは思い上がりだ。つまり、結論は
「寿司でも食って寝てろ!」ってことになる。
必要なものは想像力とあと一つだ。もしくはふたつ。
…え、ちがうって?
もちろんちがわない。なぜならすべての事象は互いに異なっているのであり、 目の前にあるものを見て「ああこれは前に見たことがある事象だぞ」などということは ありえない。だって起きた時刻も場所も違うじゃないですか!
…え、ちがわないって?
おまえは今ウソをいった。「ちがう」のと「ちがわない」のを両方いえばそれは どうしたってどちらか一方がウソになる。したがって「虚偽からは何でも証明できる」の法則により、 つまり阪神タイガースは優勝する。証明終わり。
(新山はべつにタイガースのファンでも何でもないんですが、そんなこたぁどうでもいい話です。)
つまりはなにもなにゆえか、まったくもってなにもかも、であるこちょ。(「ことよ」と打とうとして間違えた)。
かうもの:
あーもう筋肉痛で死ぬ。
新山はスポーツは全般的にきらいだ。そんな中で、 スキーはやっててもあまり苦痛を感じないので、唯一「趣味です」といえるスポーツである。 自然破壊するけどね。もう 5〜6年以上もやってなかったので、 かなりナマ(訛)ってるだろうと思ってたら、そんなでもなかった。 しかし、カーヴィングスキーというものを使ったのは今回が初めてだる。 板とポールはレンタルしたんだけど (靴はむかし一度レンタルしてもう懲りたから今回はちゃんと買った)、 すっげい短かいのね。新山の板は「初心者向け」であったので、154cm しかなかった。154cmだと! 高校生のころ、オレは父親から借りた 190cm の板を使っていたのである。すんげい重いんだ、これが。 これに比べると、今回のやつはこんなに短かくていいのかよ? というほどのミジかさ。ミジどん (は関係ない)。 たしかに回りやすいのだが、なんしろ短かいので必要ないところでも回ってしまって 安定しない。まああまり気にならないけど、次回はもうちょい長めの板を借りることにしよう。
ちなみに、今回は初心者向けの板を借りたが、新山はスキーの技術的には初心者ではないと思う (まあ、雪国の人間はたいてい小学生のときからやっているからね)。 でも別にこれといってうまくもない。もともと体力ないし根性もないので、主眼は 「いかにラクして優雅に滑るか」というとこにある。一部のうまい人のように、 急なコブ斜面をばっふん、ばっふんと滑っていくのはとてもできない。 そもそも基礎体力がなさすぎる (小刻みなターンというのは、 あれ一見すると軽々とやっているように見えるけど、じつはすごい体力を消費するのです)。 新山は急斜面であれを真似して 2、3回やるとすぐに足がガクガクして持たなくなる (そしてその後たいていコケる)。 といって緩斜面でスルスルとやるのはあまりにも簡単すぎるしイヤミったらしいので、 そこそこ難しいコース (英語では trail) をえらび、いかにそこを体力を使わずにやるか? というのが課題である。スキーは自己研鑽のスポーツだと思う。 ゴルフをやっている人にいわせるとゴルフも自己研鑽のスポーツであるということだけど、 スコアで数値評価されるようなスポーツなんてごめんだね。 まあスキーでも競技では時間を競うということをやるけれど、そういうアホなことをしなければ スキーはどこまでも自己満足の世界だ。登山のようなもんかもしれない。 あるいはカラオケのようなもんかもしれない。あるいは陶芸のようなもんかもしれない?? それってスポーツか? そしてもうひとつのより重要な目的は「景色を楽しむ」ということである。 だから新山は屋内でスキーをやる人というのが理解できない。 いまじゃ砂漠のド真ん中にあるドバイでもスキーできるらしいよ? 狂ってる。 なのでお天気はとっても重要だ。といっても吹雪のときにスキーすると視界ほとんどゼロで、 雪と空の境界が見えないのでほとんど計器飛行な状態になり、とってもスリリングだけどね。 リフトもすいてるし… (危険なのでおすすめしません)。
さて、技術的な話にもどると、新山はまだコブ斜面やアイスバーンではかなりアブなっかしいのだが、 これは「片足 (外側の足) にしか体重が載っていない」ためではないかと思われる。 というか、思われた。回転するときに、ときどき 内側の足が上がっていることがあって、これはよくない。これは緩斜面ではどうでもいいが、 急斜面になると片足に力が集中するので疲れるし、コブにつっこむと片足だけではとても衝撃を吸収しきれない。 とくに氷の上に谷足が乗ったときが最悪で、片足だけがツるっっと滑ってしまって、 股が開いてあっとう間にバランスをくずす。このことは最後のほうになってようやく気づいたので、 あまりこれを意識して練習する時間がなかった。次回はいつになるかわからないけれど、 こんどスキーに行ったら「両足で乗る」ということを重点的に練習しよう。そのためにここに書きつけておく。 ちなみに新山よりはるかにうまい (はずの) 戸井田や郷道は、 「どんな理論を信じようがどんなテクニックを覚えようが、結局のところスキーのうまさは滑った回数に比例する。 だからウダウダいわずにとにかく滑れ」といっていた。まあ、これは、そのとおりだと思う。
どうでもいいけど (どうでもよろ)、新山は今回はじめて VT に行ったんだけど、
バーモントの名物ってなんなんだろ。カレーかな
NYCBUG monthly meeting January 03, 2007 Okan Demirmen on PF 6:30 pm, Soho Apple Store at 103 Prince Street
codecs.register
の危険なふるまいについて。
新山は世の中にまだ残存している x-euc-jp
とか x-sjis
とかの
charset指定に対処すべく、codecs.lookup
に独自の関数をフックしている。
あと、charset=shift_jis
となっていても実際には ms932
である場合も多いので、
それの変更もやってる。具体的には、こうしていた。
ALT_CODECS = { 'x-euc-jp': 'euc-jp', 'x-sjis': 'ms932', 'shift-jis': 'ms932', 'shift_jis': 'ms932', 'sjis': 'ms932', } codecs.register(lambda c: codecs.lookup(ALT_CODECS.get(c, c)))
ところが、新山はこの動きを誤解していた。
codec名が既存の Python codecs と ALT_CODECS
のどちらにも存在しない場合
(たとえば gb_2312-80
)、これは無限再帰に陥ってしまうのだる。
その内訳は:
codecs.lookup
がまず呼ばれる。
codecs.register
で登録された関数が呼ばれる。
なもんで、3. の中でさらに codecs.lookup
が呼ばれると無限再帰。
こりゃ、イカンね。というわけで次のようにしたが…
これでエラーは出なくなったが、これでは既存の
def lookup_codec(name):
if name in ALT_CODECS:
return codecs.lookup(ALT_CODECS[name])
raise LookupError('unknown encoding: %s' % name)
codecs.register(lookup_codec)
sjis
を ms932
に
置き換えるといったことはできなくなってしまう。こまったもんdu。
テッシ買う
しんぶんし
スキーに行っているのでお休みです。 http://www.killington.com/
Document ID: 84d3e0afd48a84a8c580f2082ebac70e
Yusuke Shinyama