RubyKaigi2011

7/16〜18 に開催された RubyKaigi2011 に行ってきました。
Lightning Talk に応募して採択されていたのですが、色々と忙しくて*1結局開催日まで手付かずでした。

3日間フルに会場にいましたが、基本的にはいつものようにサブスクリーンに投影されているIRCで遊んでました。

ちゃんとしたレポートは RubyKaigi2011 スペシャルレポート を見るのが良いです。

1日目

  • 知らない土地だったので早めに行動したのですが、迷わずに辿り着けたのでちょっと早目についてしまったので、練馬駅のドトールでコーヒー飲んでから会場に行きました。
Opening
  • 角谷さん(@)が前の席に詰めて座るように誘導してました。「おいでおいでおじさん」。
  • 基調講演は「たこ焼き仮面」「よく感極まってる方」「肩書増えた方」の3人。
Ruby Rined My Life.

「たこ焼き仮面」こと @ の基調講演。

  • 最初のビデオは面白かったです。爆笑しました。
  • 後は英語が聞き取れないので全然わかりませんでした。
  • MySQLライブラリがdisられたような気がしたのですけど、聞き取れないから気にしないことにします。
Lunch
  • まつもとさん(@)のサイン会があったので「7つの言語 7つの世界」を買ってサインしてもらいました。

f:id:tmtms:20110716121222j:image:medium:right

7つの言語 7つの世界

7つの言語 7つの世界

  • 昼飯は食べずにLTのスライドを作ろうと思ったのですけど、やっぱりお腹が空いたので駅の反対側の松屋で軽く食べました。
Next version of Ruby 1.8 and 1.9
  • 今後のRubyの予定などをコミッターに話してもらう場。
  • ライセンスの話。Ruby は GPL2 と GPL3 との互換のために BSDL になったとのこと。
  • 壇上にコミッターを集めるとぐだぐだになるという法則が今回も発動しました。
Ruby を利用した大規模ウェブサービスの開発・運用
  • Solrは高機能で良いらしい
Ruby用のリアルタイムプロファイラ
  • RubyProf よりも軽いプロファイラ。これはよさそうですね。
  • リアルタイムで集計表示できるらしいです。
組込みシステムのための動的コンポーネント機構とVMの最適化
  • VM上でメモリ効率が良いように色々と改善したという話
軽量Ruby
  • 組み込み用途を目指している軽いRuby実装。
  • JIS準拠を目指してて、将来オープンソースとして公開予定だそうです。
CRubyGCの並列世界
  • 色々やったけどあまり改善しなかったという話だったような…
並列世界Ruby処理系
  • Ruby の高速化/メモリ削減/並列化の話
夕飯
  • 闇RubyKaigiまで時間があったので、駅の反対側の松八でカツカレー食べました。
闇RubyKaigi
  • まあいわゆるLTです。ただし制限時間は2分。
  • 今まで RejectKaigi として RubyKaigi 最終日の終了後に行われていたものが、初日の夜になったということでしょうか。
  • 「闇」というテーマがあるのは面白いですね。
  • LTはネタ披露の場となることが多いのですが、さらにネタ度が大きかったと思います。
  • サブスクリーンの表示は Twitter の背景色が白で、IRC の背景色が黒だったので、無言 IRC で黒く染めて、闇を応援しました。
ホテル
  • ホテルにチェックインして、やっとLTのスライドを書き始めました。が、いつのまにか寝てて表紙と自己紹介しか書けませんでした。

2日目

安全なプログラムの作り方
  • "/tmp" 決め打ちはよくないとか、正規表現の \w は鬼門だとか、exec はシェルを経由しないように書くべきとか…って話でした。
Drip: Persistent tuple space and stream.

私が尊敬するプログラマーの一人の咳さん(@)の発表です。

  • 分散で追記データベースを作れるって話だったような…。
  • 消せないって話だったけど、膨らみ続けてメモリやディスクを食いつぶすことはないんだろうか…と思いました。
  • dRubyによる分散・Webプログラミング」の英語版が出るそうです。すばらしい。
  • 毎回どうしようか迷って結局買ってなかったのですが、RubyKaigi は今回が最後だということで購入して咳さんにサインしてもらいました。

f:id:tmtms:20110717111956j:image:medium:right

dRubyによる分散・Webプログラミング

dRubyによる分散・Webプログラミング

Ruby
  • toRuby, guRuby, Yokohama.rb の合同企画の、ゆRubyに参加しました。
  • 3F和室でまったり。
  • 第一部は「初めてのRuby」の第6章について @さんの朗読とコードの写経でした。
  • 読書会は初めてだったのですが面白かったです。こういうのもありなんだなと思いました。
  • 第二部は咳さん講師で dRuby の基礎を学びました。
  • 分散面白いです。
  • 後で考えたら、栃木でも群馬でも横浜でもないのに参加して、空気を読まずに発言が多すぎたような気もします。失礼しました。
Lunch
  • 駅の西友で寿司を買って、ゆRubyの第一部と第二部の合間に3F和室で食べました。
5 years know-how of RSpec driven Rails app. development.
  • RSpecとCucumberの話
  • モデルのテストをちゃんと書こう
  • Fixture, FactoryGirl, Fabrication はカテゴリによって使い分ける…という話だったような。
  • 自分は Rails 使ってないので、これらのライブラリがどこまで非Rails でも使えるのかよくわかりませんでした。後で調べてみたいと思います。
スライド作成
  • 3F和室にこもってLTのスライド作ってました。半分くらいできました。
Lightning talks 1
  • LTです。闇の2分を見たあとだと、5分は長いですね。
懇親会
  • 池袋のサンシャインシティ58Fの会場で懇親会でした。
  • 去年のつくばに比べると会場も狭いし食べ物も少なかったように思います。場所が場所だけにしょうがないですけど。
  • 色んな人と話せて楽しかったです。
ホテル
  • 懇親会終了後、どこにもいかずにホテルに戻ってLTのスライド書いてました。…そのはずが気がついたら寝てて朝になってました。
  • 朝5時から書いて8時頃にやっと完成しました。

3日目

一般社団法人日本Rubyの会と関連プロジェクト報告(るびま,るりま)
  • 高橋さん(@)が真面目な話をしてる横でIRCでチャチャを入れる仕事をしてました。
  • るびまは読んでます。もう7年も続いてたのですね。すごい。
  • るりまは貢献したいんだけどできてないです…。
  • refe はもう古いんですね。
  • 青木さんはどこに行ってしまったのでしょう…。
  • ググると古い赤いマニュアルが表示されるのでどうにかならないかという話(二年くらい前に自分も質問したような)に対し、全部青い方にリダイレクトされることになったみたいです。
All About RubyKaigi Ecosystem
  • RubyKaigi とか Regional RubyKaigi の話
  • IRC で「RubyKaigi」を名乗る条件は何か? という話で盛り上がってたら、角谷さんが拾ってくれて、メインスクリーンにまで IRC が映る事態に。
  • 「Tokyu RubyKaigi はやっかい」
  • 話をまとめると、RubyKaigi は次のようなものらしいです。
    • Rubyist の集まり
    • アツイ人
    • 電源タップ
    • 祭り
    • 出会い系
    • RubyKaigi が台風のように過ぎ去った後に出てくる秋の風物詩
Lunch
  • アジャイルサムライ」を購入して西村さん(@)と角谷さんのサインをもらいました。サイン会は長蛇の列で、サインもらうのに30分くらいかかりました。完売だそうです。すごい。

f:id:tmtms:20110721014632j:image:medium:right

アジャイルサムライ−達人開発者への道−

アジャイルサムライ−達人開発者への道−

  • 倉澤さん(@)と駅の反対側の松八でトンカツ食べました。
Ruby遺産とレガシーコード修理技術
  • tDiary を25年間使えるようにするためにメンテし続けるという話。
  • たださん(@)がこわいって話でした。
テスティングフレームワークの作り方

私が尊敬するプログラマーの一人の須藤さん(@)の発表です。

  • 技術的な話ではなく、ライブラリを作る際に心がけていることとか、利用者の立場になって考えることが重要という話でした。
O/R Mapperを支える技術

毎回楽しみな桑田さん枠。IRCにあまり人がいなくて寂しかったです。

  • O/RマッパーはSQLを抽象化するというのは、そういう観点もあるかなぁ…と思ったのですが、今ひとつピンと来ませんでした。SQLの抽象化というとVIEWとか関数でやることなんじゃないかな…と思ったり。
  • ActiveRecord とかの目的はやっぱり SQLRuby プログラム中で表現しやすくしてるのが主目的な気がします。
  • 自分は SQL は嫌いなので、もっと SQL 色をなくして集合演算っぽく書けて、それが内部で SQL を自動生成して動くみたいなライブラリがあると面白いと思いました。自分でも具体的には全然イメージわかないんですけど。
Lightning talks 2

最後の LT。最後から3番目が自分でした。緊張して言いたいこと全部が言えなかったような気がしますが、時間ちょうどに終わることができて良かったです。Rabbit のおかげです。


ちなみに CSVパーサーを書くために MmapScanner を作ったというのは半分嘘です。元々は CSVパーサーじゃなくてメールパーサーをこれを使って書き直したかったような気がします。途中から CSVパーサーが短く書けて速くなるんじゃないかと思って、それでチューニングしたりしてたので、まるっきり嘘ってわけではないです。その辺を語り出すと冗長なので、はしょった結果ああいう流れになりました。

三題噺: 振子とPGと百年の言語

まつもとさんの基調講演。ネタ満載。

  • パチモンことなかださん(@)が heroku に入社と発表されました。すばらしい。なかださんの heroku 入社については西村さん(@)が書いた記事が良いです。 http://el.jibun.atmarkit.co.jp/rails/2011/07/heroku-8e32.html
  • なかださんと自分は偶然同じホテルで、3日目の朝飯は一緒に食べました。
  • それ以外の話は笑いを取るネタが多かったような…
    • 松江市在住なのに名誉市民
    • 福岡のどっかの館長をやってるけど、館長代理がロボット
    • Luaに勝つ!
    • 新しい言語がどんどん出てきて欲しい。でも俺が潰す!
Closing

高橋さんの感極まる閉会の儀

おわり

最後の RubyKaigi 楽しかったです。ありがとうございました。

2年前に RejectKaigi の LT には登壇しましたが、Rejectじゃない方の RubyKaigi の壇上に立てたことはとても嬉しかったです。

自分は毎年参加してたので来年ないというのはちょっと寂しいです。感極まるってほどでもないですが。

RubyKaigi はなんというか文化祭みたいなもんですね。みんなで作り上げるというか。自分は学校の文化祭とかでもちょっと引いてた感じだったのでアレなんですけど、文化祭実行委員が文化祭終了時に感極まるってのはわかります。

最初はそうでもなかったと思うんですけど、最近の RubyKaigi はテクニカルじゃないスピリチュアル(?)なセッションがかなり多くて、まあお祭りだし楽しいからいいんですけど、他の技術系カンファレンスとは違う独特の雰囲気がありますね。だから、カンファレンスでもなく会議でもなくて Kaigi なのかもしれません。Kaigi 力の高い角谷さんに Ruby が見つかってしまった結果というか。

自分は技術的なセッションが多いカンファレンスも好きなので、今後そういうのも開催されればいいなあと思ってます。行ったことないですけど、もしかしたら地域 RubyKaigi とかがそうなのかもしれません。

*1:原稿書いたり、Ruby 1.9.2-p290 入れたり、Rabbit 1.0 入れたり、映画みたり、マンガ読んだり、Twitterしたり…