〜2003年5月上旬〜
776通。また急に増えた。海外と新年度は関係ないと思うんだけど、なぜだ?
今日からまたマッチするようになった。
% ruby -ve 'p "\n" =~ /\n$/' ruby 1.8.0 (2003-05-01) [i386-linux] 0
2つ目の引数でpad文字列も指定できるようになった。
% ruby -ve 'p "foo".ljust(10, "#")' ruby 1.8.0 (2003-05-02) [i386-linux] "foo#######" % ruby -ve 'p "foo".rjust(10, "#")' ruby 1.8.0 (2003-05-02) [i386-linux] "#######foo" % ruby -ve 'p "foo".center(10, "#")' ruby 1.8.0 (2003-05-02) [i386-linux] "###foo####"
print "Just another Ruby hacker,".center(10000).strip
結局名前はどうなるのかわからんが、Phoenix 0.5を使ってみた。 いやー、これなら全く問題ないなあ。 しばらく使ってみよう。
原作とは違い、映画版リングだった。
終章というからにはこれで終わりだと思うんだけど、 とうとうというよりやっと終わるかという感じだ。 やはり、モルダーとスカリーが中心じゃないとX Filesという気がしないというか、 T1000型ターミネータじゃなあ。
一行置きにwhat's happening ?と5行だけのメールが来た。 いや、こっちが聞きたいんだが。
print "Just " or print "another " or print "Ruby " or print "hacker,"
今日からはvalues_atという名前に。
% ruby -e '[].select(0)' -e:1: warning: Array#select(index..) is deprecated; use Array#values_at % ruby -e '{}.select(0)' -e:1: warning: Hash#select(key..) is deprecated; use Hash#values_at
更新。
icc 7.1を取ってきたら、rpmが必要だということになり、 またmakeした。
% CFLAGS=-Os CXXFLAGS=-Os ./configure --prefix=/usr
なぜか/usr/include/python2.2を見に行ってしまい失敗。 うちの場合は/usr/local/include/python2.2なんだけどなあ。 面倒だからpythonは外そう。
% CFLAGS=-Os CXXFLAGS=-Os ./configure --prefix=/usr --without-python % make % sudo make install % sudo rpm --initdb
これで準備ok。
というわけで、
% sudo ./install
で、適当に答えてインストール完。 rpmのオプションは念のため--nodepsを追加した。 あとはメールで送られてきたライセンスを/opt/intel/licensesへコピーして、
% source /opt/intel/compiler70/ia32/bin/iccvars.sh
すればiccが使えるようになる。
warningがいっぱい出るのはまあいいとして、拡張ライブラリをmakeするとこで
../ruby/ext/extmk.rb:102: warning: Insecure world writable dir \ /opt/intel/compiler70/ia32/bin, mode 040777
と出るのが気になった。
% ls -l /opt/intel/compiler70/ia32 total 16 drwxrwxrwx 2 root root 4096 May 5 18:21 bin drwxrwxrwx 3 root root 4096 May 5 18:05 include drwxrwxrwx 2 root root 4096 May 5 18:05 lib drwxrwxrwx 5 root root 4096 May 5 18:04 substitute_headers
なんでこんなパーミッションにするかな。
その後ext/pty/pty.cをコンパイルするところで
/usr/include/bits/xtitypes.h(30): error: identifier "__SLONGWORD_TYPE" is undefined typedef __SLONGWORD_TYPE __t_scalar_t;
となりエラーに。iccの<bits/types.h>が微妙に対応できてなさそうだ。
#define __SLONGWORD_TYPE long int #define __ULONGWORD_TYPE unsigned long int
を/opt/intel/compiler70/ia32/substitute_headers/bits/types.hに追加しとこう。
make testも無事通った。
リカバリCDで立ち上げてみたら、フォーマットと削除しかない。 せめて上書き再インストールぐらいあればなあ。 KNOPPIXってNTFSはサポートしてるんだろうか? 明日試してみよう。
vaio nopcmciaで起動。ちゃんとNTFSを読めた。 ネットワークも使えるので早速rsyncでコピー。 これで準備okだ。
なぜかだんだん遅くなる。 最終的にはtextutilsのtextutils.moを書くとこででかいファイルを作って止まらなくなった。 textutilsを外したら最後までいけた。いや、
Created not existing system directory 'C:\WINNT\Desktop'
だった。あるんだけどなあ。 とりあえず、もう一度setup.exeを起動してtextutilsをインストールしてみる。 いけた。
でもwine bashするとsegvに。惜しい。
setup.ini的にはパッケージ名がrubyだから、たぶん変なことになりそうだ。 mingw32とかあるしsetup.exeとは別にネットワークインストーラがあったほうがいいのかもしれない。
NTFSにあるファイルのバックアップを取るだけなので、 とりあえずは何でもいいというか、会社で見せたら人気者に。
内部的にはapply2files()で、
for (i=0; i<args->len; i++) { path = args->ptr[i]; SafeStringValue(path); (*func)(RSTRING(path)->ptr, arg); }
となってるだけなので、何もしないってことになりますね。 args->lenが1以上かどうかぐらいはチェックすべきか。
おぉ。
Changes: An API for Ruby was added. It wraps the basic API and the extended API of QDBM. You can use a database like a hash instance.
importされたが、yamlはエラーになる。
% ruby -ryaml -e0 /usr/local/lib/ruby/1.8/yaml/rubytypes.rb:26: undefined method `add_ruby_type' for YAML:Module (NoMethodError) from /usr/local/lib/ruby/1.8/yaml.rb:19:in `require' from /usr/local/lib/ruby/1.8/yaml.rb:19
add_ruby_typeはyamlrb-0.49.2を参考にすれば解決しそうだけど、 他にもありそうだなあ。
administrator権限で、ssh-host-config --yesを実行。 ~/.sshはバックアップから戻してあるので、元通りになっている。 あとはサービスを起動すれば他からsshできるはずだけど、 なぜかpassword認証になってしまう。 イベントビューアで見ても
Accepted password for watanabe from 198.168.1.1 ...
てな感じだけだし、クライアント側でssh -vで見てもわからない。 /var/log/sshd.logは0バイトのままだし。うーむ。 ここで、~/.ssh直下のファイルのパーミッションを確認してみると、 全部0600になっていた。これじゃSYSTEMから見えないよね。 秘密鍵以外を+rしたらちゃんとsshできるようになった。 にしてもなんで0600だったのだろう?よくわからん。
いろいろ復旧作業をしているわけだが、 bccをダウンロードしようとすると正規の手続を踏むと登録が面倒。 電話番号がrequiredだとわかった瞬間にそのページを閉じた。 まったくもって馬鹿げてる。 どうせ、ftpサイトにあるだろうとftp.borland.co.jpからたどったら、 ここにあった。うささんの情報によると ここからもダウンロードできるらしい。確認してみると最終的には同じところだった。
以前はどうしてたかというと、 たぶんC MAGAZINEの付録か何かからインストールしたんだろうなあ。 最近C MAGAZINEは買ってないし。