2004-05-05 (Wed)
_ [食] 生姜紅茶
のどが直らないので、紅茶に生姜の絞り汁を入れたものを飲んだ。 砂糖を入れない方がいいらしいので入れなかったのだが、恐ろしくまずかった。 生姜コーラの飲みやすさを期待していたら大違い。 でもちょっと楽になったかもしれない。
_ [PEG-TH55] POBox for PalmOS5
ATOKに限界を感じてインストール。 結構いい感じ。
でもgraffitiってOを入力しようとしてもDと認識されてしまうことが多いような気がする。
2004-05-06 (Thu)
_ [Ruby] Net::IMAPの修正
Net::IMAPで、
* 368 FETCH (BODYSTRUCTURE (("TEXT" "PLAIN" ("CHARSET" "iso-8859-1") NIL NIL "7BIT" 808 26 NIL ("INLINE" NIL) NIL)("MESSAGE" "DELIVERY-STATUS" NIL NIL "Delivery error report" "7BIT" 332 NIL ("INLINE" NIL) NIL)("TEXT" "RFC822-HEADERS" ("CHARSET" "US-ASCII") NIL "Undelivered-message headers" "7BIT" 263 9 NIL ("INLINE" NIL) NIL) "REPORT" ("REPORT-TYPE" "delivery-status" "BOUNDARY" "----------=_1083748960-9343-3") NIL NIL))
のようなレスポンスの解析に失敗していたので修正。 しかし、body-fieldsを省略するってのは反則じゃないだろうか。
_ [Ruby] RDのverbatimの先頭の"*"
RDのverbatimの先頭に"*"を使いたい時って、全角の空白とかで逃げるしかないんだっけ。 まつもとさん版は、行頭にタブを使うと次に何が来てもverbatimになった気がするんだけど。
_ [PEG-TH55][物欲] covertecのケース
いつの間にか売ってた。 でも、もう2回も落してるしなあ。あ、ケースで傷を隠すという手があるか。
2004-05-07 (Fri)
_ [その他] ナショナリズム
CNNのアーロンブラウンが「もし米国だったら、この行為の是非はおいておいて、まず皆が黄色のリボンを玄関に付けて無事帰還を祈るところですがね」というようなことを言ってたのが非常に強く印象に残りました。
[Matzにっき(2004-05-02)のコメントより引用]
ナショナリズムって、国民主義と訳すか、国家主義と訳すか、(あるいは国粋主義と訳すか)で、 ぜんぜん印象が違うよな。 英語のnationalはnativeな人にとってはどういう語感なんだろう。
_ [ソフトウェア] Mono Beta 1
やっとBeta 1リリースがされた模様:)
個人的には、
- Preview C# 2.0 compiler with generics support (gmcs).
- Generics-enabled virtual machine.
このへんがうれしいけど、"MONO EXCLUSIVE!"というマークが気になる。 MicrosoftのVMと互換性がないってこと?
2004-05-10 (Mon)
_ [仕事] Windows again
再びWindows上での作業。
なぜかWinCVSが使えなくなっていた (起動してもすぐに勝手に終了する)ので、 TortoiseCVS を使ってみることに。 エクスプローラのコンテクストメニューから簡単に使えるのは便利だ。
スペルを覚えにくいのが難点だな。
2004-05-13 (Thu)
_ [mod_ruby] mod_ruby 1.2.0
リリースしました。
_ [ソフトウェア] IBMからEclipseベースの新しいクライアント・フレームワーク
やっぱりそうなるのね。
2004-05-14 (Fri)
_ [mod_ruby] mod_ruby-1.2.0の変更点
NEWS 的な内容か、せめて ChangeLog をウェブから見ることができたら嬉しいのだけれど
[ふぇみにん日記より引用]
とりあえず、1.0.7からの主な変更点を更新情報に追加しました。 1.2.1からは、直前のバージョンからの変更点を記述して行こうと思います。
というか、私が手伝えばいいのかな。:)
[ふぇみにん日記より引用]
ドキュメンテーションは苦手なので、手伝っていただけるなら大歓迎です:)
_ [食] ウィルキンソン ドライ ジンジャエール
My Human Gets Me Blues で知って買ってみたけど、おいしいけどそんなに生姜の味が強いかなあ、と思ってよく見るとドライの方だった。 *1 無念。
*1 なぜかドライの方が辛くないらしい。知ってて間違えてれば世話ないですね。
2004-05-15 (Sat)
_ [ソフトウェア] ipw2100-0.44
ndiswrapperから移行。 WEPもちゃんと使えるようになったようだ。
hotplugは使ってないので、Makefileで
# CONFIG_IPW2100_LEGACY_FW_LOAD=y
とコメントになっている部分を有効にして、hotplugを使わずにfirmwareをロードするように した。
2004-05-17 (Mon)
_ [食] ウィルキンソン ジンジャエール
やっぱりドライじゃないほうだよねえ。
[AD-HOCKERY DIARYより引用]
というわけで買ってみました。
辛い。うまい。やっぱりドライとはぜんぜん違いますね。
これだけ生姜がキツかったら咽にもいいんだろうか。
2004-05-18 (Tue)
_ [その他] C MAGAZINE 2001年12月号「第8回 mod_ruby(2)」
雑誌に書いた記事にC MAGAZINEの連載の最終回への リンクが抜けていたので今更ながら追加した。 連載の最終回というのはそもそもさみしいものだが、今まで誰にもWebへの掲載を 催促されなかったというのもさみしい話である。 きっと、みんな買ってくれてたんだよね。そうだよね。
この回の書き出しで、
私事で恐縮ですが、去る10月1日に初の子が産まれました。(電磁波の影響かどうかはわかりませんが女の子でした。) 出産にも立ち合ったのですが、女の人というのはすごいものですね。以前、建築は男にとっての出産の代償行為である、というような話を物の本で読んだことがありますが、われわれプログラマにとってはプログラミングがそれにあたるのかもしれません。いつかはぜひRubyのようなすばらしいプログラムを生み出したいものです。私の場合、その前に一度水子供養をしないといけませんけれども。
[C MAGAZINE 2001年12月号「第8回 mod_ruby(2)」より引用]
などという面白くもない不適切なジョークを書いてしまったせいで、 まつもとさんの奥さんにご心配をおかけした(本当に私に水子がいると思われたらしい)のも、 今となってはなつかしい思い出だ。
ちなみに、「Rubyのようなすばらしいプログラム」はまだ書けていないけど、子供は二人に なりました。
_ [ソフトウェア] Visual Studio .NET をEmacsキーバインドにする方法
試そうと思ったが、EmacsKeyBinding.vbを使う以前にマクロエクスプローラの 操作で落ちてしまった。 VS.NETを再インストールしてもだめ。
納期も近いし、あきらめるか。
2004-05-19 (Wed)
_ [プログラミング] NotSupportedException クラス
.NET Frameworkを使っていると、ちょくちょくこの例外にお目にかかる。
たとえば、Stream.Length プロパティとか。
NotSupportedException Stream から派生したクラスがシークをサポートしていません。
[Stream.Length プロパティより引用]
つまり、StreamのサブクラスでもLengthが実装されてないかもしれないということだ。 こんな設計にされたら、せっかくの静的な型チェックも意味がない。
LengthをStreamから他のクラスに移さないのには何か深遠な理由があるのだろうか。
_ WhiteRabbit [こんにちは。C#のヘジルスバーグはDelphiの設計者でもあったので、VCLのTStreamに似てるのではないでしょ..]
_ shugo [なるほど。 でもどうしてTStreamはそういう設計だったんでしょうね。 弱い型の言語のライブラリを参考にしたからと..]
_ WhiteRabbit [うーん、わかりません。ただ、最初の頃は TStream の継承クラスはシークできるものばかりだったので(TFileS..]
_ 菊池 [んー、OSその物がそうなので、という事では。 Socketを ReadFile / WriteFile でアクセスで..]
_ shudo [JXTA (のJava実装) でも、同じようなフラストレーションを味わったなあ>NotSupportedExcept..]
_ shugo [んー、下のレイヤーに不都合があっても、できるだけそれを隠蔽するのがよいライブラリなんじゃないでしょうか。 CanSe..]
_ shugo [> 同感。 やっぱそうですよねえ。 ちなみにshudoさんは私とは別人です。まぎらわしくてすみません。]
_ 菊池 [>んー、下のレイヤーに不都合があっても、できるだけそれを隠蔽するのがよいライブラリなんじゃないでしょうか。 良..]
_ shugo [菊池さんがそういう(クラスが細分化された)ライブラリをお好きでないというのは理解できる部分もあるのですが(Rubyの..]
2004-05-21 (Fri)
_ [Ruby][babel] レシーバとパラメータの評価順序
今回の投票(Ruby: recv.m(a1, a2, ..., &block) の評価順序が a1, a2, ..., recv, block という順序になって許せるか?)は、左から右へ、の原則が嫌だ、というわけではもちろん無くて、「仕様を無視してでも高速化のためには妥協しても仕方がない」部分かそうでないか、ということだと思っております。で、どっちとも取れなくて悩む。
1+2 で 2,1 と評価されるのは気持ち悪いし、やっぱり recv は先にくるべきかなぁ、と揺れ動く今日この頃。
[だいありーより引用]
まつもとさんと話したら、自分の処理系では評価順序を保証したいけど、言語仕様としては 処理系依存でも許せるかなあ、とおっしゃってました。 あと、メソッド探索に失敗した場合に、引数は評価されるべきかどうかも処理系依存で いいんじゃないかとか。
今の処理系で評価順序を保証しているのは、Satherの影響らしい。
ちなみに、Satherではx < yはx.is_lt(y)の糖衣構文で、x > yは
y.is_lt(x)のようにオペランドを入れ換えることになっている
*1
のだが、その場合でも評価順序はx -> yでなければならないと
規定されている。
.NETにはswap命令がないので、babelでは
x: BOOL := 2 > 1;
は、
IL_0000: ldc.i4 2 IL_0005: stloc.1 IL_0006: ldc.i4 1 IL_000b: ldloc.1 IL_000c: call bool class [bscore]'Babel.Base.INT'::'is_lt'(int32, int32) IL_0011: stloc.0
のようになってしまう。 せつない。
*1 したがって、is_ltだけ定義しておけば、is_gtを定義しなくてもよい
2004-05-23 (Sun)
2004-05-24 (Mon)
_ [その他] 谷川浩司さん宅を訪問
うを、マジですか。すげー。
_ [その他] ネゴシックス
会社で『土曜日にネゴシックスが2回もテレビに出てたよ』 *1 という話をしたら、誰も見てなかった。 というか、存在を知ってる人は一人しかおらず、見たことがあるのは自分一人。 島根初のお笑い芸人らしいけど、まだ島根でも認知されてないらしい。
レギュラーの番組ができるとか言ってたようだが、よく聞き取れなかった。 多分ローカル番組なんだろう。
*1 片方はローカル番組だけど。
2004-05-27 (Thu)
_ [仕事] 一区切り
とりあえず、最初のベータ版をリリース。 まあ、こんなものだろう、という程度には仕上がったと思う。
今回はペアプログラミングじゃないので、単純なコーディング速度はとても早かった。 もっとも規模がとても小さいせいもあるけど。
_ [Ruby] Rubyレシピブック
まつもとさんに見せてもらった。
へー、高橋さんはModule#attr_accessorが好きなんだ。実は、attr_accessorの導入には 私も一役買ってたり([ruby-list:3970])して。 今このメールを見て、ふと、aliasでattr_なしのreader/writer/accessorがあっても よいんじゃないかなと思った。 クラス・モジュール定義のスコープだったらあまり名前がぶつからない気もする。 どうなんだろう。
で、あおきさんはString#sliceで、ゆうぞうさんはEnumerable#injectか、ふむふむ。 どっちも使ったことないかも。
自分は何だろう。Module#includeかなあ。 しょっちゅうきれいにmixinを使えているかというとそうでもないんですが。
ちなみにまつもとさんはevalだそうです。うーん、evalかあ。
2004-05-28 (Fri)
_ [Ruby] lily 0.1.5 on mod_ruby
ふと思い立って、lily 0.1.5をmod_rubyで動かしてみた。 やはりそのままでは動かなかったので、色々試行錯誤。
基本的に、以下のような変更で動いたようだ。
- へッダの出力にCGI#headerを使用。
- mod_rubyでは$SAFE == 1なのでとにかくuntaint。 (httpd.confに`RubySafeLevel 0'と書くという手もあるけど、modruby.netで使いたい のでなるべく正攻法で対処。)
- mod_rubyでは既存クラスの変更はできない(ほんとはできるけど)ので、 String#to_eucなどをNKF.nkfを直接使用するように変更。 (というか、呼び出し側ではstr.toeucだったりするので現状でも機能してないような)
あと、プラグインはinstance_evalで評価されるようなので、mod_rubyとの相性も 良さそう(Lilyのインスタンス毎に名前空間が独立になるから)なのだが、プラグインで 例外が発生したバックトレースが見にくいので、ちょっといじってみた。
結局、パッチ(diff -u --ignore-all-space --strip-trailing-cr)はこんな感じ。
<URL:/tmp/lilyset-mod_ruby.diff>
CGIでも同じコードで動作するので、できればマージしていただけるとうれしいです (とかいう報告はTrackbackでいいんでしょうか)。
_ [Ruby] helium.ruby-lang.orgがクラックされました
というわけです。ごめんなさい。





_ yoko [東山公園はよく遊びに行ったのですが、 パンダは来たことが無いとおもいます。 めずらしい生き物としてはコアラなんかが有..]
_ shugo [やっぱりそうですか。残念。 コアラは顔がよく見えなくて、子供は何かわかってなかったようです。]