Just another Ruby porter,

〜2001年9月中旬〜


<Prev(,) | Next(.)> | Recent(/)>> | RDF

2001-09-11 (Tue)

2001年9月9日問題

Perl的にはブロックなしのsortではまった人が多いらしい *1。 ブロックなしだとcmpなので

% perl -e 'print join("\n", sort(1e9-1,1e9)), "\n"'
1000000000
999999999

となる。

% perl -e 'print join("\n", sort{$a<=>$b}(1e9-1,1e9)), "\n"'
999999999
1000000000

のように明示的に<=>を使わないといけないわけだ。 ""で括ってないから数値だと思うよね、ふつう。


*1: たぶんYahooの掲示板とか。

同時多発テロ

日記書いてる場合じゃなくなった。


2001-09-12 (Wed)

Kernel panic

会社のマシン、今日は3回もパニックだよ。 それも決まってssh hogeとかCVS_RSH=sshしてるcvs coとか、 他のホストからftpで~/.ssh/authorized_keysをgetしてるときとか、 とにかく~/.ssh/をアクセスしたときにパニックになってる。 原因はメモリじゃなくてディスクにあるようだ。

_ バックアップ:

というわけで、/homeパーティションを-rでremountし、 まずはバックアップを取ることにした。 /homeパーティションは4GBほどだが、実際は200MBぐらいしか使ってない。 幸い1GBのディスクが手元に余ってたので、これをまるごと/homeにあてることにした。 バックアップ自体はパニックなることもなく無事終了。

_ badblocks:

次に不良ブロックがあるかどうか検査したいところだが、 そんなコマンドってあったっけ? mke2fsには-cはあるけど、これじゃまっさらになるし。 いやバックアップ取ってるんだから、まっさらになっても問題ない。

ほどなくman mke2fsの最後にbadblocks(8)を発見。おお、まさにこれだ。 なるほど。これをやってみよう。時間がかかりそうなので

# badblocks -w -o /tmp/hda4.badblocks /dev/hda4

と実行したまま帰る。結果は明日だ。


2001-09-13 (Thu)

不良ブロックはなし

badblocksした結果不良ブロックはなかった。うーむ。memtest86してみるか。

Illegal instruction

さすがに3度もパニックしたせいか、 cmailでC-cC-cでメールを送るときに一緒にemacsが死んでしまうようになった。 Linux 2.2.xではstraceはもはやmakeできないのでltraceすると

% ltrace -S -L emacs
<途中略>
SYS_write(3, "\n/home/watanabe/#*mail*#698vlA#\n", 32) = 32
SYS_close(3)                                      = 0
SYS_munmap(0x4031f000, 4096)                      = 0
SYS_rt_sigaction(29, 0xbfff9260, 0xbfff91d4, 8, 29) = 0
SYS_rt_sigprocmask(1, 0xbfff9408, 0xbfff9374, 8, 1) = 0
SYS_getpid()                                      = 698
--- SIGILL (Illegal instruction) ---
+++ killed by SIGILL +++

ということらしい。emacs自体が壊れたか。 emacs 21.0.105をmake installしたら直った。

Updated: cygwin-1.3.3

1.3.3が出た。例によって Cygwin情報 を見ると出来は相変わらずのようで。 ま、不安定なのは昔からだしね。

Inaccuracy in cygwin 1.3.3 release announcement

dumper.exeの使いかたが書かれている。 gdbが読めるcoreが吐ける。じゃんじゃん吐こう。


2001-09-14 (Fri)

Updates to Fix the CVSup 1000000000 Second Bug

CVSupにも2001年9月9日問題があったか。

・ Debian GNU/Linux i386 potato, contributed by Akinori Musha
    □ cvsup-16.1d-LINUXLIBC6-gui.tar.gz (i386: GUI version of cvsup, cvsupd,
       and cvpasswd)
    □ cvsup-16.1d-LINUXLIBC6-nogui.tar.gz (i386: non-GUI version of cvsup,
       cvsupd, and cvpasswd; untar and install manually)

おお、knuさんだ。早速入れ換えたら

% cvsup -L2 ~ruby/cvs-ruby.sup
Parsing supfile "/home/ruby/cvs-ruby.sup"
Connecting to cvs.ruby-lang.org
Connected to cvs.ruby-lang.org
Server software version: SNAP_16_1d
Negotiating file attribute support
Exchanging collection information
Establishing multiplexed-mode data connection
Running
Updating collection src-all/cvs
 Touch lib/metaruby/doc/LGram.txt,v
 Touch lib/metaruby/lgram/Marshal.rb,v
 ...

のようtouchされた。

cmail

cmail-remake-folder-headings(M-r)でsummaryは復活します。
その際にも先頭の^_^Lは必要だけど。

Kernel panic

くー。またssh hogeでパニックだ。memtest86は通ってるしなあ。 /usrパーティションか?来週だな。


2001-09-15 (Sat)

Cygwin情報 Snapshot NEWS

うーむ。1.3.3はやっぱまずいね。 せめてcygwin1-20010914.dll.bz2を使うべきか?

似て蝶(声)

徳光和夫と英語を話さないクリス・ペプラー。


2001-09-16 (Sun)

RubyUnit 0.4.1, win32ole 0.2.9, 0.3.0

更新。と思ったらもうwin32ole 0.3.0が出てる。

Wyvern

1.0.4をgcc 3.0.1でコンパイルするとエラーだらけになる。 調べてみると多用されてる##の使いかたが間違っているのが原因だった。 というか使う必要がないんだよね。

% cat foo.c   
#define FOO "foo"
#define BAR "bar"
#define FOO_BAR "foo" ## BAR

char s[] = FOO_BAR;
% gcc -E foo.c
# 5 "foo.c"
foo.c:5:12: warning: pasting ""foo"" and "BAR" does not give \
  a valid preprocessing token
char s[] = "foo"BAR;
% /usr/bin/gcc -E foo.c |sed '/^$/d'
# 1 "foo.c"
char s[] = "foo""bar"  ;

gccが3.0.1で/usr/bin/gccが2.95.3。

% cat foo.c | sed 's/## //' |gcc -E -
# 5 "<stdin>"
char s[] = "foo" "bar";
% cat foo.c | sed 's/## //' |/usr/bin/gcc -E - |sed '/^$/d'
# 1 ""
char s[] = "foo" "bar"  ;

2001-09-17 (Mon)

[Cygwin] cvs+ssh (client on Win98) hangs when finished

Chris曰く、

ssh on Windows 9x has had a hanging problem for some time.  Sorry.

だそうだ。やはりWin9xは捨てだな。

Cygwin/XFree86 Build Speedup with Cygwin 1.3.3

1.3.3のsymlinkは速いらしい。

XREA.COM

あれ?入れないなあ。

% ssh s1            
ssh_exchange_identification: Connection closed by remote host

2001-09-18 (Tue)

cygwin-lite

1.1.8だけど、フロッピー1枚に収まるサイズになってる。 インストーラはWinampで使われている NSIS だそうだ。これもopen source。

[DJGPP] gcc2953s.zip

結局必要な変更はすでにgcc2953s.zipに入っているので、 そのまま進めればいい。 ただ、パーミッションがパーミッションなだけに

% chmod +x **/config* **/move-if-change **/symlink-tree

ぐらいしとかないとpermission deniedの嵐になる。


2001-09-19 (Wed)

Ruby 1.6.5

出た。

Nimda

サイバーテロとか言ってるし。

うちにもreadme.exeが来た。 というかこいつは感染経路が複数あるし、 もうあちこちで大変なことになってるね。 拡がるだけでほとんど何もしないようだが、 IIS攻撃は1回のアタックに16回アクセスするからCodeRedより性質が悪い。

/scripts/root.exeをダミーで用意すればその後のアタックはやめるとか? そんなに甘くはなさそうだな。

[ruby-talk:21378] Path walking on windows

Cygwinはstatが遅いからこういう結果になっても不思議じゃないかも。

[ruby-talk:21388] ANN: FormatR 0.9

おお、formatだ。


2001-09-20 (Thu)

Nimda

nimdaって

% ruby -e 'puts "nimda".reverse'
admin

ということか。

Nimda(2)

#!/bin/sh
sleep 10

というroot.exeを用意して待つという作戦を考えてというか、 実際にしかけておいてみたが、社内にはもう飛びかっていなかったというか、 access_logを見るとどうもthreadで同時にやってるような感じだったので、 無駄だとは思っていたんだけど。

それにしてもこれだけやられてもまだ使い続ける人がいるというのも不気味だ。

mingw

CygwinのパッケージとしてのmingwのメンテはもうCygwin Projectではなく MinGW projectに任せた。それに伴い、mingwはmingw-runtimeと名前を変えた。 そのあたりのアナウンスは こちら に。 updateするにはまず

mingw-20010917-1

をインストールして

mingw-runtime-1.1-1

をインストールしないといけないらしい。

% tar tfvz latest/mingw/mingw-20010917-1.tar.gz 
drwxr-xr-x BoydE/Administrators 0 2001-09-18 01:22 include/
drwxr-xr-x BoydE/Administrators 0 2001-09-18 01:22 lib/

だからアンインストールという意味か?

[Cygwin] winsup/cinstall/temp

cvs updateすると途中でやたら時間がかかってるファイルがある。

U winsup/cinstall/temp/packages
U winsup/cinstall/temp/rh
U winsup/cinstall/temp/setup.ini
U winsup/cinstall/temp/setup.ini.base
U winsup/cinstall/temp/setup.ini.rpm

のpackagesなんだけど

% ls -l winsup/cinstall/temp
total 3001
drwxr-xr-x    2 watanabe ruby          128 Sep 20 22:08 CVS
-rw-r--r--    1 watanabe ruby      2976482 Sep 20 11:11 packages
-rwxr-xr-x    1 watanabe ruby        14227 Sep 20 11:38 rh
-rw-r--r--    1 watanabe ruby        25793 Sep 20 11:38 setup.ini
-rw-r--r--    1 watanabe ruby        18836 Sep 20 11:38 setup.ini.base
-rw-r--r--    1 watanabe ruby        27385 Sep 20 11:11 setup.ini.rpm

うぐ。3MB近いじゃん。中身はdebianの.debに関係するものみたいなんだけど、 何を企んでるんだろう?rhはrpm関係のPerlのスクリプト、setup.ini.rpmも気になる。


<Prev(,) | Next(.)> | Recent(/)>> | RDF


WWW を検索 jarp.does.notwork.org を検索

わたなべひろふみ
Key fingerprint = C456 1350 085F A320 C6C8 8A36 0F15 9B2E EB12 3885
Valid HTML 4.01!