かえってきた David

第2ステージ終わり。
Steegman & Boonen は地元ベルギーで 1-2 finish.
いやー、いいね。かっこいいね。
そして、David Millar が総合3位にいるぜ!
おかえりなさい。
俺はといえば、帰りにどっかの工事現場で、舗装なおした直後だったらしくて、タールかなんかでタイヤがべたべたになり、げっそり。だって、走ってるとずーっとべたべたべたべた音がするんですよ。
36.20km @ 27.6km/h (1h18m34s) odo 3441.2km

le tour

あー、ぼーっとしてたら、はじまっちゃってる。
Prologue: Cancellara, Kroeden, Hincapie
Etape 1: McEwen, Hushovd, Boonen
とまあ、そういうわけで、なんか、予想通りの面々です。
今年は Vinokorourov に優勝してもらいたいなー。
土曜は久々にチャリ乗った。しばらくサボっており、体重も増え気味だったのでどうなることかと思ったが、圧倒的だった。明日も自転車で出勤する予定。あらゆるぶっちぎってやるぜ!

SpamAssassin

SPAM があんまりなので、しばらく MacOS についてくる Mail.app を使っていたのだが、やっぱりメールは Emacs で書いた方がなにかと幸せだ、ということがわかってきた。マウス使わなきゃいけないなんて、めんどくさすぎ。
そういうわけで、ちょっとメールサーバにしているマシンの環境を整備してみた。具体的には、
– procmail
SpamAssassin
を入れただけですが。両方とも ports で楽ちん。
まず、/usr/local/share/spamassassin/10_default_prefs.cf を編集して、

report_safe 0

にした。これ、デフォルトは 1 で、そうすると SPAM と判定されたメールは添付ファイルとして送られてくるので、誤判定されたときにちょっと不便。
次に、procmail を使って、
– X-Spam-Status: ヘッダがなければ spamassasin に渡して、
– X-Spam-Status: Yes なら /path/to/my/imap/INBOX.SPAM へ、そうじゃなければ /path/to/my/imap/INBOX へ振り分け
という設定を書く。~/.procmailrc はこんな感じ。

PATH=/bin:/sbin:/usr/local/bin
DEFAULT=/path/to/my/imap/INBOX
LOCKFILE=$HOME/.lockmail
#LOGFILE=$HOME/.procmaillog
:0fw: .lockmail.spamassassin
*!^X-Spam-Status*
|spamassassin
:0
* ^X-Spam-Status: Yes
/path/to/my/imap/INBOX.SPAM
:0
$DEFAULT

~/.qmail はこれだけ。procmail に丸投げ。

|preline /usr/local/bin/procmail

それから、学習させるための script も書いてみた。SPAM とそうじゃないメールをちゃんと分けたあとで ssh 経由でリモートから叩けば簡単だし、SPAM フォルダも空にしてくれるし、いい感じだ。うちは IMAP のメールボックスが mbox 型式なので、メールをバラすのに im を使っているのだが、Courier-IMAP で Maildir 型式、とかならもっと簡単だと思う。

#!/bin/sh
imget –src=local:/path/to/my/imap/INBOX.SPAM –dst=+spam
sa-learn –spam ~/Mail/spam/*
rm -f ~/Mail/spam/*
imget –src=local:/path/to/my/imap/INBOX –dst=+ham –keep=1 > /dev/null
sa-learn –ham ~/Mail/ham/*
rm -f ~/Mail/ham/*

誤判定は最初からほとんどなく、判定結果の精度はけっこういい感じだ。