あおきです。

Ruby Conference #1 in Tampa 行ってきました!
まつもとさんはそのまま OOPSLA に、高橋さんは NY に行くそうなので
日本に帰ってくるのはぼくが最初のはずです。

というわけでリポートです。セッションの内容なんかを細かく
報告できるといいんですが、ぼくの耳でははっきり言って

            まったく聞きとれませんでした(泣)

というわけでセッションに関してはスライドに出てたことしか
わからないので、その他のとこを中心に書こうと思います。

ちなみに高橋さんはもっと聞こえてたようです。まつもとさんは、
聞くのは大丈夫だけど話すのがちょっと苦手なんだそうです。でも
keynote address はなかなかカッコよかったですね〜。

では時間順で。


10/12

■ 08:40  会場に到着

日本を出てから約 30 時間、ようやく会場に到着。中くらいの
大きさの普通のホテルだ。会場はこのホテルの一階にある部屋。
入り口で David Alan Black に名札をもらう。『沈黙の艦隊』の
ロシア大統領に似てるかも。

部屋にいるのはまだ 20 人くらいだろうか。まだまつもとさんは
来ていないようだ。

来たらしい。行ってみると、まつもとさんと話しているのが Dave Thomas
だった。PragProg の二人はまさに「気のいいおじさん」って感じ
でした。実にイメージ通りの人達です。うっかりしてて Andy の写真
とりわすれたんですけど、Dave の写真は撮りました。あとで loveruby.net
に RubyConf のレポートページを作るのでそっちを見てください。

■ 09:15  Dave の "Welcome address"

いわゆる開催式です。始まりの合図は Dave が鳴らす変な鉄琴みたい
なモノ。このへんなモノは Conference を通して始まりの合図に使われ
ました。Lightning の銅鑼といい、むこうには変な楽器がいろいろ
あるようだ。

で、最初に Dave のプレゼン(?)があったんですが、なぜか表題が
"The history of Ruby"。これがいきなり面白くて、

  Ruby の起源は 5 億年前、古代大陸パンゲアがプレートに乗って……

で始まり、ソフトウェアの歴史を大雑把にたどったあと、最後に
「まつもとさんの Ruby 開発」で終わるという、ああっ、ていうか
Dave & Andy のプレゼンはぜひビデオで見てください。面白すぎです。

■ 09:45  いきなりチュートリアル 1 "Ruby Insurgency" Andy Hunt

そして唐突にチュートリアルに連結。insurgency は「反乱」なのか……
(いま索いた)。Ruby を使わないプロジェクトでも Ruby を使おう、
という話です。前述したとおり話してることは全然わかんなかったん
ですが、スライドによると

    * プロトタイピングに使う
    * 作業の自動化ツールとして使う
    * testing framework として使う

というようなことみたいです。
スライドもすごく凝ってて、海をバックに鮫が飛んできたり
ヨットが走ってたりして、単に絵として見ててもきれいでした。

この時間は英語聞き始めのうえに寝不足で、キツかったす。

■ 11:00  "Using Ruby to Teach OO programming" Pete McBreen

表題の通りです。それまでは C++ を使ってたけど、オブジェクト指向
を教えようとすると余計なことが多くてだめだから Ruby にしてみた、
そこで見えてきたメリットなんかが紹介されました。

このチュートリアルも音声は全然わからず。

■ 12:00  昼ごはん

                         が!!!!

本当にキツいのはチュートリアル **以外** だということが、昼になって
わかりました。三食すべてホテル内で合同で、その間いろいろ話しかけ
られるわけです。チュートリアルはわからなくても別にいいですが
質問されるとなんとか理解して答えないといけません。これは本当に
きついです。鍛えられます。

■ 13:00  "Parallel programming with MPI Ruby" Emil Ong

並列プログラミング方式の規格として MPI というのがあるらしく、
その実装の解説です。例によってわかんなかったしスライドの文字
小さくて読めず、ついでに並列は興味なかったので全然聞いて
なかった……。ごめんなさいー。

■ 14:30  "Web Development with IOWA" Avi Bryant

Web アプリケーションサーバ(だっけ) IOWA の基本的な使い方の解説。
なぜかこのセッションはわりと理解できました。理解できたので面白い、と。
中身はまあ、IOWA dependent な話と、あとは一般的な Web アプリ
サーバじゃないかと。

あとこのセッションは途中で例外がいっぱい出てました。なかなか
ちゃんと動かなくて、会場からは「これって本当にシンプルなのかなあ? (笑)」
というツッコミが。

そういえば、むこうでは話の最中でもバシバシとつっこみが入るんですね。
なにか言いたくなると手を挙げて、発表者は都合のいいところでサッと
指名します。あのテンポは素敵。

■ このあたりの休憩中だったかな

『プログラミング Ruby』日本語版に pragprog のサインをゲット!
サイン入りの「プログラミング Ruby」はまだ世界に一冊しかあるまい。
ふふふ……

まつもとさんは『Pragmatic Programmer』(原書)にサインをもらっていた。

向こうの人に日本語の本を見せたらかなりウケがよかった。
「たくさん持ってきて売らなきゃだめじゃないか!」とも言われた  ^^;;

■ 16:00  "Developping GUIs with Fox and Ruby" Lyle Johnson

日本では全然名前を聞かないけど talk では(主にインストール話で)
しょっちゅう出てくる Ruby Fox の話。なぜ日本では聞かないのでせう。

  推測 1  ユニなコードじゃないと日本語出ないから
  推測 2  みんな Gnome or KDE が好き

内容は普通の Fox プログラミングのチュートリアル。

■ 17:30  "Scouting Japanese Resources" Ken Rubotzky

日本語の情報をなんとかしてゲットしようという話。英語の検索
エンジンは日本語のページをはじいてるから日本の検索エンジンを
使え、とか、どこそこの翻訳サービスを使え、というような話題が
ありました。

あとスライドはどう見てもシャンプー(らんま1/2 の)と悟飯だった。

■ 18:00  夕食

ああ、おねがいです。もう許してください。だめですか? だめですね。

どうしてか知らないけどドイツの人(?)に
「きみは dRuby を作った人か?」
「dRuby を作ったやつは来ないのか?」
と聞かれました。咳さん、今度は行ってあげてください  (^^;;

左隣にいる人としばらく話してて、どうも知ってる人のような気がしてたん
ですが実は Conrad Schneiker でした。とっても紳士な感じの人です。
前にすぎむしさんが「Conrad の英語は丁寧」とおっしゃってたんですが、
話しててもそれがよくわかりました。一番聞きとりやすかったですー。

「日本では Ruby はなんと呼ぶんだ?」と聞かれたので
"Ruby is Ruby." と言っておいた。

そのあと Hal F. Hulton を紹介してもらったんですが、彼はすんごく
でっかい人でした。"The Ruby Way" という本を書いたそうで、その
サンプルコードが入ってる名刺型 CD-ROM をもらいました。

■ 19:30?  Keynote address by Matz

"The Loadmap and future of human oriented programming language Ruby" (笑)
たぶん LC のセッションが似たような話じゃないかと思うんですが……。
"Human heart is not simple" というくだりが印象に残ってます。

最後はスタンディングオベーションだ! おぉぉ〜。

持っていった日本酒をあける。どうやら喜んでもらえたようだ。


10/13

■ 08:30  あさごはん (continental breakfast)

昨日もそうだったんですが、朝はパンとか果物を適当に取ってきて食べる
形式です。decafe (カフェイン抜き)のコーヒーってのがあるんですねえ。
あと缶ジュースも、コーラの模様のドラム缶一個ぶん用意されてました。
そんなにいらんて。

■ 09:00 "Lapidary" Nathaniel Talbott

ユニットテストのフレームワーク Lapidary のチュートリアル。
最初に紙が配られて個人のテスト歴とかを書いたんですが、まつもと
さんが「プログラム歴」のところで「なんかイヤになっちゃうねー」
と言ってました。え、年数? それは自分で聞いてみよう。

内容は、ワードラップをするメソッドを書いていくチュートリアル。
最初、画面が黒地に青とか紫の字の気持ちわるい配色だったので、
文句が出て変えてました。それと、なぜかタブ 8 のインデント……

ところで助田さん、"Lapidary is 100x better than RubyUnit" だそうです。
今度シメてやってください(笑)

■ 10:30  "Pairing Fishbowl, or how Ruby works with XP"
          Ron Jeffries and Chet Hendrickson

理念の説明とかは最初の 10 分くらいで、あとはその場で実際にクラス
ブラウザをペアプログラミングで書いていきます。これはですねー、
めっちゃおもしろかったですねー。

最初はまずクラスの存在テストから始めて(もちろんテストファースト)、
「うーん、テスタクラスの名前はなににしようか?」
「Fred にしようぜ」
「じゃあ次はテストメソッドを足してみようか」
「おいおい○○を忘れてるぜ」
みたいにプログラミングが進んでいきます。なんかいろいろやってたら
クラスを定義するだけで 10 分くらいかかってしまい、やっと定義が
終わったところで盛大な拍手が (笑)

まつもとさんの感想
「おもしろいんだけどなー。
  このペースで開発してたら一生かかりそうだよね」

どうもあの IDE はセーブすると同時にテストが起動するようになってる
ようです。徹底してるなあ。

■ 12:00  昼ごはん

ていうかなんで昨日と同じメニューなの?
となりにいた Carl (last name 聞き忘れた) が日本の本に興味があるっぽい
ので持っていった無道編をあげる。コードの部分を見て "vi?! It's terrable!"
とかなんとか言っていた。emacs な人のようだ。

                "When will you come back here?"

と聞かれて、何も考えずに "on the next Ruby conference." と答えて
しまった。早くも次回の参加決定かい!

高橋さんは別の人にデスクトップリファレンスをあげていた。

■ 13:00  "Ruby Behaviors" David Alan Black

メソッドの挙動とかを保存するものらしい。後半、ネームスペースの
話題に関連してなにやら言い合いが?? 早口のうえに声小さくて
なにがなんだかわかんなかった。

■ 14:00  "Ruby Gems" Ryan Leavengood

Ruby Gems というのは一言で言うと Ruby 用 .jar みたいなもの。
インストールとかバージョン管理が簡単にできるらしい。聞いてた
感じだとこれはなかなか便利そうだ。setup.rb のアーカイブと
相互変換できるようになるとよいかもしれない。

    $ ruby setup.rb config
    $ ruby setup.rb setup
    $ ruby setup.rb creategem

みたいに。

■ 15:00  ブレーンストーミング: Let's design RAA.succ

みんなで次期 RAA を設計しよう! というコーナー。
最初は一人か二人でプロジェクトの「ストーリー」を考え、だんだん
人数を増やしながらアイデアをミックスしていく。すさまじく議論が
活発で面白かったです。sourceforge みたいにしようとか、パッケージの
ランク付けをしようとか、セキュアじゃなきゃだめだろ、とかいろいろ
出ました。でもやっぱり聞いてるだけでは全然わからず……。もったい
ないことをしたなあ。今度はもっとちゃんと聞こえたい(?)。

■ 閉会式みたいな

いろんな反省点が出ました。

  * マイクを用意してほしい! (全部マイクなしだった)
  * 部屋が寒い (クーラー効きすぎなのだ)
  * セッションの話題が重なってることがあったので調整してほしい
  * スライドの字が小さくて読めないことがあった
  * 画面の配色が気持ちわるいことがあった(笑)

などなど。それと「将来もっと規模がでかくなったら RAA.succ みたいな
やつはできないねえ」とかいう話もありました。

■ 謎の Cow Magnet

牛に食べさせて、間違って飲みこんだ鉄片とかをくっつけるもの。
「アメリカ人はみんな持ってるよ」と XP な人がくれた。

しかしこの Cow Magnet、ようするに超強力な磁石なのでノートパソコン
には近づけられない。携帯も危険。デジカメもやばめ。もはやどこに
入れたらいいのかわからない。ていうかこれは空港のセキュリティ
チェックで見付かったらヤバいのでは……

ちなみに高橋さんが持ってた部屋のキーはコレで壊れたっぽいです(笑)


こんなとこでしょうか。二日間なら短いかと思ってたんですが、実際には
すごく長く感じました。一日目に寝るときにはもう朝着いたときのことが
三日くらい前のように思えたくらいです。書いたように、英語はほとんど
聞けなかったのはすごくキツかったですが、さすがに帰る直前には少しは
理解できるようになってました。大学の講義などとは比べものにならない
学習効果です(笑)

セッションも、小規模ながらなかなか気が効いていて、現状の弱いところ
をかなり的確に突いていたように思います。ほとんどの時間を Ruby 自体
のプログラミングよりも「どうプログラムをするか」や「ライブラリ配布」
にさいているのが特徴的ですね。このへんの議論は日本ではあんまりなかっ
たり、あっても他の議論の最後に # でボソッとついてたりすることが多い
のですが、RUG の話なんかも合わせてなにかできるといいなあーと思います。

結局日本から行ったのはまつもとさん、高橋さん、ぼくの三人だったん
ですが、もうちょっといてもいいですねえ。ぜひ次回はもっとたくさん
参加しましょう。英語はキツいですが、そのぶんすごくおもしろいです。


そういえば、高橋さんと「日本でもこういう感じの Ruby Conference を
やりたいねえ」という話もしてて、やるとしたら次のゴールデンウィーク
あたりがいいかな? と考えてます。まだたいした構想があるわけじゃ
ないんですが、ぜひやりたい! こういうのがいい! などの意見・感想・
希望などあったらとりあえず ML に投げてみてください。実現するかも
しれません。


……長い。
-------------------------------------------------------------------
青木峰郎