2003年11月の技術日記


Nov.4,2003 (Tue)

いろいろな場面で首を横に振れさえすれば、もうちょっと楽になるのかなとか思ってみる。

作ったもの

いろいろ作ったものがたくさんある。多分、いろんな人に役に立ちそうでもある。

  • 数値計算、プロットライブラリや物理シミュレータ的なもの
  • XML、DB、シリアル化された文字列(電文)を相互変換可能なミドルウエア
  • フリーのマルチユーザー・マルチ帳簿会計のバージョンアップ分
  • JSPのお手軽DBサイト構築タグライブラリ
  • 柔軟で分かりやすいルールを書けるスパムフィルター

などなど。どれもこれも、ドキュメントをちゃっちゃと書いたり、Webに公開さえすればいいのだけど、なかなか時間が取れそうにない。

ということで、ここの技術日記で小出しにしていこうと考えてみた。

Nov.13,2003 (Thu)

「さむぞら」という言葉に何故か感動するこのごろ。

namazu on cygwin

cygwinをアップデートすると、Perlのバージョンが上がってしまったので、今まで動いていたもの(namzu, MHonArc)が動かなくなった。インストールするディレクトリが変わってしまっただけなのだけど、アップデートも兼ねてもう一度必要なモジュールをインストール。

とりあえず、これで namazu が復活。MHonArc は後で使う時にもう一度インストールすることにする。

PDF のインデックスを作ろうとすると、エラーがたくさん出て来た。以下の修正をすることで動くようになった。

600KByteでの容量制限
/usr/local/share/namazu/pl/conf.pl の $TEXT_SIZE_MAX, $FILE_SIZE_MAX を適当な値に設定する。
PDFファイルが全て変換できない雰囲気
/usr/local/share/namazu/filter/pdf.pl で、 pdftotext にパスを通すか直に実行ファイルまでのパスを書く。cygwin でコンパイルした pdftotext でなければ、pdftotext に渡すパスは cygwin 用のものではなくて、ドライブ文字から始まる Windows 用パスを入れるように修正。pdftotext に渡すオプションの書き方が合ってない場合があるので、コマンドラインで実験して正しいオプションを渡せるように修正。
「フォントが無い」的なエラー
xpdfのサイトから xpdf-japanese.tar.gz を取ってきて適当な場所に展開。 pdftotext の設定ファイル(/usr/local/bin/xpdfrc)に、その場所を記入する。参考

昔のスキャンで撮った論文や、著作権的な意向からテキスト抽出が制限されているPDFファイルでは、インデックスが作れないものがある。

Nov.14,2003 (Fri)

メインPC不調

忙しい時にコンピューターは壊れるものかな(詠嘆)。

メインPCの VAIO SR9M/K のPCカード部分が壊れつつある。勝手にカードが機能停止したり、抜いてないのに「勝手に抜くな」の警告が出たりする。最近の多いときは1分に1回接続が切れてしまう。ハードに問題があるのかソフトウエアに問題があるのか今のところ不明。

持っているPCカード6枚のうち3枚は頻繁に発症。1つは付ける時間は長い割にあんまり発症しない。他2枚は付ける頻度が低いので良く分からない。

メモリやCPUの限界も感じているこのごろなので、次期メインPCの候補を絞り中。条件は重要な方から、本体バッテリー込み1.4Kg以下、キーボード打ち込みやすさ、メモリ512MByte以上、CPU Pentium M 1GHz 程度以上、カッコよさ。適当に候補を選んでみた。

  • Sony:X505, この性能で1Kgを切るB5。かっこよい。ハードディスクとメインメモリの拡張性が気になるかも。
  • Sony:TR2/B, 内容は悪くない。厚い。
  • Dell:inspiron m300, カスタマイズ性と大容量メモリがよさそう。かっこ悪い。
  • IBM:ThinkPad X31, かっこよい、CPUがPM1.4GHzで強い、拡張性も悪くない。1.64Kgなので重い。
  • 富士通:FMV-BIBLO LOOX(T70E), DVDドライブを付けれる。ちょっと厚すぎるかも。
  • Panasonic:Let's note Light T2, 軽くて薄くてよいが、メモリが最大512MBteなのが心配。
  • NEC:LaVie J (LJ700/7E), 軽くて薄くてよい。出来ればCPUがもっと強いとありがたい。
  • 東芝:DynaBook SS, 軽くて薄くてよい。これも出来ればCPUがもっと強いとありがたい。
  • Epson Direct:Endeavor NT300, 薄くて軽くて、CPUが PM1.7GHz。ただ、メモリの最大値が512Mbyteで、バッテリー駆動時間が短い。

あとは、キーボードのチェックをして、何に重みを置くかを決定する。

Nov.15,2003 (Sat)

PC終了

PCカードの認識がほとんど出来なくなり、ネットワーク接続がBluetoothで携帯経由のダイアルアップのみになってしまった。大量のメールの取り込みも非常に厳しい。ほとんどの業務に影響が出てしまっている模様。

Nov.18,2003 (Tue)

次期最終検討

ということで、早急に結論を出さなければならない。実際に店頭で触ってみる。

Sony: X505
まだ出てない。却下
Sony: TR2/B
画面が小さすぎる用に感じた。キーも小さすぎてメインPCとして使えない。却下
Dell: Inspiron 300m
重さ、大きさ、拡張性とも問題ない。キーも軽めで打ちやすい。タッチパッドの反応が悪かった(触ったマシン固有の問題かも)。やっぱり見た目がよろしくない。候補
IBM: X31 2672-CJ1
作りがしっかりしている。キーの配置や打った感じはしっかりしていて良い。Windowsキーが無い。タッチパッドでなくてトラックポイント。キーが重い。厚みも結構あって、1.65Kgの重量も無視できない。でもやっぱり、PM 1.6GHz, Max 2GByteのメモリは捨てがたい。候補
FUJITSU:FMV-BIBLO LOOX T70E
TR2/Bと同じく、使いにくそうだった。却下
NEC:LaVie J LJ700/7E
最大メモリ768Mbyte、全種類無線対応、外付けドライブ付属は魅力。重量も薄さも良い。キーは他と比べて多少ぬるい感じがあるものの、問題なく使えそう。候補
Panasonic:Let's note Light T2
12.1インチながら一回り小さい。キーはそれなりの出来で打ちにくくは無い。多少キーのデザインが目立ちすぎか。候補
Panasonic:Let's note Light W2
T2の隣に置いてあったもの。DVD-ROM & CD-R/RW ドライブ内臓で 1.29Kg というのは非常に良い。候補
TOSHIBA:Dynabook SS S9/210LNKW
薄さや、キーの押した感じは良い。キーピッチが多少広すぎるように感じた。候補

候補が多少絞られた。
大きさを比べてみた。

モノ 奥行 高さ 重さ キーピッチ 1394 無線
DELL 300m 275233.624.41.3218? Ob/g
IBM X31 27322324.9-30.21.6518.5 Ob (a/b/g)
Panasonic T226821026.1-39.1 1.0719x16 b
Panasonic W226821027.5-41.5 1.2919x16 b
NEC J 27023816.6-26.91.3817.55 Oa/b/g
TOSHIBA SS 28622914.9-19.81.0919 b

まとめてみる

  • サイズや軽さを取る → T2(小さい), SS(薄い)
  • 薄くてメモリを稼ぐ → J
  • パフォーマンスを取る → X31
  • 光学ドライブ → W2
  • バランス → 300m

しばらく表を見ながら考えてみることにする。

これまで、軽くて高性能という観点で Sony のノートパソコンをこれまで計3台、5年以上使いつづけてきた。今回の候補に残らなかったことは、単に製品発表のタイミングの問題か。X505が評価できなかったのが残念だけども、このスペックと拡張性では今までのように圧倒的な差で Sony を選択というわけには行かない。こうなると、Bluetooth アダプタとメモリースティックリーダーも用意しなくてはならない。メインPC、MD、携帯、PDA、デジカメと、決してカッコよさだけではなく機能で Sony を選んできたのだけども、この調子ではいよいよ Sony 離れか。「嗜好品的PCは僕の中で成り立つか」 (by ZDNet)

Macも 1.4Kg を切れば選択肢に入ってくるのだけど。

Nov.19,2003 (Wed)

PC購入

結局 IBM X31 に。

X31の良かったところ(上からポイント高い順)

  • パフォーマンス(このクラスで他の追従がないPM1.6GHzと、最大2Gbyteまで拡張可能なメモリ)
  • IEEE1394が付いている(というか、IOポートがたくさん)
  • キーボードを照らすライト(これで、夜の車での移動中も仕事ができる)
  • Bluetoothが付いている
  • 本体のつくりやサポートがしっかりしている

よくなかったところ

  • 重量1.65Kg(VAIO SRより300gほど重い)
  • キーボードが硬い

非常に悩んだ結果

  • 母艦足りうるスペック
  • 今後長く使える拡張性の高さ
  • これまでの資産を使えるIOポート

を考えて、重さを妥協することにした。
とりあえず、予定がずれてきてゆっくり入れ替えたり楽しむ時間がないので、旧機 VAIO SR に1394でネットワークを確保して普通に仕事ができるようにした上で、同時進行で環境やデータの移動を行う。

Nov.22,2003 (Sat)

データ入れ替え

仕事が一段落ついて、本格的にデータの入れ替えを行う。
やることリスト。

  • Cygwinを入れて環境を整える
  • Meadow2を入れて作業ができるようにする
  • TeX関係を整備する
  • メールをMewからWanderlustに移行する
  • 使うものからソフトを入れる

Nov.23,2003 (Sun)

データ移動

Meadow2でメールを書けるようになるまでに結局丸1日かかった。
めんどくさかったところ。

  • Meadow2のフォントまわり
  • 以前の .emacs との相違点や、それを動かすために必要なライブラリの用意
  • w3m、emacs-w3m のインストール
  • Wanderlust の設定方法の理解
  • Wanderlust の操作方法の学習

Emacsのめんどくさいところは、設定自体がプログラムであるので、設定の書き方の任意性が非常に大きいこと。理解して書かないといけない。ドキュメントもけっこう豊富ではあるのだけども、それでも自分のやりたいことの書き方を知るまでに、あちこち調べたり、何度も試行しなければならない。

もちろん、その柔軟さがいいところなのであって、それが理由で Emacs を使い続けている。Emacs中毒患者はこれからも苦労が続くということで。

Bluetooth on X31

いろいろ試したところ、X31 では C413S の携帯モデムも、 Clie の HotSync も使えない雰囲気。 ただし、X31 2672 は出たばっかりなので情報も少ないので、本当は使えるのかもしれない。あちこちのドキュメントで見かける「My Bluetooth Place」とか無いし、何かインストールが必要なのかもしれない。

しかし、本格的に使えないのだとしたら、X31を買ったことではなくて、今まで Sony に投資してきたことに対して、非常に損した気分。こんなことだからいつまでたっても Bluetooth がはやらないのではないか。無線LANは流行って、青歯がだめなのは何が違うのだろうか。

(11月25日追記:C413SもClieもつなぐことができた)

Nov.25,2003 (Tue)

1日1日が早かったり、ゆっくり進んでいたり。今のところ、目の前の山をぼんやり眺めて、どこから登ったらいいのか途方にくれていたり。

続Bluetooth on X31

何とかがんばって、CLIE(T600C+PEGA-MSB1)にもC413S(Sony-AUの携帯)にも繋げる事ができた。手順は以下のようだけども、いろいろ試していたので多少怪しい。

Bluetoothのドライバ再設定

  • 無線LANは常にオフ。(オンにしていると、Bluetoothの接続がうまくいかないことが多々あった)
  • Bluetoothオフ。
  • 「スタート」メニュー →「プログラム」→「Access IBM」→「ThinkPadソフトウェア導入支援」を起動
  • アップデート実行。ThinkPadのもろもろのデバイスドライバなどがアップデートされる。ここで、IBM Integrated Bluetooth II Software 1.4.2.18 がインストールされる。
  • 突然「My Bluetooth Place」が現れる。ここで再起動される。
  • 再起動後、Bluetoothをオン。
  • マイコンピューターのプロパティーから、デバイスマネージャを開く。
  • IBM Integrated Bluetooth II → プロパティ → ドライバの更新。
  • 検索しないでインストールするドライバを選択し、デジタル署名の無い方を選択して続行(いろいろドライバのインストールなどが始まる)

これでBluetoothのセットアップ完了らしい。次は携帯電話の設定。

C413Sで無線インターネット

  • C413SのBluetoothの「ダイアルアップ」を起動
  • MyBluetoothPlaceを開いて、「Bluetoothセットアップウィザード」を開く。
  • 「目的のサービスがわかっていて、そのサービスを提供しているBluetoothデバイスを検索する」を選択し、リモートデバイスが提供するサービスとしてダイアルアップネットワークを選択。
  • 携帯電話が認識されて、PINの接続認証を行う。
  • ダイアルアップの接続情報を入力すると接続完了。

これでどこでも作業ができるようになった。気をよくして次はCLIEをつなぐ。

CLIEで無線HotSync

以下、すでにCLIE上でBluetoothが使える人向け。

  • Bluetoothオン。
  • CLIEのBluetoothを起動して認識可能な状態にしておく。
  • MyBluetoothPlaceを開いて、「Bluetoothセットアップウィザード」を開く。
  • 「特定のBluetoothデバイスを検索して、このコンピューターがそのデバイスのサービスをどのように使用するのかを設定する」を選択。
  • CLIEが認識される。PIN認証をして次へ。
  • HotSyncが出てくるのでチェック。「設定」で割り当てられたCOMポート番号を確認。完了。
  • HotSyncマネージャで、ローカルシリアルからのHotSyncを有効にして、上で見つけたCOMポートを設定する。
  • これで、CLIEのHotSync方法をBluetoothにして、HotSyncボタンを押すとめでたくHotSyncされた。

「買った状態ではBluetoothは使えなくて、ドライバをインストールしてしかもデバイスマネージャで再設定しなければ使えません」など、IBMのサイトのどこにも書いてなかった。少なくとも、「Bluetooth X31」などでGoogleしてもIBM ThinkPad IBM Bluetooth II ソフトウェア Ver.1.4.2.18しか見つからないし、そこにはダウンロードしてインストールする方法しか書いてない。内臓のヘルプも見たけども、Bluetoothについてはほとんど書いてない。Bluetoothを宣伝している割にはかなり不親切だ。
(2003/11/29 後日記:よく見るとリリースノートにこうしなさいと書いてあった。忙しかったからといえ、よく見てなかった自分が悪い。)

でも、一旦つながってしまうと満足。

大変参考になったところ:Bluetoothダイアルアップ設定(ThinkPad X31-JHJ & 633S)

本体は重いけど、今まで外付けだった有線・無線LAN、USBハブ、VGA出力変換ケーブルを持たなくてよくなったので、持ち運びの手間などを考えるとちゃんと相殺できている。

なんといっても、キーボードライトがたまらない。バス・タクシーの中でも快適に使えるのは、1日中移動する機械の多い自分にとっては非常にありがたい。やっぱりJやT2、SSでなくて、X31でよかった。

MewからWanderlustへ移行

4年以上Mewを使い続けてきたので、操作に慣れるのがまず大変。

しかし、未読管理や洗練されたフォルダの扱いは非常に便利。あと、Emacsの中に添付された画像を表示できるのもよい。Mewの時はまともにフォルダを管理しようと思わなかったので、これまでいい加減に整理してきた大量のメールを整理するのが多少大変かも。

以下、Mewで使っていた設定を再現する方法など。

添付ファイルのあるメールに印をつける

以下のようにLISPコードを追加。


;; メールDBにcontent-typeを加える
(setq elmo-msgdb-extra-fields
    (cons "content-type" elmo-msgdb-extra-fields))
;; 添付ファイルがある場合は「@」を表示
(setq wl-summary-line-format "%n%T%P%1@%M/%D(%W)%h:%m %t%[%17(%c %f%) %] %#%~%s")
(setq wl-summary-line-format-spec-alist
      (append wl-summary-line-format-spec-alist
              '((?@ (wl-summary-line-attached)))))

その後、全部の Summary を all で更新。
参考:wanderlustのsummaryで添付ファイルのマークを!

「Case」のようにSMTP接続情報を変える

1)wl-template-alist を使って draft モード時に C-c C-j で変更する


(setq wl-template-visible-select nil)
(setq wl-template-alist
      '(
        ("location1" 
         (wl-smtp-posting-server . "smtp.aaa.com")
         ("From" . "SAKURAI Masashi <address@aaa.com>")
         )
        ("location2"
         (wl-smtp-posting-server     . "mail.bbb.ne.jp"))
        ("location3"
         (wl-smtp-posting-server     . "mail.ccc.ac.jp")
         (smtp-authenticate-type     . "digest-md5")
         (wl-smtp-posting-user     . "username") ; 2003/11/30 訂正
         )
        ))

2)wl-draft-config-alist を draft 作成時に自動的に適用する


(setq wl-draft-config-alist
      '(
        (reply "^To:.*aaa\\.com.*"
         (wl-smtp-posting-server . "smtp.aaa.com")
         ("From" . "SAKURAI Masashi <address@aaa.com>")
         )
        ))
;; このままだと C-cC-c 時に適用されてしまうので、作成時に適用するように引っ掛ける
(add-hook 'wl-mail-setup-hook
          '(lambda ()
             (unless wl-draft-reedit ; 再編集時は適用しない
               (wl-draft-config-exec wl-draft-config-alist))))

backupフォルダに送信メールのコピーを残す


(setq wl-fcc "+backup")

Summaryモードで g を押したらデフォルトで +inbox に行ってほしい


(setq wl-default-folder "+inbox"
      wl-default-spec "+")

自動リファイル

elmo-msgdb-extra-fields に見てほしいヘッダを入れて、wl-refile-rule-alist に列挙。
詳しくは付属のドキュメントを参照

+backup フォルダに相手のメールアドレスを表示


(setq wl-summary-showto-folder-regexp "^\\+backup$")

Nov.26,2003 (Wed)

メール障害

メインで使っているメールアドレスのサーバーが、25日からサーバートラブルのためぜんぜん受信できなくなってしまった。せっかくWanderlustに慣れてきたところなのに。

〜@cmt.phys.kyushu-u.ac.jp の方は大丈夫です。

Nov.28,2003 (Fri)

メール障害2

25日から続いて、現在も「復旧の目処は立たない」らしい。1週間近くメールが読めないのは利用者としても厳しいし、業者のほうも怒り文句の処理に終われて大変だろうなと思ってみる。

しかし、SPAMも含めて1日50〜80件ほどメールが来てたのが、今は(そことは別のメールアドレスから)1日2〜3件なので、メールが紛失は非常に困るけども、開通したとしてもメールのダウンロードが大変そう。

Nov.29,2003 (Sat)

Cocco の Raining を聞きながら、そっちの方に気分を盛り上げてみる。

Raining [MAXI] Raining [MAXI]』 CD
Cocco
発売日: 1998/03/21, 価格: \971, 枚数: 1

--内容(「CDジャーナル」データベースより)--
アコースティックな美しいメロディと激情を内に秘めた歌唱とのコントラスト,というコツをつかんでからのCoccoのシングルはイイ曲ばかり。でも,本当はもっと怖い人のはず。シュガー・コーティングしたような居心地の悪さもちょっと感じます。
メール障害3

28日夜以降のメールはちゃんと送られてくるようになった。しかし、障害中に確認のために自分宛に送ったメールが全く届かなかったり、MLの番号に欠番があるので、おそらく25日から28日までのメールの多くはまだスプールの中に溜まっているか、Lostした模様。

Nov.30,2003 (Sun)

SPAMフィルター

某所のメールシステムは手製の「正規表現SPAMフィルター」を構築してある。完全自動で振り分けてしまうので、確率的手法は使わずに確実な正規表現。1年間約5000件のうち、やってくるメールの9割をSPAMとして判定。その判定のうち誤判定(SPAMでなかったもの)は(確認した範囲では)2通のみ。逆に通過したメールのうち、半分くらいは見逃し(通過したSPAM)。来るはずのメールが来ないより、9割防いでいるだけでもよしとしよう。

自分のメールも、SPAMの割合がついに正常なメールを上回るようになってきたので、SPAMフィルターを導入。POP+Wanderlustで使えるものということで、いろいろ試した結果 spamfilter.el を選んだ。Emacs上で動くので非常に柔軟。ただし、うちのMeadowでは SJIS を標準にしているためか、japanese-tokenizer.el と spamfilter.el をSJISに変換しないと日本語のメールを処理できなかった。

それほど動作は重くない。変換の効率は非常によい。リファイルのコマンドで起動されるというのがうれしい。

自分の出したメールや、正常なメールについても判定させてみた。日本語でないSPAMが圧倒的に多いので、やっぱり海外の人とのやり取りがSPAMと判定されてしまう傾向にあるようだった。



[最新にもどる]
桜井雅史: E-mail : m.sakurai@cmt.phys.kyushu-u.ac.jp
Web page : http://www.cmt.phys.kyushu-u.ac.jp/~M.Sakurai/