今日は WORM_BADTRANS.B がさらに3通送られてきた。OE はウィルス培養ソフトと呼ぶのが正しいかもしれない。
dvi ファイルを dvipsk で PostScript に変換して、さらに Adobe Distiller を使って、PDF にしてみた。変換の際に半角文字がビットマップに展開されてしまっているようで、拡大表示してみると文字がギザギザになっている。PostScript に変換する際に、dvipsk -P bi foo.dvi として実行すると、半角文字もビットマップに展開されなくなると教えてもらったので試してみた。すると Distiller で PDF に変換する際に、CMBX10 などのフォントが見つからないという警告が表示された。Distiller の設定で、フォントの場所に 〜\texmf\fonts\type1\bluesky を追加したところ、正常に PDF に変換されるようになった。つまり、*.pfa, *.pfb があるディレクトリを指定すればよいようである。
WORM_BADTRANS.B らしきものがもう1通送られてきた。某掲示板でも話題になっているが、相当流行っているのか?
さらにもう1通。やはり非常に流行っているようである。これだから M$ 製メーラー機能付きウィルス媒介ソフトは困る。Outlook Express を使っていてウィルスに感染するのは当人の自由だが、ウィルスをばらまくのはやめろ!
怪しいメールが送られてきた。Netscape Messanger で見たが、添付ファイルがあるようなのだが、実際には添付ファイルが表示されていない。ソースを見ると、本体は HTML メールで、拡張子が .MP3.scr なファイルが添付されていた。HTML 部分を見ると、height=0, width=0 の iframe があり、そこに添付ファイルが表示されるようになっていた。WORM_BADTRANS.B のようである。
以前から買うべきか迷っていた「Microsoft WDM プログラミング」を買ってきた。「WDM デバイスドライバ」よりもさらに詳しく書かれているような印象を受けた。Win98 との互換性に関して注意が払われているのも良い。さすがにこれを見ても USB ホストドライバの書き方は分からないようだが。PK98-Mistress9 の USB ホストドライバを何とかして書いてみたいものだ。CD-ROM のサンプルプログラムの日付を見ると 1999年などとなっている。原書は2年も前に出ていたようである。
今日提出の課題があって Java でプログラムを書こうとしたのだが、fjavac が動作しない。JDK1.3.1_01 ではレジストリの内容が微妙に違っていた。仕方がないので、課題はとりあえず中断して fjavac を改良して JDK1.3.1_01 に対応させた。改良はすぐにできたので課題は何とか間に合った。(真のプログラマは楽をするための苦労は惜しまないそうである。)
数ヶ月ぶりに LaTeX をインストールした。インストールしたのは、「LaTeX2e 美文書作成入門」に付属していた LaTeX である。このバージョンの LaTeX をインストールしたのは初めてだったのでちょっと苦労した。本を見ずに適当にインストールしたところ、設定に不備があって dviout でフォントの生成ができなかった。Option→Setup Parameters→Font2 で [gen:] ボタンをクリックし、Automatic search? に [はい(Y)] と答えることで、ようやくフォントの生成がうまくいくように見えた。ところがここで問題が発生した。フォントの生成中に dviout がハングアップしてしまうのである。調べてみると、これは fjavac のマニュアルにも書いた Forte for Java が PC-98 の Win9x で動作しないというのと全く同じ現象が起きていたのである。PC-98 の Win9x では、コンソールアプリが DOS 窓に文字を出力して画面がスクロールしようとしたときに、その DOS 窓が表示されていないと、そのコンソールアプリは停止してしまうのである。以前のバージョンの dviout ではフォントの生成時に、DOS 窓が開いていたのだが、今回インストールしたバージョンでは、フォントの生成時には DOS 窓を隠した状態で mktexpk.exe が実行するように変更されていた。mktexpk.exe をコマンドラインから実行してみると、確かにスクロールが発生するほど大量の文字を標準出力に出力していることが確認できた。このままでは dviout が PC-98 の Win9x では使えない。そこで RDERR を元にして標準出力と標準エラー出力を NUL にリダイレクトする std2nul なるプログラムを書いて、先ほどの [gen:] の設定を
`std2nul E:\USR\LOCAL\BIN\mktexpk.exe --dpi ^d --bdpi ^D --mag ^M ^s
と書き換えたところ、無事に Ls178 でも dviout が動くようになった。
NC4.78 の設定を見ていると、「Java プラグインを有効にする」という設定があった。NC4.78 を3ヶ月使っていながら今まで全く気付かなかった。まずは FIVA でこれを有効にしてみたのだが、なぜか Java プラグインは動いていない。次に Ls178 で試してみたところ、Java アプレットを実行する際に Mozilla の場合と全く同じように Java プラグインが起動することが確認できた。FIVA で動かなかったのは単に設定上の問題だろう。
そういえば JDK の新しいバージョンが公開されていたはず。見に行くと Java 2 SDK 1.3.1_01a が公開されていた。早速 DL して FIVA にインストールしたところ、FIVA の NC4.78 でも Java プラグインが動くようになった。このバージョンの JDK をインストールすると、IE でも Java アプレットの実行に Java プラグインが使われるようになるらしい。確かめてみると確かにそのようだ。穴だらけの M$ 製 JavaVM の代わりに Sun の JavaVM が使われるようになって安心である。NC4.78 で Java プラグインが正常に動くようになった代わりに、なぜか Mozilla で Java が動かなくなってしまった。調べてみると C:\Mozilla\Plugins\NPOJI600.dll が古いバージョンのままだった。C:\jdk1.3\jre\bin\NPOJI600.dll をそれに上書きコピーしてやることで正常に動作するようになった。
NC4.78 で Java プラグインを使っていると少々気になる点が・・・。Emblaze.Video Pro の音声が正常に再生できないのである。Emblaze.Video は JDK1.1 の頃に開発されたものなので、仕方ないことなのかもしれないが。あとは NC の起動時に Java プラグインも同時に起動させることができないのもちょっと気になる。Java プラグインの起動に掛かる時間は NC 内蔵の JavaVM の起動に掛かる時間よりは短い気がするのだが、他のプラグインに比べるとかなり長い。少し動作が不安定なような気もする。結局 NC4.78 では Java プラグインは使わない設定に戻しておいた。
久しぶりに新しいバージョンの Cygwin をインストールしてみた。Vim が 6.0 になっていた。Vim6 では日本語が扱えるようになったと聞いていたので試してみたが、文字化けしている。yzone home page (の dists/cygwin/ 内)で Vim6 の日本語対応バイナリが公開されているのでこちらを試してみたところ、日本語の表示は正常に行えたが、日本語の入力ができなかった。
FIVA で、ある DOS プログラムを実行してみようとしたところ、メモリ不足で実行できなかった。コンベンショナルメモリの空きを調べるとわずか 511KB しかなかった。config.sys で UMB を確保する設定にしてあるはずなのに UMB はなぜか全く確保されていなかった。MSD を実行してみると、E000-EFFF が未使用と表示されたので、i オプションを使って UMB にしてみた。一見正常に動作しているように見えたのだが、ハイバネーションが使えなくなってしまった。FIVA でハイバネーションを使うためにはこの 64KB を未使用にしておくしかないようである。実にもったいない。Web 上で調べてみると、B000-B7FF を UMB として使う方法が見つかった。どうやら、使われていない VRAM の一部を UMB として使うということらしいのだが、試してみると DOS 窓の表示が少し変になった。少し減らして B400-B7FF を UMB にするようにしたところ正常になった。さらに FIVA の初期設定では、C800-CFFF を UMB として使わない設定になっていたのだが、この領域を UMB にしてみても特に問題はないようだったので、ここも UMB として使うことにした。結局確保できた UMB はわずか 32KB でコンベンショナルメモリは 543KB となった。DOS/V のメモリマップが全く分からないので苦労した。PC-98 だと大した苦労もせずに 601KB は空くのだが。まあ、動かそうと思っていたプログラムは動くようになったので良しとしよう。
なんだか相変わらず Dempa の ResDate 互換機能(VxD 利用時)の動作が怪しい。VxD を利用して時刻を取得しているはずなのに時間のずれが発生している。しかも、デバッグ時は正常に動いているように見えているからやっかいだ。もう訳が分からない。
Mozilla 0.9.5 になって、MultiZilla の機能が Mozilla に統合されたのかと思っていたが、どうもそういう訳ではなかったらしい。ということで、3日前の記述は間違っているらしい。MultiZilla をインストールすると、リンクを新しいページで開くようになっている部分で、新しいタブで開くようになったりするらしい。実際に使ったわけではないので詳しいことはよく分からないが。
UNIX-like tools の FAQ を読んでいて思った。自分の公開しているソフトの配布用アーカイブのサイズはもっと小さくできる。今まで、undll.exe や Stbhdr、Compact VxD など、実行ファイルのサイズを小さくすることにはこだわってきたが、配布用アーカイブのサイズにはあまりこだわっていなかった。現在自分の公開しているソフトはほとんどソースも公開しているが、ソースを入れてあるアーカイブ(src.lzh)を無圧縮アーカイブにすれば、配布用アーカイブのサイズは小さくなる。この方法は、src.lzh の中のファイルが多ければ多いほど効果は大きい。試しに AdvEx.VxD のアーカイブで実験してみたところ、33,747bytes あった配布用アーカイブファイルのサイズが 23,909bytes にまで小さくなった。10KB もサイズが小さくなるとは驚きである。次回からはこの形式で配布用アーカイブを作ろうかと思う。無圧縮アーカイブをファイラーからの操作では簡単には作れないという問題があるが、バッチファイルでも書けば良さそうである。
SPAM 対策として、今までは Netscape Messanger の機能を使ってそれらしきメールはローカルで削除するようにしていたのだが、対策を強化することにした。悪名高き hotmail.com と msn.com から来るメールは、すべて着信拒否するように設定した。これで SPAM も少しは減ることだろう。Anet 等の転送メールサービスを使っているせいで変なことにならないか少し心配だが・・・。そういえば最近 MSN が馬鹿なことをやって話題になったが、今はどうなっているのだろう。
久しぶりに La10 を動かしてみた。Win98 に AdvEx.VxD を入れ忘れていたようなのでインストールしてみたら、Win98 が起動しない。Compact VxD で処理したのが原因かと思って、処理前の AdvEx.VxD を使ってみたが結果は同じ。以前は AdvEx.VxD はちゃんと動いていたと思ったのだが・・・。Win95 では正常に動いているし。Win98 を入れた La13 で AdvEx.VxD が動くか試したところ、こちらは正常に動いているようである。Compact VxD で処理したものでも動いている。謎だ。La10 の Win98 を入れ直すべきだろうか。
Mozilla 0.9.5 を使っていたところ、何らかの拍子にタブが現れた。0.9.5 には、タブブラウザ機能が標準で内蔵されているというのは聞いていたが、どうやれば使えるのか知らなかったので、今まで使っていなかった。リンクを右クリックし、Open in New Tab を選んだり、Ctrl+T を押したりすれば新しいタブを開けるようである。この機能は MultiZilla と言うらしいが、使ってみるとかなり便利である。まず、新しいタブを開くのは、新しいウィンドウを開くのに比べて時間が短い。低速な CPU を積んでいる FIVA では、これはかなり嬉しい。ウィンドウをたくさん開いて、タスクバーがごちゃごちゃになることもない。しかし、Ctrl+Tab でタブの移動ができない点はちょっと不便だ。