kumaryu日記
2009-07-21 おわた
_ Ruby会議2009感想
ふう疲れたぜ。月曜は仕事でしかも珍しく立ち仕事だったのでかなり疲れたわ。
そんなわけでRuby会議終わりました。てきとうに覚えてる範囲で感想。一気にまとめたのでなっがいです。
初日
1日目はちょっと遅れて到着。gitとか興味ないので最初の話はスルー。どうもGitとGitHubの話に終始したらしい。Ruby会議なのに。
数関係の話。よくruby-devでやってる数関係の難しい話がどういうことかという感じだった。なんとなく分かった気がする。
乱数の話は乱数生成器クラスが欲しいから作ってたらつい先日別な物がtrunkに入っちゃったという話。今まで困ったことは無かったけど、確かに乱数生成器オブジェクトの必要性は分かる…っていうか無かったのかよ。
算術論理演算ライブラリのRubyバインディングの話。条件と制約を指定してあげると、成立させる状態を計算してくれるらしい。なんか素敵。
ただ演算子の再定義を使って計算式の定義をやってて、なんか再定義してる演算子が変なので直したいとか。
俺としては演算子の再定義はやめて通常のメソッドにしといて、別のライブラリをrequireすると演算子も再定義するくらいのほうがいいんだが。演算子の再定義は読みづらくなる気がするんだよなぁ…。
静的型付けRubyの話。ActionScriptみたいな形で静的に型付けできるようにしたのと型推論を使って、一回厳密に型が付いたような状態に落としてそれをJVMのアセンブリに落として、JVM用にコンパイルするって話。
一回似てるけど違う形に落とす理由がいまいちよくわからなかった。
RubyVM高速化の話。メモリプロファイラを作ってるんですよとか。あとは前からあった話がほとんど。MVMはまだなのか。
最後にLT。いっぱいあるので省略。
懇親会は端の方で一人で飯食って帰りました。やっぱり。
一度話しかけられたんですが、ゲーム作ってるんですよって言ったら、えっ?っていう顔された。やっぱり。
帰ったら練習して寝ました。
中日
2日目。発表当日です。
朝、出かける1時間前ぐらいに起きて、夢現の状態で持っていくMacBookでゲームが動かせるようになっていないのを思い出しました。
えっ。
大急ぎで必要なもの全部インストールしたりビルドしたり。Rubyからしてインスコしてなかったんですが…。
そんなにでかい物に依存していなかったため幸い30分くらいで全部揃いました。良かった。
ほんとはwxRubyという大物がいたんだけど、メインマシンからsoをコピってくるだけでいけたので助かった。ありがとうwxWidgetsをstaticビルドした俺。
しかしMacBookで動かしたら思った以上に遅くてびっくり。30fpsでないくらい。現状は描画のCPU側の効率相当悪くなってるから、去年のより遅いのは分かってたんですが。まあそれっぽく動けばいいや。
9:30くらいに行って即接続確認。気を付けてたはずなのにすごい壁紙が出たが気にしない。だからおまえらも気にするな。な?
あとは設定して待つだけ。超緊張。どのくらい人座ってんのかなーとか気になるけど、緊張しすぎて席の方がさっぱり見えません。見えてるけど目に入らない。
少なくとも数人ってことはなく数十人は座ってることぐらいは確認できました。
発表自体はまあ練習通り。やっぱり緊張しすぎて喋るのがめっちゃ速いとか、途中で水分補給がちゃんとできないという問題はあったけど、一応ハプニングもなく完遂。べつにゲームがクリアできないとかはいいんだ。
練習のときは時計表示しながらだったので時間見ながらゆっくり喋れたけど、本番は時計がすぐ見れる位置に無かったので急いじゃったのが残念。
質問は結構あったんだけど詳しくは覚えてない。もうちょっと考えて喋れば良かった。
ステップ数は本当に調べ方がすぐに分からなかったのでパス。質問したのが友人なのでまあいいです。頼んでサクラしてもらったとかいうわけでは無いんですよ、まじで。
おかげでいくつか質問続いてくれたので、調子に乗って長々と質問に答えてたら時間突破してたわ。これは非常に申し訳ありませんでした。
終わった後に横でごそごそと片付けてたら、もうすっかり発表モードは終わり。じゃあ次の発表見るかとおもったらもう座るとこないよ!いっぱいだよ!
ずいぶん人来るんだなぁ。結局後ろの方で立ち見。
Vimの話は楽しかったけど特に目新しいという程でもなかった気がする。あ、実行結果を別バッファに書き出してくれるのは素敵。
静的解析の話。ここで座れた。いろいろと静的解析ツールがあるからそれを組み合わせて一括でつかえるようにしたよーという感じ。Rubyに静的解析ツールなんてあるのを知らなかったので興味深い。プレゼンの字が細くてよく見えなかったんだけど*1あとで調べておきたい。
昼飯食って、ちょっと早めにでかい部屋に入っておいた。コミュニティアピールとか。まあこれはそのまま。
あとはMatzの基調講演。昨日まで何話すか決めてなかったとかいう酷い話。
前半は姿勢の話とか。なぜか思い出せないんだけど、互換性は大事だけどでも常に変化していかないと駄目だから変化を重視するよーという感じの事を言ってた気がする。おお、そんなこと言っちゃうんだと思った覚えがあるので。あとは覚えてないって事はたいしたこと言ってなかった気がするんだが。
後半はMatzの手元に積んである微妙なパッチ群の話。積んであるだけあって近々入るとか言う話でもなければ、Ruby 2.0とかいう伝説上の存在でいれたいとかいう物があったり正直面白くない。基調講演で全員集めて話すことはこれなんだろうか?この話なら特別会議室あたりで他の人のツッコミもらいながら喋った方が断然面白いと思うんだけど?
というわけで基調講演は俺的にはハズレでした。前半の内容を20分に納めればそれで十分だと思う。去年のMatzはもっとかっこいいこと言ってたと思うんですが。いやこれは本当は特別会議室あたりで喋りたかったというアピールかもしれない。
あとLT。長いので省略。
一番でかい部屋は人いっぱいであついし椅子があんまりなので、ずっと座ってんのは辛かった。
そのあとはまた特別会議室に戻り。人いっぱいすぎて、後ろに置かれた予備席にも座れなくて追加された予備予備席に座れました。
fairyの話。よくわからなかったけどKeyValueStoreってのがどんなので、なんで最近みんなKVS言いまくってんのかは分かった。なんか並列処理しやすい形って事なのね。KeyValueCodingとは関係ないよね。
あとDeepConnectの話は全く聞こえなかった。
BigTableがなんとかかんとか。面白そうな話をしてそうなのは分かったんだけど、1/3くらいしか聞こえなかった。一人で大規模向けのもの作ろうにも、大規模なテストデータとか用意するのが大変だよねというくらいしかわからなかった。そこは本質じゃなかった気もするんだけど…。
自分で話しててもちょっと思ったけど、マイクの指向性がだいぶシビアですよね。
concavの話。ここで人が結構引けたので前の方の席に座るべく進出。
Ruby本体のカバレッジが減った増えたここが通ってないとかをみやすくしたよ、という話。
その話はそれはそれでいいんだけど、裏の主題としてはQuineRubyコードとかのあたまおかしいコード(褒め言葉)の話。これが超面白かった。Ruby会議2009でいちばん面白かった話。
そのあとはGCの話。これもあんまり新しい情報とかはない感じだった。日本初のGCの本が出るとかが新しい感じ。
これで二日目は終わりかな。プチ懇親会的なbeer bustでは何人かに話しかけられて、そのうちいくらかの人に寝坊して見られなかったよあははーてな話をされました。たぶん二人くらいに。
最終日
三日目は俺が寝坊していってやったよ!特にどうしても聞きたい話ってのは無かったので。
RubyGemsの話をしてるのかなーといってみたら、なぜかもう終わってるはずのソケットの話を昼までやってて、しかも結構面白かったので最初から見れば良かったとちょっと後悔。
昼飯食った後、本を見たけど欲しい物はあれど重いのでパス><。MacBookが重いんだよ!
企業ブースを見たら、昨日beer bustのじゃんけん大会でげっとできなかったTurboRubyという開発環境が限定50本5000円というので買う。通常は9000円ちょい。プロファイラとかあるらしいので興味あったんだよね。
しかし三日目昼にして俺が初の購入者だとか。え?1/50番の番号つき限定版をゲットだぜ!
というかもっと宣伝しましょうよ…。
うちでは今Windowsマシンが使いづらい場所にあるので会社にいれたいなー、でもまずいかなーと思ったんだけど、買ったあとにMacでも使えることに気づいてちょっと嬉しかった。たしかにEclipseなんだけどさ。あとで入れてみよう。
午後はMacRubyと悩んだ挙げ句デスクトップアプリケーション配布の話に。
なんでデスクトップアプリケーションなのかって話があって、Webアプリではユーザー認証とかする必要あるしそこ間違うと大変だから作るの大変だよね、でもデスクトップアプリならいらないよね、という感じ。
これは非常に納得。ユーザー認証はOSのユーザー認証をつかえってことですね!
で、配布はやっぱりzipで固めて配布が安定で最強とか言う話。俺もそう思います。
ただそれだと起動が面倒なのでgemを使ってインスコしたアプリを、簡単に起動できるRubyStationというアプリを作ったよ!とな。
起動できるのはいいと思うけど、インスコがやっぱりgem installなんとかでは面倒だから、その辺を選んでインスコ出来るようにRubyStore(?)も必要じゃないでしょうか。あまりにも話がでかくなるので質問というか意見ではいわなかったけど。
あとgemはパッケージがRuby 1.9用とか1.8用とか判別できないアレな子なのでgemはどうかなぁとか思わなくもない。かといってパッケージシステムから作るとなるとそれも話がでかいのでやっぱり質問はしてないけど。
Java Web StartとかClick Onceみたいにリンクを踏むとインストールされてしまうおそろしい仕組みも欲しくなりますね。
そのあとRubyCocoaとかHotCocoaの話。チュートリアル的な話なので特に新しい情報は無し。RubyCocoaの本だかMacRubyの本だかがそのうち出るよという話は新しいね。本ばっかりだよ。
でもやっぱりHotCocoaはいまいちなんで、動的にUI作るとき以外は止めたほうがいいかもという話に非常に賛成。
RubyCocoaのiPhone移植の話。結構苦労して移植できたみたいだけど、Rubyで実行というだけでAppStoreの承認拒否られるかもしれないから現状は微妙だねとか。
Obj-Cのコードに埋め込んでデバッグ時に使うのが現状まあいい使いかたとのこと。審査ばっかりは仕方ないよなぁ。
そのあと休憩をはさんで古いRubyとかの話。0.4いくつとかいう古いバージョンでは全然文法が違ったという話とか。resqueだったとか。最近も1.9でいろいろ変わったけど、今後も変わっていくよ、てな感じだった気がする。
最後は基調講演。いまいちなんか分からなかったけど、変化にはいろいろ失う物が出てくるけど、それでも選択していかないといけないんだとかそんな感じだったかなぁ。
最後はRejectKaigiがあって終わり。RejectKaigiも沢山あるので省略。
これで終わり。お疲れさまでした。友人と軽く飲んで帰りました。会期中会った人でも誘えば良かったね。気が利かなくてごめんね。
まとめ
全体として。今回は変える、変わるがテーマだったけど、どっちかというと今変わってる最中、てな感じだったかなぁ。
今回は誰も未来について語らなかった気がする。ごく近い未来はともかく、もうちょい先の来年の今ごろどうかとか、再来年くらいどうなのかってあたりがなくて今後も変化しますよという曖昧な話だけ。
どういう意味だかはよくわからない。いまのところみんなが言ってるそれの意味は統一されてる物じゃないのかもしれないけど。
俺の発表でも全然今後の話が出来なかったのは残念だね。でもあんまりでかいこといっても、プレッシャーで逆にやらなくなっちゃうんですよ俺。ゲーム作り関係に関しては現状ほんとうに先の事あんまり考えてないんで。ああ、自動生成ぐらいは考えてるけど。
しかしだね。Rubinusどうなったよ、どうなんのよ。IronRubyどうなったのよ、どうなんのよRailsとかどうでもいいよ。JRuby聞いてませんでした。MacRuby聞いてませんでした正規表現なんとかしてください。Ruby 2.0ってなんなのよ。
どれもRubyWorld Conferenceに御期待ください!か?タイムテーブル確認してびっくりしたけど結構おもしろそうじゃねえかこの野郎。
どれもこれも結構成熟しちゃって、もう簡単に次の話をできる状態じゃなくなったのかもね。追い付くべき未来が無くなってきて、未来を作らなきゃいけなくなってきちゃった。
それはともかく、Ruby会議としてはずいぶんでかくなったなぁと。3トラックもあるし。おかげで俺なんかが発表できちゃったわけなんですが、でも3トラックあっても一人では三分の一しか見れないわけで、去年の2トラックぐらいがちょうど良くね?
アンケートには2トラックぐらいがいいという選択肢が無かったので、もっと沢山にしといたんだけど。
逆にもっと沢山にしといたのは、もうこの発表形式だけでは面白くないからなんだよねぇ。長くても1時間で、見にくる人のレベルはあまり仮定できなくて、最終的には続きはWebで的な。LTの長い奴みたいな。
これなら最初からWebでもいいような。ごく短い質問時間ぐらいがあるかないかくらいしか違わない。
もっとみんなが集まるからこそ出来るようなものがあるといいよね。パネルディスカッションとか無いよね。ラウンドテーブルとか面白そうだよね。
あと1時間じゃ全然何も説明できない。半日使ったチュートリアルセッションとかも欲しいよね。
パネルディスカッションは今のままでもできるだろうけど、ラウンドテーブルとか長時間チュートリアルセッションはさすがに3トラックでは難しいんじゃないかと思うので、もっと沢山。
でももっと沢山なんて現状ではさばけないだろうし、どうなっていくんだろうなぁ。
ほんとRuby(とその近辺)はこれからどうなっていくんだろうなぁ、というのが今回の感想かな。
でもこんなに書くことがあるってことは基本的には楽しかったようだ。
あとやっぱりRuby会議でゲームとかRubyでゲームとかAwayすぎた。
*1 俺の目が悪いだけなんだが