Ruby Conference 2004 レポート

書いた人:ささだ、高橋、荻野

はじめに

srisu.jpg Fourth International Ruby Conference、通称 RubyConf2004 がアメリカ東 海岸の Washington, D.C. そばで行われました。

日本 Ruby の会からは、高橋会長とささだが出席しました。また、他の日本人とし て、何者だかよくわからないのですがフリーのプログラマをやっているらしい荻野さんが Brad Cox 氏のキーノートスピーチを目当てに 出席されました。残念ながら、まつもとさんは事情により出席することができま せんでした。4 回目にして初、ということです。これで、日本人の RubyConf 皆 勤賞は高橋さんだけになったそうです。

本稿では、この会議の様子をレポートします。

RubyConf2004 について

日時
2004 年 10 月 1 日〜3 日
場所
Holiday Inn Select CHANTILLY-DULLES-EXPO, VA (Washington, D.C. area), USA
shotel.jpg
ウェブページ
Fourth International Ruby Conference
開催母体
Ruby Central
中心スタッフ
David Alan Black and Chad Fowler
参加者
60 人くらい
sdc.jpg

会場はワシントン・ダレス国際空港からほど近いホテルの会議室でした。このホ テルはインターネットへの接続を売りにしているらしく、客室はもちろんのこと、 ロビーからのワイヤレス接続も可能でした。また、カンファレンス会場でも、 ワイヤレス LAN へのサービスを誰かがセッティングしてくれてました (Rich Kilmer 氏による)。 このインターネットアクセスのサービスにより、ささだは IRC でリアルタイムに わからないことなど聞くことが出来ました。

ちなみに、過去の開催地は次のとおりです。

1st
フロリダ州タンパ
2nd
ワシントン州シアトル
3rd
テキサス州オースティン

来年は多分アメリカ西海岸で開催するんだそうです。西海岸だから、日本から近 いだろう(から、日本からもたくさんきてくれ)って言われました。

発表

三日間の会期で、たくさんの発表がありました。本節では、それらの発表につい てかいつまんでご紹介します。

なお、本節執筆については、本稿最後に述べる参考ページを大変参考にさせても らいました。

前日

ささだと高橋さんは、一緒の飛行機で行ったのですが、途中のニューアーク空港 での乗り継ぎ時間が一時間しかなく、あっけなく入国審査の段階で次の便の出発 時刻をオーバーしてしまったのでした。しかし、大変幸運なことに、その乗り継 ぎ便が 2 時間ほど遅れたため、どうにか助かったのでした。不幸なのか、 幸運なのか、よくわからないスタートでしたが、夜 8時半ほどに、無事会場のホテルに たどり着くことができました。

荻野さんとは、その会場で合流。また、その他の RubyConf 出席者とも少し話す ことができました。でも、さっぱり英語が通じません。先が思いやられます。

一日目

src_s.jpg

一日目、8:30 から朝食です。Continental breakfast という話だったのですが、 どの辺が大陸なんだろう、と思ったら、卵や肉料理を含まない朝食という 意味だったのですね。ベーグルやクロワッサンなどがありました。

朝食を頂いたところで、RubyConf2004 の開催です。

Conference Introduction

src11.jpg Welcome to the 4th International Ruby Conference!

RubyConf2004 は、David A. Black 氏の挨拶から始まりました。何人かの発表者 が来ていないため、すこしプログラムを変更する、とのことでした。

質疑応答では、Black 氏が自分の名前を言い忘れて突っ込まれていました。

Teaching Ruby in a Corporate Environment (Jim Freeze)

src12.jpg Jim Freeze 氏は自分の会社で Ruby を紹介・利用するための手法などについて 紹介しました。彼は、Ruby のトレーニングのために、3 日間のトレーニングコー スを検討し、300 ページ強のスライド資料を作成したそうです。これは、オープ ンソースコースウェアとして公開しようかなぁ、という話をしていました。なぜ か、質疑応答で公開するファイルのフォーマットの話で盛り上がってました。

Ruby as Maestro (Rich Kilmer)

src13.jpg John Knight 氏がまだ到着していない、ということで、代わりに Rich Kilmer 氏 が、自分の会社で利用している、Java による分散環境の、Ruby によるコントロー ル・テストプログラム (ACME) について発表しました。この発表自体は、OSCON で行った ものだそうです。

昼食

この日の昼食はパンと具が出され、サンドイッチを自分で作って食べるようなも のでした。

Using and Extending Ruwiki (Austin Ziegler)

src14.jpg Austin Ziegler 氏が、Ruwiki についての紹介を行いました。なんで Instiki があるのに Ruwiki を作ったのか? などの話などがありました。Ruwiki では 簡単にマークアップ言語が拡張できるそうです。

Tycho: A Proposed Ruby-based PIM (Hal Fulton)

src15.jpg Hal Fulton 氏が Ruby による PIM ソフトの Tycho について紹介しました。PIM ツールというと、私は予定管理などを想像したのですが、どうやらメモ管理のよ うなものでした。GUI フレームワークは何使っていたかなぁ。クロスプラットホ ームだ、とか言っていた様な気がします。

発表後、wemapoti を紹介したら、なかなか感心していたようでした。

Pickaxe II と Tシャツ

src_t.jpg

ついに Pickaxe II と、RubyConf2004 の記念Tシャツが配られました。これは、 Dave Thomas 氏のご好意だそうです。とてもありがたかったのですが、結構でか くて重いです。この本の紹介については、いずれ別の機会で。

Programming Ruby: The Pragmatic Programmer's Guide(David Thomas/Chad Fowler/Andrew Hunt) Programming Ruby: The Pragmatic Programmer's Guide(David Thomas/Chad Fowler/Andrew Hunt)

夕食

この日の夕食はカンファレンスでは出ませんでしたので、日本人 3 人でその辺を だらだら歩き、レストランで肉を食べました。やっぱり肉がでかい。

Hacking Ruby (Paul Brannon)

src16.jpg Paul Brannon 氏による、Ruby をどうやってハッキングするか、という発表でし た。callcc や set_trace_func などを利用すれば、Ruby レベルでいろんなこと ができるが、最終的には Ruby インタプリタを弄ればもっと色々できるぞ、とい う話でした。

spacer.gif Matzにっきで述べられている become は、

 a = <A>
 b = <B>
 a.become(b) #=> a == <B> && a.__id__ != b.__id__

とするもので、実はうまく動かない([BUG] とかの原因になる)ことがあるよう な、危険なハックのことです。この機能自体は Smalltalk 由来だとか。

実装よりの話が多くて私(ささだ)は非常に楽しめました。

Alph (Rich Kilmer)

src18.jpg Rich Kilmer 氏の本日二度目の発表(自己紹介必要ないよね、から始まりました) で、Macromedia Flash の GUI 機能を、Ruby からなんとかして使うことができ ないか? ということを目標にいろいろやろうという話です (alph)。いくつかの階層 (Java、TCPソケット)を経由して、Flash Player を Ruby からコントロールす るそうです。

Macromedia のライセンスが、このような形の利用を許可しない(?)らしいの で、自分で作るかなぁ、とか言ってました。

一日目の終わり

カンファレンスが終わると、大量の Rubyist がホテルのロビーにたむろって、 熱く議論し、そこかしこでノートPCが開かれ、ハッキングが行われていました。 本当は私(ささだ)も混じりたかったのですが、言葉の壁に阻まれ聴いているだ けに終わりました。

二日目

二日目も昨日と同様の朝食が供され、カンファレンスがスタートです。

Narf: revisiting a 2 year old (Patrick May)

src21.jpg Patrick May 氏は Narf (Not Another Ruby Framework) というウェブアプリケ ーションフレームワークについて紹介しました。

Narf については 2 年前のカンファレンスで既に発表しています。 CGI ライブラリの標準となることを目指して開発されています。 悪意のあるアクセスにどう対処するか? というテーマに注力しているようで、 今回の talk でも後半はずっとその話をしていました。 ブラックリストに載った人には、ニセモノの web ページを見せて そちらでよろしくやってもらう、というようなことを考えているようです。

ruby-doc.org: Now and the Future (James Britt)

src17.jpg Ruby のドキュメントを集めるためのサイト、ruby-doc.org についての発表を James Britt 氏が行いました。集めたドキュメントを効率的に参照できるように、メタ情報を構築する手法などについて紹介していました。

Ruby on Rails ... Origin, Driver, Destination (David Heinemeier Hansson)

src23.jpg Railsも、Ruby によるウェブアプリケーションフレームワークですが、これについて David Heinemeier Hansson が紹介しました。

プレゼンではフレームワークの中身の紹介や使い方の説明ではなく、 設計思想や背景となっている考え方を独特の印象的な文章によって 解説してゆく感じだったのですが、これがなかなか風刺の効いた内容なのです。 参考資料に記載した blog サイトでもいくつか引用されているので 興味を惹かれた方はぜひ見てみてください。

Ruby on Rails は ActiveRecord というライブラリでデータベースと接続して ActionPack というライブラリでプレゼンテーションを提供するという構成で モデルとプレゼンテーションをきっちり分離するという最近は一般的になった タイプの web アプリケーションフレームワークです。

昼食

今日の昼食はメキシコ系でした。 トルティーヤにいろいろのせて食べる、みたいな感じでした。 この日だけやたら大量に余っていたような気がします。

The Many Facets of RubyGems (Jim Weirich)

src24.jpg Jim Weirich 氏による、RubyGems の紹介です。RubyGems は、Ruby ライブラリ などを簡単にインストールし、バージョン管理などを行うための仕組みです。ち なみに、Pickaxe II では一章を割いて説明されていました。これで、だいぶ広 まるんじゃないかと思います。

発表のほとんどが RubyGems を利用しているターミナル操作を記録したものの再 生だったのが印象的でした。

YARV: Yet Another Ruby VM (SASADA Koichi)

src25.jpg Ruby の VM の実装である、YARV について、ささだが発表しました。へたくそな 英語で、正直言ってることは伝わらなかったようですが、ネタは色々通じました (別にネタを披露しに行ったわけではないのですが)。RubyConf の面子は、と てもやさしくて、みんな「いいプレゼンだった」と言ってくれました。

spacer.gif ネタのいくつか:

  • 質問は日本語が好ましい。
  • まつもとさんの顔。
  • まつもとさんはいつも「名前は重要」っていう。新しい機能とかを提案しても、名前を理由に却下したり。
  • akr さんが BUG 報告こんなにしてるよ。
  • YARV ってなんて読むか、ってあんまり重要じゃないんですよ。YARV が成功すれば、Rite (Ruby 2.0 の実装)になるし、失敗すれば、誰も覚えてないでしょ?
  • スレッド? 何それ?

この発表のための資料は次のとおりです。

ベンチマーク結果は発表当日のもので、現在の Ruby と比較したものです。また、 実装が進むと、この結果とは異なるものになる可能性が大変高いです。

"Test::Unit".downcase.sub(/::/,"/") (Nathaniel Talbott)

src26.jpg Nathaniel Talbott氏による、テストツールの次期バージョンの紹介です。現状 のクラスベースのものではなく、ブロックなどを利用してテストケースを記述す るような、Ruby らしさを追求するのだそうです。現状とがらっと変更するよう です。

発表後、テストツールってどうやってテストするの? と聞いてみたら、小さな テストフレームワークを作って、ブートストラップするんだ、と教えてくれまし た。

Surprise Presentation (Shashank Date)

src27.jpg 飛び入りの発表で、Rubyzine (Ruby のウェブ雑誌)を作るよ、って話を Shashank Date 氏がしました。要するにるびまの英語版なんですが、これについ ては色々と話をしました。るびまにも、Rubyzine の日本語への翻訳が掲載され る日がくるかもしれません。来年1月発刊を目指しているそうです。

カンファレンスディナー

座って食べる、オードブルから出てくるちゃんとしたディナーでした。James Britt の隣に座って、色々話を聴きました(理解できたかは別)。

[キーノート]Objective-C: A Retrospective (Brad Cox)

src28.jpg Brad Cox による今年の RubyConf のキーノートスピーチです。 前半と後半に分けて、前半が Objective-C とそこに至るまでの話、 後半がそれ以降、現在までの彼の関心事を話す、と前置きしました。

まず Objective-C は彼にとってはゴールではなかった、という点を 強調していました。彼の目標はコラボレーションツールを作ることであり、 その為に必要だったので言語を設計した、ということです。 (cooperation tool とも言ってました。グループウェアみたいなものでしょうか?) そして、Objective-C の言語仕様や特徴をごく簡単に説明し、なんと 開始から 20 分ほどで前半部分が終了してしまいました。 前ふりの時間も含めれば言語の話は 15 分もなかったのではないでしょうか。

後半のトークでは、ハードウェアはアトムで、ソフトウェアはビットで 出来ている、というネグロポンテちっくな話から始まって、 ソフトウェアはビットで出来ているが故に従来の概念では所有することが出来ない というような内容に進んでいきました(ように思います)。 そして、彼が現在取り組んでいる DRM(Digital Rights Management) に ついての話になり、彼のプロジェクトである MyBank の紹介などを行っていたのですが、正直に言うとこのへんから私(荻野)は だんだんついていけなくなってしまい、結局ここで何を話していたのか よくわからなくなってしまいました。 しかしこの後半は会場の他の参加者にはとても controversial な内容だった らしく、質問や意見が激しく飛び交って、相当な議論の応酬になっていました。 (こういう議論になるともう英語が全くわかりません)

RubyConf という世界でも有数の言語オタクが集合する機会であるにも 関わらず、反応を見ている限りは Objective-C の話がほとんど無くても 皆さんたのしんでおられたようです。Rubyist の性格がわかったような。 私には、Brad Cox にとっては Objective-C は完全に過去のものに なってしまっているんだなあ、という印象が強く残りました。

二日目の終わり

今日もロビーでは議論が熱かったようですが、私(ささだ)はベッドにちょっと横になり、 気が付いたら深夜になっていました。

三日目

今日も昨日と一昨日と同じ朝食でした。ちょっと飽きました。

RubyX (John Knight)

src31.jpg 一日目に発表ができなかった John Knight 氏による RubyX の紹介です。RubyX は、何でもかんでも Ruby で実装してしまおう、という、Linux ディストリビュ ーションだそうです。

Ruby on Windows (Dan Berger)

src32.jpg Dan Berger 氏が、win32 utils について紹介しました。発表ではその中でもと くに Ruby プログラムを Windows のサービスに登録したりすることが簡単にで きるようにするための機能について詳細に紹介しました。

How Dynamic Can You Get? (Jamis Buck)

src33.jpg Ruby で実装された Copland といういわゆる IoC コンテナ(DI コンテナ)に ついての発表でした。HiveMind という Java で書かれた IoC コンテナを 参考にして作成されているようです。 サンプルを見せながら説明していました。 (荻野の)個人的な感覚では、もともと Java よりも動的な要素が強い Ruby では DI/IoC コンテナのメリットがそれほど大きくはないような気がするのですが 実際に会場でもそのような趣旨の質問が出ており、それに対して コメントしたりしていました。

(編集部注: この号の Ruby Library Report に詳細が載っています。ご参照ください)

Code generation with Ruby in a heterogenous network application (Gorden James Miller)

src34.jpg この話は、Gorden James Miller 氏による、XML をソースとして C++ のソース を出力するようなシステムを Ruby で実装した、という発表でした。REXML で XML ファイルを読み、ERB で C++ ソースのテンプレートを記述したそうです。

Closing

src35.jpg Chad Fowler 氏により RubyConf2004 の終了が告げられました。今回も大変盛況 で大成功なカンファレンスだったと思います。

src_e.jpg

昼食

一日目と同じ昼食でした。このカンファレンスでは、食事がきちんと用意されて いて、大変助かりました。

RubyConf その後

カンファレンスが終わっても、たくさんの Rubyist が会場に残って議論を続け ていました。

日本人 3 人組は Washington D.C. に宿を取っていたので、Rich Kilmer 氏に車で宿 までつれてってもらいました。ありがとー。ついでに、車で D.C. を一回りして もらいました。

特別インタビュー David A. Black 氏

david.jpg

開催者の一人である、David A. Black 氏にメールでインタビューしてみました。快く引き受けてくれた David 、ありがとう!

Ruby and you

How did you get started with Ruby?

I started using Ruby in November 2000. I discovered the Pickaxe Book in a bookstore, and fell in love with Ruby immediately.

About Ruby Central

What's Ruby Central?

Ruby Central is an organization devoted to advocating and promoting the use of Ruby. We became an official non-profit organization (defined by United States tax laws) in 2002. Our board of directors consists of me, Chad Fowler, and Dave Thomas.

Why did you create (and maintain) it?

We wanted to contribute to increasing Ruby's visibility, and to provide some organizational identity and support for RubyConf and other activities. Also, we felt there should be a centralized organization to which people could make donations (acct@rubycentral.org on PayPal :-) ) to support Ruby-related activities. People know that we will use the money well, because they see what we have done with RubyConf.

About RubyConf

Why do you organize RubyConf?

RubyConf was originally the idea of Guy Hurst, who came up with the plan for the first conference and did the initial organizing. That was RubyConf 2001, in Florida, and it was very successful. It was clear to us that RubyConf should be an annual event. It was more than just an informal gathering of Ruby users. People from many countries were meeting each other, projects were being planned, big ideas for Ruby were being made public. At the first conference, for example, we had Nathaniel Talbott talking about testing; Andy Hunt talking about Ruby advocacy; preliminary discussions with Matz about selector namespaces (which are now possibly planned for 2.0); and many other presentations and discussions of real significance to the present and future of Ruby for users around the world. The next three Conferences have confirmed that this is a major Ruby event.

How was this year's RubyConf?

I think it was very, very successful. The attendance was the biggest of any RubyConf so far (around 60). We had international visitors from Japan, Ireland, Denmark, and Canada. The presentations were great -- and, as always, it was wonderful to be able to meet and spend time with Rubyists from around the country and around the world.

In the future

Are there any interesting projects lined up?

Our next project is going to be a series of grants to local or regional Ruby "codefests", where a group of Rubyists meet to produce a specific library. There will be a process of application for this, and the applications will be evaluated by a panel. Details will be coming soon!

For Japanese Rubyists

Can I have a message for Japanese Rubyists?

Hello, this is David Black, and I just want to say that we are very happy to have Rubyists from Japan come here. Next year, the conference will probably be on the West Coast, which is close to Japan, so we expect all of you to be there!


日本語訳

Ruby について

Ruby をはじめたきっかけは?

使い始めたのは2000年の11月からですね。 本屋で Pickaxe本 を見つけて、即座に Ruby に惚れ込んでしまいました。

Ruby Central について

Ruby Central とは、どういうものなのでしょう?

Ruby Central は Ruby の利用を主張し促進することを目的とし た団体です。2002年に(アメリカ合衆国税法によって規定されてい る)公的な NPO になりました。理事会は私と、Chad Fowler と Dave Thomas の三人です。

どうして Ruby Central を作って、それを維持しているのですか?

Ruby の知名度向上に貢献したいという思いがありました。 RubyConf や他の活動をサポートする ためには個人ではなくて組織的活動を行えるほうが都合がよいと 感じたこと、あと Ruby 関連の活動に寄付する際に寄付の受付先と して中核となる団体組織の必要性も感じていたことから Ruby Central を設立しました。寄付は mailto:acct@rubycentral.org に PayPal 経由で行うことができます :-) 毎年の RubyConf を 見れば、寄付金を適正に使えて いるといえるんじゃないかな。

RubyConf について

なぜ RubyConf を開催しているのですか?

RubyConf はもとはといえば Guy Hurst の発案から来ています。彼は フロリダで行われた最初のカンファレンス RubyConf 2001 を企画・運 営して、大変な成功を収めました。私たちには、これが毎年行われ るべきイベントであるとしか思えませんでした。単なる Ruby ユー ザーのインフォーマルな集いをなどというレベルで語れるものでは なかったからです。世界各国から参加者が集い、新しいプロジェク トが計画されたり Ruby の野心的な構想が明らかになったのです。最 初のカンファレンスでの例では、例えば Nathaniel Talbott はテス ティングの話題を、 Andy Hunt はプロジェクトでいかに Ruby を使う かという話を、まつもとさんは selector namespace (これは多分 Ruby 2.0 に入る予定だと思いますが) についての予備討論を行うな ど、 Ruby の現在と未来にとって非常に有意義な発表や議論がたくさ ん行われたのです。

その後の3回でこのカンファレンスが Ruby の重要なイベントとして の地位を確立したと考えています。

今年の RubyConf はどうでした?

大、大成功だったと思います。最大規模の RubyConf (60人くらい) でした。海外からの出席者(日本、アイルランド、デンマーク、 カナダ)もありました。発表もすばらしく、そして、国を越えて Rubyist が集まり、時間を共にするのは、いつもどおり大変すばらしかったです。

これから

これから何かしよう、という面白い計画はありますか?

いま企画しているのは、Rubyist を何人か一箇所に集めて、あるひ とつのライブラリをその場で共同で作ってもらうっていう企画なんです。 んで、そのライブラリを使ったアプリケーションを作ってもらっ てパネルディスカッションしたいなぁと。こういうのを津々浦々 でやりたいなと思ってるんですよ。詳細はそのうちアナウンスす ることになると思います。

日本の Rubyist へ

日本の Rubyist へ一言いただけませんか?

こんにちは。David Black です。ひとつだけ。我々は日本から Rubyist がくるのが大変嬉しいです。来年は多分西海岸でカンファレンス を行うので、日本から近いです。なので、来年は皆さんとお会いで きることを期待しています。

感想

ささだ

大変楽しかったです。日本でもあの人数が集まって、あれだけ濃い話をするということはないんじゃないでしょうか。

しかし、英語がさっぱりわかりませんでした。英語を勉強して、来年は夜のセッション(ロビーでたむろっての雑談・議論)に参加したいものです。

荻野

ほとんど衝動買いで参加登録をしてしまい、初めて RubyConf に参加しましたが 大変おもしろかったです。

海外で、日本語での情報にアクセス出来ない状態で数ある言語の中から Ruby を 選んでいろいろと貢献してくれている人たちは、とにかくものすごい気合いが 入ってます。Ruby にかける想いがアツい (Ruby でなにかするために会社を作った、という人が一人や二人じゃなくて山盛りいる)。 そういう人たちに直接会ってコミュニケーションするのは刺激になるし、たのしいです。

日本からも、もっとたくさんの Rubyist が参加しないともったいないです。 (Ruby とか C とかじゃない方の) 言語の問題はもちろんありますが、 それでもとにかく行ってみればなんとかなります。みんな日本の情報に飢えてました。 笹田さんの発表も大好評で、歴史的瞬間に居合わせた感じです。

高橋

おわりに

sruby.jpg

本稿では RubyConf2004 をレポートしました。60 人ほどの出席者の中で、日本人 は 2、3 人というのはやはりさびしいので、来年はもっと日本人の出席者が増え るといいですね。来年は日本人出席者 4 名の最高記録を目指したいです。

参考

blog

mp3

RubyConf2004 の各発表を録音した音声ファイルが公開されています。全部で 360MB ほどの大容量になっており、Ruby Torrents に書いてあるとおり、BitTorrent によって配布されています。

もし、BitTorrent を利用できない場合は、http でダウンロードできるよう用意しましたが、できれば BitTorrent をご利用ください。 (rubyconf04.zip)。