1.8.0 preview4のリリースを明日に控え、コミットが盛んだ。 ドタバタした印象を与えるが、最終リリースではないのでこれで良いのだ。 XP的には「短期リリース」ということなのだろう、きっと。
私によるもの
string.c (rb_str_split_m): the receiver may be empty string.
"".split(/\t/, 1)は[]を返すべきであった。
string.c (rb_str_lstrip_bang): strip NUL along with white spaces. [ruby-talk:76659]
lstripはNUL('\0')も削る。strip, rstripも同様。
わたなべさんによるもの
咳さんによるもの
なかださんによるもの
田中哲さんによるもの
既存のCGIプログラムの修正を最低限にしてFastCGI対応にする方法について。
以前、こんなトリックを書いたことがあります。
require 'cgi' require 'fcgi.so' class CGI class Fast<CGI CONTINUATION = [] def Fast::new(*args) at_exit do if CONTINUATION[0] CONTINUATION[0].call end end callcc do |c| CONTINUATION[0] = c end fcgi = FCGI::accept unless fcgi CONTINUATION[0] = nil exit end $defout = fcgi.out super(*args) end end end
「require 'cgi'」を「require 'fcgi'」に変更し、 「CGI.new」を「CGI::Fast.new」に書き換えるだけで かなりのCGIがそのまま動作するのではないかと思います。
もうちょっと手を加えれば、CGI.newのままでもいけるようにできるかな。
継続を使った数少ない実用的な例かも。
うちの家族は全員揃ってあまり片付けるのが得意ではない。 だから、だんだんうちの中が散らかって来てしまうんだけど、 今日は(妻が)思い立って全員で掃除することにした。
家族の中から一人ずつ10分交替で末娘の面倒を見て、 残りの家族が散らかった書類の類を集め、 おもちゃを片付け、出しっぱなしのケーブルやらガジェット類をしまい、 新聞と広告を束ね、ついでに邪魔になってたソファを移動させた。
夕方は今週当番になってた教会の掃除。 中はずいぶんきれいだったので、トイレを掃除して、 それから教会堂の周辺の落葉とかを片付けて、終わり。
みんなでわいわいやると掃除もそれなりに楽しい。 大家族*1ならではだろうか。
*1 世間的には4人子供の6人家族は大家族らしい。個人的には全然大きいと思っていないのだが。せめて6人は子供がいないと
昨日のバーベキューでお肉は好評であっという間になくなったのだが、 野菜はかなり余ってしまった、というか、最初から野菜が多すぎだったような気もするけど。
で、余った野菜で「夏野菜カレー」を作成。 昼食時に振る舞う。当初、全員には足りないかなと思っていたので、 「子供・青少年中心ね」と言っていたのだが、 結局かなり余ったので、大人も含めて「みんなの者は食べて満腹した」のであった。
おかしいな、計算が合わない。増えたか(マルコ 6:42)。
監督から依頼されてホームティーチングに同行する。
教会員は「御霊(みたま)」という言葉を多用するが、 実はこれが未定義語でねえ、とかいうような話をする。
宣教師時代にもうっかり多用してしまって、 説明に窮したことがあったなあ。
そういえば「霊的」も未定義語だ。
なんだか新しいアクションを取れば取るほど、墓穴を掘っているような気がする。 もう日本の(TV系)メディアの未来に関して希望は持てないな。
前から宣言しているように、4年後に地デジ完全移行になれば、 私はもう(放送受信装置としての)テレビを捨てるし、 HD画像も要らない。
正直、HD画像はきめ細かくて情報量は多いんだけど、 カメラがパンする時とかに、車に酔ったような気分になるので、 全然うれしくない。
ネットから情報を得るか、アナログにダウングレードしてから見るから、 こういう新しい(消費者不在の)テクノロジーたちは、 私の知らないところで勝手にやっててほしい。
オリジナルはPascalで記述されたLispインタプリタを
Rubyで再実装したもの。
手軽っぽくてLispの孝三構造を理解するのに良さそうだ。
でも、出自を考えると、どうしてPythonでないのかというのは疑問である。
Rubyのcgi.rbはリクエストボディのサイズが10Kを越えると パラメータとして文字列でなくStringIOかTempfileを渡す。 それが使いにくい(ので直してしまおう)という話。
正直、Rubyのcgi.rbは古めかしいし、この件をはじめとして あちこち使いにくいことが残っているので、 捨ててしまいたい。
問題は適切な移行パスが思いつかない点だ。
世の中はほとんどRailsだからcgi.rbはさほど使われていない(から、どう変えても問題なし) だとありがたいんだが、世の中そうは甘くないだろうな。
特にirbの中で用いることを想定したスペルチェック付きメソッド呼び出し。
$ irb > require 'rubygems' > require 'guessmethod' > class Object; include GuessMethod; end > class Product; def name; "Some product"; end; end > Prodct.nw.nae attention: replacing non-existant constant Prodct with Product for Object attention: sending new instead of nw to Product:Class attention: sending name instead of nae to #<Product:0x144ff10>:Product => “Some product”
以前からNameErrorでスペルチェックを行う「もしかして」機能付エラーメッセージ というのを夢想していたのだが、こちらは警告付きで実行してしまう というより大胆なもの。しかし、インタラクティブなirbセッションの中であれば、 冷酷にエラーにしてしまうよりは「こういう風に解釈しましたよ」とのメッセージ付きで 良きに計らってくれた方がありがたいかもしれない。
XMLは誕生以来ほぼ10年になるが、その結果は地球温暖化ではないか、という話。
つまり、XMLはシンプルではあるが非効率である。 CPUサイクルやネットワーク帯域を少しずつ無駄遣いしている。 そして、その消費されたエネルギーは地球温暖化(Global Warming)の原因の一つかもしれない。 アル・ゴアはこの件についてドキュメンタリーを書くべきではないか。
いや、CPUサイクルの無駄遣いに関しては、我らスクリプト言語も同罪だな。
新しいruby-profでは
をサポートしているという話。Railsアプリのプロファイルとかは嬉しい気がする。