2003年10月14日 火曜日

日帰り出張

今日は某社まで日帰り出張です。(アンカー打って良いのか?) つ、疲れた。

SICP

先日某MLで話題になった「計算機プログラムの構造と解釈」を仙台の書店で探索したのだが、ここ最近の仙台の書店で欲しいと思った本はすべて在庫として持っていないことが分かった。この本も見つけられなかったので、八重洲ブックセンタにて購入。(ここでも危うく見逃すところだった。) この本は巷で「Wizard Book」と呼ばれている有名な本である。
原書は「Structure and Interpretation of Computer Programs」で、本文はWebで読むことが出来る。非常にありがたい本なのである。原書のWebを読めば分かると思うが、僕の貧しい英語力でも文章の良さを理解できる非常に素晴らしい文章なので、出来れば原書を読むのが正しいと思う。この本を日本語で読めるという_気軽さ_も必要だと思うので訳書を購入。おそらく原書も買うことになると思う。
僕の経験では、国内の著者が書いた自然科学・工学の分野の日本語の教科書で_文章の良さを感じる_本を_読んだことがない_。僕の貧しい英語力で英文の素晴らしさを感じることが出来る教科書を見てしまって、思わず日米の教育水準の違いに愕然とせざる得ない。(ちなみに前回愕然としたのは「Feynman:Lectures on Physics」で、ちらちら読んだのはもう10年以上前の話だ。) こういうあたりに国語教育の問題点(物を書く教育をしないことや、読むことに関しては小説の偏重していることや、論理的な討論をする演習をしないことなど、他にもいっぱい)を見いだしてしまうのだが、そんなことを言っても僕の国語力もかなり怪しいので、こういうComfortableな文章を読みあさって日本語にフィードバックするしかないのですな。精進が必要ですな。
話がそれてしまったが、一言で言えば_この本は凄い本_である。(おおざっぱな意見すぎて失礼すぎるか。) 内容は難しいと思うが、こんなに面白いと思って読める本はなかなかない。SchemeなどのLISP系な言語は実際の仕事に直接役立つかと問われれば、おそらくすぐには役立たないと思う。ただ_役立つ/役立たないという思考軸だけが世の中の本質ではない_と思うのである。_読んで・手を動かしてソースを書いて楽しい・面白い_ということの方が遙かに重要だと思うのである。
ということで、しばらくこの「魔法使いの本」を読みつつ、魔法使いの弟子になってSchemeの呪文で遊ぶことになりそうである。もしCやC++やJavaやVBでしかプログラムを書いたことがないと寂しい経験しか持っていないと言う人には、_全く異なる物の考え方_をかいま見るためにもこの本を読んで、LISP系の言語をさわるべきなのかなとLISP万年初心者の僕も思うのだから、必読の書といえるのだろう。
帰りの新幹線でひたすら読む。1.1.4 Compound Proceduresあたりからだんだん深みに誘われてくる。とりあえず、帰りの新幹線で読んだ範囲で目から鱗だったのは、1.2.2 Tree RecursionのFibonacci数列の計算で、再帰を使った計算はFibonacci数列の漸化式から理解できるのだがこれは非常に効率が悪い。Fibonacci数列の計算を反復的なステップで計算するあたりでなるほどと思い、1.3 Formulating Abstractions with Higher-Order Proceduresで、Schemeの教科書を読んでいまいち想像が沸かなかった高階手続きといままでLISP系の本を読んでlambda記法のありがたみがいまいち分からなかったが、何となく見えてきたこと。理解するためにちゃんと手を動かさないと駄目だと思ったところ。とりあえず第1章だけでも読んで手を動かすところ満載なのである。

2003年10月13日 月曜日

今日はFFXIの日

今日はお仕事でしたが、予想通り早く切り上がったので、最近久しぶりにはまりつつあるFFXIを堪能する。ひたすらナイトのレベルアップである。なかなかしんどいが、今日の作業でレベル10となり、プロテスが唱えられるようになったから、ソロで歩き回っていてもそれなりに遊べるようになりそうだ。とりあえずサポートジョブは「挑発」が使えるようになった戦士に変更して問題ないだろう。これで何とかパーティに誘われるのかな?

2003年10月12日 日曜日

fetchmail+procmail+spamassassinで楽々SPAMフィルタリング

ここ最近やたらSPAMメールが多いので、以前よりSPAMフィルタを導入しなければならないかなと思っていたのですが、時間が取れたのでようやく導入となりました。TLUCのMLで五十嵐さん三浦さんに設定を教わったのと、UnixUser 2003年9月号の特集記事を参照にしてみました。あとspamassassin を fetchmail から利用する方法も参照しました。
うちは自宅でSMTPサーバを公開しているわけではない(自宅のプロバイダの関係でグローバルなIPv4アドレスをとれない)ので、単純にfetchmail+procmail+spamassassinで運用を試みてみます。

インストール

メール関係を扱っているうちのサーバはDebian GNU/Linux(woody, stable)なので、まず/etc/apt/sources.listに以下の内容を書き足し。

deb http://people.debian.org/~nobse/deprecated/backported ./

続いてツールをインストールする。

sudo apt-get install spamassassin procmail fetchmail

fetchmailの設定

次にfetchmailの設定を行う。うちは3つのAPOPサーバにアクセスしてメールを拾ってくるので、全部fetchmailだけで落とせるようです。ということで、~/.fetchmailrcはこんな感じ。# 以降をコメントとして読んでください。(実際は書かなくて良い)

## .fetchmailrc
defaults                 # デフォルトの設定
  protocol apop          # プロトコルはAPOP、POP3ならpop3にする。
  no rewrite
  no mimedecode          # MIMEデコードしない。(デフォルトでこの指定になる。)
  options fetchall       # 既読・未読にかかわらず全てのメッセージを取得
  mda /usr/bin/procmail  # procmailに処理を渡す
  set daemon 300         # 300秒に1回 メールをもらってくる(デーモン化)
poll server1             # server1の設定(pollはデーモン化しているともらってくる設定)
  user user1             # ユーザー名はuser1
  password hogehoge      # パスワードはhogehoge
poll server2             # server2の設定 (以下同じ。)
  user user2
  password fugafuga
skip server3             # server3の設定(skipは自動でメールをもらわない)
  user user3
  password fumufumu

以上を設定して、group / other のパーミッションを落す。パスワード生書きなので、fetchmailはgroupとotherのパーミッションを落とさないと実行してくれない。

$ chmod 600 ~/fetchmailrc

複数のサーバから持ってくるときはこれで良いのかな? (どれかのPOPサーバがこけているときは、大丈夫なのかなぁ?) いきなりkeepしないのはまずいかも知れないのでしばらくkeepを設定しておいた方が無難です。(大丈夫っぽいけど。大事なメールは無くさないようにしましょう。無くなっても僕は知りません。) fetchmeilを起動します。

$ fetchmail -v

procmailの設定

procmailの設定は暗号めいていて非常に難解。でも書くべき内容は高々知れているので、さくっと書く。どう読んでも意味不明だけども、もらってきたメールはフィルタのspamassassinを通して、SPAMだったら ~/Maildir/.spam へ、そうでないメールは ~/Maildir/ へ仕分けられる。

## .procmailrc
MAILDIR=$HOME/Maildir/
LOGFILE=$HOME/.procmail/process.log
DEFAULT=$MAILDIR
:0fw
| spamassassin
:0:
* ^X-Spam-Status: Yes
.spam/

.procmailrcは何を書いているのか解読するのにえらく時間がかかったというか、ようわからん。こんなので本当に良いのかなぁ。今のところ調子は良さそう。

spamassassinの設定

spamassassinの設定ファイル user_prefs は、いったん設定をhttp://tlec.linux.or.jp/docs/user_prefsから頂いてきて、~/.spamassassin にコピーしてみる。(詳しい内容の解析は別途考える。)

$ cd ~/.spamassassin$ wget -O user_prefs http://tlec.linux.or.jp/docs/user_prefs

まずいSPAMを食べさせるべくためてきたSPAM(MH形式で保存してある)を~/spam1/に、さらにえさを投与すべくSPAMをhttp://www.flcl.org/~yoh/spam9xxxx.tar.gz(Linux-MLにおけるSPAMを抜き取った物)からもらってきて、~/spam2/ 以下に展開。spamassassinのベイジアンフィルタリングのデータベースを賢くするために、お食事もといお勉強をしてもらう。(全部で2000通程度食べてもらった。)

$ sa-learn --spam --no-rebuild --dir ~/spam1/
$ sa-learn --spam --no-rebuild --dir ~/spam2/
$ sa-learn --rebuild

/Maildir/に格納されているhamなメールはどうやって食べてもらえばいいのですかね。単純に、/Maildir/.hogehoge にhamなメールを入れているとすれば、

$ sa-learn --ham --no-rebuild --dir ~/Maildir/.hogehoge
$ sa-learn --rebuild

で良いのかな?(まだやっていない)

おしまいに

ということで、SPAMが来るのをひたすら待つこととなった。(楽しみなのです。) うまくいくと_かなり幸せ_になりますな。(あと微妙な副産物としては、未読のSPAMでないメールは、全部 ~/Maildir/ に集まることになったので、WanderlustのPOPフォルダを使う必要が無くなって、IMAPフォルダだけを使えば良くなったので、微妙に使い勝手があがったのです。

もっと読む

2003年10月11日 土曜日

雑誌の記事って電子化されないものか

最近雑誌を買わなくなって久しいのだが、たまに読みたい連載があっても_収納スペースの確保・整理する手間・捨てる手間_を考えると買わないと言う選択をしがちである。(僕がだめだめなだけかも知れないが、真面目に家の中の本の収納スペースが飽和しているのですよ。もうハードカバーと文庫本しか買う気がしない。)
僕が買う雑誌といえばここ数年はほとんど最近コンピュータ関連の雑誌なので、なおさら思うところであるが、記事の電子データも付けてくれない物だろうか? 最近読んでおきたいなと思っている連載は、Unix Userに連載されている西田 亙さんの「GCCプログラミング工房」とLinux Magazineに連載されていたまつもとゆきひろさんの「Ruby入門」なのだが、上記の理由の方が優先していて雑誌を買う気にならない。記事の内容が良いだけに実に勿体ないのである。
最近コンピュータ関連の雑誌が売れないと言われ続けているが、速報性ではWebにはもう勝てないので、ビジネスモデルを転換して、有用な読み物の連載を軸に雑誌を作ってもらい、CDROMで記事の電子データも付ける。ただ電子化してもその月しか売れなければ売り手としては厳しいので、_電子データを1ヶ月後ないしは数ヶ月後にCDROMにして付録にする_というのはどうだろう? これならば連載を読むために雑誌を買い、その記事の電子データが欲しくて次の月の雑誌も買うということで、売り上げをある程度見込めて、雑誌の記事の再利用性が高まって嬉しくないだろうか?
一度電子データになってしまえば自分の家でデータベースに組み込むなりなんなりして保存すれば、場所も要らず、検索性も増して、非常に便利なのだが、そういう企画を実現してもらえないものかねぇ。とくにUnix Magazineのように、記事がそのときに必要なくて、数年後にヒットするような雑誌の場合、保存場所と検索性の向上こそが切実な問題なのである。
まぁそんな話を、あおしまさんと話をしたのです。

2003年10月10日 金曜日

今日は体育の日ではありません。

今日は体育の日ではないのね。僕はお休みでしたが…

散髪

今日は休みなので久しぶりに散髪に出かける。適当に短くなって鬱陶しくなくなった。

栗本 薫 / グイン・サーガ 92 「復活の朝」

今日発売なので早速購入。早速読了。今回は予想されていたような怒濤の展開で、予想よりも早い展開でパロでの一騒ぎは一気に終了。パロのどろどろした話が随分長かった印象だが、終わりはあっと言う間ですか。まさかあんな感じにアモンとグインがいなくなってしまうと思いませんでした。まるでFinal Fantasyのラスボスとのバトルみたいにいきなりワープって言う感じですか。まだ決着は付いていないと思うのですが、この戦いは外伝へ続くのかな? 本編はこのあとリンダが凱旋してケイロニア軍が撤収していったん終了ですかね。
しかし前巻の「ルアーの忍耐だ、ガウス。」という台詞にはあんな意味があったのですか、さすが《竜の歯部隊》はグインと一心同体、主君を信じて忍耐強く帰還を待つわけですな。それに比べてよく分かっているはずの腹心の部下である黒竜将軍トールの慌てようはいったい何なのだ?(グインと一緒に活躍して一傭兵から黒竜将軍まで上り詰めたと言うのに…)
今後の展開は全く読めないのですが、どうもマイルストーンになる巻名は「カリンクトゥムの扉」のような気がするが、これは外伝行きなのか? グインが中原からいなくなる絶好の機会なので、これを機にノスフェラスの奥地グル・ヌーにある星船に行って《北の見者》ロカンドラスの墓参りと大道師アグリッパとの面談で_3大魔道師制覇_とか、名前しか出てこない名所「カリンクトゥムの扉」とかに行ってもらわないと、_話が終わらないんですけど栗本さんっ!_という感じで、次巻からの展開に期待!

MISSION:IMPOSSIBLE

昨日リメイクの映画のDVDを買ってきたので久しぶりに見る。トム・クルーズ主演のあれです。いつも思うのだがスパイ物とかアクション映画は楽しく見るのだが、「MISSION:IMPOSSIBLE」はこういう物のお約束の原点なので、やっぱりやめられない。あの音楽を聴いてワクワクしない奴はいないということで、続編も速攻で買わねば。

もっと読む