Just another Ruby porter,

〜2003年9月上旬〜


<Prev(,) | Next(.)> | Recent(/)>> | RDF

2003-09-01 (Mon)

8月のspam

1239通。4ヶ月連続でだいたい1200通ってのも不思議だ。

[Ruby] ruby-bugs, ruby-bugs-ja

ゴミを移動した。パスワードを探し出すのに苦労した。 ruby-bugsのほうはspuriousだったのか。trashを作ってしまった。 で、困ったことに消せないのだよ。 そもそもゴミも移動じゃなくて消したいわけなんだよね。 やっぱjitterbugはだめだめだ。

[Ruby] %y

誰も見向きもしないようだけど、YAMLだけってのは不公平だよね。いっそのこと

class String
  def percent_y
    ...
  end
end

と定義すると、%y{ ... }でpercent_yが呼ばれるようにするのはどうだろう? いやpercent_yってのはいまいちだから、 なんかこうかっこいいインタフェースを考えて。

逆にmethod_missingみたいな仕組みでもいいのかもしれない。


2003-09-02 (Tue)

[Cygwin] Cygwin 1.5.3-1

Changes: Support has been added for 64-bit file I/O and 32 bit UID and
GIDs. Networking problems and problems with malloc of large objects
have been fixed. There is improved signal handling, and many other
bugfixes.

しばらくre-linkによるアプリケーション側のupdateが続く模様。 落ち着くまで待ったほうがよさそう。

[Ruby] |rcr|.xv Index Variables ( *_with_index )

これはちょっとねえ。たかがwith_index程度に文法を変えるのはまずいっしょ。


2003-09-03 (Wed)

[Cygwin] update

全部かよ!いやGCCはまだだ。いいかげん3.3にして欲しいのに。

[Ruby] Log4r 1.0.3

更新。


2003-09-04 (Thu)

[Ruby] reverse!で回文チェック

元の文字列を書き換えるようなチェックじゃ、使いもんにならんだろうが!

[Ruby] %y

def %yじゃ、 引数がyで%という名前のメソッドを定義することになるのでだめです。

class String
  def %y
    "%y"
  end
end

p "" % "" #=> "%y"

2003-09-05 (Fri)

MXI

なんかあやしげ。

[Soft] lesskey

man lesskeyによると#envセクションを使うことで環境変数を定義できるらしい。 ~/.lesskeyは

#line-edit
^P up
^N down
^F right
^B left
^A home
^E end
^H backspace
^D delete
#env
LESS=icM

としよう。


2003-09-06 (Sat)

[Ruby] bdb 0.4.8

更新。

[Ruby] Log4r 1.0.4

更新。

[Ruby] RDtool 0.6.14

更新。


2003-09-07 (Sun)

[Soft] XMMS 1.2.8

久々だな。1年半振りか。

[Cygwin] ruby-1.8.0-1のmd5.so

126とは

% /c/winnt/system32/net helpmsg 126

The specified module could not be found.

という意味なので、なにかDLLが足りないわけです。

% objdump -p /usr/lib/ruby/1.8/i386-cygwin/digest/md5.so|grep 'DLL N'
        DLL Name: cygruby18.dll
        DLL Name: cygcrypto-0.9.7.dll
        DLL Name: cygwin1.dll
        DLL Name: KERNEL32.dll
        DLL Name: cygruby18.dll

というわけで、たぶんcygcrypto-0.9.7.dllが原因です。 他もだめというのがopenssl.so以外だとすると原因は別になりそうだけど、 まずはOpenSSLをインストールしてみましょう。

digest/md5はextconf.rbでlibcryptoがないときは自前の関数を使うような処理になっているので、 configureしなおして自分でmakeすればそれなりに動くものができあがります。

[Video] 黄泉がえり

柴咲コウは劇中歌手だけだったのか。 中学生のパートが印象的だった。 全体的にはなんかいまいち。

[Video] 青の炎

二宮和也の演技はすごいね。単なるアイドル映画ではない。


2003-09-08 (Mon)

[Cygwin] -Bstatic -lz -Bdynamic

なるほどねえ。-Bstaticと-Bdynamicではさめば、 はさまれたライブラリだけがスタティックにリンクされるわけか。 つまりlibz.dll.aじゃなくてlibz.aがリンクされる。 gccからなら

-Wl,-Bstatic -lz -Wl,-Bdynamic

とすればいい。

シンボルだけなので細かい引数は無視して実験。

% cat foo.c
main()
{
    zlibVersion();
    DES_crypt();
}
% gcc foo.c -lz -lcrypto                           
% objdump -p a.exe |grep 'DLL N'
        DLL Name: cygcrypto-0.9.7.dll
        DLL Name: cygwin1.dll
        DLL Name: cygz.dll
        DLL Name: KERNEL32.dll
% gcc foo.c -Wl,-Bstatic -lz -Wl,-Bdynamic -lcrypto
% objdump -p a.exe |grep 'DLL N'                   
        DLL Name: cygcrypto-0.9.7.dll
        DLL Name: cygwin1.dll
        DLL Name: KERNEL32.dll

ちゃんと-lzだけがスタティックにリンクされている。

[Cygwin] ruby-1.8.0-1とOpenSSL

これってCygwinのsetup.iniの不備と言える。 OpenSSLに依存していると書かれていないのがまずい。 他も調べてみると

ncurses, dbm, gdbm, iconv, readline, tcltklib, zlib

もそうだな。依存させるのは簡単だけど、 逆に用もないのになんかいっぱいインストールされるといやだなと感じるユーザもいるかもしれない。

考えてみるとおいらが作ってるsetup.iniもrequiresは書いてない。 他人のことは言えない。

ROCKERS

木更津キャッツアイかよ!

[Ruby] VRuby 030906

更新。

[Ruby] SWin 030906

更新。


2003-09-09 (Tue)

月と火星

家に帰る途中、空を見上げたら月と火星が並んでいた。 明後日は十五夜か。

[Mail] SpamAssassin

びっくりするぐらい遅い。1通あたり18秒って。 -Lを指定したら39秒って、え?なんかおかしいな。

なぜSpamAssassinかというとruby-bugs(-ja)で使っているからであり、 その勉強のためだったりするわけだが、 たとえば200通ぐらい一度に受けると3600秒かかるわけで1時間かよ!

とかなんとか書いてる間に5通のspamを見つけてくれた。 ちゃんと動いてるようだが、これを使うわけにはいかないな。


2003-09-10 (Wed)

[Mail] Bogofilter

で、結局Bogofilterを入れてみたり。 半年ほどspamを取っといたけど、それは使わずに0から育ててみる。

学習させるために、SpamAssassinと組み合わせてみよう。 bogofilterで生き残ったメールをSpamAssassinでもう一度チェックし、 spamと判断されたらbogofilter -Nsで学習しなおすという方針。 だれかすでにやってるに違いないと思い、 bogofilter spamassassinでぐぐるとやはり あるね。というわけで~/.procmailrcをこんな感じにした。

MAILDIR=$HOME/Mail/
PATH=/bin:/usr/bin:/usr/local/bin
LOGFILE=$HOME/procmail.log

### SPAM

:0fw
| bogofilter -u -e -p -l

:0:
* ^X-Bogosity: Yes
spam/.

:0fw
| spamassassin

:0
* ^X-Spam-Status: Yes
{
	:0cw
	|bogofilter -Ns
	:0:
	spam/.
}

最初は精度が悪いので手動でも学習させよう。 spamじゃないのにspamと判断されたら

% bogofilter -Sn <no-spam

spamなのにspamじゃないと判断されたら

% bogofilter -Ns <spam

でいいわけだな。

やっぱnkf+kakasiでわかち書きにしたほうがいいのかな。 このままでも結構賢くなりつつあるから、とりあえず様子見。


<Prev(,) | Next(.)> | Recent(/)>> | RDF


WWW を検索 jarp.does.notwork.org を検索

わたなべひろふみ
Key fingerprint = C456 1350 085F A320 C6C8 8A36 0F15 9B2E EB12 3885
Valid HTML 4.01!