Floating Log 2006/4

2006-04-30

SPF ほか

SPF とか Sender ID とか、まとめて experimental RFC が発行された。

IESG Note

The following documents (RFC 4405, RFC 4406, RFC 4407, and RFC 4408) are published simultaneously as Experimental RFCs, although there is no general technical consensus and efforts to reconcile the two approaches have failed. As such, these documents have not received full IETF review and are published "AS-IS" to document the different approaches as they were considered in the MARID working group.

The IESG takes no position about which approach is to be preferred and cautions the reader that there are serious open issues for each approach and concerns about using them in tandem. The IESG believes that documenting the different approaches does less harm than not documenting them.

...

The community is invited to observe the success or failure of the two approaches during the two years following publication, in order that a community consensus can be reached in the future.

成り行き任せ。

posted at 13:16:00
 
2006-04-24

πの歴史

ペートル・ベックマン「πの歴史」ちくま学芸文庫(2006)。 あの「πの歴史」が文庫になって帰ってきた。

「あの」というのは、初めて円周率を習った後だから小学校高学年ぐらいのはずだが、他の数冊と共にハードカバーで読んだことがあるからだ。 板倉聖宣「ピタゴラスから電子計算機まで」、平山諦「円周率の歴史」、野崎昭弘「πの話」と「πの歴史」が今思い出せる全てだが、実際それで全てかもしれない。 子供にはちょっと高度過ぎて、今にして思えば全然理解していなかった。

今日読み返してみて、数学的なことは措くとして、こんなに政治的だったか、というのが一つの驚きだ。 著者がプラハ出身ということで、反ソヴィエトの色が濃いのだ。 ローマ帝国もカトリック教会も知識人を迫害した、ソヴィエトも同じだ! というような文章があちらこちらにある。 いたたまれない気持ちになる。

posted at 21:20:16
 

働くということ

ロナルド・ドーア「働くということ」中公新書(2005)。 最初は(ケインズの予言に反して)労働は無くならないねえ、といった話から始まる。 競争という要因、産業構造、世論の変化なども論じ、グローバル化を斜に見て幕となる。 勝手にまとめると、連帯意識の希薄化とともに格差の是認傾向が強まり、そこにアングロ・サクソン的個人主義が拍車を掛けて、昨今の格差拡大を進めている、といった感じ。 意外と鮮やか。

連帯意識の希薄化は本当の意味での戦後の終焉なんじゃないかと、高度成長期の組合運動の記述と現在のそれとを見比べてみて思う。 上手く書けないけど、戦後「善」とされてきた価値観が、実は戦争遂行の都合的に「善」であったものを引き摺っていた例としての「連帯」かな、と。

posted at 01:55:28
 
2006-04-23

初コミット

10日ほど前にコミット権をもらった(コミッター 参照)が、その後放置していた修正をようやくコミットした。

で、ついでに自分の環境で文書をコンパイルしてみようと思ったのだが、latex2html でこけた。 何かファイルが見付からないらしい。 長いのでパスを一部省略するが、

Fatal (syswait): exec "/usr/bin/perl5.8.7 /usr/lib/latex2html/texexpand.pl -auto_exclude -save_styles /.../html/lib/TMP/styles -texinputs /.../lib:/...:/.../texinputs:/.../lib:/.../commontex:/.../paper-a4:/.../texinputs -out /.../html/lib/TMP/lib /.../lib/lib.tex" failed: そのようなファイルやディレクトリはありません
at /usr/lib/latex2html/latex2html.pl line 779
texexpand failed: そのようなファイルやディレクトリはありません
Compilation failed in require at /usr/bin/latex2html line 39.
*** Session transcript and error messages are in /.../html/lib/lib.how.
*** Exited with status 2.

追記(2006-04-25): 存在している perl のバージョンが 5.8.8 だ。 つまり perl のバージョンを上げたときに latex2html を更新しなかっただけのようだ。 恥ずかしい。

posted at 23:49:36
 
2006-04-22

utf-8 の man

日本語の man は大抵 euc-jp で書いてあるが、中に utf-8 のファイルがあって、普通に読むと文字化けする。 気付いたのは shadow パッケージに含まれる useradd, groupadd などだが、他にもあるかもしれない。

env LC_CTYPE="ja_JP.utf8" man useradd | nkf -e | more

などと、手間を掛ければ読める訳だが、Gentoo Linux として、/usr/share/man/ja/ に置くファイルの文字コードについての方針などはないのだろうか?

posted at 22:41:20
 

今朝の目覚め

場所は大きめの通りの歩道。 歩いていると、前方のガードレールに軽く腰かけてタバコを吸っていたニイチャンがやおら立ち上がり、携帯灰皿にタバコを押し込みながらこちらに近付いてくる。
「ちょっといいですか」
「いいわけあるかボケ!」
と喧嘩腰で左手で相手の胸ぐらを掴

…もうとして空振りしたところで目が覚めた。

posted at 21:01:04
 
2006-04-21

遅延評価によるエラトステネスの篩

気分転換に 入門 Haskell に載っていた遅延評価によるエラトステネスの篩を参考に、Python でジェネレータだらけの篩を書いてみることを考える。 元はこんなコード。

primes = 2:(sieve [3, 5..])
   where sieve (p:xs) = p:(sieve [x | x <- xs, x `mod` p /=0])

コンピュータの気持ちになってリストを前から評価していくと、 上のコードは結局試し割算を順番に繰り返しているだけだ (素数列だけで割ることは良いことだが、x が素数である場合に平方根で止まらないので通常の試し割算より効率が悪い)。 等差数列で倍数が取り除けるということを使って初めて篩と呼べるので、 これをエラトステネスの篩と呼ぶのは実は誇大宣伝だ。

primes = 2:(sieve [3, 5..])
   where sieve (p:xs) = p:(sieve [x | x <- xs, not elem x [0, p..]])

が正しい Haskell のプログラムかは知らないが、気持ちはこんな感じ。

といったことを考えていたら妙なイメージが浮かんだ。

雲梯を進む怠惰な猿たち

3以上の奇数の番号が振られている横棒が半無限に並んでいる雲梯。

そこに不思議な管理人が現れる。 管理人は 3 という番号の棒に何もないことを見つけると、2段飛ばしで進んでいく猿を 9 という番号が振られている棒にぶら下げ、3 という番号を伝書鳩に託して休憩する。 猿は怠け者なので進めと言われないと進まない。

管理人の元へ、子どもがやってきて何やら言葉を交わし、頭を下げると帰っていく。 管理人は腰を上げ、5 に猿がいないことを確認すると、4段飛ばしで進んでいく猿を 25 という番号の棒にぶら下げる。 やはり伝書鳩に今度は 5 という番号を託して休憩する。

もう一度同じようなことがあって 7 という番号を付けた鳩が飛んでいった後、次に子どもがやってきた時、管理人のすることが少し変わる。 2段飛ばしで進んでいく猿が 9 番の棒にぶら下がっているのを見ると、管理人は猿に進むように促す。 猿は眠たそうに 15 の棒に移る。 管理人はそれを見届けると、11 番に何もいないことを確認し、10段飛ばしで進んでいく猿を 121 番の棒にぶら下げる。 11 という番号を付けた鳩が飛んでいく。

眠たくなるような景色は 37 の鳩が飛んでいった後、ちょっとした変化を迎える。 いつものように管理人の元へ子どもがやってきて去っていく。 管理人は立ち上がると 39 の横棒にぶら下がる猿に進むように促す。 猿は2段飛ばしで 45 の棒に行くがそこには既に4段飛ばしの猿がいる。 すると、あの怠惰な4段飛ばしの猿が歯を剥き威嚇する。 2段飛ばしの猿は逃げるように、でもいつも通り2段飛ばしで 51 の棒に移り、そこに落ち着く。 一つの横棒に2匹がぶら下がることはできずに、後から来た猿が更に移動していくようだ。 管理人は何事も無かったかのように、40段飛ばしの猿を遠くの方にぶら下げ、鳩に 41 の番号を託して放すと、いつものように休憩する。

解題

Python でプログラムを組む話だった。 奇素数生成のジェネレータに相当する。 外部からの呼出がある(子どもが頼みに来る)と、ジェネレータ(管理人)は奇数列(雲梯)から次の素数(空いている棒の番号)を探して yield する(鳩を飛ばす)。 イテレータメソッド(子どもにおつかいを頼む方法)さえ知っていれば実装の詳細は(猿が虐待されていようと)関係はない。 が、ここでの目的はその実装の詳細を述べることで、初項 p2 公差 p の等差数列が、p-1 段飛ばしの猿である。 この等差数列も遅延評価される(怠惰である)。 奇数列から、現れた素数の倍数を取り除いているので、残った列の最初が次の素数になる、ということでエラトステネスの篩の一つの実装方法だと解ってもらえただろうか。

エピローグ

その後、もう一度あの雲梯を見に行くと、そこには猿の影はなくさまざまな長さの紐が垂れ下がっていた。
「猿はもう使わないのですか」
と尋ねるとこんな答えが帰ってきた。
「この雲梯はいつまでも使えるように見えますが、猿が一定以上に増えると重みで壊れてしまうのです。 紐は自分で動いてはくれませんが、猿よりはずっと軽い。 長さに従って私が結び直せば、飛んでいく鳩は同じですから」

posted at 16:36:32
 
2006-04-20

締切り

授業を終えた後、橋本経由で南大沢に回って、締切り間際の調整。 細かい文法チェックとか。 先生方に少しずつ意見を貰って、修正を加えて、読み返す。 今できるのはここまでと納得して、投稿。

あとは受理されることを祈るのみ。

posted at 23:51:44
 
2006-04-19

ピリオドを並べてはいけない

英文を書いていて、略語が文末にくるところで何も考えずにその省略の意味のピリオドと文の終端のピリオドを重ねていたら注意された。 ピリオドを並べてはいけないらしい。

"sentence ends with an abbreviation" といった検索語で、その規則についてのページが見つかる。 "period" がらみの検索語では上手く捜し当てることができなかった。

posted at 21:39:28
 

Frobenius test

ゼミ開始。 午前は西本君で QPKC の計算実験の話。 午後は NZMATH の時間は Frobenius test の実装。 整数論セミナーは津村さんで多重ζ関数の話。 その後、Frobenius test のテストを書いたら、Crandall & Pomerance: Prime Numbers 2nd ed. の誤りが判った。 4181 と書いてある Lucas 擬素数は 4187 であった。

posted at 00:25:52
 
2006-04-18

firefox 1.0.8

学校の stable 運用の ThinkPad で firefox をアップデート。 まだ 1.0 系列だったんだね。

posted at 00:10:56
 
2006-04-17

help/help_mp-ja.h.charset

mplayer-1.0.20060415 が help/help_mp-ja.h.charset が無いと言ってコンパイルをやめてしまう。 どこかで見たな、と思った。 mplayer-1.0.20060408 @ めも だ。 そこでは LINGUAS を空にして回避しているが、Gentoo Bug 129838 - mplayer help lacks charset files for fr ja ko mk nl no ro & tr のコメントを見ると、単に文字コードの名前をファイルに書いておけばいいらしい。

ということで、mplayer-1.0.20060415.ebuild の src_unpack の末尾に
echo EUC-JP > ${S}/help/help_mp-ja.h.charset
と書き加え、
ebuld mplayer-1.0.20060415.ebuild digest
でハッシュを計算し直して、再度 emerge。

うまくいくようだ。

posted at 01:17:04
 
2006-04-16

いつの間にかマウスのホイールが

何気なく firefox 上でマウスのホイールを動かしたら、スクロールした。 いつの間にそんなことに。

ずっとマウスにホイールが付いてはいたが、中ボタンとしてしか利用していなかった。 というか、特別の設定をしなければホイールとしては使えなかったはずだが、その特別な設定をしようと思うほどホイール機能が欲しくはなかったので、設定せずに使っていた。 xorg.conf のマウスの設定はこれだけだ。

Section "InputDevice"
    Identifier  "Mouse1"
    Driver      "mouse"
    Option "Protocol"    "Auto"
    Option "Device"      "/dev/input/mouse0"
EndSection

ということで、何をいじったわけでもなく使えるようになっていたのでびっくりしている。 いや、いじったと言えばいじったのか。 確かめてはいないが、原因は モジュラー X 導入 だと思う。

fluxbox のデスクトップ画面でホイールを動かすと仮想画面が切り替わるのも初めて知った(便利…なのか?)。

posted at 23:09:04
 
2006-04-14

更新

首都大の研究生証の更新。 有効期限ぐらいしか書いてなくて、名前とか所属とか全部自分で手書き。 所属が今年は理工学研究科数理情報科学専攻ということになっているらしい。 理学研究科数学専攻に比べてなんと長ったらしくなったことか。 狭いスペースに書くのも大変だ。

図書館の利用カードも更新。 こちらでは、職員の方が「数理情報科学?」という感じだった。 なぜかと思ったら学部は数理科学科なのだ。 ややこしい。

posted at 21:09:36
 
2006-04-13

2006年度

授業開始。 去年よりは受講者数が若干減った感じだ。

とりあえず今日はガイダンス的に軽く喋っただけ。 実質的な始まりは来週。

posted at 18:29:36
 
2006-04-12

ドイツ語

acroread をインストールして立ち上げたら、ライセンスから何から全部ドイツ語だよ。

これ↓だね
acroread 7 ebuild language code not too clever
ってだいぶ昔のバグだ。

env LINGUAS="ja" emerge acroread が回避策。 つまり入れ直し。

posted at 01:59:44
 
2006-04-11

コミッター

Python Japanese Environment のコミッターにしてもらった。 バグ報告だけでなく改修もするようになる、ということだ。 翻訳自体には今まで同様なかなか参加できない、と思う(自分の時間の管理が下手だから)。

とりあえず ssh の鍵を登録して、cvs のチェックアウトから。

posted at 22:54:08
 

三日月☽パン 3

ささだあすか「三日月☽パン 3」花とゆめCOMICS(2006)。 完結。 ある意味予想された通りの展開。

今回発売を Yoichi's diary で知ったけど、普通に本屋で買ってしまった。

posted at 00:02:24
 
2006-04-10

cache.cache_errors.CacheCorruption

emerge --sync の最後で変なの出た。 キャッシュが壊れたっぽい。

ああ、これみたい↓
emerge --metadata crashes
とりあえず rm -fr /var/cache/edb/dep && emerge --metadata で直ると書いてある。

直らないし!

posted at 20:20:32
 
2006-04-09

env LANG=C man revdep-rebuild

expat を 2.0.0 にした。 問題が起こりがちと聞いていたので、慎重に。 expat を emerge して、 revdep-rebuild --library libexpat.so.0 で依存しているパッケージを洗い出す。 …が、意外と少ない。

2,3 古いリビジョンが portage ツリーから消えたのを手動で入れた以外はごく静穏に済んだ。 時間が掛かったのは kdelibs が一番。 途中まで emacs が立ち上がらなかったのは fontconfig 辺りの影響かな。

で revdep-rebuild の man なども読もうと思ったのだが、日本語のは「このツー ルにはまだ man ページがない」と。 本当に? とタイトルのコマンドを打ち込んだらちゃんとあった。

posted at 23:56:00
 
2006-04-08

ポスター

(このネタは東京在住者しか通じないと思うが) 最近見るようになった某政党のポスターの女性の顔。 ふとした瞬間に舛添要一に見えた。 女装した舛添要一…。

そういえば舛添要一も国会議員だったっけ。

posted at 21:45:52
 
2006-04-07

1000

これが1000個目の記事。 消しているものもあるから、現状1000個存在する訳ではないが、26カ月で到達した。

引越し先候補 が残っている最初かな。

posted at 11:48:32
 

違和感

pythonjp-bug #8271

脚注ですが、
Python が None 以外の使われなかった結果を表示するときに 使われたもので、
という文に違和感を覚えます。
訳し直してみます。
かつてこのメソッドが必要だったのは、式の使われない結果 が None 以外なら全て Python が表示していた頃のことです。

と書き込んだ(インデントが飛んだので解りにくくなってしまったが)のだが、違和感が何だったかを解析してみる。

原文は

This was once necessary, when Python would print any unused expression result that was not None.

だ。 問題点の一つは、「使われた」の主語がないために「Pythonが」が「表示する」までの従属節の主語であることが理解しにくいことにある。 無生物主語なのでなおさら、かもしれない。 第二に「None 以外の使われなかった結果」の意味の不明確さ。 expression の訳を省いたことによって「使われる/使われない」を判断する文脈が欠落してしまった。 訳し直したものも自信を持って解り易くできたとは言えないのだが…。

ついでに書くと、翻訳活動に参加しないで文句ばかりなのは申し訳なく思っているし、 バグに登録するのが私ばかりというのも、心苦しく思っている。

posted at 11:33:36
 
2006-04-06

結合しつつ整列

一ヶ月ぶりに Django をいじる(前回→Django)。 ドキュメント和訳があるし…と思ったら、0.91 からはいろいろ変更のある開発版(?)のドキュメントなので、結局、0.91 用の英語のドキュメントも参照することになった。

で、目下の悩み所は、テーブルを結合した上で二つのテーブルの列に基づいて整列させる方法。 SQL で書けば

SELECT
  a.hoge,
  b.huga
FROM
  a, b
WHERE
  a.b_id = b.id
ORDER BY
  a.key2 ASC, b.key1 DESC

みたいなことを実現したい。 片方のテーブル(上の例で言えば a)のデータを取り出して加工する、というのが提供されているインターフェイスの使い方のようなのでその線で考えるしかないのだろうか。

posted at 18:59:28
 
2006-04-05

uim 無限ループ?

直前の記事作成中のこと。 単語登録の途中で間違って半角キーを押したら暴走した。 出力されているのは

>>(symbol-value command)
>>((symbol-value command) context key key-state)
>>((symbol-value command) context key key-state)
>>(prime-proc-call-command keymap context key key-state)
>>(if (control-char? key) (im-commit-raw context) (let-internal (keymap) ((prime-keymap-get-keymap context key key-state)) (begin (prime-proc-call-command keymap context key key-state) (prime-update-key-press context))))
>>(and handler (apply handler handler-args))
>>(key-press-handler 1 (quote return) 0)

以下繰り返し(だと思う)。

posted at 00:10:56
 
2006-04-04

多摩センター

内山先生歓迎会@京王プラザホテルのレストラン。 店内が静かで、落ち着かなかった。

その後数人とバッティングセンター。 最初普通に右打でやったら空振りしまくりだった。 体の使い方が左右不均衡で気持ち悪かったというのもあって、2度目は左打席に立つ。 目が慣れたのかむしろバットに当った回数は左の方が多かった。 内野ゴロみたいな打球ばかりだったが。

posted at 23:45:20
 
2006-04-03

プレファクタリング

Ken Pugh「プレファクタリング」オライリー・ジャパン(2006)。 あとから変更し易いように考えて設計するための指針といったところ。 「まあ、そんなものかな」という程度の内容。

「明示は暗黙に勝る」というのは The Zen of Python にあったし、 「愚かな頑固は狭量なる心の表れ」というのは Style Guide for Python Code にもあったフレーズだ。 後者の元ネタが映画のセリフということが判ったのが収穫。

posted at 21:05:20
 
2006-04-02

スプライト

急にスプライトが飲みたくなった。 が、コンビニに置いてなかった。 三ツ矢サイダーを代わりに買って飲む。

別物だ。

というか、サイダーが欲しかったわけではないらしい。 匂いが嗅ぎたかったとかそんな感じ。

簡単に思われたミッションに失敗してますます落ち込んでいる。

posted at 18:18:56
 
2006-04-01

春愁

憂鬱だ。

posted at 23:45:20
4月 2006
       1
2 3 4 5 6 7 8
9101112131415
16171819202122
23242526272829
30      
3月
2006
 5月
2006

浮遊する思考・浮遊する言葉を拾い集めて記録しておくページ。

Python
Desktop
Server

© 2006-2013, Matsui Fe2+ Tetsushi