@kyanny's blog

My thoughts, my life. Views/opinions are my own.

Wanderlust+POPFile から Mew+bogofilter に鞍替えした

Mew の作者さまの講演をきいておいて Mew を使わずしてどうするか! ということで、前々からやりたいと思っていた Mew への乗り換えと、スパムフィルターの乗り換えをあわせてやりました。

Wanderlust+POPFile 環境の最大の問題点は速度。僕のとろいマシンでは数十通のメール受信でも、パーセンテージがあがっていく様子を目視できるほど遅い(時間を計るとむなしくなるので正確なところは不明)ので、1000通単位で受信するときはしばらく他の PC でフィードの消化をする必要がある(ブラウザのタブを開くのにすら数秒かかってしまう)という、なんとも情けない環境でした。

重いのは POPFile のせいなのはわかりきっていたので(直接 POP サーバから受信すると早いこと早いこと)、ここだけかえても良かったのだけど、 Wanderlust を何ヶ月か使ってみて、「Gmail IMAP とか、重いし結局あんまり使わない」「POP3 だけで使うなら、 prefetch とかも邪魔くさい」と、僕の用途にはあんまり合わないことがわかったので、こちらもあわせて乗り換えました。あと検索で HyperEstraier が使えるというのも、試してみたかった。

Mew の info を読んで、

#!/bin/sh

bogofilter -v -T -B $* | grep S

こんなのを ~/bin に放り込んで、 Summary モードで ? [RET] bogo [RET] するとスパム判定されたメッセージにマークがつくので mo +spam x でスパムフォルダへ放り込む。キーバインドは当然 Wanderlust に似ているのですぐ慣れました。メールの件数がまだ少ないってのもあるけど、 bogofilter の早いこと・・・。あと、日本語のスパムをあまり認識しないのがかえって誤認識を防いでいる感もあり、今後じっくり育てていって賢くなればなぁと思います。

それから、こういう細かいものでもなるべく個人でもっている svn レポジトリに入れておくようにしはじめたのですが、 ln -s でシンボリックリンクをはるときに絶対パスを簡単に得る方法がよくわからなくて、結局 Perl で書きました。こんなのコマンドで普通にあると思うんだけど、どう探したらいいものかわからず。

#!/usr/bin/perl
use strict;
use File::Spec;
use Getopt::Long;
use Pod::Usage;

GetOptions(\my %opt, "help", "n");
pod2usage(2) if $opt{help};

exit unless scalar @ARGV;

print File::Spec->rel2abs(shift);
print "\n" unless $opt{n};

__END__

=head1 NAME

rel2abs - print absolute path of target

=head1 SYNOPSIS

 rel2abs [Options] target

 [Options]
   -n           do not output the trailing newline (like man 1 echo)
   --help       print this message

=head1 DESCRIPTION

this script was originally one-liner.

 perl -MFile::Spec -e 'print File::Spec->rel2abs(shift)'

rewrite as perl script for -n option.

=cut


ついでにそろそろ HDD クラッシュでもするんじゃないかとビクビクしながら使っている我が X30 のスペックをメモがわりに残す。

$ cat /proc/cpuinfo
processor	: 0
vendor_id	: GenuineIntel
cpu family	: 6
model		: 11
model name	: Mobile Intel(R) Pentium(R) III CPU - M  1200MHz
stepping	: 4
cpu MHz		: 1196.047
cache size	: 512 KB
fdiv_bug	: no
hlt_bug		: no
f00f_bug	: no
coma_bug	: no
fpu		: yes
fpu_exception	: yes
cpuid level	: 2
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 sep mtrr pge mca cmov pat pse36 mmx fxsr sse up
bogomips	: 2393.38
clflush size	: 32

$ cat /proc/meminfo
MemTotal:       506220 kB
MemFree:         60708 kB
Buffers:         35376 kB
Cached:         166328 kB
SwapCached:          0 kB
Active:         356884 kB
Inactive:        54412 kB
HighTotal:           0 kB
HighFree:            0 kB
LowTotal:       506220 kB
LowFree:         60708 kB
SwapTotal:     1012084 kB
SwapFree:      1011940 kB
Dirty:              12 kB
Writeback:           0 kB
AnonPages:      209592 kB
Mapped:          70016 kB
Slab:            28608 kB
SReclaimable:    21884 kB
SUnreclaim:       6724 kB
PageTables:       1736 kB
NFS_Unstable:        0 kB
Bounce:              0 kB
CommitLimit:   1265192 kB
Committed_AS:   476272 kB
VmallocTotal:   516088 kB
VmallocUsed:      2232 kB
VmallocChunk:   513692 kB