«前の日記(2007年05月24日) 最新 次の日記(2007年05月26日)» 編集

Matzにっき


2007年05月25日 [長年日記]

_ [Ruby] 報國挺身日記 - 5.7.0がマージされた件について

小迫さんにとって不快なことをしてしまったようだ。

先日私はRuby 1.9に鬼車5.7.0をマージした。 これは別に企むところがあったわけではなくて、 5.xでしか提供されてない機能が欲しくなったのと、 今後実装するM17N機能の実装に5.xのAPIの方が都合が良かったから(UTF-16も処理できるし)。

で、この場合、Rubyは単なる鬼車の利用者なので、 鬼車のライセンスはBSDライクだし、利用する前に 相談するとか許諾を求めるとかは考えてなかった。

で、今後、Rubyの都合で鬼車本体に手を入れてもらう方が (我々にとって)都合が良いようなことがあったら、 その時点で相談しようと思っていたのだった。

だから決して「拒否のメールを受けることが僅かでも損になると思った」などということはない。小迫さんが我々の都合に合わせたくなければ(そして、そう思われるなら、それはもっともな拒否だと思う)、我々の方で勝手に追随するまでのことだから。

不快な思いをされたのであれば、その点については謝罪したい。

とはいえ、

これから私にできることは何もありませんので、今後何も起こりません。従って、この件について私にメール、コメント等を送らないでください。返事をしませんので。

ということなので、取りつく島はないのかも。

_ [Ruby] InfoQ: Evan Phoenix hired to work on Rubinius

JRubyチームに引き続き、Eval PhoenixもRubiniusの開発のために雇用された(半分だけど)、という話。

Rubyがいろいろな人の生活を変えていくのは、驚きである。 ちょっと恐い気もする。

_ [Ruby] Ruby.Badbunny - Symantec.com

Rubyを使ったウィルス、なのかな。危険度は低いらしい。

っていうか、Windowsで/usr/local/binとかあるのってどういう状況? Cygwin?

_ [Ruby] rubyneko - RubyでえせMapReduceもどきを作ってみた。

RubyスレッドでMapReduceを実現した話。 あまりRubyのスレッドをいじめないでください。

Ruby 1.8までのスレッドはスタックを毎回まるごとコピーしているので コンテキストスイッチのコストがめちゃめちゃ高い。 「動く」とか「使える」とかは言えるけど、間違っても「性能が良くなる」なんてことは言えない。

でも、1.9(YARV)で落ちるってのはなんでだろう? ネーティブスレッドのスタック領域を使いきったかな?

_ [Ruby] RubyForge: The Omnibus Concurrency Library

ActorをRubyで実現するライブラリ。 ActorってのはScala風なんだろうか。まだ調べてないけど。

利用例はこんな感じになる。

require 'concurrent/actors'
include Concurrent::Actors

RequestGreeting = Struct.new :reply_to
Greeting = Struct.new :value

# spawning a new actor
oracle = Actor.spawn do
  greeting = "Hello"
  loop do
    # guarded receive (does case-like matching via #===)
    Actor.receive do |f|
      f.when Greeting do |m|
        greeting = m.value.dup.freeze
      end
      # callback part 1
      f.when RequestGreeting do |m|
        m.reply_to << Greeting[greeting]
      end
    end
  end
end

# sending a message to an actor
oracle << Greeting["Howdy"]

# getting a reference to the current actor
current = Actor.current

# callback part 2
oracle << RequestGreeting[current]
Actor.receive do |f|
  f.when Greeting do |m|
    puts "#{ m.value }, Bill!"
  end
end

結構、気持ちのいいAPIである。性能はどうだろう。 現時点ではあんまり期待できないかな。将来に期待か。

_ [Ruby] M17N化

作業中。とりあえずstring.cは終わった。


«前の日記(2007年05月24日) 最新 次の日記(2007年05月26日)» 編集