リンク: [ホーム] [自己紹介] [リンク集] [アルバム] [ソフトウェア] [発表文献] [その他]

まさおのChangeLogメモ / 2003-03

01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

2003-03-31 Mon

* XML 1.1を巡る「ボヘミアン」と「貴族」の階級闘争

http://www.atmarkit.co.jp/news/200302/22/xml.html
村田さんも相変わらずのようで面白い。

「ボヘミアン」 → Minimalist
「貴族」 → Structurist

ってな感じかしら…。

* Ja-Jakarta Site - 翻訳Tips

http://www.jajakarta.org/%7Eytp/transtool/transtips.html.ja.sjis
具体的な例文の使い方がうまいので、読みやすい。

ひょっとして、プロか?

* 安全なWebアプリ開発 31箇条の鉄則

http://java-house.jp/~takagi/paper/iw2002-jnsa-takagi-dist.pdf
非常に参考になる。現場で通用する内容。

後で読んでおこう。

* - [ruby-list:37370] Secure「ではない」script の書き方

http://blade.nagaokaut.ac.jp/cgi-bin/vframe.rb/ruby/ruby-list/37370?37237-37475
参考になる。

ただ、taint や $SAFE について、きちんとまとまった情報は無いという
ことがちょっと嫌な感じ。
個別のケースについて、確認しなきゃダメなのかな?

* auガク割

auショップに行ってきた。

4月になって、学生証が届いてから手続きをすれば良いとのこと。
丁寧な対応で好感が持てた。

* 論文

届いた。
やっと一本。うれしい!!

2003-03-29 Sat

* people.cgi

中井さんが URL 部分に .. を入れていたのを発見。

ひょっとして、「" onload="alert(hello)" 」とかできちゃうかな?
→ さすがに、できなかった…。
$url =~ /^[\w.\/?;'{}\-\+=_()&~%]+$/
な感じの正規表現でチェックしているみたい。

2003-03-28 Fri

* わたしたちのプチXP体験談

http://objectclub.esm.co.jp/eXtremeProgramming/PetitXPReport/
具体的な実践について良く書けていて興味深い。

* GraphR

簡単に動いたので、結構使えるかと思ったけど、rankdir, fontname あた
りの属性をいじれないのがちょっと痛い。あと、format 指定したファイ
ルを取得するのもあまりうまく制御できないのが、問題かも。

自分で、必要な部分のみ書くかな…。

* soap4rコアダンプ

ruby CVS版にしたら、大丈夫になった。

どうすっぺかな〜。
再現できる簡単なコードが書けると良いんだけど、ちょっと無理そう…。

とりあえず、ruby-1.6.8 にしたらエラーの出る地点がちょっと変わった…。

さらに core ファイルの backtrace を見たところ、以下のように GC 回
りで落ちているよう…。
--
program terminated by signal ABRT (異常終了)
=>[1] _libc_kill(0x0, 0x6, 0xff2b5eec, 0x0, 0xffffffff, 0x0), at 0xff29a608
[2] abort(0xff2b5eec, 0x2b, 0xff2bd9d4, 0x0, 0xa24c0, 0x0), at 0xff239590
[3] rb_bug(0xa0468, 0x0, 0x0, 0x0, 0x0, 0x0), at 0x8d3fc
[4] sigbus(0xa, 0x0, 0xffbe5b58, 0x0, 0x0, 0x0), at 0x713cc
---- called from signal handler with signal 10 (SIGBUS) ------
[5] st_foreach(), at 0x73de4
[6] rb_mark_tbl(0x1, 0x0, 0x32314, 0xff2b5eec, 0xff2bc830, 0xffbe7628), at 0x31df4
[7] rb_gc_mark(0x208048, 0xff3fc, 0x32348, 0x0, 0x0, 0xc1bd1), at 0x32314
[8] rb_gc_mark(0x1, 0x4, 0x3229c, 0xc16c0, 0x0, 0xc1c31), at 0x32380
[9] blk_mark(0x1273b0, 0x271ac, 0x322f8, 0x0, 0xffbe7208, 0xc1c60), at 0x271c4
[10] rb_gc_mark(0xeb378, 0xfd690, 0x0, 0xb3400, 0xc0000, 0xff2457ec), at 0x32308
[11] mark_entry(0x22ad, 0xeb378, 0x0, 0xfffffff8, 0x0, 0xc19c1), at 0x31dd0
[12] st_foreach(0xfc140, 0x31dcc, 0x0, 0x349b8, 0x0, 0xf2c08), at 0x73e1c
[13] rb_mark_tbl(0xfc140, 0x4, 0x3229c, 0x0, 0x1, 0x0), at 0x31df4
[14] rb_gc_mark(0xfc010, 0x43, 0x1, 0xff2b5eec, 0xff2bc830, 0xffbe7628), at 0x32314
[15] mark_entry(0xb21, 0xfc010, 0x0, 0x0, 0x0, 0xc1bd1), at 0x31dd0
[16] st_foreach(0xfc2c0, 0x31dcc, 0x0, 0xc16c0, 0x0, 0xc1c31), at 0x73e1c
[17] rb_mark_tbl(0xfc2c0, 0x4, 0x3229c, 0x0, 0xffbe7208, 0xc1c60), at 0x31df4
[18] rb_gc_mark(0xfbfc8, 0x4, 0x3229c, 0xb3400, 0xc0000, 0xff2457ec), at 0x32314
[19] rb_gc_mark(0xfbfb0, 0x4, 0x3229c, 0xfffffff8, 0x0, 0xc19c1), at 0x3229c
[20] rb_gc_mark(0xfbf98, 0x43, 0x0, 0x349b8, 0x0, 0xf2c08), at 0x3229c
[21] rb_gc_mark(0xfbfe0, 0x843, 0xc19a8, 0x0, 0x1, 0x0), at 0x32268
[22] rb_gc_mark(0xf3058, 0x43, 0x1, 0xff2b5eec, 0xff2bc830, 0xffbe7628), at 0x32268
[23] rb_gc_mark(0xf3070, 0x4b, 0x21884, 0x0, 0x0, 0xc1bd1), at 0x32268
[24] rb_gc_mark(0xc20f8, 0x18, 0xa38, 0xc16c0, 0x0, 0xc1c31), at 0x32268
[25] mark_locations_array(0xffbe7af4, 0xffffffff, 0xc1c18, 0x0, 0xffbe7208, 0xc1c60), at 0x31d7c
[26] rb_gc_mark_frame(0xffbe6c30, 0xffbe6c30, 0xffbe6c30, 0xb3400, 0xc0000, 0xff2457ec), at 0x32d30
[27] rb_gc(0x0, 0x0, 0xffffffff, 0xfffffff8, 0x0, 0xc19c1), at 0x32de0
[28] rb_newobj(0x0, 0x3d, 0x0, 0x349b8, 0x0, 0xf2c08), at 0x31b58
[29] new_dvar(0x29f9, 0xd3cf0, 0xc19a8, 0x0, 0x1, 0x0), at 0x19040
[30] dvar_asgn_internal(0x29f9, 0xd3cf0, 0x1, 0xff2b5eec, 0xff2bc830, 0xffbe7628), at 0x19224
[31] dvar_asgn_curr(0x29f9, 0xd3cf0, 0x21884, 0x0, 0x0, 0xc1bd1), at 0x19264
[32] assign(0xc1d98, 0xd8550, 0xd3cf0, 0x0, 0x0, 0xc1c31), at 0x21888
[33] massign(0xc1d98, 0xd8520, 0xc1c18, 0x0, 0xffbe7208, 0xc1c60), at 0x216bc
[34] rb_yield_0(0x0, 0x0, 0x0, 0x0, 0xff2b5eec, 0xff2457ec), at 0x20e7c
[35] rb_yield(0xc1c18, 0xd3cf0, 0x0, 0x0, 0x0, 0xc1400), at 0x2144c
[36] each_pair_i(0xcef98, 0xd3cf0, 0x0, 0x349b8, 0x0, 0xf2c08), at 0x349d4
[37] rb_hash_foreach_iter(0xcef98, 0xd3cf0, 0xffbe6fe0, 0x0, 0x0, 0x0), at 0x33fbc
[38] st_foreach(0x4252e8, 0x33f90, 0xffbe6fe0, 0xc20f8, 0x0, 0xffbe7628), at 0x73e1c
[39] rb_hash_foreach_call(0xffbe6fe0, 0x34004, 0xc1400, 0xffbe7208, 0xc1c60, 0x4), at 0x34018
[40] rb_ensure(0x34004, 0x0, 0x34028, 0xc20f8, 0xc1000, 0xffbe7b80), at 0x22360
[41] rb_hash_foreach(0xc20f8, 0x349b8, 0x0, 0xff2b5eec, 0xff2bc830, 0x42582d), at 0x340b4
[42] rb_hash_each_pair(0xc20f8, 0x8, 0x22b50, 0x0, 0xff2b5eec, 0xff2457ec), at 0x349f4
[43] call_cfunc(0x349e4, 0xc20f8, 0x0, 0x0, 0x0, 0xc1400), at 0x22b50
[44] rb_call0(0xf3070, 0xc20f8, 0xdf9, 0x0, 0x0, 0xf2c08), at 0x23288
[45] rb_call(0xf3070, 0xc20f8, 0xdf9, 0x0, 0x0, 0x0), at 0x23bec
[46] rb_eval(0xffbe7628, 0xd85e0, 0xd8430, 0x0, 0x0, 0xffbe7628), at 0x1dcfc
[47] rb_eval(0xc0000, 0xd8418, 0xd8400, 0x1, 0x0, 0xc1c79), at 0x1cc68
[48] rb_eval(0xc1d98, 0xd8640, 0x0, 0xd8358, 0xc1000, 0xffbe7b80), at 0x1c168
[49] rb_call0(0x0, 0xc1d98, 0xb31, 0x1, 0xffbe8090, 0x15a970), at 0x23734
[50] rb_call(0x15aa78, 0xc1d98, 0xb31, 0x1, 0xffbe8090, 0x1), at 0x23bec
[51] rb_funcall2(0xc1d98, 0xb31, 0x1, 0xffbe8090, 0xc1000, 0xffbe8970), at 0x23f08
[52] rb_obj_call_init(0xc1d98, 0x1, 0xffbe8090, 0x0, 0x0, 0x15a820), at 0x26358
[53] rb_class_new_instance(0xc1d98, 0xffbe8090, 0x15aa78, 0xffffffff, 0xffbe89c0, 0xc1400), at 0x263bc
[54] call_cfunc(0x26370, 0x15aa78, 0xffffffff, 0x1, 0xffbe8090, 0xc1400), at 0x22b80
[55] rb_call0(0xfbfe0, 0x15aa78, 0xc69, 0x1, 0xffbe8090, 0xfadc8), at 0x23288
[56] rb_call(0x15aa60, 0x15aa78, 0xc69, 0x1, 0xffbe8090, 0x0), at 0x23bec
[57] rb_eval(0x0, 0xd7890, 0xd7908, 0xb3400, 0xa8, 0xffbe957c), at 0x1dcfc
[58] rb_eval(0xc88a8, 0xd7878, 0xd7758, 0xfffffff8, 0x0, 0xc3059), at 0x1e6e4
[59] rb_eval(0xc88a8, 0xd7758, 0x0, 0xd76b0, 0xc1000, 0xffbe8970), at 0x1c168
[60] rb_call0(0x0, 0xc88a8, 0xb81, 0x0, 0x0, 0x15a820), at 0x23734
[61] rb_call(0x15aa78, 0xc88a8, 0xb81, 0x0, 0x0, 0x0), at 0x23bec
[62] rb_eval(0x0, 0xdcb40, 0xdcb88, 0xb3400, 0x0, 0x0), at 0x1dcfc
[63] rb_eval(0x163850, 0xdcb28, 0xdca98, 0xdc888, 0xc1000, 0xc4781), at 0x1e6e4
[64] rb_eval(0x163850, 0xdc870, 0xdc858, 0xfffffff8, 0x0, 0xc4271), at 0x1c168
[65] rb_eval(0x163850, 0xdcc00, 0x0, 0xdc4c8, 0xa8, 0xffbe957c), at 0x1c168
[66] rb_call0(0x0, 0x163850, 0x28f1, 0x2, 0xffbe9798, 0x2802b8), at 0x23734
[67] rb_call(0x23db20, 0x163850, 0x28f1, 0x2, 0xffbe9798, 0x0), at 0x23bec
[68] rb_eval(0x0, 0x27c2f8, 0x0, 0x27c310, 0x20, 0xffbe9ab4), at 0x1dcfc
[69] rb_call0(0x0, 0x15a238, 0x4fc9, 0x1, 0xffbe9cc0, 0x23d430), at 0x23734
[70] rb_call(0x23d9e8, 0x15a238, 0x4fc9, 0x1, 0xffbe9cc0, 0x1), at 0x23bec
[71] rb_eval(0x15a238, 0x27c598, 0x27c508, 0xfffffff8, 0x0, 0xc4781), at 0x1dcfc
[72] rb_eval(0x15a238, 0x27c508, 0x0, 0x27c4c0, 0x20, 0xffbea274), at 0x1c168
[73] rb_call0(0x0, 0x15a238, 0x4fc1, 0x1, 0xffbea480, 0x23d460), at 0x23734
[74] rb_call(0x23d9e8, 0x15a238, 0x4fc1, 0x1, 0xffbea480, 0x0), at 0x23bec
[75] rb_eval(0x0, 0x25cb58, 0x0, 0x25cb70, 0x20, 0xffbea794), at 0x1dcfc
[76] rb_call0(0x0, 0x159230, 0x4fc1, 0x1, 0xffbea9a0, 0x23e8a0), at 0x23734
[77] rb_call(0x23f3f8, 0x159230, 0x4fc1, 0x1, 0xffbea9a0, 0x1), at 0x23bec
[78] rb_eval(0x159230, 0x252358, 0x0, 0x252370, 0x50, 0xffbeacb4), at 0x1dcfc
[79] rb_call0(0x0, 0x159230, 0x5321, 0x1, 0xffbeaee0, 0x23e258), at 0x23734
[80] rb_call(0x23f3f8, 0x159230, 0x5321, 0x1, 0xffbeaee0, 0x1), at 0x23bec
[81] rb_eval(0x159230, 0x251530, 0x2514a0, 0xffbeb72c, 0xffbebd40, 0xc1400), at 0x1dcfc
[82] rb_eval(0x159230, 0x2514a0, 0x251458, 0x1, 0xc1000, 0xd5a48), at 0x1c168
[83] rb_eval(0x159230, 0x251428, 0x0, 0x2513e0, 0xd0, 0xffbeb734), at 0x1c8e0
[84] rb_call0(0x0, 0x159230, 0x5351, 0x1, 0xffbeb948, 0x23e1f8), at 0x23734
[85] rb_call(0x23f3f8, 0x159230, 0x5351, 0x1, 0xffbeb948, 0x1), at 0x23bec
[86] rb_eval(0x159230, 0x24aff0, 0x0, 0x24a2e8, 0xf0, 0xffbebc5c), at 0x1dcfc
[87] rb_call0(0x0, 0x159230, 0x53d1, 0x1, 0xffbebe70, 0x23dce8), at 0x23734
[88] rb_call(0x23f3f8, 0x159230, 0x53d1, 0x1, 0xffbebe70, 0x1), at 0x23bec
[89] rb_eval(0x159230, 0x24a0a8, 0x24a090, 0xfffffff8, 0x0, 0x158d69), at 0x1dcfc
[90] rb_eval(0x159230, 0x24a150, 0xffbec488, 0x24a000, 0xc1000, 0xffbec438), at 0x1c168
[91] rb_call0(0x0, 0x159230, 0x53e1, 0x0, 0x0, 0x23dbf8), at 0x23734
[92] rb_call(0x23f3f8, 0x159230, 0x53e1, 0x0, 0x0, 0x2), at 0x23bec
[93] rb_eval(0x159230, 0x249c10, 0x249b68, 0xc1400, 0xffbeceb0, 0x159398), at 0x1dcfc
[94] rb_eval(0x159230, 0x249b50, 0x249b20, 0xfffffff8, 0x0, 0x1593b1), at 0x1d3bc
[95] rb_eval(0x159230, 0x249b38, 0x0, 0x249a90, 0xd0, 0xffbecda4), at 0x1c168
[96] rb_call0(0x0, 0x159230, 0x53f1, 0x1, 0xffbecfb0, 0x23db98), at 0x23734
[97] rb_call(0x23f3f8, 0x159230, 0x2469, 0x1, 0xffbecfb0, 0x0), at 0x23bec
[98] rb_eval(0x0, 0x27f328, 0x0, 0x27f238, 0xd0, 0xffbed2c4), at 0x1dcfc
[99] rb_call0(0x0, 0x163850, 0x28e1, 0x1, 0xffbed4d0, 0x23da48), at 0x23734
[100] rb_call(0x23db20, 0x163850, 0x28e1, 0x1, 0xffbed4d0, 0x1), at 0x23bec
--

とりあえず、client3.rb では、GC.disable しておくと大丈夫に。

2003-03-27 Thu

* nile-wiki

ソフトウェア集にて、(忘れていた)「インストール先」を埋め込んでお
いた。

2003-03-26 Wed

* graphr

とりあえずインストールしておいた。

2003-03-25 Tue

* graphviz (CVS版)

ちょっと GD 関連で手間取った。

http://www.boutell.com/gd/manual2.0.11.html
によれば、
To put an end to the confusion, TrueType 1.x support has been
removed in favor of TrueType 2.x support. The old
gdImageStringTTF function simply invokes gdImageStringFT.

とのことなので、nile に入っていた libttf.a のサポートが無くなって
いるらしい。
そこで、freetype-2.1.3.tar.bz2 をインストールして、コンパイルし直
した。

これだけではまだコンパイルエラーが起きるので、調べてみると、
http://lists.eazel.com/pipermail/nautilus-list/2000-December/001328.html
の現象と全く同じ。どうやら、昔の
/usr/local/include/freetype/freetype.h
/usr/local/include/freetype2/freetype.h
とある場合に -I が /usr/local/include を先に指すので、エラーになる
モノらしい…。とりあえず、昔の libttf.a はもう使わないだろうとの憶
測のもと、

% sudo mv /usr/local/include/freetype /usr/local/include/freetype1

とした。

こうして作ったGraphviz(CVS版)でなんとか↓が動いた。

% env DOTFONTPATH=. ./dot -Tpng -Nfontname=kochi < z.dot > z.png

* postanalog:ログ解析analog用ポストプロセッサ(日本語検索語解析)

http://i16.jp/soft/postanalog.htm
検索エンジンなどのリファラーの日本語文字コードを適宜自動変換して、
表示するもの…。

2003-03-21 Fri

* 寝違えた

まじで死ぬかと思ったよ。。。

* 高林さんインタビュー

http://www.ogis-ri.co.jp/otc/hiroba/others/OORing/interview20.html
う〜ん、なんかすごく普通の雰囲気でインタビューしてるなぁ。

他の回の人も楽しそうな感じ。

あと、「論文書くため」ではないソフト開発というのも楽しそうなんだけ
ど、そうそううまくいかないよね。

* WeirdX

http://www.jcraft.com/weirdx/index.html
AstecX の代替になるかと思って使ってみたけど、どうも日本語が出ない
なあ。Sun のフォントの問題かしら…。ちょっと短いソースなので読んで
みたけど、どうもよく分からない。

起動コマンドは以下のようなもの(WeirdX.bat):

C:\j2sdk1.4.1_01\bin\java.exe -Dweirdx.displaynum=0 -Dweirdx.windowmode=RootlessWM -Dweirdx.display.charset=JISX -Dweirdx.display.keymap=jp106 -Dweirdx.display.visual=TrueColor16 -Dweirdx.ddxwindow=com.jcraft.weirdx.DDXWindowImpSwing -jar C:\weirdx\weirdx-1.0.31.jar

最近はさっぱり更新されてないみたいだし、ダメだったかな?

2003-03-20 Thu

* Shibuya Perl Mongersテクニカルトーク#2

http://shibuya.pm.org/blosxom/techtalks/200304.html?seemore=y
「はてなダイアリー」が面白そう。
行きたいけど、つらそう。

* http://quox.org/

とりあえずメモ。
Install Memo と Tips Collection がすばらしい。

* GoFigure

http://udgenome.ags.udel.edu/gofigure/help.html
The Gene Ontology Annotator (GO annotator)

Ontology の可視化に GraphViz を採用?

* GraphR

http://rockit.sourceforge.net/subprojects/graphr/
だいぶ前(2001-11)から更新されてないのが気になるけど、ちょっと試
しておこうかしら。

* 個人指導

SOAP4R のバグを直したという話をして、.Net とかならもっと賢いやり方
をしてるかも…、と言ったみた。そしたら逆に、.Net 環境とかでは行き
詰まった時に対処のしようが無いのが難点だと言われた…。

確かに、卒研生とかは相当苦労したらしいし、現時点では、覚悟がないと
なかなかやりづらいことは確かかな。

* PukiWiki バグ?

また見始めた。

なんだか変な挙動をするプラグインが多い。
- bugtrack: XSS あり。
  → ?plugin=bugtrack&category="><s>test</s>&category="><s>test</s>
- map: 動作しない。
- yetlist: Pre環境中の WikiName もリストしてしまう。

* イラク戦争

「第2次湾岸戦争」と呼ぶのかな?

どちらにしろ、悲しい戦争だ。中東最大の近代都市を巡って市街戦をすれ
ば多数の犠牲が出るだろうに…。

アメリカを戦争犯罪で訴追することはできないのだろうか。
損害賠償でも構わないが…。
そうすれば、多少は戦争を躊躇するようになるのではないか。

* 書きかえたい言葉一覧

http://www.kyo-sin.net/reframe.htm
from たつを日記。

関連語という関係にもあるかな?

* 著作権講義

http://tatuya.niu.ne.jp/copyright.html
興味深い。

特に、「著作権法コラム 第六回 ルール無用の引用ルール」の元ネタ
「JASRACとの往復書簡」は実に興味深い。
http://tatuya.niu.ne.jp/copyright/column/06.html
http://www1.odn.ne.jp/~aab87530/news/2002/topic01.html

* 国際刑事裁判所に反対するアメリカ

http://terasima.gooside.com/news011107court.html
そういうことね。

* KartOO

http://www.kartoo.com/en_index.htm
すばらしい。
Flash ベースでトピックごとの関係をグラフ構造風に見せてる。

2003-03-19 Wed

* Syck

http://www.whytheluckystiff.net/syck/
YAML のパーサをCで書き直してRuby,Python,Perl,PHPなどのスクリプト言
語から利用しやすいようライブラリ化したもの。

とりあえず、syck-0.08 はコンパイルできなかったので、また後で…。

% make
make all-recursive
make[1]: Entering directory `/home/masao/FreeSoftware/syck-0.08'
Making all in lib
make[2]: Entering directory `/home/masao/FreeSoftware/syck-0.08/lib'
source='gram.c' object='gram.o' libtool=no \
depfile='.deps/gram.Po' tmpdepfile='.deps/gram.TPo' \
depmode=gcc /bin/ksh ../config/depcomp \
gcc -DHAVE_CONFIG_H -I. -I. -I.. -I.. -g -O2 -c `test -f gram.c || echo './'`gram.c
/usr/local/share/bison.simple: In function `yyparse':
/usr/local/share/bison.simple:219: number of arguments doesn't match prototype
/usr/local/share/bison.simple:153: prototype declaration
make[2]: *** [gram.o] Error 1
make[2]: Leaving directory `/home/masao/FreeSoftware/syck-0.08/lib'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/masao/FreeSoftware/syck-0.08'
make: *** [all] Error 2

* ps2img

http://hydro.iis.u-tokyo.ac.jp/~agata/archive/software/ps2img/
おれの ps2imgs よりずっと良さげ…。

* PowerPointをPostScriptドライバで印刷した際にカラー出力されない

↓にある Adobe 純正の PostScript ドライバを使ったのだが、どうやっ
ても、グレースケールになってしまう…。
http://www.adobe.com/support/downloads/detail.jsp?ftpID=1505

EPS 形式にすれば、ちゃんとカラーになってるのだが…。

LA 研究会で頼まれた資料なので、どうしてもカラーで欲しいので、しょ
うがないので、GIF形式でがまんすることに…。

* daemontools

http://tools.qmail.jp/daemontools/faq/create.html#why
プロセス状態がいつも同じ:
/service と ttys, inittab のもとではシステム管理者がサービスを再
起動させた場合も、システムブートの場合と同じまっさらの状態で起動
されます。
一方、 init.d と rc.localのもとでは、環境変数やリソースの上限設
定、端末制御などを整理設定するのにうんと余分の仕事をしなければな
りません。プロセス状態が異っているシステムへの移植を考える必要の
ない場合でさえ、プログラマーはいつもいい加減な設定をやってしまい
ます。そして、システム管理者はデーモンを再起動したときに、不可解
な動作不良に遭遇するのです。

うんうん。
これ良いね。
nile でも Apache とかで環境変数とか初期化するのって、面倒だもんね。

* Perl データマンジング レビュー

http://www.linux.or.jp/bookreview/BR72-2.html
良さげ。買っておいても良いかも…。

2003-03-18 Tue

* wsdl2ruby bug?

先週から悩んでいる問題だが、ソースを読んでいて、
やっと問題がわかってきた気がする。

WSDL::SOAP::methodDefCreator#collectTypes() が型情報を収集する際に、
配列の情報をネストして読みこんでいないのが問題かと思われる。

2003-03-17 Mon

* 未読メール

WinXP のログオン画面に「未読メールが〜件あります」という文字が出た
ままなのが気になったので、これを消しておく。

Windows FAQ:
http://homepage2.nifty.com/winfaq/wxp/hints.html#1344

によれば、レジストリのアクセス権をいじるらしい…

2003-03-16 Sun

* 正規表現メモ

http://www.kt.rim.or.jp/~kbk/regex/regex.html
各ツールごとに正規表現をまとめている。

* 動物のお医者さん

http://www.tv-asahi.co.jp/cyobi/
めちゃめちゃ似ているけど、本当に探し回ったんだそうな。
cf. http://www.zakzak.co.jp/top/top0314_1_07.html

* アキハバラ

http://www.ntv.co.jp/dash/tetsuwan_new/past/2003/0316/02_pg01.html
怖い。
壊れたベータのビデオデッキを 15,000 円で買取る世界って一体…。

すごいよ。電気屋のおっちゃん…。

2003-03-13 Thu

* ps-line-number

M-x ps-print-buffer 時に、行数を印刷するには、

(setq ps-line-number t)

を設定しておく。

* UTF-8化したPukiWikiで、「〜」の入った文字列が「〜」に化ける

http://pukiwiki.sourceforge.jp/dev/index.php?BugTrack%2F246
根は深そう…。

Microsoft系(CP932?)と他とで、Unicode との変換表が違うという問題
がある。
cf. http://www.y-adagio.com/public/standards/tr_xml_jpf/kaisetsu.htm
    http://www.debian.or.jp/~kubota/unicode-symbols-map2.html

対処は、どうするのが正しいのかなあ?

* SOAP::Lite での動作確認

とりあえず以下のようにして、返ってくる値を確認できる。

% perl -MSOAP::Lite -MData::Dumper -e 'print Dumper(SOAP::Lite -> service("http://nile.ulis.ac.jp/~masao/term-viz-ws/term-viz.wsdl") -> getWordList("47888"));'

* Berkeley DB

データファイルは Endian 独立ではないみたい…。
つまり、x86 → Solaris 間のデータの互換性はないので、
db_dump/db_load コマンドを使って相互で変換をかける必要がある。

とりあえず clover → nile をするには以下のようにする。

clover% foreach f ( edr_*.db )
> echo $f
> db_dump -f /tmp/`basename $f` $f
> end
clover% scp /tmp/edr_*.db nile:

nile% foreach f ( edr_*.db )
> echo $f
> db_load -f $f ~/CVSwork/term-viz-ws/$f
> end

* bdb

http://moulon.inra.fr/ruby/bdb.html
Berkeley DB の Ruby バインディング。

うまく動いてくれない…。
どうも extconf.rb が -DCOMPAT185 を検査しないみたい。

2003-03-12 Wed

* インストール記録の移行

cf. [2003-03-07]
inst.rb で「インストール先」(dest)を書き込むのを忘れてた…。

* FeedReader, NetNewsWire

http://uva.jp/dh/mt/archives/000240.html
FeedReader + 日本語インタフェース。

最新の 2.5 Alpha 567 だといくつか英語のままでカッコ悪いけど…。

なお、translation.xml を放りこむ先は
C:\Documents and Settings\masao\Application Data\FeedReader
だった。

* Do You PHP?

http://www.pat.hi-ho.ne.jp/dimension/
PHPのサンプルがいろいろあって素晴しい。

* Prosperの使い方

とりあえずメモ。
http://www.cc.kyushu-u.ac.jp/RD/watanabe/RESERCH/PROSPER/

* まだ旧体制下の新聞社と月極契約している人たちへ

http://www5a.biglobe.ne.jp/~NKSUCKS/
記者クラブに代表される日本のマスコミの旧態依然とした体質を強く批判
するサイト。元日経新聞の記者?

全体には賛成だが、とりあげるニュースなどがちょっと偏向しすぎでは、
と思える。なんか本末転倒では?

* xargs とファイル名中の空白

http://www.jp.freebsd.org/QandA/HTML/2111.html
知らなかった。

find -print0 オプションと xargs -0 オプションを組み合わせるらしい…。

* Altova ship their end user XML editor Authentic free of charge

http://xmlhack.com/read.php?item=1907
XMLSpy を開発している会社が Authentic という XMLSpy の軽量化版をタ
ダで配布するというニュース。

どうやら、Office11 からは、Word が XML に標準対応するのに対抗して
のことらしい…。XSLT などを使った文書系のオーサリングもできるみた
い。

2003-03-11 Tue

* タマちゃん

どうしても動物保護団体なりの売名行為にしか見えないんだけどなあ。
もしくは、アホな日本人に騙されてやってきた向こうの保護団体という構
図か…。

まあ、アザラシごときで大騒ぎしている方も変だけど…。

2003-03-09 Sun

* プログラマーのための動的ページ作成法

http://kwatch.tripod.co.jp/web/dynamic-page.html
「プレゼンテーションロジックとビジネスロジック」とかあんまり考えた
ことなかったなあ。

* BrainsMemo

http://www.tender-brains.net/memo/public/intro.html
Java ベースの WikiEngine。
認証機能や XSL-FO による PDF 生成などの機能も豊富。
内部では Relaxer を使ってるらしい。

2003-03-08 Sat

* Magpie RSS - PHP RSS Parser

http://magpierss.sourceforge.net/
http://www.hyuki.com/yukiwiki/wiki.cgi?MagpieRSS
使えそう、とか思ったけど名前空間処理が適当なのね…。

つまり、接頭辞名でマッチングさせてるだけ。なんで??

* SquirrelMailの日本公式サイトサイト

http://www.squirrelmail.jp/
Web メールとして著名な SquirrelMail の日本語サイト。

昔、hiroshi さんが IMAP-Web メールの日本語化してみない?とか言って
たよなあ。

* コードの中では、平気なの。

http://sdc.sun.co.jp/news/200303/danwa01.html
Servlet 関係の著作で有名な原田さんのインタビュー記事。
独立してやっていくことの難しさなどもそのまま語られていて興味深い。

* Racco(論文審査過程の電子化システム)

http://www.carc.aist.go.jp/~yoshinov/2000/projects/racco/index.html
面白そうなテーマなんだけど、成果をオープンにしようよぉ。

* PukiWiki

add プラグインを使うと、ページを簡単に誰でも凍結できてしまう。

2003-03-07 Fri

* イラク

ふと気付いたんだけど、TVなどのメディアでは、「武装解除を」と言われ
ているが、国連決議1441、国連決議687などを読む限りでは、完全な武装
解除は求めてないよね。
cf. http://homepage2.nifty.com/mekkie/peace/iraq/news/023.html
    http://homepage2.nifty.com/mekkie/peace/iraq/news/011.html

求めているのは、
・「すべての化学・生物兵器とすべての関連サブシステムとコンポネント、
  および、すべての研究開発支援、製造の諸施設。」
・「射程150キロ以上のすべての弾道ミサイルと関連主要部品および修
  理・製造施設。」
だけだと思うんだが…

ここらへんは、アメリカの論理に従ってわざと問題を大きくしようとして
いるだけなんじゃあないの?

* インストール記録の移行

% ruby inst.rb
% mv -f A5BDA5D5A5C8A5A6A5A7A5A22F* /project/nile-wiki/wiki/
% chmod a+w /project/nile-wiki/wiki/*.txt
% sudo chown nobody:nobody /project/nile-wiki/wiki/*.txt
inst.rb は以下のような Ruby スクリプト:
--
#!/usr/local/bin/ruby

require "time"

class SoftInfo
   attr_reader :info
   PATTERN_HASH = {
      /<li>インストールしたもの   :([^<]*)<\/li>/i => "name",
      /<li>バージョン(パッチレベル):([^<]*)<\/li>/i => "version",
      /<li>簡単な説明        :([^<]*)<\/li>/i => "desc",
      /<li>インストール先      :([^<]*)<\/li>/i => "dest",
      /<li>インストールした人    :([^<]*)<\/li>/i => "person",
      /<li>日付           :([^<]*)<\/li>/i => "date",
      /<li>マニュアル        :([^<]*)<\/li>/i => "man",
      /<li>入手経路         :([^<]*)<\/li>/i => "from",
      /<li>ソースの置き場所     :([^<]*)<\/li>/i => "src",
      /<li>関連ファイル       :([^<]*)<\/li>/i => "related",
      /<li>インストールの際の変更点 :(.*?)<\/li>/mi => "change",
      /<li>\[ その他 \](.*?)<\/li>/mi => "misc",
      /<li>\[ 注意事項 \](.*?)<\/li>/mi => "note",
   }
   def initialize(str)
      @info = {}
      str = str.gsub(/\r/, "")
      PATTERN_HASH.keys.each do |pat|
if pat =~ str
data = $1
data = data.gsub(/<br>/i, "\n")
data = data.strip
if data =~ /^\s*<pre>(.*)<\/pre>\s*$/mim
data = $1
end
@info[PATTERN_HASH[pat]] = data
end
      end
      if info["date"] and info["date"] =~ /^(\d+)\/(\d+)\/(\d+)$/
year = $3.to_i
info["date"] = sprintf("%04d-%s-%s",
year > 90 ? year+1900 : year+2000, $1, $2)
      end
   end
end

def to_wikifilename (str)
   wiki_pagename = str
   if wiki_pagename =~ /^([^(]*)\(/
      wiki_pagename = $1
   end
   wiki_pagename = "ソフトウェア/" + wiki_pagename.strip.gsub(/[\s\/:]+/, "_")
   puts wiki_pagename
   wiki_pagename = wiki_pagename.unpack("H*")[0].upcase + ".txt"
end

def to_prestr (str)
   if str and str.length > 0
      str.gsub(/^/, " ")
   else
      str
   end
end

contents = File.open("inst").read.chomp

contents = contents.split(/<hr>/i).grep(/§/)

list = []
contents.each do |e|
   list.push SoftInfo.new(e)
end

list.each do |e|
   wiki_pagename = to_wikifilename(e.info["name"])
   File.open(wiki_pagename, "a+") {|f|
      f.print <<EOF
* #{e.info["name"]}

-名称: #{e.info["name"]}
-概要(簡単な説明): #{e.info["desc"]}
-Webサイト: #{e.info["from"]}
-関連URL:

** 使い方など

#{to_prestr(e.info["misc"])}

#{to_prestr(e.info["note"])}



以下に、インストールした際の記録を書きます。

** #{e.info["date"]}

-作業者: #{e.info["person"]}
-バージョン: #{e.info["version"]}

*** インストールの際の変更点など

#{to_prestr(e.info["change"])}

EOF
 }
 t = Time.parse(e.info["date"])
 File.utime(t, t, wiki_pagename)
end
--

* TeX etc.

http://www.biwako.shiga-u.ac.jp/sensei/kumazawa/texindex.html
LaTeX パッケージの組版例つきの解説が豊富。すばらしい。

fancyvrb.sty のような行番号・囲み付き verbatim が欲しかったので探
していたら行きついた。
Referrer (Inside): [2003-03-12-7]

2003-03-05 Wed

* nile-wiki

機能性などの点から、PukiWiki を使うことにした。
なお、XSS問題があるので、CVS版を使う。

% cd /project
% sudo mkdir nile-wiki
% sudo chown masao:ulis nile-wiki
% cd nile-wiki
% cvs -d cvs -d :pserver:anonymous@cvs.sourceforge.jp:/cvsroot/pukiwiki co pukiwiki
% mv pukiwiki/* .
% rm -rf pukiwiki

パーミッションなどの設定
(`cvs -dP`してもディレクトリが消されないように dummy ファイルを
作っておく)
% mkdir attach/ backup/ counter/ diff/ cache/
% touch attach/dummy backup/dummy counter/dummy diff/dummy cache/dummy
% chmod 777 attach/ backup/ counter/ diff/ cache/ wiki/ trackback/
% chmod 666 wiki/*.txt
% chmod 666 cache/recent.dat

1.3 → 1.4 の変換
% cd ~/public_html/test/pukiwiki1.3.3/
% foreach d ( attach backup diff wiki )
> ruby convertpage.rb $d /project/nile-wiki/$d
> end
(1.4 と 1.3 でかぶる内容の文書のうちいくつかを削除して `cvs up`
する)

初期設定
% vi pukiwiki.ini.php
% cvs diff
diff -u -b -r1.27 pukiwiki.ini.php
--- pukiwiki.ini.php 4 Mar 2003 07:03:43 -0000 1.27
+++ pukiwiki.ini.php 5 Mar 2003 09:15:28 -0000
@@ -53,15 +53,15 @@
 $interwiki = 'InterWikiName';
 /////////////////////////////////////////////////
 // 編集者の名前(自由に変えてください)
-$modifier = 'me';
+$modifier = 'nile管理者';
 /////////////////////////////////////////////////
 // 編集者のホームページ(自由に変えてください)
-$modifierlink = 'http://change me!/';
+$modifierlink = 'http://nile.ulis.ac.jp/nile/';
 
 /////////////////////////////////////////////////
 // ホームページのタイトル(自由に変えてください)
 // RSS に出力するチャンネル名
-$page_title = 'PukiWiki';
+$page_title = 'nile.ulis.ac.jp';
 
 /////////////////////////////////////////////////
 // WikiNameを*無効に*する
@@ -103,7 +103,7 @@
 
 /////////////////////////////////////////////////
 // Last-Modified ヘッダを出力する
-$lastmod = 0;
+$lastmod = 1;
 
 /////////////////////////////////////////////////
 // 日付フォーマット
@@ -130,7 +130,7 @@
 $cycle = 6;
 /////////////////////////////////////////////////
 // バックアップの最大世代数
-$maxage = 20;
+$maxage = 30;
 /////////////////////////////////////////////////
 // バックアップの世代を区切る文字列
 // (通常はこのままで良いが、文章中で使われる可能性

% vi .htaccess
% cat .htaccess
ErrorDocument 404 /nile-wiki/404.html
DirectoryIndex pukiwiki.php

Webから見れるようにする。
% cd /usr/local/apache/htdocs
% sudo mv nile nile.old
% sudo ln -s /project/nile-wiki nile

* Sendmail対策パッチ

% unzip 107684-08.zip
% sudo patchadd 107684-08

Checking installed patches...
Verifying sufficient filesystem capacity (dry run method)...
Installing patch packages...

Patch number 107684-08 has been successfully installed.
See /var/sadm/patch/107684-08/log for details

Patch packages installed:
  SUNWcsr
  SUNWnisu
  SUNWsndmr
  SUNWsndmu

* 自由利用マークとCreative Commonsと

http://members.jcom.home.ne.jp/makina17/r/mark.html

・普及するまで、マークの利用できる範囲を狭めておくことで誤用による
問題が起きないよう配慮した。
・従来の著作権との関係は説明文一つで済ませていた。

という背景があったとのこと。

ただ、全体にお役人仕事すぎてダメダメだと思うんだけどなぁ…。

2003-03-04 Tue

* 戦争

なんだか、世の中が戦争一色になりつつある…。

つまり、「戦争をしても良いのだ。」という風潮が世の中全体に広がって
いる。

非常に危険だ。このままでは、あと2、3年以内に世界大戦が始まってもお
かしくないと思えてくるほどだ。

平和ボケだのなんだのと言うが、平和ボケ自体は素晴しいことだ。平和ボ
ケができる国ほど世界に誇れる国は無いのである。つまり、国民全体がい
つでも臨戦体制にある国(例: 北朝鮮、米国など)の方がおかしくなって
いると考えるべきだろう。

* sendmail

面倒な脆弱性が出たなぁ。

どうしようかなあ。
論文が落ち着いたら対処しよう…。

2003-03-03 Mon

* デス川柳

「毛沢東 ダイナミックな 島流し」
思わず笑った…。

2003-03-02 Sun

* pukiwiki XSS

とりあえずチェック中。
- cmd, plugin: pukiwiki.php (1.4系のみ) → 解決
- refer: template.inc.php (1.3系のみ)
- word: html.php?
- date_sep: calendar_viewer.inc.php

- calendar_viewer.inc.php (第3引数) → 解決

2003-03-01 Sat

* kanitoro

って何?

* S県月宮

http://www.wakhok.ac.jp/~yamasita/fv/may/tukimiya/
すげえ、怖ぇ。

* 平和愛好家宣言

http://hp.vector.co.jp/authors/VA015862/kamashi/social/20030220.html
ところどころ穴はあるけど、大筋で同意。

* vim2html.inc.php

http://ishii.s26.xrea.com:8080/modules/pukiwiki/index.php?%5B%5B%BC%AB%BA%EE%A5%D7%A5%E9%A5%B0%A5%A4%A5%F3%A5%C6%A5%B9%A5%C8%5D%5D
これって、 /etc/passwd 表示されちゃう気が…。

確認できないから放置だけど。。。

* pukiwiki XSS

まだあった。今度は md5。
なんで誰も気付かなかったの?

とりあえず報告。
http://lists.sourceforge.jp/pipermail/pukiwiki-users/2003-March/000072.html

とりあえず、$vars のチェックの準備に以下を実行してみた。
% find . -type f | xargs ruby -nle 'puts $1 if /vars\[([^\]]+)\]/' | sort | uniq -c | sort -nr
 109 'page'
53 'refer'
14 'msg'
14 'body'
13 'cmd'
 9 "page"
 7 'pass'
 6 'src'
 5 'method'
 5 'file'
 4 'plugin'
 4 'action'
 3 'word'
 3 'pcmd'
 3 'paint_no'
 3 'dst'
 3 'digest'
 3 'begin'
 2 'yourname'
 2 'related'
 2 'md5'
 2 'inter'
 2 'age'
 2 $_age
 1 \'page\'
 1 'width'
 1 'type'
 1 'prefix'
 1 'p'
 1 'original'
 1 'height'
 1 'filename'
 1 'exist'
 1 'date'
 1 'category'
 1 'add'
 1 $var
 1 $age
 1 "msg"
 1 "mode"
 1 "date_sep"
 1 "date"
 1 "body"

* masao@users.sourceforge.jp

何かで必要になることもあるだろうと思ったから、masao アカウントをも
らっておくことにして、ユーザ登録した。

masao@users.sourceforge.jp は自動的に登録したアドレスに転送してく
れるらしい。
サイクリング走行距離メーター
2001 : 01 02 03 04 05 06 07 08 09 10 11 12
2002 : 01 02 03 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 03 04 05 06 07 08 09 10 11 12
2009 : 01 02 03 04 05 06 07 08 09 10 11 12
2010 : 01 02 03 04 05 06 07 08 09 10 11 12
2011 : 01 02 03 04 05 06 07 08 09 10 11 12
2012 : 01 02 03 04 05 06 07 08 09 10 11 12
2013 : 01 02 03 04 05 06 07 08 09 10 11 12
2014 : 01 02 03 04 05 06 07 08 09 10 11 12