RubyKaigi2011 のおもひで

最後の RubyKaigi こと RubyKaigi2011 も終わりましたね。スタッフの皆さんお疲れさまでした。

  • 1日目
  • tenderlove の keynote
    • スーツを着ているのはフリで、絶対途中でスーツを脱ぐと何かコスチュームが……というパフォーマンスがあると思ってましたが最後までスーツでしたね。たこやき仮面は紳士でした
    • 他にもいくつかのセッションで使われてた映画予告編的ムービーをプレゼンに取り入れるメソッド
  • お昼は Yokohama.rb のメンバーと、岡山から来たという学生さんを交えてそばを食べる
  • 忘れてたんですが、コミッタはこの後の「Next version of Ruby 1.8 and 1.9 」で集まるかわりにお弁当が頂けるんだったそうで、地下にコミッタ大集合していたらしい。他のコミッタのみなさんに挨拶する最初のチャンスだったのに惜しいことをしました
  • 「Next version of Ruby 1.8 and 1.9」別名「壇上で開発者会議」
    • 1.9.3 の新機能の説明 は ruby-dev でネタバレ済みだったのでこっそり changes してたりして……
    • いきなり 1.9.4 をやめて 2.0 にしようかーという話が出てきてビビる
      • 「根回し」という日本の悪習に手を染めない CRuby コア開発者コミュニティは素晴しいとわたしは思いますよ、ええ
      • 2.0 については結構前に 書いてた。バージョン番号なんて飾りです
    • とはいえ 2.0 にするなら色々互換性を破壊するものを入れるチャンスですよね……とか言いだすと議論が白熱してまた数年が経つ、とかなりそう
  • 小ホールに移動して sora_h のセッションに参加
    • sora_h はすごいはきはきしゃべるしまあ良い意味で生意気なんでつい具体的な年齢のことを忘れて「すごく若い」という程度の認識をしてしまうんだけど、壇上に立ってる姿を見るとまあまだ伸びざかりの小柄な子供で、あの年齢であそこに立ってるってことはやっぱりすごいなー
    • とか思ってたら時間余りすぎて「バイツ・ア・ダスト!!」
    • スピーチは事前に予行演習しておかないとね
    • いろんな人にあっちこっちと放り込まれてるうちにここに来てた、っていう自己認識をしているんだなぁ。巻き込まれ力が強い
  • 須永さんのプロファイラの話
    • llprof はお仕事でデーモンプロセスのプロファイルのために使って(というか後輩に使わせて)みたことがある
    • なんとインタフェースが Javascript で書き直されてるそうでぐっと進化していた
    • 結果をエクスポートできないですかね、と質問したら最新版では XML 出力できるらしい
    • ぜひとも Github とかで公開を……。いやまあ Mercrial 使えってことなんでしょうけど
  • 朝購入した「抽象によるソフトウェア設計」に遠藤さんと酒井さんにサインを頂く。ありがとうございました。勉強させて頂きます
  • 組込みシステムのための動的コンポーネント機構とVMの最適化
    • 省メモリのために命令列のバイト数削減にまで手を出すとは
    • 命令の使用頻度を調べてみて最頻出なものを重点的に、ってまあ当然だけど本気だなと思った
    • しかし命令(コード)部分が本当にネックなんだろうか、と思わなくもないですが、組み込みはそうなんでしょうね。パフォーマンスとのトレードオフなので CRuby でそのまま適用はできないでしょうけど
  • Rite VM
    • あれ、なぜかすっかり忘れてしまった。prefix が mrb_ だとかそういうことだけ
    • 早くソースを見てみたいですね
  • GC の並列マーキング
    • dequeue の話その場では理解しきれなかった。けっこう複雑なことしないといけないんですね
    • でも多少 mark 処理が重複してもいいから steel はもうちょっとおおざっぱでもいいんじゃないかなーと思ったら同じようなことは各所から言われてたそうです
  • 並列世界Ruby
    • 思えば遠くへ来たもんだ
    • けっこう聴いたことのある話が多かったかな?
  • nari さんに持参した GC 本にサインを頂きました
  • 闇RubyKaigi
    • 闇基調講演は熱くてよかった
    • jugyo さんはスライドが闇に飲まれてしまって 30 秒しか使えなかったのに、まるで計算してたかのように要点を過不足なく言い切っていて、ものすごい調整力に驚いた
    • 「観測者」という2つ名を頂いたので今後積極的に名乗って行こうと思います
  • 2日目
    • ちょっと遅れて到着。 Actor も気になったんだけど「安全なプログラムの作り方」へ
    • 咳さんの Drip へ
      • 事前に公開されていた発表資料で予習済み
      • しきりに irc でもきかれてましたが、本当に消そうと思って消すことはできるんでしょうか
      • dRuby の英語の本が出ます
    • たのしい Rails
      • 毎朝 Rails の git log を眺めるということで、なにやら親近感をおぼえました
    • Rubyマスターへの道
      • 10年やったらだいたいマスターになれるよ、っていうのはそうでしょうね
      • 10年続けるために、というのが問題なんでしょうけど
    • 充電がてら changes 業やっていたらぼっちになってしまったのでひとりでステーキを食べた
    • JRuby の発表
      • JRuby の進化っぷりは凄い、って去年も思ったような
    • MacRuby の発表
    • Method Shelters の発表
      • この話は TokyuRubyKaigi でも LT として聴きましたが、5分ではとうていわからない内容だったのでリベンジ
      • でも30分でも完全に理解できなかった……
      • どっちかというと反対意見が多いみたいですが、仕様としてはわたしはありなんじゃないかなーと思います。複雑な仕組みもシンプルな代表的な使い方があってそれに則ってたら安全、というのならそんなに問題ではないかと
      • むしろ VM のスタックに要素を追加してしまうので*1、shelters を利用しなくてもパフォーマンスに影響してしまうのは嫌かなぁ
    • GVL のロックデザインの話
      • Linux で sched_yield() が意味がない環境があるのはなぜか、というのを始めてききました
      • CPU のコアが増えたり、それに対応して Linux カーネルの動作が変化したりでどんどん過去の知識が通用しなくなっていく世界ですねぇ
    • LT
      • トップバッターで発表
        • kosaki さんの発表の前あたりからじわじわと緊張してきてこれはまずい、と思ってました。けどいざ始めますって言われるとライトが眩しくて会場よく見えないし、まあ何度も練習したからあとはやるだけだなーという感じでそんなに緊張は感じませんでした
        • けど「来年で1周年」とか「あっ来週、じゃなくて来月」とか言いまちがいすぎ
        • 思わぬ拍手を頂いてちょっと喋りを止めてしまったのが計算に入ってなくてやや時間切れな感じでした
        • そういえばマミったネタは反応薄かったけどちょっと絵が小さすぎましたかね……
        • ちなみに発表資料の図は iPad で手描きしました
  • 懇親会
    • かなり動きまわってたくさんの人にあいさつができたのでよかった
    • 会う人が口をそろえて「あの LT のオチどうなってるんですか」と言われるので、すごいオチをつけないといけなかったんかなーというプレッシャーが……
      • 何人かのコミッターの方にはスライドの続きをお見せしました
      • 最後のページは見せスライドで実際に集計はしていないんですよ、ええ
  • さらにその後 Yokohama.rb をベースとする二次会へ
    • nari さんも出口で会ったのでそのまま拉致
    • 飲み会に行ってもまずは changes を更新しないといけない、それが「観測者」の宿命
      • なんか宴会で MBA 弄ってて感じ悪くてすみません
    • @joker1007 の闇でのカラオケ再生システムの話から1人カラオケの魅力を @dan5ya さんに語るなど
    • nari さんとたくさんお話できてよかったです
      • changes を始めるきっかけは usa さんの元祖 Changes と去年の mame さんの「(コミッターに必要なのは)継続力」という発言だという話をしたら、その元の質問は nari さんが出したものだったそうなので、ruby trunk changes は usa さんと mame さんと nari さんが産みの親ということになります
  • 3日目
  • parse.y の話
    • ennnnnd はできそうだなー
      • と思ったらセッションが終わらないうちに nobu さんがパッチを作っててさすが
    • これだけアイデアが湧き出てくるのが凄い
  • glitch の話
    • こんなにマジで glitch の話が聴けると思ってなかったのでかなり嬉しかったです
  • Finding Black Holes in Ruby with the Small Eigen Collider
    • 本業はバイオインフォマティクスなんだけど Ruby で処理時間がかかるから CRuby じゃなくて JRuby とか Rubinius など他の処理系でも評価してみたい
    • けど微妙に違う挙動されたりすると困るなー
    • ということでレシーバとメソッドと引数をランダムに生成して、結果を比較するというシステムを作ったらいくつか不具合を見つけたよ、という話でした
    • ちなみに Thread.kill(nil) が SEGV するという不具合報告とその修正憶えています。これソースを眺めてて気がついたのかなぁと思ってましたがこういう方法で見付けたんですねぇ
    • 質問力を発揮して Tシャツを頂きました
    • ちなみに MacRuby は評価しないの、という質問で、解答はこの仕組みは(考えてみれば当然だけど)仮想環境のsandbox の中で実行してて Ubuntu を使ってるので MacRuby は動かせない。余分なマシンがあればできるけど、ということでした
    • この後 alloy さんがマシン提供するよ、と連絡していたような
  • 昼食はコミッター勢で中学生を取り囲む会についていって中華料理屋さんへ
    • 地味に自分もあこがれのコミッター勢に取り囲まれてた気分でした
  • サイン会で「アジャイルサムライ」にサインを頂きました
  • Personal Dilemma: How to work with Ruby in Brazil? 秋田ファビオ さんの発表
    • 自力でマーケットを切り開いたというのが凄い
    • 前のほうで聴いてたら発してる熱量がすごくてだいぶあてられた
    • 今年最も感動したスピーチだった
  • Rubyを持て、世界に出よう!
    • 英語勉強しよう、って RubyKaigi に来るたびに思うんですよね
  • 島田さんの発表
    • KaigiFreaks の発足って結構最近なんだなーと思いました
    • 札幌にはなんですごい Rubyist が集まってるんだろう
  • LT
    • mrkn さんの Rational と Float のリテラル交換は、昔反対だったんだけど、Float 使いたいなら NArray 使えというのは正しい。なので 2.0 で変更していいんじゃないかなーという気がしてきた
    • 昔「読み、書き、そろばん」今は「IT、英語、会計」会計の話はまたどこかでききたい
    • あとは Grawl がもっていっちゃった
  • matz の基調講演
    • まつもとさんは孫悟空だった
      • 孫悟空は父親失格。悟飯の父親役は実質ピッコロだった」みたいな論評を思い出してピッコロは誰だろう、とか思っていた
      • sora くんがんばって >
    • フルタイムコミッター募集中
  • closing スタッフの皆さん本当にありがとうございました

さすがに3日間家を空けるのは大変なことなのでそそくさと帰宅しました。

今年はコミッタとして RubyKaigi に参加したこと、LT 発表者として参加したこと、そして Yokohama.rb というコミュニティの一員としてその場に見知った仲間が居たことなど、最後にして新しいことだらけの RubyKaigi でした。Yokohama.rb の面々にはいたるところで声をかけて頂いてありがとうございます。

*1:たぶんそのせいですよね