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でやろう。
それにしても、通信するとあっと言う間に電池が減る。これは充電池を使い回す運用にした方がいいかなー。うーむ。
2000-11-15(水) [長年日記]
■ Mach君
あらー。「toor君」は落選かぁ。って、ハガキ出すのかんっぺきに忘れてましたな(笑)。まぁいいや。「Mach君」と呼びながら、心の中で「toor君」とつぶやくことにしよう。けっこう悪くないしね >Mach君。でもこれって、KondaraのKernelがMachだと勘違いされないか(笑)。
■ Visorでメール
出張の移動中に、メールマガジンでも読もうと思って、Platinum用のメールアカウントに何通か転送してみた。それをICカード電話で受信。メーラーにはPalmscapeMailを使用。無事に受信できたようなので、よっしゃと思って読んでいったら、[1/6 continue]なんて表示を出して途中でブチ切れてた。あう。自前のDBじゃなくて、ビルトインのMailDB使ってるのか。あれは8KB制限があるからメルマガみたいな長いメールには無力なんだってば〜。「continue」なんて書いてあるから別のところに続きがあるのかと思ったらないし。とほほ、やっぱPOPJにしないとダメか。POPJは長いメールを分割して受信してくれるのだ……って、以前おれが要望してつけてもらったんだけど。もしくは、転送時に8KB単位に切って送るなんて手もあるけど。
POPJはたしか有料になってから使ってないんだっけ? 1000円か。でも、そこまでしてPlatinumでメールを読みたいか、というとそんなことはないんだよな。メルマガ読むためなら、受信と同時にDOCファイルに変換して自動的にHotSyncなんて技を使えないこともないし。それならRubyでいくらでもフィルタが書ける。うん。そっちの方がいいかも……。
それにしても、結局Palm業界にはオープンソースが根付かなかったなー。最近はフリーソフトもだいぶ増えてきたけど、一時は出るソフトみんなシェアウェアだった時期があったし。フリーソフトつっても、ソースは非公開の「無料」ソフトばっかりだし。オープンソースが普及しなかった理由は簡単で、移植の必要性がなかったからだ。UNIXが基本的にオープンソースなのはいろんなアーキテクチャがあるからで、WindowsやMacやPalmにオープンソースが根付かなかったのはバイナリ配布でもなんの支障もないからだ。もう一つ、オープンソース推進役のカリスマが欠けていた、ってのもあるかな。Palm界のESRみたいな人がいればよかったんだけどね。PalmOS 1.0のSDKには、標準アプリのソースが付属していたらしいから、オープンソースが当たり前になる土壌はあったと思うんだがなぁ。残念なことであるよ。
2000-11-14(火) [長年日記]
■ namazu
ゆうべ、ちょっと捜し物があってかなり久しぶりにメールをNamazuで検索したら、どうも日本語が検索できない。そういえば前から日本語をキーにして検索かけてもひっかからなくて、無理やりヒットしそうな英単語で検索していたんだけど、これってちょっと変。「タイヤ」なんて単語が「タ」「イ」「ヤ」とバラバラになっているのは、辞書がおかしいからに違いない。Namazu自身は辞書なんて持っていなくて、こういう仕事はKakasiがやるはず。そう思って調べていたら、「辞書は大きいので別途配布される」なんて記述を見つけて背中に冷たいものが。恐る恐るKondara-ZooのCDを見てみると、kakasi-dict-2.3.2-1k1.i586.rpmなんてファイルがっ(笑)。おれってバカ? 英語専用の検索システムで懸命に日本語を探していたのか(泣)。はまったぜ。
さっそくこの辞書を入れて、インデックスを作り直し。なるほど、日本語処理のためか、遅いような気がする。メールもずいぶん溜っているし、マシンも遅いので、時間がかかりそう。mknmzをしかけてそのまま寝る。朝、試してみたらちゃんと「タイヤ」が「タイヤ」になってる。よかったよかった。またひとつ、間抜けを克服したよ。まったくもー。
■ PalmOS 3.5.2H
Platinumを買ったGetNewPCから、Palm OS3.5.2Hのアップデートが出てるよーってメールがきた。こういうアフターサポートはいいやね。「新製品が出たよ〜。それもあんたが持ってるのより性能が上で安いよ〜」なんてメールを送ってくるどっかのショップは嫌い(笑)。さっそく入れ換え。もっとも、PrismのGraffiti問題とか(Platinumは問題ないのである)、Modem HotSync問題とか、おれとは関係ないfixばかりだが。でもこっそり他にも直ってるかも知れないし。
■ ICカード電話
会社帰りに、ICカード電話での通信に挑戦。あらかじめ(あきらめて)ICカードテレカは買っておいた。ICカードっていうから、クレジットカードみたいな厚いプラスチックのを想像してたけど、ほとんど従来のテレカと変わらないのな。たいしたもんだ。Palmscape(Webブラウザ)とPalmscape Mail(MUA)のFree版というのが出たばっかりなので、例によってmuchy.comからGETしておいた。Platinumの設定は、Preferenceから、
- Connectionにひとつ設定を起こす。名前はIrTAとでもしておく。内容はConnection Methodに「IrCOMM to Modem」、Dialingに「TouchTone」、Volumeは「Low」にでも。「Details」のInit Stringに「ATS100=1」を指定しておくのがミソらしい。Detailsの他の項目は、Speedを「57,600bps」とFlow Controlを「On」。この新しい設定「IrTA」を選択してアクティブにしておくこと。
- Networkに、接続するISPの設定を追加。ICカード電話はISDNなので、接続先はISDN対応アクセスポイントでなければならない。User NameやPassword、電話番号などを適切に設定。Connectionには「Current」を指定しておけば、さっき作ったIrTAを使ってくれる。
■ あとは電話機にカードを入れて、データ通信ボタンを押す。けっこうすぐにタイムアウトしやがるので、Visorの赤外線窓を電話に向けて、接続直前のダイアログが出ている状態にしてから押した方がいい。この時、こないだ入れたFlipHackで画面を90度回転させておくと、Visorを横向きに持っても不自然でなくなるので良い。あとはVisorから接続すればつながる。極めて簡単。Palmscapeは出てすぐ、テストの時にPalmPilot + pilot modemで使っていたけど、最近のはすっごく進歩していてびっくりだ。画像が驚くほど鮮明。安定してるし。メールはまだ試してないけど、単一アカウントでよければ十分使いやすそう。緊急用の通信環境としてちょっと整備しておけば、少なくとも国内では不自由しなさそうだ。