Just another Ruby porter,

〜2004年8月上旬〜


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

2004-08-01 (Sun)

[Linux] ディスク異常

昨日のshutdown時のumountがうまくいかなかったのか、なんか一部のファイルが壊れたらしい。 とりあえずKNOPPIXで立ち上げてfsckしてみると、 出るわ出るわでlost+foundにいっぱいたまった。 一応確認してみるとRuby Binariesのインストール用作業ディレクトリのファイル群なので、消しても問題ない。 しかし消せないファイルというかディレクトリが1個。 変な属性が立っちゃったようなので、chattrで落とす。

% ls -l
total 44
d--x------    2 802897   2151695874    45056 Jan  1  1970 Child.src
% lsattr
lsattr: Permission denied While reading flags on ./Child.src
% sudo lsattr
-u---a-A----E-- ./Child.src
% sudo chattr -u -a -A -E Child.src 
usage: chattr [-RV] [-+=AacDdijsSu] [-v version] files...

あれ?複数はだめなのかな。

% sudo chattr -u Child.src 
% sudo chattr -a Child.src
% sudo chattr -A Child.src
% sudo chattr -E Child.src
usage: chattr [-RV] [-+=AacDdijsSu] [-v version] files...

あ、-Eが無効ってことか。

% sudo lsattr             
------------E-- ./Child.src
cow:classes/REXML % sudo chown watanabe:ruby Child.src 
cow:classes/REXML % ls -l
total 44
d--x------    2 watanabe ruby        45056 Jan  1  1970 Child.src
cow:classes/REXML % chmod 0755 *
cow:classes/REXML % ls -l
total 44
drwxr-xr-x    2 watanabe ruby        45056 Jan  1  1970 Child.src
% ls Child.src 
% rmdir Child.src 

うーむ。Eってなんなんだろう?まあいいか。消えたし。

「萌え」の起源は平安年間? 『枕草子』から新たな記述発見

いやー、他の記事を読まなかったら、すっかり騙されてたよ。

また、今回見つかった文章の中に「紫に萌ゆるをとこ、げにをこがまし。(紫 の上に萌える男はたいそうみっともない)」(256段)という、『源氏物語』 の主人公・源氏の君に対する痛烈な批判も含まれており、清少納言の『源氏物 語』観を知るうえで貴重な資料になりそうだ。

さらに、この文脈で用いられている「萌ゆ」の意味が、現在サブカルチャーマ ニアが用いる「萌え」の意と一致すると、一部研究家から指摘されており、こ の言葉の起源についての議論にも発展する気配を見せている。

しかしサブカルチャーマニアて。

via クリックランキング


2004-08-02 (Mon)

[TV] ツール・後半総集編

録っといたビデオを見る。なんとマルコ・パンターニが亡くなっていたとは。 死因不明かあ。


2004-08-03 (Tue)

7月のspam

3825通。あれ。減ったよ?

[Soft] Bogofilter 0.92.4

Changes:

Invalid options now cause a warning rather than a program abortion. The regression tests were revised for %A/%I/%Q. The bogogrep_static program is now stripped on installation. Miscellaneous cleanups were done.


2004-08-04 (Wed)

[Soft] Dnsmasq 2.11

Changes:

This release fixes build problems on the latest versions of FreeBSD-current and a rare DHCP address allocation problem.


2004-08-05 (Thu)

[Cygwin] cygdrive

/cygdriveディレクトリを作ることが流行ってるらしいが、そもそも/cygdrive自体が長いよね。

% mount -u -b -c /

とすれば、/c, /dのような感じで各ドライブにアクセスできる。

さらに/dev/clipboardを作っとくと、こっちも補完できるようになる。 ただCygwinの外からじゃないと作れない。

C:\cygwin\dev>copy nul clipboard

bashの場合はc:/を使うと補完はc:が無視された形になるので、あまりうれしくない。 一方zshだと問題ない。":"に何か意味があるのか?


2004-08-06 (Fri)

[Mail] 中身のないメール

最近Subjectも本文もないメールがよく来るようになった。 spamにもならないし、いったい何がしたいんだ? テロリストが森に木を隠すように連絡するとかいう話をどこかで読んだけど、 これがそうかな。ほとんどFromしか情報がないんだけど。

記事発見。


2004-08-07 (Sat)

[Win32] Readline 5.0

Bash 3.0とともにリリースされたReadline 5.0をimportしよう。

% cvs -d $repository import -m "Import of Readline 5.0" \
  readline eban readline-5_0

としたら親切にも

Use the following command to help the merge:

      cvs -d $repository checkout -j<prev_rel_tag> -jreadline-5_0 readline

と言われたので、

% cvs -d $repository co -j base -j readline-5_0 readline

のようにcheckoutした。あとはconflictしたファイルを修正してcommit。


2004-08-08 (Sun)

[Mail] RubyFilter

そろそろRubyFilterを使おうと思って、 RAAで検索してみると、URLが間違っている。 RubyMailを指している。

ま、それはいいとして、 RFilter::DeliveryAgent#save にはMH形式で保存する方法ないようだ。 deliver_mhを作るか、#pipeでMHのコマンドを呼び出すか。

[Quiz] PHB

最近 IQサプリにはまってる。 自分でも問題を考えてみた。さて?には何が入るか?

P, H, B, H, H, P, H, P, H, ?

念のためぐぐってみるとなんと同じ問題を考えた人がいる。 なんか悔しい。


2004-08-09 (Mon)

[Mail] 中身のないメール

どうやら 新手口らしい。 今日も3通来てた。

via クリックランキング

[Mail] rdeliver.rbのテスト

とりあえず~/.procmailrcの最初のほうに

:0 c
* $RUBYFILTER ?? yes
| /usr/local/bin/rdeliver.rb --log $HOME/.rdeliver.log

を追加してみた。全部カーボンコピー扱い。 こうしておけば今の環境と併用できるはず。 先頭あたりにRUBYFILTER=yesと書いておけばrdeliver.rbが起動される。

rdeliver.rbに書いてあった通りに~/.rdeliverに最小の

def main
  agent.save('inbox')
end

を書いて実験。ここまでは問題なし。

つぎに

def main
  agent.pipe('/usr/lib/mh/rcvsore +test')
end

としてMH形式で保存させてみる。

% scan +test
   1 2004-08-10 00:58   1379 |WATANABE H| test<<テスト。 
   2 2004-08-09 09:45   5835 |"Abu M.Ses| business transaction.<<Greetings from

いいようだ。って早速spamも来てるし。


2004-08-10 (Tue)

[Ruby] bdb 0.5.1

更新。

[Mail] rdeliverとMH形式

RubyFilterというよりはrdeliverと言ったほうがいいかもと思う今日この頃。 agent.messageでメール全体を扱えるので

open("/path/to/message", "w") do |f|
  f.write agent.message
end

という感じで保存できる。 そのファイル名はというとここで 例のmax_byが出てくるわけだ(なげーよ)。

require "pathname"

def main
  inbox = Pathname.new("~/Mail").expand_path.join("inbox")
  new_file = inbox.join(Dir.entries(inbox.untaint).max_by{|x| x.to_i}).to_s.succ
  agent.log(2, new_file)
  open(new_file.untaint, File::RDWR | File::CREAT | File::EXCL, 0600) do |f|
    f.write agent.message
  end
end

でいいかと思ったら、なぜかlogに

Action: defer: finished without a final delivery

と出てくる。なにかおまじないが必要なようだ。 saveを見てみるとraiseしなきゃいけないらしい。

raise ::RFilter::DeliveryAgent::DeliverySuccess, "saved to mbox #{new_file.dump}"
new_file

を最後に追加。これでいいみたい。

いやいやそんなことしなくてもagent.save(new_file.untaint)でいいじゃん。 pwdは$HOMEになるようなので、expand_pathもやめよう。

def main
  inbox = "Mail/inbox"
  new_file = File.join(inbox, Dir.entries(inbox).max_by{|x| x.to_i}).succ
  agent.save(new_file.untaint)
end

<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!