青木日記

<前月 | 最新 | 次月>

2003-03-03

■ 近況

気付いたら 3 月。

……全然「近況」じゃない罠。

■ 最近得た知識

NOVA うさぎ。

 | |
(-e-)

■ 最近感銘を受けた言葉

ションボリックリンク。

■ 結論

つまり何が言いたいかというと、 「こいつは相変わらず壊れてる」 ということですな!

■ ruby-dev summary

今日指摘されるまですっかり忘れてましたよ。 4 人に増えて楽になったのは非常によかったのだけど、 間隔が開くと自分の番を忘れそうになってしまう。 そこで cron をまわしてその週の当番を ML にメールするようにしてみた。 しかしそのシステムをゴージャスにするのに夢中になり 肝心のサマリは進まないのであった、まる。

さて、おもむろにやりはじめますか! (現在時刻 04:36)

■ 翻意

あ、その前にコンビニで弁当買ってこようかな。 夜更しして深夜にコンビニ行くのって楽しいんですよねえ (※ 小さい子は真似しないでね!)。


2003-03-04

■ Haskell メーリングリスト

Haskell メーリングリストが復活したらしい。早速参加しよう。 subscribe の方法は http://www.sampou.org/haskell/ に書いてありますよー。


2003-03-05

■ 停電

あした 3/6 (木) の昼間、家が停電するのでこのサーバも止めます。 ついでにサーバを Alpha マシンにしちゃおうかなー。

あぁ、だめだ。メールサーバはそう簡単には移行できないや。 Alpha に入ってるのは FreeBSD だから慣れてないし。 やっぱりまだしばらくは Celeron 333A なサーバにがんばってもらおう。


2003-03-06

■ 本

とある出版社から執筆依頼が来てちょっとびっくりした。 でもこの内容だと実力が足りないな。今回は断ろうっと。

■ テトリス?

いやそりゃ、 Haskell の本にテトリスの例が載ってたらビビりまくりですって (笑)。 そんなことがあったら即座にスクリーンショット撮ってこの日記でさらしますね。 さらしますとも。

■ ポート数 == マシン数

まさかこんなにも早くイーサネットハブのポートが 足りなくなるとは思わなかった。8 ポートもあるのに。 停電を期に 16 ポートのハブに換えることにした。


2003-03-10

■ Hetris

なんと Haskell で書いたテトリスがあるそうな。

-lcurses を -lncurses にしたらコンパイルできちゃいました。 もちろん GHC が必要。

■ Linux 2.4

今はメインマシンはまだ 2.2 カーネルを使ってるんだけども、 どうしても USB のカードリーダーを使いたくなったので やむなく 2.4 に上げることにした。 2.4 は以前玉砕してるんだけども、今回はどうなることやら。

(当然だけど) make までは順調に進みますな。 ……うわっ、カーネルイメージでかっ! なんだこれわー!

/boot % ls -s
total 1888
 140 System.map     1 chain.b        709 linux-2.2.14-old     1 os2_d.b
   1 boot.0300     14 config         603 linux-2.4.20
   5 boot.b       398 linux-2.2.14    16 map

linux-2.2.14 がいままで使ってたイメージ。 linux-2.4.20 が新しく作ったイメージ。 50% 増ですか。

まあいいや。えっと、どうするんだっけ。 make modules modules_install して lilo して…… リブートしていいんだっけ? いいや、しちゃおう。

■ した

何事もなくブートできてしまった。ちょっと拍子抜けだ。 あ、なんかメッセージが全体的に格好よくなってるような気がする (node とか cpu という単語が増えるとよいらしい)。

ぐは、ping が通らない。ていうかネットワークが全滅しとる。

と思ったがイーサネットケーブルを一回抜き差ししたら直った。 NIC のドライバが変わったからかな。

■ USB カードリーダ

次は念願の USB カードリーダーに挑戦しよう。 なんでカードリーダーかって言うと、 デジカメのメモリが読みたかったんだよ……。

とりあえず ZDNet の連載を 一通り眺めてみる。insmod じゃなくて modprobe じゃないのか?

まあようするに、uhci.o と usb-storage.o をロードすりゃいいんだな。 注意しないといけないのは、usb-storage を使うときは SCSI の ディスクのモジュールも必要ってとこくらいかな。 このへんは根こそぎコンパイルしといたから問題ない。

カードリーダーをつないでモジュールをロードする。

# modprobe uhci usb-storage
# cat /proc/scsi/scsi
Attached devices:
Host: scsi0 Channel: 00 Id: 00 Lun: 00
  Vendor: USB2.0   Model: CardReader CF RW Rev: 0.0>
  Type:   Direct-Access                    ANSI SCSI revision: 02
Host: scsi0 Channel: 00 Id: 00 Lun: 01
  Vendor: USB2.0   Model: CardReader SD RW Rev: 0.0>
  Type:   Direct-Access                    ANSI SCSI revision: 02
Host: scsi0 Channel: 00 Id: 00 Lun: 02
  Vendor: USB2.0   Model: CardReader SM RW Rev: 0.0>
  Type:   Direct-Access                    ANSI SCSI revision: 02
Host: scsi0 Channel: 00 Id: 00 Lun: 03
  Vendor: USB2.0   Model: CardReader MS RW Rev: 0.0>
  Type:   Direct-Access                    ANSI SCSI revision: 02

つながってるー! すげえ! (今までほとんど USB を使ったことがない奴)。 ちなみに四つ検出されてるのはマルチカードリーダだから。 メモリーカードの種類ごとにドライブが違うから四つ見えるという仕組み。 使いたいのはスマートメディアだから、「SM」と出てる三つめだな。

ディスクは SCSI のディスクに見えるので、/dev/sdX をマウントすれば OK。 三つめだから sdc ですか。

# mount -t vfat /dev/sdc1 /mnt/tmp
# ls /mnt/tmp/
p3080001.jpg  p3100003.jpg  p3100005.jpg  p3100007.jpg
p3080002.jpg  p3100004.jpg  p3100006.jpg

おお、凄い! 凄いぞ! USB なんてただの腐れシリアルだと思っていたが ここまでうまくいくともはやどうでもいいね! 信用はしませんけどね! 悔しかったら USB からコンソール出力して BIOS の設定できるようにしてみやがれ!

■ おにゅー

そんなわけで RS/6000 をゲットしました。

もともとボロいうえに光が反射してて見にくいですが、 「IBM RISC System/6000 410」と書いてあります。 めちゃくちゃ古い機種ですが、 その分値段もめちゃくちゃ安かったんで問題なしです。


2003-03-14

■ ダウン

2 日ばかり風邪で死んでました。

■ メール

ぐお、500 通くらいたまってる。 そのうち SPAM が 100 通くらいあった。 From が「Linux」の SPAM もあった。謎だ。

■ referrer

「kebukai」で検索した人は何が知りたかったんだろう。 ちなみに、『ソフトウェア考現学』の Prolog の項に そういうネタがあるんですよ。

hage(X) :- kebukai(X).

とかいうの。

■ スイッチ不調

再起動のたびにイーサネットケーブルを 差し直さないと認識されなくなってしまった。 どうしてだろう。Linux 2.4 のせい?


2003-03-15

■ RHG 読書会

今日は RHG 読書会 #3 です。5 章のコンパクションのところからだっけ。

■ RHG 読書会 /3

読書会 #3 行ってきました。参加者のみなさんお疲れさまでした。

今回は 5 章 GC のコンパクションの話から 10 章のパーサ/スキャナでした。 もうちょっと時間はあったんですが、難関の 11 章 (状態付きスキャナ) を前にして日和りです。 第一部の山場のクラスと GC の章もほぼ終わってましたし、 今回は様子見と言うか嵐の前の静けさと言うか谷間の回ですね。 トピックは明日起きたら RWiki に書いときます。

今回も非常に楽しかったです。 読書会後の rhg-tokyo Haskell 分科会も有意義でした (笑)。

ちなみに、なんで Haskell Haskellって言ってるかと言うと、 Haskell という言語から何がしかを得たいと思うからです。 別に必ずしも Haskell が凄くいいとは思ってないんです。

ただ、Haskell は ML とか Scheme と比べてもより関数型っぽいので、 関数型の特徴がより鮮明に見えるだろうとは期待してます。 たとえば正格 (strict) なところとか、ML のような抜け道がないとことか。

■ たらいまわし関数

どういう経緯で話が出たんだかすっかり忘れましたが、 「たらいまわし関数」というのがあるそうです。 処理の様子が「たらいまわし」らしい。

− Haskell 版
 
main :: IO ()
main = print (tarai 12 6 0)
 
tarai :: Int -> Int -> Int -> Int
tarai x y z
    | x <= y    = y
    | otherwise = tarai (tarai (x-1) y z)
                        (tarai (y-1) z x)
                        (tarai (z-1) x y)
# Ruby 版
def tarai( x, y, z )
  if x <= y
  then y
  else tarai(tarai(x-1, y, z),
             tarai(y-1, z, x),
             tarai(z-1, x, y))
  end
end
 
puts tarai(12, 6, 0)

この関数はけっこう有名な竹内関数 (tak) の本来の姿で、 遅延評価のある処理系だと高速に評価できるそうな。 本当かどうか、Ruby と Haskell (hugs) の両方で計測してみました。

~/c/test/haskell % time runhugs tarai.hs                         aamine@harmony
12
runhugs tarai.hs  0.13s user 0.01s system 101% cpu 0.138 total
~/c/test/haskell % time ruby tarai.rb                            aamine@harmony
12
ruby tarai.rb  24.65s user 0.00s system 100% cpu 24.604 total

200 倍速ッ?! こ、これはすごい。

よーし、ついでに C でも書いてみよー!

~/c/test/haskell % gcc -O6 -Wall tarai.c -otarai                 aamine@harmony
~/c/test/haskell % time ./tarai                                  aamine@harmony
12
./tarai  0.29s user 0.00s system 118% cpu 0.246 total

C 言語が Haskell インタプリタに負けた……。 計算量って偉大だ。

■ アッカーマン関数

次はヤッターマン関数じゃなくてアッカーマン関数。 こっちの関数は評価方法に関らず計算量が死ぬほど多いらしいです。

module Main (main) where
 
main :: IO ()
main = print (ack 3 1)
 
ack n m
    | n == 0    = m+1
    | m == 0    = ack (n-1) 1
    | otherwise = ack (n-1) (ack n (m-1))

ack 3 3 くらいまでならすぐに結果が返ってきますが、 うっかり ack 4 4 とか計算させてしまうととてつもないことになります。

っていうか、終わるの? これ。

本日のツッコミ (全4件)

■ nobsun [Haskell は非正格(non-strict)です:-)]

■ たむら [テッカマンつぅのもいたなぁ]

■ あおき [しまった、逆でしたっけ (>non-strict)。
不覚だ……。]

■ 原 [これって同じ計算を2度させないってことですよね。

@tarai = {}
def tarai( x, y, z )
@tarai[[x, y, z]] ||=
if x <= y
then y
else tarai(tarai(x-1, y, z),
tarai(y-1, z, x),
tarai(z-1, x, y))
end
end

puts tarai(12, 6, 0)

とすると Haskell より5倍速いけど、、、]


2003-03-18

■ ダメダメ

これぞダメ人間、っていう感じの数日だった。 89 年の ash をがんばってコンパイルしたりとか。 でもまだパイプが動かないんだよー、なんでだよー。


2003-03-19

■ Implementing Functional Languages: a tutorial

http://research.microsoft.com/Users/simonpj/Papers/pj-lester-book/

■ Java本サポート

『Javaを独習する前に読む本』のサポートページを作りました。

http://i.loveruby.net/ja/java/

■ 虹色モニタ

http://green.sakura.ne.jp/~cba/sub04/test02.htm

CRT に磁石を近付けるとこうなるのかー。

本日のツッコミ (全2件)

■ arton [ASCIIのリンク自身が間違っています。本当は、http://www.ascii.co.jp/books/support/4-7561-4204-4/supplement/]

■ あおき [ありがとうございます。直しておきました。]


2003-03-20

■ 先端追従

Ruby 2003-03-20 + tDiary 2003-03-19 にバージョンアップしてみた。 あ、いちおう家庭内サーバの Solaris で実験はしましたよ? さすがの俺でもいきなりバージョンを上げるほど無防備じゃないですとも。 そのわりにいきなりプラグインを大量追加したりしてるのは無防備ですが。

まずは tdiary.rb にて sort の例外が発生。 これはこないだなんかやってたな。 compact を入れまくって逃げを打つ。

ぐおっ、ハングした。 ps ax で見ると、ruby プロセスがずっと残ってしまっている。 どうやら DATADIR/2003/200303.td2 が壊れてた模様。 末尾に変なのが付いてた。なんかヤバい感じだなー。大丈夫だろうか。

しかも化けてるし。やっぱりいきなりメールで更新するのはよくなかったな。 まずは CGI で更新してみよう。

文字化けの原因は [ruby-dev:19864] に書いた sprintf だった。 URL エンコードで sprintf を使っているために \n が %FA になり、 デコードすると化け化けになるという理屈。やっぱりいきなり HEAD は危ないね。

■ 問題はまだ続く

2002 年 12 月のページを見るとなぜか latest になる問題が発生。

……もしかして適当に compact しまくったのが問題ですか?

■ 本当に謎

違ったよ〜。compact を全部消しても変わんない。 そもそもエラーになってたのはデータベースが壊れてたのが原因で、 compact は必要なかったようだ。

うー、ちゃんと読まなきゃだめか?

■ 二転三転

あー、違う。やっぱり compact は必要だった (別のところで)。 00default.rb:117 の sort! で落ちる。これで 12 月も日毎は見られるようになった。

しかしまだ 2002 年 12 月が見られない。どうしてなんだ……。 12 月ということは何か時差が関係してるのだろうか。

■ 原因判明

関係ないどころじゃないよ……。sort でエラーが起きて それが偶然 rescue されてて TDiaryError に変換されて それが latest にフォールバックされてたのが原因だった。 とりあえず全部

@diaries.keys.sort → @diaries.keys.compact.sort

で解決。


2003-03-21

■ この日記

しまった、ちょっとイメチェンしてみたんですが、 IE だとレイアウトが狂ってましたか。

こういうときは何をチェックすればいいんだろう。 一日単位で下に行くほど左に寄ってるみたいだから……。

あー、めんどくさい。必殺二分探索だ。 半分ずつコメントアウトして問題になっている地点をつきとめるのだ。

問題判明。div.comment のどこかが原因だ。 どこが原因だろう。

div.comment {
        border-left: 25px solid #3366CC;
        padding: 6px;
        margin-top: 1em;
        margin-bottom: 0.5em;
        font-size: small;
}

なんかよくわからないが border-left を消したら直った。 どうせ邪魔だったから消しちゃおう。

で、これで直ってますかね。

■ SICP読書会

今日は SICP の読書会です。 Libretto に MIT Scheme を入れよう。

■ 暖房器具

ノートパソコンはあたたかくていいなあ。


2003-03-22

■ SICP読書会

とりあえず最初に一言。あれは「えすあいしーぴー」なんですか?ずっと「しっくぴー」だと思ってました。

とりあえず最初にもう一言。笹田さん、なんで14:00に日記を更新できるんですか!!!(笑)

■ 感想

えーと…。あまりに飲み会の印象が強すぎて、何やったか忘れました。いや、頭がヒートするくらい真面目にやったんですよ、やったんですが、それでもその後が凄すぎました。覚えている単語を羅列すると、

  • 相変わらずHaskellの話
  • Monadがだめなんだ
  • パターンマッチングに混ぜるのがよいらしい
  • 第一章から参照透明性って書くな
  • そんで結局30年後に関数型マンセーになることはあるか
  • いっそ論理型
  • Pythonで飯を食う話
  • Kondaraとジョジョ(このあたりから位相がずれはじめる)
  • 月刊マガジン
  • 世代の壁
  • 擬音
  • フルーツバスケット
  • 癒し系主人公
  • 殺伐としている
  • 2ch
  • 性善説
  • 異性にもてる言語
  • Javaプログラマに女性が多いのはどうして?
  • 娘。は副作用を使っている
  • GCされてるのだ
  • キムタクがPalmでも持って宣伝すれば…
  • hアプリ
  • 漫画だ
  • ラムダ教
  • 小説だ
  • センター試験のBASICは25点確保できるから便利
  • LOGO
  • もうあきらめた
  • Hugs98
  • 新宿二丁目(一回目)
  • 関数型キャバクラ
  • 酒はどこから飲んでも評価値には影響しない
  • COM
  • Excel
  • HSP
  • エロゲエンジン
  • JavaScriptやりすぎ
  • Ruby/Cocoa
  • tailn
  • 適材適所
  • 新宿二丁目(二回目)
  • 昆布茶
  • あどべ
  • ぽすとすくりぷと
  • pstrick
  • LALR(1)
  • クヌースの本は完結するのかなあ
  • 世代別GCの速度
  • スレッド

わけわからん。

本日のツッコミ (全3件)

■ ささだ [先生、SICPなのに、scheme という単語が無いんですが(とか言う)。あと、やっぱりviは苦手なのですよ。
14時なのは、眠さがピークだったからってことで ^^;

というわけで、昨日は大変楽しかったです。貴重な話ありがとうございました。アレは家宝にする予定です。多分。]

■ とおる。 [ぼくは「シクプ」だと思っていました。

PSTricks については、まえはぜんぜんドキュメントとかなかったんですが、いま検索してみたら、いろいろでてきました。

http://www.tug.org/applications/PSTricks/
↑とりあえず、ここのドキュメントをみて萌えてください(笑)。]

■ sakae [(sickP members) ==> t な人達ですから...]


2003-03-23

■ たらいまわし関数 (2)

3/15 の原先生のツッコミより。

> これって同じ計算を2度させないってことですよね。
>
> @tarai = {}
> def tarai( x, y, z )
>   @tarai[[x, y, z]] ||=
>     if x <= y
>     then y
>     else tarai(tarai(x-1, y, z),
> 	       tarai(y-1, z, x),
> 	       tarai(z-1, x, y))
>     end
> end
>
> puts tarai(12, 6, 0)
>
> とすると Haskell より5倍速いけど、、、

そ、それをやってしまったら意味がないと思うですよ。 Ruby でその高速化 (メモ化って言うんでしたっけ) をやるときは、 無駄な計算をしているということにプログラマが気付いて、 適切なキーを設定してキャッシュしないといけません。 でもそれを考えなくても表現の違いとして処理系がよきにはからって くれるというところがポイントじゃないでしょうか。

もっとも関数型ならどんなコードでも最適化してくれるというわけでは 当然ないのでゴニョゴニョ、という話になるわけですが、 そのへんは賢い人達が鋭意研究中ってことで (^^;;

■ SICP読書会 (2)

ツッコミに対してブツ切りに反応してみるテスト。

SICP 読書会なのに Scheme という語が出てこないのは……仕様です。

SICP は predicate だったのかー!

なんでみなさん vi を嫌うのでしょう。 日本語の IME だってモーダルじゃないですか。 Windows の IME なんて 3 個も 4 個もモードがあるじゃないですか。 Emacs だってバッファごとにキーバインドが違うじゃないですか。 それはいいのに vi の input/command というたった二つが 許されないだなんて差別ですッ! 人権蹂躙です! いやもう断固国連に抗議しちゃうね。

■ 11巻115ページ

一流のスポーツ選手には
「スイッチング・ウィンバック」と
呼ばれる精神回復法がある!
選手が絶対的なピンチに追い込まれた時
それまでの試合経過にショックや失敗
恐怖をスイッチをひねるように心のスミに追いやって
闘志だけをひき出す方法である

そのときスポーツ選手は
心のスイッチを切りかえるため
それぞれの儀式を行う
「深呼吸をする」
「ユニホームや道具をかえる」
などである

ショックが強いほど特別な儀式が必要となるが………!

^L

vi ユーザのスイッチは!

な……なんだァ〜〜〜〜?
あいつはッ!
何をしているんだッ!?

ル、root 様が
あ、あんなキーを!
あんな遠いところにあるキーを!

ESCを押しちまったァ〜〜〜〜〜!

■ PSTricks

http://www.tug.org/applications/PSTricks/

LaTeX 文書の中で PostScript 命令で絵が描けるパッケージ。 おお、これは便利そうだー。

……あ! 美文書にも出てたっ! (敗北)

本日のツッコミ (全5件)

■ ただただし [「viには2つしかモードがない」という言い方はいいな。こんど使おう。国連は何もしてくれないと思うけど(笑)]

■ woods [Emacsとかだと編集コマンドを間違えたりすると勝手にヘンな文字列が挿入されたりするじゃないですか。
その点、viだと挿入コマンドを入れなければそういう心配はありませんしね。
「直前に挿入した文字列を繰り返し挿入する」とかできて便利なのになぁ。]

■ kjana [挿入モードなど存在しない,ESC で終端する長い引数を持つコマンドが
あるだけだ,という話もあります.でも ex mode と visual mode があ
るからやっぱりモードは二つだったり.

# ex には open mode があるから三つか?

Emacs なら妙な文字列が挿入されるだけだけど,vi だと多段 undo がな
かったら回復不能なほど編集されることがあり得ます.使ってるのが
nvi-m17n で良かったと思うことがたまにある.... :-P]

■ nobsun [Haskell で tarai が速いのは、memoise してるからではなく、tarai が非正格な引数をもっていて、その計算が大いにさぼれるからです。tak 関数なら、ruby の方が断然速いはず。ううぅ。]

■ はら [非正格ってnon-strictの訳ですよね。この「non〜」っていう用語が不思議な気がします。非正格ならこのような最適化を必ずするのでか?
それともこれは最適化ではなく、非正格なら自動的にそういう計算の仕方をしてしまうのでしょうか。すいません、Haskell勉強します。]


2003-03-28

■ 寝すぎる子は育たない

06:00 就寝 06:00 起床 06:01 就寝 18:00 起床という 鬼のようなコンボをかましてしまいました。 よく 36 時間も寝られたなあ……。

■ エディタの好み

「バカが征く」より (だと思う。たぶん)

そうそう、どのエディタを最初に使ったかというのは好みに影響しますよね。 キーボードのタッチに関してもそういう記事を見たことがあります。 「キーボードのタッチに『三つ子の魂百まで』は通用するか?!」とかいうやつ。 その実験によると、最初に使ったキーボードのタッチが一番よいと感じるのだそうです。

■ 原価

ジュンク堂で本を 1 万円分買うと 4F 喫茶店の 400 円分タダ券をくれるんです。 戸棚を開けたらそのタダ券がワラワラと発見されまして。

なんと全部で 15 枚ありました。恐ろしいことです。

■ ReFe

惰性にまかせて今日は ReFe を作り直すことにした。

……なんて酷いコードだ。 ここまで読みにくいとは思わなかったな。 副作用と module_eval に頼りすぎだ。 特にデータベース周りが悲惨すぎ。

本日のツッコミ (全1件)

■ woods [うーん、でも私はUnix系のエディタだとviよりEmacsのほうが先に触ったけど、やっぱりvi好きなんですよねぇ。(^^;
卒研の時にviしか使えなかったから(Nemacsは重くて...)でしょうけど。キーボードはPC-9801VXのが一番好きかも。]


2003-03-29

■ 地球にやさしくない

消しゴムのカスは最も不燃ゴミとして扱われない不燃ゴミではなかろうか。


2003-03-31

■ 消えないファイル

ファイル名に使える文字を調べようと思い WinMe で次のプログラムを実行したところ、 "_" という名前のファイルが複数できて、どうやっても削除できなくなった。

(0..255).each do |i|
  begin
    File.open(i.chr, 'w').close
  rescue => err
    puts "#{i.chr.inspect}: #{err.class}; #{err.message}"
  end
end

どうしろと……。

■ パスに使える文字

ちなみに各種システムでの実行結果は次のようになった。

### Linux 2.4.20 (ext2)
"\000": Errno::ENOENT; No such file or directory - ""
".": Errno::EISDIR; Is a directory - "."
"/": Errno::EISDIR; Is a directory - "/"
 
### Solaris 9 (ufs)
"\000": Errno::ENOENT; No such file or directory - ""
".": Errno::EINVAL; Invalid argument - "."
"/": Errno::EINVAL; Invalid argument - "/"
 
### Cygwin / Windows Me (FAT32)
"\000": Errno::ENOENT; No such file or directory - ""
                       中略
"\037": Errno::ENOENT; No such file or directory - "\037"
"\"": Errno::ENOENT; No such file or directory - "\""
"*": Errno::ENOENT; No such file or directory - "*"
":": Errno::ENOENT; No such file or directory - ":"
"<": Errno::ENOENT; No such file or directory - "<"
">": Errno::ENOENT; No such file or directory - ">"
"?": Errno::ENOENT; No such file or directory - "?"
"|": Errno::ENOENT; No such file or directory - "|"
"\200": Errno::ENOENT; No such file or directory - "\200"
                       中略
"\210": Errno::ENOENT; No such file or directory - "\210"
"\340": Errno::ENOENT; No such file or directory - "\340"
"\353": Errno::ENOENT; No such file or directory - "\353"
"\354": Errno::ENOENT; No such file or directory - "\354"
"\355": Errno::ENOENT; No such file or directory - "\355"
"\357": Errno::ENOENT; No such file or directory - "\357"
"\360": Errno::ENOENT; No such file or directory - "\360"
                       中略
"\372": Errno::ENOENT; No such file or directory - "\372"
 
### Windows Me native (FAT32)
"\000": Errno::ENOENT; No such file or directory - ""
                       中略
"\037": Errno::ENOENT; No such file or directory - "\037"
"\"": Errno::ENOENT; No such file or directory - "\""
"*": Errno::ENOENT; No such file or directory - "*"
":": Errno::ENOENT; No such file or directory - ":"
"<": Errno::ENOENT; No such file or directory - "<"
">": Errno::ENOENT; No such file or directory - ">"
"?": Errno::ENOENT; No such file or directory - "?"
"|": Errno::ENOENT; No such file or directory - "|"
"\200": Errno::ENOENT; No such file or directory - "\200"
                       中略
"\210": Errno::ENOENT; No such file or directory - "\210"
"\340": Errno::ENOENT; No such file or directory - "\340"
"\353": Errno::ENOENT; No such file or directory - "\353"
"\354": Errno::ENOENT; No such file or directory - "\354"
"\355": Errno::ENOENT; No such file or directory - "\355"
"\357": Errno::ENOENT; No such file or directory - "\357"
"\360": Errno::ENOENT; No such file or directory - "\360"
                       中略
"\372": Errno::ENOENT; No such file or directory - "\372"

Linux と Solaris で微妙に errno が違うのがちょっとイイ感じである。

Cygwin/WinMe と WinMe の結果は全く同じだった。 ということはあの変なエントリは WinMe ネイティブの仕様なのか。

あとは Windows 2000 (NTFS) を試したいところだけども、 リブートしないといけないのが面倒だなあ。 やっぱり専用マシンが欲しい。

■ あ……

あ、消えた。さっきの逆に 0..255 を全部 unlink したらオケー。 あれは何だったんだろう? もう一回やってみよっと。

だいたいこういうときって墓穴掘るんだよな〜。 本当に消えなくなったりしてさ。

■ 追加

でもって FreeBSD4.7/Alpha。 こないだ HDD を交換したあと ruby を入れ忘れてて今コンパイルしたことは秘密だ。

### FreeBSD 4.7 (ufs)
"\000": Errno::ENOENT; No such file or directory - ""
".": Errno::EISDIR; Is a directory - "."
"/": Errno::EISDIR; Is a directory - "/"

あ、EISDIR なんだ。ちょっと意外かも。

■ 4 文字コマンド

Solaris と FreeBSD には clri (clear inode) がある。Linux にはない。

Solaris には crle (config runtime linking environment) がある。

ややこしい名前を付けるな。


<前月 | 最新 | 次月>
2002|04|05|06|07|08|09|10|11|12|
2003|01|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|04|05|06|09|10|
2009|07|
2010|09|