«前の日(07-22) 最新 次の日(07-24)» 追記

Matzにっき


2003年07月23日

_ [Ruby]今日のChangeLog

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も同様。

わたなべさんによるもの

  • file.c (DOSISH): better Cygwin support.

咳さんによるもの

  • lib/erb.rb: import erb-2.0.4b1.

なかださんによるもの

  • ext/io/wait: imported.
  • lib/mkmf.rb (log_src, checking_for, create_header): Logging.message is printf like format.
  • ext/iconv/iconv.c (check_iconv): check if Iconv instance.
  • ext/iconv/iconv.c (iconv_convert): stringify argument.

田中哲さんによるもの

  • ext/iconv/iconv.c (iconv_failure_initialize): limit inspect message. [ruby-dev:20785]
  • ext/iconv/iconv.c (rb_str_derive): share with original string if possible. [ruby-dev:20785]

2004年07月23日

_ [Ruby]既存の CGI をそのまま FastCGI 対応に

既存の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のままでもいけるようにできるかな。

継続を使った数少ない実用的な例かも。


2005年07月23日

_ [家族] 掃除の日

うちの家族は全員揃ってあまり片付けるのが得意ではない。 だから、だんだんうちの中が散らかって来てしまうんだけど、 今日は(妻が)思い立って全員で掃除することにした。

家族の中から一人ずつ10分交替で末娘の面倒を見て、 残りの家族が散らかった書類の類を集め、 おもちゃを片付け、出しっぱなしのケーブルやらガジェット類をしまい、 新聞と広告を束ね、ついでに邪魔になってたソファを移動させた。

夕方は今週当番になってた教会の掃除。 中はずいぶんきれいだったので、トイレを掃除して、 それから教会堂の周辺の落葉とかを片付けて、終わり。

みんなでわいわいやると掃除もそれなりに楽しい。 大家族*1ならではだろうか。

*1  世間的には4人子供の6人家族は大家族らしい。個人的には全然大きいと思っていないのだが。せめて6人は子供がいないと


2006年07月23日

_ [教会] カレー

昨日のバーベキューでお肉は好評であっという間になくなったのだが、 野菜はかなり余ってしまった、というか、最初から野菜が多すぎだったような気もするけど。

で、余った野菜で「夏野菜カレー」を作成。 昼食時に振る舞う。当初、全員には足りないかなと思っていたので、 「子供・青少年中心ね」と言っていたのだが、 結局かなり余ったので、大人も含めて「みんなの者は食べて満腹した」のであった。

おかしいな、計算が合わない。増えたか(マルコ 6:42)。

_ [教会]HT

監督から依頼されてホームティーチングに同行する。

教会員は「御霊(みたま)」という言葉を多用するが、 実はこれが未定義語でねえ、とかいうような話をする。

宣教師時代にもうっかり多用してしまって、 説明に窮したことがあったなあ。

そういえば「霊的」も未定義語だ。


2007年07月23日

_ ITmedia +D LifeStyle:「1世代コピー9th」では誰も幸せになれない

なんだか新しいアクションを取れば取るほど、墓穴を掘っているような気がする。 もう日本の(TV系)メディアの未来に関して希望は持てないな。

前から宣言しているように、4年後に地デジ完全移行になれば、 私はもう(放送受信装置としての)テレビを捨てるし、 HD画像も要らない。

正直、HD画像はきめ細かくて情報量は多いんだけど、 カメラがパンする時とかに、車に酔ったような気分になるので、 全然うれしくない。

ネットから情報を得るか、アナログにダウングレードしてから見るから、 こういう新しい(消費者不在の)テクノロジーたちは、 私の知らないところで勝手にやっててほしい。

_ [言語] CodeZine:L2Lisp in Ruby(インタープリタ)

オリジナルはPascalで記述されたLispインタプリタを Rubyで再実装したもの。 手軽っぽくてLispの孝三構造を理解するのに良さそうだ。

でも、出自を考えると、どうしてPythonでないのかというのは疑問である。

_ [Ruby] 日記的な - multipart時のCGIライブラリの挙動

Rubyのcgi.rbはリクエストボディのサイズが10Kを越えると パラメータとして文字列でなくStringIOかTempfileを渡す。 それが使いにくい(ので直してしまおう)という話。

正直、Rubyのcgi.rbは古めかしいし、この件をはじめとして あちこち使いにくいことが残っているので、 捨ててしまいたい。

問題は適切な移行パスが思いつかない点だ。

世の中はほとんどRailsだからcgi.rbはさほど使われていない(から、どう変えても問題なし) だとありがたいんだが、世の中そうは甘くないだろうな。

_ [Ruby] Dr Nic >> Magic Wiggly Lines => GuessMethod, by Chris Shea

特に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セッションの中であれば、 冷酷にエラーにしてしまうよりは「こういう風に解釈しましたよ」とのメッセージ付きで 良きに計らってくれた方がありがたいかもしれない。

_ [言語] IT Conservative: 10 Years of XML: Global Warming

XMLは誕生以来ほぼ10年になるが、その結果は地球温暖化ではないか、という話。

つまり、XMLはシンプルではあるが非効率である。 CPUサイクルやネットワーク帯域を少しずつ無駄遣いしている。 そして、その消費されたエネルギーは地球温暖化(Global Warming)の原因の一つかもしれない。 アル・ゴアはこの件についてドキュメンタリーを書くべきではないか。

いや、CPUサイクルの無駄遣いに関しては、我らスクリプト言語も同罪だな。

_ [Ruby] New Ruby Profiler Released: Supports Rails, threads, IRB, and more

新しいruby-profでは

  • 再帰的メソッド
  • Rails
  • スレッドアプリケーション
  • IRBからの呼び出し
  • 64ビットCPU

をサポートしているという話。Railsアプリのプロファイルとかは嬉しい気がする。


«前の日(07-22) 最新 次の日(07-24)» 追記