What's new May 1999

BACK
May 25, 1999 PC-9821Cx/S3ダイヤルアップルータ化計画

長期間電源を入れてない遊休資産である PC-9821Cx/S3 に搭載した 高速シリアルカード RSA-98SB を使って、128MP接続なダイヤルアップルータ として、第4の人生(Win3.1→Win95→FreeBSD(98)2.0.5→2.2.1→…)を歩ます べく、RSA-98にバッチリ対応している NetBSD/pc-98 を 入れようと頑張り、色々あったが何とかインストールはできた。

ne( Allied Telesis CentreCom LA-98-T ) と ser( I・O DATA RSA-98SB ) デバイスを有効にする為、カーネル再構築にオリジナルソースがいるとの事で、 ちょいと作業が停止している。

ここで、会社のFreeBSD 党であるくまプ〜さんから、「FreeBSD(98)3.1Rにした方がいい」(*1)と強く Recomended されてしまい、FreeBSD(98)3.1R の CD を 戴いてしまった。

FreeBSDに関して、もともと、わしは発売後、一年経過した Windos 95 を 「そろそろ安定したじゃろか?」と買った(ウソ。本当はそれまで金が 無かった(^^;)のと同時に Laser5で FreeBSD 2.0.5Rの CD-ROM を買うという無茶なダイヴ(*2)をした事から PC-UNIX の 泥沼素晴らしい世界へ入った訳であるが、 くまプ〜さんは、再びわしに FreeBSD 党への復帰を望まれているようだ。

とてもわしには、LinuxとFreeBSDの二足のわらじは履けないので、 “Ah!Good OS FreeBSD”は「こっそり削除」したのであるが (開発者の方には誠に申し訳ござらぬm(__)m)、 どっこい、FreeBSD 党であるくまプ〜さんは、それを見逃していない。 「はやく『ああ!いいOS FreeBSDさまっ』が読みたいな〜」と圧をかけて 来られる(TT。

こんな事なら、明確に「特別企画嗚呼企画倒れ」へ 入れておくべきだった(^^;;(重ね重ね不謹慎で申し訳ない>FreeBSD開発者の方)

まぁ、NetBSD/pc-98だと確実にRSA-98を駆動する事は可能で、後はPPxPあたり を入れる事ができればOKなので、さほど苦労はしないだろう。 FreeBSD(98)3.1R で RSA-98 が動けば豊富な ports や package による アプリケーションが利用できるので、言う事無しなのだが、果してうまくいく のやら…

【注釈】

(*1)3.1以降には新型シリアルドライバ搭載だそうな。しかし、これに 関しては、折角御尽力戴いているくまプ〜さんには誠に申し訳ないが、 わしは非常に懐疑的である。 だって、FreeBSD(98)非公式ガイドから辿れる新型シリアルドライバのペイジの 3.0用パッチに含まれるドキュメントには、しっかり「RSA-98は正常に動作 しない」って書いておますんですわ。

NetBSD/pc-98 の GENERIC(カーネルのオプション定義ファイル)を読むと、 I/Oポートに 0x50e0 では無く、0x50d0 を指定していて、何やら英語で、 「先頭16 byte は転送バッファ(?)に使うてる」と書いてあるようなので ひょっとしたら、この値にすれば動くやもしれぬ。NetBSD/pc-98の インストールは無駄では無かったか???

(*2)Laser5 の FreeBSD 2.0.5R の CD-ROM は、CD-ROM 3枚で、FreeBSD core team から配布されているファイルのドキュメントがプリントアウトされた だけの解説書のみで、とても PC-UNIX 初心者が太刀うちできるものじゃ 無かった。

でもさすが必要最低限を網羅したドキュメントなので、インストールまでは 何とかできたけど、X Window System や 日本語入力等、応用的な使用法を 学習するには、当時、秀和システムのFreeBSD(98)2.0.5本を買わねば、 わしはよう使えんかったという点で「無謀なダイヴ」という意。


May 25, 1999 腐れOSと腐れコンパイラ

Visual C++ で C 言語を勉強している人から「うまく動作しないのでソースを 見て欲しい」と言われ、見た。

処理内容は、空白で区切られた文字列を画面に出力するものだそうで、出力 した文字列が化けるそうな。

strtok() を使えば数行で書ける内容だが、一文字ずつ文字を調べて、 結果を一文字ずつコピーするという手法にされているようだ。 まぁ、勉強に回り道は重要なので、それは置いといて、大方予想はしていた のだが、ソースのまずかった所を抜粋すると、

    char *s1={"str1 str2 str3"};
    char *s2={""};
    int *i;
    …
    *i=0;
    …
    *(s2 + l1) = *(s + l2);
    …
    

ってな感じで、未初期化のポインタ参照で、数字や文字列をぶち込んで、 メモリをぶっ壊しまくってるタイプのものだった。 いきなり C 言語を勉強した人がよく陥るパターンなので、学習中の人がこれを やってしまうのは、まぁ、しょうがないところだろう。

「C と言えばポインタ」ってんで、ポインタを使いたいという気持はよく解る のだが、こういう一文字ずつコピーなんて場合は、配列にしても処理スピード や効率は変わらないので、配列を使うべきである。

それよりも、こういうメモリをぶち壊しまくるプログラムを平然と動かして しまう Windows という OS は驚嘆に値する。大体、メモリを破壊しまくって て何で、「一般保護例外」というお得意の奴が出んのだ?

こんなの Linuxで動かせば、すぐ Segmentation fault で core 吐いて 止まりますがな。 さては、ゲイツ商法御得意の Visual C++ でメモリ破壊するプログラマを濫造 しておいて、後で、MS-MEMORY(仮称)で商売するつもりか !?

まぁ、この辺りが、安定性をウリにする Windows NT との「差別化」って ヤツかもしれぬが、わざと手を抜いているのは良心的じゃないな。


コンパイラと言えば、伝言板によく出没されるニセMTON氏が 「ソースを変更していないのに、make する度に生成バイナリコードサイズが 最大 1% 程変動する」というとてもナイスなコンパイラに魅了されておられる 御様子:-)。

このメイカーのコンパイラは過去に一度、完成度が余りにも低くて、酷い目に 遭ったもので、わしもつい最近、外注が Windows で開発しなければならないと 言うので、対応しているコンパイラを探すと、そのメイカのしか無かった為、 しかた無くイヤイヤ導入してみて、二度目の酷い目に遭った。

で、ニセMTON氏の所属する部門(わしが過去いたところ)で、そのメイカの コンパイラの導入を検討していた様なので、「やめておいた方がよい」と 忠告したのだが、別メイカのコンパイラがあったにも関わらず、また、 カチョーさんは半導体部門の営業にまんまとダマされたようだ:-)

元わしの直属上司だった人が、「メモリ確保ができない時に、最適化具合が 変わるのでは?」という仮説を提示しておられたが、さすが、根っからの ソフト屋じゃない人は常識にとらわれず、発想も大胆だ:-)。

この御方の規定する「メモリが確保できない時」なのであるが、SWAP を使う この御時世の OS に、ハードディスク容量が無い以外、メモリが確保できなく なるなんて事が果してあるのか? すげ〜うそくせぇ。

コンベンショナルメモリの640KBの壁があった時代ならともかく、今の OS に いくらなんでも、それは無いじゃろう? いわゆる「過去の(腐った)経験」から、 「メモリが確保できない時に」って発想か?

そう言えば、この方は、わしの直属上司だった時も、わしが検索エンジンやら、 多方面から分析して 8 割方「正しいであろう」という結論を 2 割の不確定要素 と伝聞である事から、自信無さげに主張すると、決って独自の価値観に基づく、 「大胆な」御意見を自信たっぷりに聞かせて下さったものだが、わしはいつも 心の中で、 「その可能性は10-9%以下だ!」ってつぶやいておったものじゃて:-)

夕食の時、つるり氏 とこの変なコンパイラの話をしていたら、「バイナリパッチはどうすんの?」と 相変わらず、スルドい突っ込みを入れてきた。

なるほど。確かにどう考えても、ユーザオプションの指定も無しに、最適化が 変動して、生成コードが変わりまくるなんて、とんでもない手法を default で 採用するメイカなんかある訳がなんか無いのう。

まぁ、このコンパイラメイカ自体、過去の例から言って、十分まともじゃない ので、メモリ確保云々はともかくとして、そういう手法を使っているという 可能性は、10-9% くらいはあるかもしれん:-)


May 22, 1999 Wanderlust

Wanderlust

Wanderlust というメイラをインストールした。

会社では、Linux と Windows95 のマルチブート環境だが、E-Mail をどちらでも 読める環境にするのに、わしは、メイルサーバ&PROXYサーバ管理者という 特権を濫用して(^^; IMAP をこっそり使って いる。

その為、IMAP に対応した優れたメイラを探していたのだが、Wanderlust がぴったりだったという訳だ。

Wanderlust は IMAP の対応度に優れているのは言うに及ばず、メーリングリスト にも便利な、アーカイブの作成と、圧縮したアーカイブをフォルダとして アクセスできたり、日付の古いメールや、フォルダに規定の数のメールが溜ると Expire できる等、非常に高機能だ。

All elisp(Emacs Lisp)で書かれていて、動作が 比較的軽く、新着/未読/総数 を表示してくれるので、procmail で振り分けた メールも、どのフォルダに振り分けられたか一目瞭然で分かる。

フォルダーは IMAP の他に MH も OK なので、定義を このファイルの様に書いておけば、画像の様な フォルダ構成となり、MH形式のディレクトリを丸々一つのフォルダとして定義 できるので(画像の一番下のフォルダがそう)、以前の mew 等で取り込んでいた メールも簡単に引き継げる。

わしが理想としていたメイラのカタチが今ここにあるって感じで、もう感激 しまくりなのだが、唯一の難点は (X)Emacs という重戦車を土台にしている事 かな:-)



May 19, 1999 vmware を買った

vmware for linux 1.0 を買った。

vmware については、5/14/30の更新情報と、更に詳しい情報は、 _tom_さんのペイジと、ぱぱんださんのペイジを参照してください。

vmware 1.0 だが、あまり build 152 から劇的に変わったところは、見付から ない。ただ、わしは赤帽6.0 を入れて、GNOME+Enlightenmentな環境になっていた ので、起動時に「Enlightenment はバグってるぞ。XFree86 3.3.3.2 にするか、 vmware の X server 使ってちょ」(大幅な意訳)って警告された。

昨日、会社のマシンの vmware for linux β build 152 で rawdisk モードを 試してみた。以前、build 135 で試した時は、起動にえらく時間がかかり、 途中で止めてしまった程だが、build 152 だと驚く程早い。

どうも、build 135 から、build 152 へは劇的に変化した様で、例えば、 仮想マシンの Windows で config.sys に EMM386.EXE を組み込んでおくのは 相変わらずダメだが、jdisp.sys を組み込んでいても大丈夫になり、日本語も ちゃんと出るようになった。

連休中、遊んでいた build 135 の経験で、build 152 を入れた会社の先輩方に 話すと、既にその問題は解決されていたりして、非常に vmware INC の対応は 早いと驚かされたものである。

話を戻すが、rawdisk モードは、例えば、Win95 のディスクドライブが、 /dev/hda1 にあるとすると、vmware の仮想マシンの IDE Drive に /dev/hdaと設定して、[install]ってやってしまう。

/dev/hda1 じゃなくて、/dev/hda なのがちと恐い気もするが、これで、実物 Windows のドライブが極悪半角カナファイルも含め、ばっちり読めるように なる。 linux でmount して、samba で共有とか手間がかからなくて良い。便利〜。

話は変わって、Vine から赤帽6.0 にしたが、 Vineの偉大さを改めて思い知らされる。 RedHat6.0では、X Window 環境で、BackSpaceキーもDeleteキーも^Dなキー バインドになってたので非常に困った。

恥ずかしながら、この辺りの知識は皆無に等しく、infoseekで、backspase,X11 のキーワードで探したら、 BackSpace mini-HOWTO って文章を見付け、~/.Xmodmap に

keycode 22 = BackSpace
keycode 107 = Delete

って書いて、ようやく解決した次第である。Vine も vmware の仮想マシンと してインストールしてある。Vine という優れたディストリビューションを お手本としつつ、赤帽の日本語化設定をしていくというのは、非常に勉強に なるなぁ。


May 16, 1999 RedHat6.0を入れた

tomさんに 焼いて貰った(_tom_さんありがとうございます。) RedHat 6.0 の CD で RedHat をインストールし、色々遊べて非常に面白い。

Vine + kernel-2.2.x からの移行に関して、この「野泉ゑっぶぺいづ」を構築に重要なツールである XEmacsの RPM 作成がうまく行かず、難儀した。

XEmacsは、TAB を押しただけで、HTMLタグに従ったインデントを付けて くれるので HTML ソースが見やすくなるのと、更新日時を自動的に挿入して くれるのが気に入っている(動作が重いけど(^^;)。メイルも MEW で読み書きしている ので、無いのは非常に困る。

仕方が無いので、 vmwareを使い、 仮想マシンに Vine を入れ、そこでコンパイルして、RPM を作り、RedHat の 環境へ ftp で持って来た。

邪道も邪道で、こういう事をしてはいけないと思うが、ちゃんと動いてるから、 まぁ、いいか(^^;

RedHat 6.0 のGNOMEは 重くて、安定性がイマイチで絶えず、core を吐きまくるけど、Window Manager 統合環境ってのは面白い。

で、結局、今はこんな具合に壊れて いたりする(^^;


May 4, 1999 Castrol XF-08 インプレション

Driver Stand 小田原店へ行って、汚れ切っていたエンジンオイル交換をして貰った。

今まで、トヨタ純正クリーンSJ 10W-30を入れていたが、今回 Castrol のXF-08 SJ 10W-40 ってやつをいれた。

昨年10月17日にディーラで純正オイル交換した時、

作業内容 使用部品 個数 部品・油脂 技術料
エンジンオイル取替

1,700
オイルパン ドレーンプラグ ガスケット 1 80
クリーン SJ オイル 4.2 3,045
合計 ¥4,969(消費税込)

ってな具合。今回 Driver Standでは、オイル 3 リットルとエレメントと ドレーンプラグのパッキン交換で¥4,315。ディーラより安く、グレードの 高いオイルが入れられるのはええね。

これ書いてて気づいたが、そもそも、4.2 リットルのクリーン SJ って何や?

わしのスプリンタートレノはエンジンオイル容量が、エレメント交換時で 3リットル、交換無しなら、2.8 リットルのはずやが、残りの 1.4 リットル はどこへ消えた???

エンジンのクリーニングに使ったのかもしれんが、ひょっとして、 ぼ、ぼられてたのか??…(TT

ちなみに Castrol XF-08 は、WWW を検索エンジンで探してみると、 YELLOW HAT で 4 リットル缶が¥1,980 で売られていた事があったそうな。

安くええオイル入れよと思うたら、やっぱ、ジャッキとか工具買って、 自分でオイル交換した方がええみたいやね(;_;)

とりあえず、雨の中、広域農道へエンジン回しに行く。 いつもの直線では、最高速まで 10km/h 程度足らなかったが、減速時 ABS が効いた。さすがウェットコンディション:-)。

3,000回転あたりのもたつきが無くなり、前よりスムーズに回る(ような気がする(^^;)。 8,000回転まで回してみたが、以前の様なカン高い金属音がしなくなった。
# 既にシリンダが削れているという話も(^^;

エンジンオイルなんてどれも一緒なんて思ってたけど、やっぱ実際に使って みると違うもんやね。


May 1, 1999 vmware で Win95

昨日は vmware で Linux 上に仮想マシンを作り、後、ハマるのは解ってるから、Win95 のインストールは やらないでおこうと思ったのだが、結局やってしまった。

vmware で 95 インストール中

インストールフロッピでは日本語が出たので、別に苦労は無かったが、再起動 してからが、大変だった。

EMM386.EXE と JDISP.SYS を組み込むとハングするのだ。

とりあえず、“Starting Windows 95 ...”って出てる直前に、F8押して、 メニューを出し、
“5. Step-by-step confirmation”を選んで、一行ずつ実行 し、問題の二つを組み込まない様にして、その場を凌いだ。

これは、vmware-jp MLの過去のアーカイヴにも書いてあり、config.sys でこの二つをコメントアウトすれば良いとの事だったが、読まずにやってた(^^;

とりあえず、インストールして動いているもの。

IE5 はコンダラ掲示板で、でんすけさんという方が「安定して動いている」と言われてたので、 わしも真似して入れてみた。

仮想マシンの Win95 に仮想ネットワークカードがあり、それが同じ物理 マシンの Linux と通信ができるので、linux で proxy を動かし、それを経由 して Internet に接続している。シリアルドライバのエミュレーションもある ので、おそらく、Win95 でダイヤルアップ接続もできるだろう。

ゲームは、vmware でサウンドエミュレーションをしておけば、ちゃんと サウンドトラックも PCM も問題無い。ただ、OPL3 の MIDI が鳴ってない ようだ。

Power DoLLS3 は Direct X5をインストールして X を 8bpp(256色モード)で 起動すれば動く。マニュアルには「フルカラーが必要」と書いてあるが、 高速化の為か、ゲーム自体は 256 色モードで起動している。 X Window System 下の vmware は、X の色数に依存するディスプレイモードと 16色しか選べないので、予め X を 8bpp で起動しておく必要があるのだ。

だめだったもの。

CCDVP97 はビデオCD突っ込んで読ませた途端、kterm のコンソールに Not impremented(綴りがあやしいけど、未実装ちゅうこっちゃ)と出て、vmware が落っこちてしまった(^^;

しかし、いくら linux 上で動くとは言え、20 回位は完全フリーズでリセット している。samba で共有したファイル180KB程を IE5で読ませたら死んだり、 スクロールバーを押しっぱなしにすると死んだりと、まだ、地雷が結構ある。

IE5でJPEG画像のレンダリングすると、そりゃもう死ぬ程遅いが、他は結構 ストレス無く使えている。とりあえず、不安定さが無くなれば、結構使える 環境やね。

やっぱり、Windows を動かすとどんな環境でもフリーズするのかにょう?(^^;;

linux のスクリーンショットはこちら



Yuji Noizumi
Last modified: Fri Jun 11 20:34:04 JST 1999