〜2003年10月上旬〜
1284通。 ruby-bugs, ruby-bugs-jaのブロックで100通程減ってる勘定。
ruby-talk ML宛は136通。 ruby-talk MLはSpamAssassin 2.20を通しているが、 これをSpamAssassin 2.60で再チェックしてみると、 そのうちの85通がspamとして認識された。 やっぱ新しくするとそれなりの利点があるね。
適当すぎてOctを忘れてるよ。だめじゃん。
doc/bogofilter-faq.htmlによるとbogoutilでデータベースを小さくできるらしい。
% bogoutil -d wordlist.db | bogoutil -l wordlist.db.new % ls -l total 5944 -rw-r--r-- 1 watanabe ruby 3756032 Oct 2 23:00 wordlist.db -rw-r--r-- 1 watanabe ruby 2322432 Oct 2 23:32 wordlist.db.new
結構小さくなるね。
ようやく減ってきた。今日は3通。
ごとけんさんのせいでTake On Meのイントロから歌い出しに入れなくなる。 いつまでも繰り返される。
Bogofilter 0.15.4からはGNU GSLが使えるということなのでインストールしとく。
gcc2 packagesは終了らしい。
tarballを取ってきて展開したらすごいことになってた。
% ls *.tar.gz dbh-1.0.15.tar.gz xfce4-systray-4.0.0.tar.gz gtk-xfce-engine-2.1.6.tar.gz xfce4-themes-4.0.0.tar.gz libxfce4mcs-4.0.0.tar.gz xfce4-toys-4.0.0.tar.gz libxfce4util-4.0.0.tar.gz xfce4-trigger-launcher-4.0.0.tar.gz libxfcegui4-4.0.0.tar.gz xfdesktop-4.0.0.tar.gz xfce-mcs-manager-4.0.0.tar.gz xffm-4.0.0.tar.gz xfce-mcs-plugins-4.0.0.tar.gz xffm-icons-4.0.0.tar.gz xfce-utils-4.0.0.tar.gz xfprint-4.0.0.tar.gz xfce4-iconbox-4.0.0.tar.gz xfwm4-4.0.0.tar.gz xfce4-mixer-4.0.0.tar.gz xfwm4-themes-4.0.0.tar.gz xfce4-panel-4.0.0.tar.gz
Documentationを見てその順番で作った。なるほどきれいだ。
msvcrtのテキストモードは入力時に"\r\n"を"\n"に変換するが、 bcc32だと"\r"を削除するという処理になる。 つまりgsub(/\r\n/, "\n")とdelete("\r")の違い。 この挙動のおかげでcsv.rbのテストでひっかかる。
[ruby-dev:19454]によると lavapsらしい
そのあたりはコンパイラに任せてしまうのが簡単。
long long exec_rdtsc(void) { asm volatile (" rdtsc"); }
-O3あたりでコンパイルすれば、exec_rdtsc自体展開されてしまう。
% objdump -d --start 0x40 rdtsc.o rdtsc.o: file format elf32-i386 Disassembly of section .text: 00000040 <rdtsc_count>: 40: 55 push %ebp 41: 89 e5 mov %esp,%ebp 43: 53 push %ebx 44: 83 ec 0c sub $0xc,%esp 47: e8 00 00 00 00 call 4c <rdtsc_count+0xc> 4c: 5b pop %ebx 4d: 81 c3 03 00 00 00 add $0x3,%ebx 53: 0f 31 rdtsc 55: 52 push %edx 56: 50 push %eax 57: e8 fc ff ff ff call 58 <rdtsc_count+0x18> 5c: 8b 5d fc mov 0xfffffffc(%ebp),%ebx 5f: 89 ec mov %ebp,%esp 61: 5d pop %ebp 62: c3 ret
sa-learnしてもbayes*が更新されない。 なんか変なので試しにDB_Fileをインストールしたら更新されるようになった。 SpamAssassin 2.60をインストールしたのが9/25で、 Perl 5.8.1をインストールしたのが9/28だからこのあたりに不整合が起きたか?
SpamAssassin 2.60を使うように変更。 ついでにベイジアンフィルタも使えるようにしよう。
更新。
chownし忘れて、約一日止まってしまった。もうしわけない。 新しいSpamAssassinならベイジアンフィルタをも使えるし、 かなりspamをブロックできるはず。
SpamAssassinのdbがちゃんとBerkeley DBになったかどうか調べてみたら
% file bayes_toks bayes_toks: data
と、悲しい結果に。fileを上げよう。
% file bayes_toks bayes_toks: Berkeley DB (Hash, version 8, native byte-order)
okだ。
news gatewayから半年以上前の記事が流れてきた。 fmlの設定がよくわからないので、応急処置としてSpamAssassinのuser_prefsに
header TOO_OLD_DATE Date =~ /(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep) 2003/i describe TOO_OLD_DATE Too old message score TOO_OLD_DATE 99
を追加して、spamとしてrejectさせるようにした。
fmlのほうはなかださん提案の
$OLDEST_POST_DAYS = 30; $DISTRIBUTE_FILTER_HOOK .= q# require 'libmti.pl'; if ($OLDEST_POST_DAYS && &Date2UnixTime($e{'h:Posted:'}) < time - 86400*$OLDEST_POST_DAYS) { return "Posted date was older than $OLDEST_POST_DAYS days."; } #;
をcfに追加。30日以前のメールはreject。 昼間5時間程止まってしまったのは、おいらがrequireを忘れたせい。 もうしわけない(こればっか)。