トップ 最新

ただのにっき

2000-11-17(金) [長年日記]

Borland

Borland復活だって? 嬉しいねぇ。Turbo Pascal、Turbo C、Borland C++と、まさにおれのプログラマ人生とともに歩んできた会社だからねー。ついでに社長もフィリップ・カーンに戻しちゃえばいいのに(笑)。

Netscape 6

会社のWindowsNTにNetscape 6を入れてみた。MozillaのMilestoneは以前入れてみたことがあるんだけど、さすがに完成度が違ってずいぶん使いやすくなってる。キーボードもなんとか使えるし。テーマがカッコイイので、4.76から乗り換えを決意。当面、ここから落としたOrbitテーマで行こう。ついでにSidebarのカスタマイズもちょっと試してみる。最近はすっかりbookmark代わりになってるアンテナを、Sidebarに埋めてしまおう。ここを参考にして、RDFファイル直いじり方式でやってみたらわりとすんなり。あとで時間を見て、ワンクリックで入れられるようにしよう。図に乗ってSidebarにちょうどいいサイズになるようにフォーマットまで変えてしまった(^^;

Linux版のRPMはいつKondaraに入るかなー。って、どのディレクトリを監視してればいいんでしょ!? Jiraiにはmozilla-5.0ってのはあるけど。でも、ポリシー的にはMozillaを使うのがKondara流なんだろか。

Visorでメール

さて、たいして用もないのに、Visor Platinumでメールをちゃんと読むための模索は続く。

とりあえず、ImpressのWatchシリーズのメールを電車の中で読むために、Palmのメール8KBの制限を緩和する。早い話が、届いたら8KBずつに分割して専用のメールアカウントに送り直すリメイラーを書けばいいわけだ。ついでに広告を落とせば通信費も下がろうというもの。きしししし。この辺はRubyで軽く書ける(splitmailとする)。家は常時接続ではないので、会社の方に仕込む。例によって汎用化する必要はないので、メールアドレスも埋め込みだ(ちょー手抜きー)。

#!/usr/bin/ruby -Ke
require 'net/smtp'
include Net
require 'nkf'
include NKF
 
def sendmail( smtp, head, subject, count, to_addr, body )
   text = "#{head}#{subject}(#{format '%02d', count})\n"
   text += "Errors-To: sho@hoge.co.jp\n"
   text += "To: #{to_addr}\n"
   text += "\n"
   text += "#{body}\n\n"
   smtp.send_mail( nkf( '-j', text ), 'sho@hoge.co.jp', to_addr )
end
 
to_addr = ARGV.shift
orig_head = ARGF.gets( "\n\n" )
 
head = ""
subject = ""
orig_head.scan( /((Subject|Content-Type|Date|From): .*?\n)/m ) do |pat|
   if pat[1] == 'Subject' then
      subject = pat[0].chomp
   else
      head += pat[0]
   end
end
 
smtp = SMTP.start( 'smtp.ai.cs.fujitsu.co.jp' )
count = 0
body = ""
pr = false
while line = ARGF.gets
   if /^----☆PR☆----/ =~ nkf( '-e', line ) then
      pr = true
      next
   end
   if pr then
      pr = false if /----☆PR☆----$/ =~ nkf( '-e', line )
      next
   end
   body += line
   if body.size > 7000 then
      sendmail( smtp, head, subject, count += 1,
            to_addr, body + "\n[continue to #{count+1}]\n" )
      body = ""
   end
end
sendmail( smtp, head, subject, count += 1, to_addr, body ) if body.size != 0
smtp.finish

procmailで選別して、フィルタとしてこいつを起動。しかしなんだ、この手のツールはいくつも書いてるけど、ヘッダの解析方法が毎回違うぞ。いいのか、こんなことで。ちなみに今回は、最近やっと使い方を理解したString#scanを使ったのであった。いや、便利なのはわかってたんだけどね。なんか直感的じゃなくて、なかなか使えなかったのだ。

試しに今日のメールを転送して、PalmscapeMailで受信させる。よしよし、全部受信できてるぞ。ただ、Subjectでソートしやすいように、分割するごとにわざわざ通し番号をSubjectのお尻につけるようにしたにも関わらず、PalmscapeMailやPalmOS標準メールはどうもまともにソートができないようで、順番がバラバラ。splitmailは分割したメールをほぼ同時期にSMTPサーバーに投げるから、到着時刻が順番通りになるとは限らない。もうちょっと賢いメーラーを探さなくては。

ってんで見つけたのはThumbMail。ハードウェアキーだけでメールを選んで読んだり削除したりができる、まさに電車の中で立ったままメールを読みたい人にはうってつけのメールリーダー(送受信機能なし)。これはソートが完璧に動いてる。最初から英語モードで書かれているのも好感。Palmscapeシリーズの何が困るって、半角カナを使いまくっているせいで化けるんだよ、全部。というわけでThumbMail、これはいいです。オススメ。送受信をPalmscapeMailでやって、読み書きはThumbMailでやろう。

それにしても、通信するとあっと言う間に電池が減る。これは充電池を使い回す運用にした方がいいかなー。うーむ。