next prev / index / search items / top
2000.11.01
ちょうど一昨年の今頃にCF-C33を買った。あのときはしばらくこれでいけると思っていたが、2年の寿命だったということか。今TP i 1162を買って3年保証にはいったとして、3年つかうだろうか?3年後にはノートにもPentium4クラスが載って、1.5GHzとかやっているだろうに... IBMも2年保証ぐらいならちょうどいいんだけどね。

LynxEM4+が期待外れになりそうなので、XF86_FBDevの実力を知っておくことにする。FBDevならいつでも動くしね。と、その前に現在使用しているNM2160のXF86_SVGAのxengineの値を見ておかねば... うむ、大体750である (800x600x16時, 単位はrpm)。NeoMagicのチップはアクセラレーションが効いているらしいが、こんなものか。参考にMilleniumG200なら... 1530ぐらいか (1152x864x16)。こいつは速いとREADMEに書いてあるのでそうなのだろう。ちなみに、私はこういう単純なベンチマークが好きである。Windowsのころはソリティアベンチマーク (ソリティア成功時のカードの舞によるベンチマーク)を愛用していた。
さてさて、XF86_FBDevを使うにはいろいろ手間がかかる。まずXF86_FBDevをインストールするのは当然として、カーネルのFBを有効にしてやらなくてはならない。必要な個所は
Console drivers -->
    Video mode selection support
    Frame-buffer support -->
        Support for frame buffer devices
        VESA VGA graphics console
        Advanced low level driver options -->
            16 bpp packed pixels support
ぐらいである。最後の行は16bppのほかにmonoから32bppまでのモードがあるが、私は16bppしか使わないのでそこだけカーネル組み込みにして、あとの8bpp, 24bpp, 32bppぐらいはモジュールにした。また、VGAで使いたい方はその部分も忘れすにyにして欲しい。
これでカーネルとモジュールをコンパイルして再起動という流れであるが、その前に/etc/lilo.confにvgaの記述が必要だ。
image = /boot/vmlinuz-fb
  root = /dev/hda2
  label = fb
  vga = ask
てなかんじか。vgaはとりあえずaskでいいだろう。ををっとデバイスを忘れていた。/dev/fb0がなければ
mknod /dev/fd0 c 29 0
で作成する。
さて、askのところではもちろん問合せがあるわけであるが、ここで何を答えればいいかというのは(kernel.src)/Documentation/fb/vesafb.txtに詳しい。みると
640x480800x6001024x7681280x1024
2560x3010x3030x3050x307
32k0x3100x3130x3160x319
64k0x3110x3140x3170x31A
16M0x3120x3150x3180x31B
とある。私の場合800x600x16bitなので、800x600と64kの交点にあたる0x314を答えればいいことがわかる。

と、準備ができたところでリブートし (/sbin/liloをお忘れなく)、boot: fbとやると、なんちゃらかんちゃら(RET)or(SPACE)というプロンプトがでるので、ここでRetを押す。すると選択肢がいろいろとでるがそれは気にせず、0314を入力続行すると、じきペンギンが拝めるはずだ。(あれ?ビールペンギンじゃない。2.4.0だからかなあ)
さて、フレームバッファはそれでいいとして、次はXF86_FBDevである。まず、RH系なら/etc/X11/X、Slackなら/usr/X11R6/bin/Xが使用するXserverへのリンクになっているはずなので、削除して/usr/X11R6/bin/XF86_FBDevへのリンクへ修正する。
$ ls -l /usr/X11R6/bin/X
lrwxrwxrwx   1 root     root           10 11月  1日  17:52 /usr/X11R6/bin/X -> XF86_FBDev*
XF86Configのほうの修正個所は2個所。まずFBDev用のScreenセクションを作成する。
Section "Screen"
    Driver      "FBDev"
    Device      "NeoMagic"
    Monitor     "Generic Multisync"
    Subsection "Display"
        Depth       16
        Modes       "default"
    EndSubsection
EndSection
だけでいい。但しDeviceとMonitorは既存のものを指すように修正すること。次にmodelineを修正する。fbsetというツールがある(はいってない?)ので"fbset -x"を実行すると
# fbset -x

Mode "800x600"
    # D: 48.001 MHz, H: 46.876 kHz, V: 75.121 Hz
    DotClock 48.002
    HTimings 800 832 928 1024
    VTimings 600 604 608 624
    Flags    "-HSync" "-VSync"
EndMode
といった出力が得られる。わかると思うがそのままmodelineに使えるので
Modeline "800x600"  48.002  800 832 928 1024  600 604 608 624 -hsync -vsync
てな具合にmodelineを作成する。これで終了。xinitでXF86_FBDevが起動する。

やってみると思ったより速い。窓をドラッグして動かすともたつくがそれ以外の部分ではまったく問題ない。plaympegやxanimを見るにも十分である。xengineをかけると... 900 前後 (800x600x16)。XF86_SVGAより速いじゃん。 XF86_FBDevはどのチップでもそう速度がかわらないのではないかと思うのだが、これならどんなノートパソコンを選んでもいけるかもしれない。

追記:vga = askの部分をvga = 0x314に変更するといちいち聞かれなくなります。ついでにjfbtermなんかいれるといいでしょう (速度はそこそこ)。
追記2:某サイトでMilleniumのFBDevとSVGAのxengineの値はあまり変らないという記述をみつけた。そんなものなのかもしれない。がんばってるなあ、フレームバッファ。でもチップによらず同速度というわけでもないらしい。
2000.11.02
今日は有休なのだが、諸事情から出てきている。午前中で終ることを望む。

Linux kernel-2.4.0-test10がでている。でかいバグがなければ最終ベータだというはなし。ちょっといれてみたら... APMでの電源断が効かなくなってるじゃないですか。まあ小さいバグなんでしょうけど。

APMといえばどうやらkernel-2.4.0にはkapmdというものがあって、apmdは不要らしい。では、kacpidもあるかな、と期待し たのだが、こっちのほうはないようだった。となると、2.2系列を使うときと2.4系列を使うときとで、ブートスクリプトが複雑になってしまう。というわけで、しばらく2.4でいくか。

昨日からFBDevを使っていて、しばらくこれでいってみようと思っているが、XF86_FBDevはフレームバッファダイレクトライトモード(DGA。VMwareの全画面表示などにつかう)がない。また放っておいてもブランクにならない。xsetで設定してやってもやっぱりブランクにならない。いろいろ違うねえ。しかし、スクリーンセーバーがサーバの機能だとは知らなかったな。

APMの件はソースをみていたら「起動時にapm=power_offとしろ」とあった。boot: linux apm=power_offと起動するとちゃんとshutdown -h nowで電源断する。ということでlilo.confに append="apm=power_off"を追加して解決である。しかし、ソースは変更になってないのに、いままでなんで電源切れてたんだろう?

2.4.0-test10になって、コンソールのフレームバッファの速度は上ったきがするが、FBDevのxengineは890rpm程度と10rpmばかり落ちてしまった。ううむ。

やっぱアクセラレーションが効いてないとね、と思いつつXF86 4.0.1のdoc/Statusを読むと、XF86_SVGAでサポートしているATIチップのうち、アクセラレーションが効くのはRage 128だけのようだ。つまりMobility Mもno_accel。ううむ... なら何買っても同じか?
LynxEM+のほうは一応"Support (accelerated)"なんて書いてあるんだけどね。
2000.11.03
文化の日。また、船橋ララポートへ。我ながら良く行っているなあ。今回は行き2時間、帰り1時間半。どうやら今のコースならこのぐらいのペースでいけそうだ。
そういえば前回行ったときはkermitを買った。kermitっていえば、もちろん某Termソフトではなく、セサミストリートの緑のカエルである。

kernel 2.4.0-test10にしたときから、確実にFBDevの動きが遅くなった。どうもSMP対応にしたのが効いている(というか邪魔している)らしい。シングルCPU用にコンパイルしなおしたカーネルを使うとtest9 kernelと同程度の速度がでるようになった。シングルCPUでSMPを有効にしても問題ないということだったが、別に良いことがあるわけでもないらしい。
また、apmで"shutdown -h now"時に電源が切れないのもSMPカーネルを使っている時だけであった。SMPっていろいろ違う。

SMPカーネルをコンパイルしたソースツリーでそのままシングル用のカーネルをコンパイルしようとしたのだが、何度やっても失敗する。カーネルツリーの再展開から始めたほうが良いようだ。
2000.11.04
数ヶ所パソコンショップを見てくるが、新TP i 1124はみあたらない。古いのを見て... うむ、現物見ないで買ってもいいかなあ。(笑)

NM2160用XF86_SVGAは、no_accelを追加してもxengineの結果は750rpm前後と変化することはなかった。どうやらアクセラレーションは効いてないらしい。DOCには効いていると書いてあるのだが... ずっと昔のベンダーが提供していたころのXFCom-neomagicも使ってみたが同様である。xengineの値も近いのでXF86_SVGAと同じものなのだろう。
ところがno_accelを追加したままXF86_FBDevを使うと、xengineの結果が10rpm前後向上していた。意味のあるoptionなのだろうか?
ところで、FBDevでも性能が十分でるということになると、なんだかXFree86 4.0.1も使ってみたくなってしまう。X11R6.4ベースで速くなっているらしいし...
2000.11.05
ちょっと風邪気味。

XFree86 4.0.1を使う。インストールはXinstall.shを動かして、/usr/X11R6/bin/XFree86 -configureを実行、できたXF86Configを/etc/X11においていろいろいぢるだけである。まあ、設定等々の細かいところはXF86Config (gziped)を見てもらうとして、さくさくと結果に行きたい。
NeoMagicのドライバのほうは最初16bit色で設定していたのだが「8bppの設定がないよ」と文句をいう。どうやら256色のモードしかないらしい。今時256色ではねぇ。
fbdevのほうはちゃんと16bit色でる。待望のxengineの結果は540rpm前後と残念ながら奮わない。ところが実際につかってみるとlsによるテキストスクロールもplaympegによる動画の再生も窓の移動もまったく問題ない、というか3.3.6のときよりも確実に速くなっているかんじだ。べた塗りが苦手なのか?それとも単にxengineがいいかげんなのか (ありそうな話だ)。
それと、どうもncurses4を前提に作成されているようで、xtermも動かないし、ほかのアプリケーションの動きも少しおかしい。まあ、このへんは軒並みコンパイルしなおせばいいだけの話であろう(というかXFree86 4.0.1も全部コンパイルしなおしたい)。スクリーンセーバはちゃんと起動するが、黒くなるのはウィンドウマネージャーの効果のある範囲だけであった。
Linux Japanの昔の記事には、4.0は安定性に難あり (負荷をかけると落る)とあったため多少不安は残るが、4.0.1のfbdevは性能的には全く問題がないレベルに来ているといえる。
あ、今気がついた。ビジブルベルは遅いかんじた。フラッシュが苦手なのかも。

というわけで、しばらく4.0.1でやっていく予定である。
2000.11.06
やっぱり風邪気味。

エレンディラ ザ クリムゾンネイルの爪は別に赤くなかった。血で染まるのかもしれんが、そういうのは似合わない気がする。にしてもあの大きさは、ミリィの関係者に違いない。
それから、誰だか知らんがビーストは次の身体を調達しただけだぞ?成長したわけじゃないんだぞ。

某医大とか、某考古学研究所とかでデータの偽造が問題になっている。「研究者の誇りがないのさ」とかいってしまえばそれまでだが、厳しい競争が... とか周囲の期待の中で... とかいっているのを聞くと、なんだか人事ではないきがしてくる。うちの研究所も、来年度からは厳しい評価が自分の給与にまで影響してくるというのだから同じような事件が起らないとはいいきれないかも...
ところで、「この実験結果は予想と違うから実験をやりなおしてみよう」なんてのはよくあることだが、恣意的な結果の選択という意味でデータ捏造の一種だと以前から思っていた。全実験工程を客観的かつ細密に記録し、統計的な解釈を行なうことが必要なのではないだろうか?

fbdevのXFree86 4.0.1は特に問題ない。遅いと思うこともない。

以前、termから使うための計算用perlスクリプトの話を書いたが、あれはbcをいちいち起動、終了するのが面倒だからつくったものであった。ところが、bcは標準入力から計算式を読み込めることが判明した。つまり、
$ echo 1+2 | bc -l
のような使いかたができるということだ。そういうことなら話は簡単である。
$ cat sc
#!/bin/sh
echo $@ | bc -l
で十分だ。これで
$ sc a\(1\)*4
3.14159265358979323844
ってな計算だってできる (a()はatan()を表わす)。
2000.11.07
風邪のほうは一進一退。

フレームバッファコンソールはソフトウェアスクロールをしているので遅いという話だ。ハードウェアスクロースをさせるためには起動時にカーネルに、"video=vesa:ywrap"というパラメータを渡すといい。ソフトで23秒かかっていた$HOMEの"ls -R"の結果が、ハードでは12秒になった。おもしろいことに遅いと思っていたjfbtermのスクロール時間はソフトもハードも12秒であった。どうやら始めからハードウェアスクロールを使っているらしい。(嘘。使ってないとwebにあった。:2000/11/08)
あー、でもrxvtで見ると2秒ぐらいだな。遅いぞコンソール。

パラメータといえばXkbOptionsにはctrl:nocapsという選択肢があるらしい。時々押しまちがえてcapsがはいるのが面倒だったのだが、こんな便利な設定があるとは。
デスクトップのキーボードにはもともとCapsなんてないしね。HHK Liteだから

XといえばXFree86 4.0.1にしてからrxvtの挙動がちょっとおかしい。skkinputで入力するとき、入力場所が移動しないのだ。あーつまり、常に先頭で入力するイメージだ。リターンを押すと確定された文字が正しい場所にあらわれるので問題ないといえばないのだが、目の動きが忙しくなるのは嫌だ。Ascii文字を入力すると、今度はそこに入力場所が移動する (が、またそこから動かない)。
ktermなんかではおこらないのでrxvtの問題だとおもう。もっともktermなら問題ないかというとそうでもなく、kterm起動後最初のShift+Spaceが無視される。
なんかちょっとづつ挙動がおかしいかんじ。ちなみにコンパイルをやりなおしても直らなかった。

コンパイルといえば自分でコンパイルしたので気づいたのだが、smpegにはgtkのインターフェイスのついたgtvというフロントエンドがある。わかるひとにはわかるとおもうが、mtvとmtvpの関係にソックリである。ついでにgtvのフロントエンドもmtvによく似ている。おもわずニヤッとしてしまった。
2000.11.08
風邪は良くなってきたかんじ。でもここで油断してはいけない。

今朝は霧が凄く、伸ばした手の先も見えない... ほどではないが、1ブロック先ぐらいまでしか見えない。そういうところを車で走るときは、前照灯をつけるのがあたりまえだと思うが (視認できる距離はかわらないが視認される距離が違うから)、けっこうつけていないやつもおおい。来る車をみていれば、前照灯をつけているやつとつけてないやつがどれぐらい見えかたが違うかわかると思うのだが。昼間は燈火をつけない、って常識が邪魔するのかね?

さすがにFBDevでmpeg2はきついようだ。SVGAではそれなりに見えていた気がするのだが。しかし、これはP5-233というCPUのせいもあるかもしれない。Pen3ならそれなりなのかも。
mtrrを使えば速度が向上するのでは、という話もあったが、こいつはP5のMMXなので確認できない。mtrrってP6以上だし。デスクトップのほうはP6でMilleniumなのでmtrrも使えるし、フレームバッファでもアクセラレーションが効く。試してみるか... でもやはりノートとは条件が違いすぎる気がする。
それはそれとして、SVGAにおけるMTRRの効果のほうは確認しておいた。使い方については (kernel_src)/Documentation/mtrr.txtに詳しい。まず私はxdmを使っているので、/var/log/xdm-error.logを見る。"Linear framebuffer at 0xE8000000"がバッファの開始アドレス、"videoram: 8192k"がメモリの使用量だ。開始アドレスはそのまま使えるばメモリのほうは換算が必要だ。1MBあたり0x100000ということなので0x800000となる (換算はおおげさだったか)。
あとはrootになって、
echo "base=0xE8000000 size=0x800000 type=write-combining" > /proc/mtrr
を実行すれば、理論上2.5倍の速度が得られるようになる。
xengineの結果は約3300rpm。ほぼ2倍である。よそのwebをみていると2.5倍きっちりでた、とかいうところもあるので、ちょっと遅めかもしれない。でも実際使うときに効果が感じられるのはxlockmoreぐらいだったりするので、ちょっと悲しいところではある。
こうして設定したmtrrの効果は、xdmに戻ってもXserverを再起動しても続くので、rcで設定されるようにしておくのが吉だと思う。

結局フレームバッファとmtrrの組合せについても調査してしまった。物はMillenium G200、解像度は1024x756x16bitである。設定等々はいままでと同じなので割愛して、さくさくと結果にいこう。数値は例によってxengineのrpmである。
mtrrなしmtrrあり
XF86_SVGA17304720
XF86_FBDev17304750
というわけで、FBDevでもmtrrの効果があることが判明した。実際に使ってみたかんじでもわずかではあるが速くなっているようだ (FBDev同士の話)。ただ、やはりFBDevのほうはSVGAにくらべて窓の移動などのときに"重い"感じがする (xengineはなにを計っているのかよくわからない)。しかし、xmovieなどでは特に違いはみられないようだ。結局SVGAでもFBDevでもそう速度はかわらないということなのかもしれない。(少なくとも今のカーネルと3.3.6ぐらいのFBDevでは)
またMATROXアクセラレーションはONにしても結果はかわらなかった。どうやら加速されるのはコンソールのほうだけらしい。
2000.11.09
昨日から首がいたい。原因不明。

ここの更新方法をrsyncにかえる。やっぱりsshがつかえると便利だ。まあ、いままでだってscpだったので、それほど苦ではなかったが。FTPでやることを思うとぞっとする。

Martox Milleniumはフレームバッファでもアクセラレーションが効く、と($kernel_src)/Documentation/fb/matroxfb.txtに書いてある。また、いろいろな解像度のモードもあるらしい。VESA2.0のフレームバッファでは、いつもつかっている1152x864のモードが使えず寂しい思いをしていたところだったので、こちらを試してみることにした。
使い方としては、カーネルのmatroxのモジュールを有効にして、起動時に"video=matrox:vesa:0x192"といったオプションをつけるだけである。ちなみに0x192は1152x864x16bitの場合の値である。
解像度を選択するためのプロンプトはやはりでるが、それは無視してブートをすすめていくと、1024x756のときよりひとまわり大きい(ような気がする)モードでたちあがった。fbset -xで確認してもちゃんと1152x864x16bitである。
そこでfbsetの結果を元にXF86Configを修正してXを起動してみる。するとちゃんと起動する、が、マウスやキーボードを触るとクライアントが軒並落ちる。サーバを殺してエラーメッセージを見るとクライアントとサーバの間の接続が切れた、とでている。
ちょっといぢってみたものの、接続が切れるのはなおらず、Xについては諦めざるをえなかった。うまくいけばしばらくFBDevで使ってみてもよかったのだが、残念である。

NM2160のほうのFBDevはビジブルベル以外には問題もなれば不満もない。しかし、hdbenchをやってみたところさんざんな結果になった(矩形:3501,円:1691,テキスト:3854,スクロール:6,IMAGE:6)。どうもFBDevはベンチマークと相性が悪いようだ (某クルーソーみたいだ)。せっかくビジブルベルを使うように設定したというのに、もとに戻せというお告げなのかもしれない。

しかし、どこを見ても「フレームバッファはとても遅い」と書いてある。私がそう感じないのはいままで使ってきたものが貧弱すぎるからなのだろうか?(確かにNeoMagicは遅いと聞いたことがある) それとも、NeoMagicやMilleniumはたまたまSVGAとFBDevの速度がかわらないのだろうか。
2000.11.10
昨日から脇腹がいたい。原因不明。

sshにつかわれる暗号化には数あるが、OpenSSHのssh1用として使えるのは、3desとblowfishの2つである。デフォルトでは3desが使われるが、どちらが速いかといえばblowfishである (知らなかった)。そのうえ、manを見ると、3desのほうが"It is believed to be secure."と書いてあるのに対して、blowfishのほうは"it appears very secure"と書いてある。をいをい。じゃあなんでblowfishをデフォルトにしないのか。権利の問題でもあるのか...
ちょっと調べてみると、3desよりblowfishのほうが鍵として弱いらしい。3desが鍵長192bitであるのに対して、(sshにおける)blowfishは128bitだし、弱点鍵生成の可能性もblowfishのほうが大きい (らしい)。このへんはRFC2451に詳しい。
まあその程度なら、ということでscpのときだけblowfishを使うことにした。

kernel 2.4.0test10におけるacpiの件であるが、ハイバネーション後に物理的にカードを抜き差ししなくても、cardctl ejectとcardctl insertすれば機能するようになることが判明した。pcmciaをstopしておいても、起動後にeject, insertしなければ駄目である。また、カードを差したままハイバネーションすると復帰したときにcpuを食われるのか、動作が鈍くなる (ejectすれば回復する)。ハイバネーション前にejectしておくことをお勧めする。残念ながらこの動作を自動で実行するための/etc/apmd_proxyのようなものはacpidにはないようだ。
しかし、これでacpiはほぼ完全に動作することがわかった。カーネルの初期設定ではacpiのみ有効になっているのもむべなるかな。
って、あれ?パワーオフしないじゃん。なんで?

FBDev関連で調査してわかったのは、アクセラレーションが効かないなら問題になるのはCPUのパワーだ、ということだった。CPUが速けりゃ描画も速い。単純だ。
2000.11.11
平穏な日。外で遊んで帰って昼寝。

ちょっとndtp用ツールに手をいれる。インターフェイスの統一が目標。でもとりあえず%SIGを使って、Ctrl-Cが入力されたときにちゃんとサーバとの接続を切断するようにした。(Ctrl-Cを押すとSIGINTが発生する。)

Slackwareいろいろ。

Slackwareというかplamoのネットワーク関連ファイル。/etc/HOSTNAME : ホスト名。/etc/rc.d/rc.inet1 : 普通の場合のIPその他、/etc/pcmcia/network.opts : pcmciaの場合のIPその他、ぐらいだ。最近RedHatの人だったので、おもわず grep攻撃をかけてしまった。

Plamoのcrondはやはりハイバネーションから復帰してもハイバネーション中のスケジュールは実行してくれないようなので、vixie-cronにいれかえた (というか追加した)。これなら大丈夫である。

plamoにいれたqivはgifが表示できなかった。libgifがないのが原因らしい。ということでlibungifを入れてやるとgifも表示できるようになった。imlibってどういう仕組になっているのかなあ。
2000.11.12
つくば市長および市議会議員選挙の日。9chで速報をやっていたのに驚く。
2000.11.13
某石器偽造の件に関係して、ニュースでヨーロッパの研究者が「偽造はこちらでも良くあります。良くないことですが、騒ぎすぎてはいけません」といっていた。
そういえば向こうはミステリーサークルだとかネッシーだとか、学術的なところでもピルトダウン人だとか、その手の話題には事欠かない。石器の偽造に関してもさもありなん、というかんじだ。
やっぱ、「発見したら終り。偽造するなんて考えられない」ではなくちゃんと検証しないといけない、ってことだよな。旧石器時代の石器が良い出来なのは日本人の祖先がよその祖先より頭が良かったからだ、なんてのは自尊心をくすぐられてさぞ楽しい仮説だろうが、そういうことを言うまえにもっと考えることがあったんじゃないか、というきがする。
こういうふうに理屈のほうをねじまげるのは「自分の目で見るまで信じられない」という考えかたに近いものがある。そういうことをいう人々に限って、超能力だといつわって手品を見せられたりなんかりするとあっさりと超能力の存在を信じこんでしまうのだ。自分の目でみようがみまいが、理屈の通らないものはやっぱり通らないのである。そういう疑惑の目 (信念の目でも可) を持ってみれば、自然とネタを見破れるものなのだ。
箱の中身をあててみせる超能力者がいた。学者連中にはその人の超能力は本物だと思えたが、ある手品師がみたところすぐにネタがわかった。超能力者は箱の蓋を少しずらして見ていたのである。その時ある学者は「そんな単純な手を使うとは思わなかった」といったそうである。(誰だって騙されるもんだ、というだけで他意はない)
結局、旧石器時代らしくない石器は旧石器時代のものではなかった。それだけのことだ。

Mozillaを起動するときに"modprobe: Can't locate module net-pf-10"というエラーがでるので気になっていた (が、実害はないようだったの放っていた)。net-pf-10というのはIPV6用のモジュールらしい。ないのもあたりまえだ。
ということでこいつは/etc/conf.modulesに"alias net-pf-10 off"を追加してやることで静かになる。問題もない。
2000.11.14
アメリカ大統領選は混迷を極めている、のはどうでもいいのだが、君達、数えなおすたびに票数がかわるのはどういうわけだ?いっそのこと裁判所のほうも「3回連続で同じ結果がでるまで、何度でも数えなおすように」とかいう命令を出してみるのはどうだろうか。(これについては、「人間は所詮数を数えることもできない存在なんだ」という御意見をいただいた。卓見である。)

最近クレジット会社の約款が改訂されて「暗証番号を使われた場合の被害については保証しない」ってなことになっているらしい。つまり、暗証番号が誕生日等々になっていて、簡単に犯人に推測され、被害にあっても責任はとらない、ということだ。
クレジット会社にすれば推測されやすい番号を使うほうが悪い、といいたいのだろうが、私にいわせりゃ考え違いもはなはだしい。そもそもたった4桁、しかも数字のみでセキュリティ云々をいうほうが馬鹿なのだ。考えればわかるように、まったくのランダムの番号を押したとしても正解する確率は1/10000。交通事故で死ぬぐらいの確率だ。3回試していなら3/10000 = 1/3333。下手すると顔見知りだけでも3000人ぐらいにはなるかも。
そのうえ、番号を申請する場合には当然契約者の電話番号、生年月日、住所なんてものはわかっているはずだ。本当にセキュリティを考えているなら、それらと同じ番号になっているようならほかの番号に変えさせることだってできたはずだ (車体番号とかならわからんかもしれんが)。結局、客を増やすことのみ考えて、人の金のことなんかどうでもいいという態度がみえみえである。
このようにセキュリティ無しのシステムを変更するでもなく、警告するでもなく漫然と運営しているつけを被害者に回すとはさすが日本の馬鹿会社。約款改訂している暇があるなら、まともなシステム入れろ、といいたい。
まあ、最近はICカードにしようという動きがあるらしいけどね。

いままでSPAMはほったらかしにしていたのだが、なんとなくちゃんとUnknownを返すように設定することにした。といっても、SPAMの来たサイトだけを受けとり拒否するだけなのだが。
しかもMTAはqmailなので、設定、というほどのものもない。/var/qmail/control/badmailformファイルを作成して、そのなかにSPAMサイトのリストを入れていくだけでおしまいである。
@arabia.com
@yahoo.com
Curtis6666@hotmail.com
てな具合だ。mail[0-9]-なんたら.comみたいなところもあるので、ワイルドカードが使えるといいのだが、それはできないようだった。
これでSPAMが少なくなったかは良くわからない、が、SPAMを出すサイトが星の数ほどある、というのは良くわかった。
2000.11.15
mtrrのおかげでXが速くなったのはいいが、速すぎてビジブルベルが極端に見にくくなってしまった。冗談みたいだ。

IBMのTPに関して、webにマニュアルが置かれていることを知った。もちろん新しいTP i 1124に関するものもある。どのようなチップが使われているとか、その手の情報はなかったが、BIOSでどのような項目が設定できるかとか、Fnキーにより使える機能とか、有用な情報が結構ある。買うまえにマニュアルをみたいというのは長年の夢だったが、ここで実現しているとはさすがIBM。かなり欲しくなってしまった。しかも付属のマニュアルだけでなく保守用のものまである。
で、見てみて気になる部分というとハイバネーションにはいるにはFATが必要だということと、(NTの場合)ブートマネージャーがはいっているとハイバネーションが使えない、ということだ。FATが必要だというのはある程度予想していたが、ブートマネージャー不可とは?そもそもブートマネージャーって?
でもその割にはパーティションに保存することができる(パーティションは作成したFDで確保する)と書いてあるし、例のハイバネーション領域の一部だけFATにとる、というやつなのかもしれない (結局やってみないとわからない感じ)。
そういえば、最近NeoMagicのチップを見ないと思ったら、撤退したのね。知らんかった。
2000.11.16
なんだか「七五三」というやつらしい (昨日ぐらい)。なんでお祝いするのかというと奇数でメデタイから、ということらしい。奇数がメデタイってことは中国由来なのね。ちなみにうちの娘が三だ。

rxvtの「漢字窓変換するときに場所がおかしいぜ問題」は、バージョンを2.6.3に落したらおきなくなった (今迄は2.7.5)。最新を追うばかりではいかんのね。
ちょっとあきらめつつktermのほうをコンパイルするかと思っていたのだが、これもうまくいかない。glibc2になっていろいろかわっているせいみたいだ。結局こちらはkondaraのパッチをあてて凌いだ。
kondaraのサイトからkterm-6.2.0-14k1.nosrc.rpmをもってきて、"rpm2cpio kterm-6.2.0-14k1.nosrc.rpm | cpio -i"ででてきたパッチをみなあててコンパイルしてやればいい。

plamoにはいっているシステムのviはnvi-m17nなのだが、パッチが古いのか日本語入力の途中でフリーズする。最新パッチでは解決されているのでそちらといれかえ、起動の際には"EXINIT='set noskipdisplay displayencoding=euc-jp inputencoding=euc-jp fileencoding=euc-jp autodetect=jp+ showmode'"環境変数を設定して起動することにした。.exrcを使うとjvimと共存しにくいのだ。jvimも日本語入力の途中でフリーズすることがあるのでnviの調子を確認してみたい。skkfepは組み込めないけど、rxvt上でskkinputが使えるようになったしね。
じつは環境変数を使わなくても.nexrcを使えばいいらしい。RTM。

というわけで、Plamo2.1 + XFree86 4.0.1あたりを使う上での障害がなくなったので、そろそろ新しいTP、いや、ノートを買ってもいいころかも... (もうちょっと値段下らんかなあ)
2000.11.17
米大統領選。不思議とまだ揉めている。しかし、例のインターネットを作ったとかいうG候補 (これがあるのであいつは嫌い)、票数の再確認のときには「州法を尊重して再確認を」とかいってたくせにそれでも自分が勝てないとなると「民主主義の為に (票数の確定は14日までと定めている州法を曲げても) 確認を続行すべきだ」ってかい?
法律よりも自己の利益を尊重する大統領とか、自分が常に正しいと考えている都知事とか、そいういう奴等は不要だと思うのは私だけなんだろうか。

にskkfepを改造してskkinput-egg-like-newlineっぽい機能を実現するのにいろいろやったことがあったが、別にあんなことしなくてもソースを一行変更すればいいだけであったことが判明した。ううぅ。馬鹿大会。
keymap.cのSparseKeymapBody _SelectionKeymap[]に、
CTRL_M, fixIt,
を加えるだけである。ううううぅ。

というのも、ときどき落ちるjvim3のかわりにnviを使おうと思ったのだが、こいつはcanna以外は組み込めない。しかし私の身体はskkになってしまっているので、せめてskkfepを使おうと考えたのである。skkfepをいろいろいぢりながら何度コンパイルしても現在の入力モードを示す文字が最下行に表示されず、termcapやterminfoに関してあれこれ調べてみたがなんのことはない、termのプログラムがステータスラインの機能を持っていないだけだったとか、jfbtermにもステータスラインの機能がないので、gnuのscreenを一枚かぶせることで解決したとかいろいろあったがそれはそれとして、前の修正ではうまく動かなかった漢字の確定をする際に改行してしまう部分を再修正しようとソースを見ているうちにふと簡単に修正できる部分がわかったのである。
従ってに書いたことはみんな嘘だ。私のスキルがあがったんだと素直に信じたいが... (ついでにいえばKeymap KanjiInputKeymapとKeymap KAlphaInputKeymapのC-MをkfFixにしてやれば大抵の状況でskkinput-egg-like-newlineっぽくなる。)

skkfepは-viescオプションをつけて起動するとvi使うのにとても便利になる。skkfepの組み込みなんかいらないぐらいだ。これならnviでもいいかなあ。

パナソニックの液晶の欠点の基準については昔書いたが、IBMの基準はもっと厳しいようだ。保守マニュアルによると、「明るいドットが5個以上、暗いドットが5個以上、または明るいドットと暗いドットの合計が9個以上の場合には」LCDを交換する、とある。ああ、でもパナソニックの基準だと3色とも駄目なドットが一つでもあれば交換だから、そのへんはちょっと違うかな。

TP i 1124に使われているLynxEM+について、「おかしくなるのは24bitのときだけ」という情報をいただいた。私はいつも16bitで使う予定なので、どうやらアクセラレーションの効いた状態で使えるようだ。あー、でもALT+CTRL+Fnのバグはどうしようもないよなあ。やっぱりフレームバッファかなあ。
2000.11.20
楽しげな車をみつけた。MCC Smartである。エコロジカルな車(自己矛盾?)で、シーケンシャル6速ってのもなかなかいい。
Gnu grubをインストール。(Grubについては開発者であるokuji's web siteに詳しい) インストール自体は簡単で、./configure; make; make installである、がここまででは半分でしかない。
grub-install /dev/hdaと実行することでstage1といわれる部分がMBRにインストールされる。また、/boot/grubに必要なファイル(stage2など)がインストールされる。MBRのstage1がstage2を読み込んでカーネル(とかいろいろ)を起動するのである。
それからメニューも作らなくてはならない。/boot/grub/menu.lstとして、
##### /boot/grub/menu.lst ######
timeout 180
default 0
fallback 1

# For Linux
title Plamo 2.1
root (hd0,1)
kernel /boot/bzImage-2.4.0-test10 vga=0x0314

# For linux old
title  old kernel
root (hd0,1)
kernel /boot/bzImage-2.4.0-test10.old root=/dev/hda2 vga=0x0314

# For linux old 2
title  2.2 kernel
root (hd0,1)
kernel /boot/bzImage-2.2.17 root=/dev/hda2 vga=0x0314 ro

# for windows sample
title Windows 9x
root (hd0,0)
makeactive
chainloader +1
##### end of /boot/grub/menu.lst ######
ってなかんじで作成する(私のHDDにはWinはないけどね)。カーネルに渡したい情報はカーネルの場所の後に書く。vgaしかりro (read-only)しかり。これでおしまい。リブートすればメニューがでる。メニューを選択すればブートする。liloのように毎度毎度ブートローダにカーネルの位置を教えてやる必要はない。(でもstage2を移動してはいけない。stage1はstage2の場所を覚えているのだ。)

と書くと簡単そうだが、こういうことをいきなりやるのは危険である。
まず、FDで確認、というか非常用としてブートできるようになっておくべきである。まず、そのためのFDを用意する。フォーマット済みのFDをドライブに入れて、cd /usr/share/grub/i386-pc; dd if=stage1 of=/dev/fd0 bs=512 count=1; dd if=stage2 of=/dev/fd0 bs=512 seek=1とやって書き込む。(つまりMBRにはstage1が書き込まれるわけだ)
これをいれて起動するとプロンプトがでるので、
root (hd0,1)    -- 0番目のdiskの1番目のパーティションをroot dirとして使う
kernel /vmlinuz root=/dev/hda2    -- カーネルの場所とrootパーティション
boot    -- ブートする
とやってブートする。Winの場合?上のmenu.lstの場合を順番に入力していけばいい。
いちいち毎回liloを実行する必要がないののはかなりいいかんじだ。特にこいつは良くカーネル入れ換える機械だし。でも、本当は適当にしていても起動するが普通って気がする。
それと、こいつには1024シリンダの制限もない。ファーストディスクでないところからDOS(とかWindows)を起動することもできる。パーティションを隠したりもできる。結構楽しい感じだ。
2000.11.21
screenはなかなかおもしろいプログラムで、一つのtermでいくつものシェルを立ち上げる(Ctrl-a c)ことができる。また、それらのシェルの間でコピー(C-a [)アンドペースト(C-a ])なんてこともできる。Xも仮想コンソールもなくても同様のことができるわけだ。バックスクロール(C-a ESC)もできる。ステータスラインも使える。rxvtやjfbtermのようなステータスラインの機能を持たないterm上でもskkfepがうまく使えるのはそういう訳だ。
ただ、コンソールやkterm、xtermではうまく動くが、jfbtermやrxvt上では表示が乱れてうまく動かない。特にjfbtermでうまく使えないのは残念だ。一番必要な局面なのに。

ひさびさにxosviewを動かした... ら、CPU負荷が80%?しかし別に使っていて重いかんじはしない。topで確認するとkapm-idledがえらくCPUを使っている。はっ、と思いあたることがあり、CONFIG_APM_CPU_IDLEをoffにしたカーネルで試すと負荷は下がった。どうやら、暇な時に呼びだすcpu idle callが負荷として認識されているらしい。実害はない (というかどうしようもない) ので放っておくことにした、が、真の負荷はわからんなあ。

opensshにセキュリティホールが見つかったのでバージョンを2.3.0に上げた。すると、$HOME/.ssh/known_hostsの形式がちょっと変わってしまった。いままでは、hostname.domainname.jp, XXX.XXX.XXX.XXXというようにFQDNとIP を並べて書いてそのあとに公開鍵が書いてあったのが、こんどからはFQDNとhostnameは区別されるようになってしまった。sshと同じになったわけだ。前の形式のほうが単純で好きだったのに、残念である。
また、某サイトによると、Rijndaelサポートが追加されたらしい。"ssh -c rijndael128-cbc"などとすれば使える
2000.11.22
この記事によると、Winではどうやら、全てのフリーウェアの類が使えなくなるようだ (というか使えなくしたいようだってのが正しい)。全て自社ソフトでやらせたいMSならでは、というかんじ。
でもまあ、おそらく一年以内に「署名付きウイルス」がでてきて、思いきり馬鹿にされるのがオチだろう。しかし、一番問題なのはマクロウイルスだと思うがそのへんはどうなっているのかね?(Office2000では解決された、って聞いたことがあるけど本当か?) それとも文書ファイルを配布するのにも署名をつける必要があるとか?

私はperlを良く使うのだが、perlというのはかなりサイズが大きい。だいたい5Mぐらいだ。あんなものがいつも (しかもいくつも) ロードされているかと思うと、もうすこしメモリの節約をしていいかな、と思う。JFに"エコロジーHOWTO"もupされたことだし。
じゃあどうすればいいかというと、共有ライブラリを使うようにすればちょっとはましになるのではないだろうか、と思う。ということでそういう設定でコンパイルしなおして再インストールしたのだが、本当にましになったのかは不明である。前の状態でも本当にでかいままいくつもロードするかどうかもわからないし。
でもとりあえず、perlの"make test"に失敗する問題は、LANG=Cでコンパイルすることで解決することが判明した。
しかし、libperl.soなんてきもち悪いと思っていたが、debianだけには採用されていた。やっぱりdebianだなあ。結局、debianの思想が正しかった、ということだろう。

11/20のGnu Grubについての部分に少し追記した。
2000.11.24
今朝、自転車でいつもの公園を通っていると、いつもの曲り角を見落としてしまった。落葉がつもっていたので道が見えなかったのだ。秋だねえ (というか冬だねえ)。

imapはコマンドが判りにくいのでperlスクリプトを作成した。inboxのメールを読んで、削除ぐらいまではできるが、それ以上の機能はない。
ついでにpop3のほうも作成した (え?Net::POP3を使え?そういう説もある)。こっちは面倒なのでユーザ名とパスワードは埋め込みである。そのためfile modeは700を推奨。sunで使うために作成したのだが、なぜかsun上では動かなかった。
2000.11.27
友人がいつのまにかi1124を買っていた。なんてこった。負けてしまったぜ。
それによると大体のものは良好に動いているという。また唯一動いていないのはサウンドだとか。しかし、チップはCS4281ということで、こいつはkernel-2.4.0-test10には標準ではいっているので、動くようになるのも時間の問題だろう。

そういえば昨日のNHKの「世紀を越えて」に速くて正確ということでgoogleがでていた。速いのはいいとおもうが、正確っていうのはよく参照されるページを上のほうに持ってくるということらしい。それでは情報が偏ってしまうなあ。そのへんどう考えているんだろう?

pentium最適化をしたシステム (Kondara等々) は30%高速だ、というのは聞いたことがあったがバイナリを作成したことはなかった。pgccをちょっといれてみたぐらいだ。最近のgccはegcsとの統合がすすんだので、pentium (pentiumpro) 最適化がはいっているらしい。
gcc のコンパイルオプションとしては、-mcpu=pentium (-mcpu=pentiumpro) といった安全なものや、-march=pentium (-march=pentiumpro) といった危険なものまである。-marchを使ったときはほかのCPUで動かすのは無理だが最適化の度合が高く、-mcpuなら性能はいまひとつだが、他のCPUで使うなどしても大丈夫、とそんなところらしい。
ということで、xpdfやbzip2などいくつか-march=pentiumをつけてコンパイルしてみたが、残念ながら特に高速化したかんじはなかった。あったものも数%ぐらいだろうか。もっともpentium最適化による高速化は 3-30%ということなので、こんなものなのかもしれない。
しかし、もともと軽いプログラムを使っているので、どれだけ高速化したいプログラムがるかというのは疑問である。glibcのような全てにかかわる部分なら、けっこう意味があるかもしれない。

kernel-2.4.0-test11を見ていて気がついた。カーネルコンパイルのとき"-march=i586" (-march=pentiumと同意)ってついてるじゃないですか。なら、がんがん付けても大丈夫かな。
2000.11.28
某米大統領選の嫌なところは、「民主主義なんたら... 」って御題目は立派だが、結局「俺が勝つ方法でやれ、さもなくば訴訟だ」という本心が透けてみえるところであろう。大統領とか議員とか、やりたがらないやつにやらせるぐらいがちょうどいいと思うのだが。
そこで私の考えた新しい代議制は、議員等々を全被選挙権を持つものの中からくじ引きで決定する方法である (そのかわり議員数はちょっと殖やす)。国民のレベルを正確に反映する、まず一回しか当選しないので癒着がおきにくい、いまよりはましな人材がでてくることが期待できる、など、数々のメリットがある。
指導力が期待できるのか、というむきに対しては、人類の5%は支配的行動力を持つ層であることを知っていただきたい。20人いれば、誰か指導者になるのである。そんなにころころ国政の代表者が変っては、というむきに対しては、「今だってそうじゃん」といいたい。
なんにしても、選挙にでたがらない適格者を発掘できるのが最大の利点である。(私の見たところ、適格者ほど選挙にでようなんて思わないようだ。)

fileでバイナリを確認すると "not stripped" と表示されるものがある。stripされてないってことだ。じゃあstripってなんだ?そのものずばりのstripというコマンドがある。man をみると"オブジェクトファイルからシンボルを切り捨てる"とあるが、シンボルってなんだ?でも、サイズが小さくなるので良しとしよう。
メインで使用しているウインドウマネージャのwmxは1/5程度(600kBから120kB)になってしまった。ほかのものはもちろんこれほどの効果はなかったがそれなりに小さくなるようだ。libraryにも効果がある。

NetBSD 1.4.3がリリースされたらしい。次は1.5だって話じゃなかったっけか?
2000.11.29
今日はおやすみ。美術館に行く予定。

i1124を先に買われてしまったため、ちょっと悩んでいる。もちろん240Zを買うことにするかどうかだ。しかし、現時点での価格差は約7万円... LANとPen3に7万円?馬鹿だよなあ。わかっちゃいるけど...
2000.11.30
昨日は某所でジョサイア・ウェッジウッド展なるものを見てきた。モノトーンからハデハデ、アジアシリーズとかいう中国や日本の陶器のパクリ(といってはいかんのだろうな)まで、いろいろなものがあったが、作り手の情熱が伝わってくるいい展示会だったと思う。

next prev / index / search items / top