はじめに
先日、このブログでもお伝えしましたが、2014年10月21日に「Ruby インターナショナル・ミートアップ in 神戸」というRubyプログラマ向けのイベントを開催しました。
このイベントはアメリカ・オレゴン州ポートランドからやってきたRubyist、イアンさんが「今神戸に来てるんだけど、僕の作ったグラフィックソフトのデモを見ないかい?」と声をかけてきたのがきっかけで開催したイベントです。
事前に教えてくれていたのならともかく、今回は神戸に着いたあとにイアンさんから連絡をもらったのでかなり短期間でイベントをセットアップする必要がありました。
とはいえ、なんとかイベントを無事に終わらせることができたので、その内容を簡単にまとめておきたいと思います。
Photo by @spring_aki
駅で初顔合わせ
イアンさんとは六甲アイランドにあるマリンパーク駅で待ち合わせしました。
顔写真とかも見ていなかったので、全くどんな人かわからなかったのですが、向こうから声をかけてくれたので特に問題なく待ち合わせすることができました。
実は声をかけてきてくれたのは、イアンさん本人ではなく彼女のエミリさんでした。
エミリさんは日本語の勉強をしているらしく、日本語がちょっとだけ話せました。
まあ、メインの会話は結局英語でしたが、「日本に興味を持ってくれてる人なんだ」とわかると、少し心理的なハードルが低くなります。
一緒に待ち合わせした他のメンバーの中にも英語がある程度話せる人と英語を話したいと思っている人が何人かいたので、駅から会場まで歩く途中でも沈黙が続くことはほとんどありませんでした。
最初は桃太郎と早口言葉のアイスブレイクでスタート
いきなりイアンさんの発表からスタートすると、英語に不慣れなメンバーが固まってしまいそうな気がしたので、最初にアイスブレイクをすることにしました。
用意したアイスブレイクは二つです。
一つは英語版の桃太郎を一人ワンセンテンスずつ順番に読んでいく、というものです。
イアンさんとエミリさんが読み上げた内容を理解できたらOK、理解できなかったら理解してもらえるまで読み直す、というルールにしました。
これは「英語なんて間違えたって構わないから、恥ずかしがらずにどんどんしゃべろう!!」という目的で実施しました。
ただ、イアンさんもエミリさんも桃太郎の内容を知っていたので、英語のハードルは結構低く済みました。
二つ目のアイスブレイクは日本語の早口言葉をイアンさんとエミリさんに読んでもらう、という企画です。
ただし、イアンさんとエミリさんに読んでもらうだけでなく、こちらの参加メンバーにも挑戦してもらって、どっちがうまく言えるか対決する、というルールにしました。
このアイスブレイクは「イアンさんやエミリさんにも困ってもらう(?)ことで、お互いの心理的な距離を近くする」という目的で実施しました。
結果としては、「比較的丁寧に読んで、そこそこうまく読めたイアンさんとエミリさん」と、「かなりスピードを上げてボロボロになった参加メンバー」という構図になり、これはこれでおもしろ結果になりました。
アイスブレイクでお互いたくさん笑い親睦が深まったところで、本編のイアンさんの発表がスタートしました。
本編:イアンさんによるLuzの発表
イアンさんが開発しているLuz(ルス = スペイン語で「光」の意味)はRubyで開発されているインタラクティブなグラフィックソフトウェアです。
デフォルトで用意されているプラグインやアクタという要素を組み合わせ、さらにそのパラメータをマウスやWiiリモコンなどでリアルタイムに変化させることで、さまざまグラフィック効果をインタラクティブに生成できる、かなりすごいソフトウェアです。
技術的な注目点としてはOpenGLをRubyから操作している点です。
OpenGLをRubyから操作することで、複雑で重たい画像処理をRubyではなくグラフィックボード上で処理するようになっています。
通常、こういった分野のソフトウェアはRubyよりもC++のようなコンパイル型の言語で実装されることが多いですが、イアンさんはあえてRubyを選びました。
Rubyを選んだのは、コードを簡潔でコンパクトに記述できたり、動的にコードをロードしやすかったりする点が主な理由だったそうです。
「ところで、イアンさんの英語はみんな理解できたの??」
実は英語に関しては今回、通訳してくれるメンバーがいました。
岡田さん(@shinokada)という英語がペラペラなメンバーがいてくれたおかげで、イアンさんの話した内容をほぼ逐一日本語に直してくれました。
なので、英語ができないメンバーもほとんど問題なくイアンさんの発表内容を理解できたと思います。
ただ、イアンさんの発表が思った以上に長かったので、岡田さんは最後の方でクタクタになってしまいました。
岡田さん、どうもありがとう!そして本当にお疲れ様でした!!
「実際に見てみないとLuzが本当にすごいのかどうかわかりません!」
ええ、確かにそうですよね。
というわけで、発表の一部を切り出してYouTubeにアップロードしてみました。
動画の長さは約4分です。
Luz demo in Ruby international meet-up - YouTube
動画を見ると、イアンさんがパラメータの値を変えたりチェックボックスをON/OFFしたりするたびに、スクリーンに映っているグラフィックがぐりんぐりんと変化しているのがわかると思います。
これがRubyで作られていると聞いたらちょっとビックリするんじゃないでしょうか?
ちなみに前半の1分すぎぐらいまでは岡田さんの通訳付きバージョンで、後半は通訳なしバージョンです。
発表が終わったあとはフリータイム
発表が終わったあとはフリータイムにして、イアンさんやエミリさんと自由におしゃべりできるようにしました。
Luzの仕組みをもっと知りたいメンバーはイアンさんに直接質問したりしていました。
Photo by @jnchito
僕は席の近くにエミリさんがいたので、エミリさんといろいろおしゃべりをしました。
もともとイアンさん向けに、西脇.rb&神戸.rbの紹介をしようと思っていたのですが、イアンさんの発表でほとんど時間が潰れてしまったので、みんなの前で発表することは諦めました。
その代わり、エミリさん個人に自分のラップトップPCを使ってスライドを紹介してみました。
Photo by @spring_aki
以下がそのスライドです。
一応、英語で全部書いています。
最後はみんなで記念撮影
最後にイベントの締めくくりとして、全員で記念撮影をしました。
海外の方を招いた勉強会の開催は初めての経験でしたが、なんとか無事に終わりました。
Photo by @spring_aki
まとめ
以上が先日開催した「Ruby インターナショナル・ミートアップ in 神戸」の様子です。
参加してくれたメンバーからも「Luzの完成度が高くてすごく刺激を受けた」「英語のトレーニングができた。今後も機会があればまた参加したい」といった好意的なフィードバックをもらうことができました。
イアンさんも僕たちに「とても楽しかった。また会いたいです。ポートランドに来ることがあれば知らせてください!」とメッセージをくれました。
準備期間が短くてちょっとバタバタしましたが、僕もこういう国際的なイベントを開催することができてよかったなと思いました。
西脇だとか、神戸だとか、日本だとか、そんな枠にとらわれずに、世界中のいろんなプログラマとつながることができるのはとても楽しいことです。
あと、自画自賛ではないですが、自分がある程度英語ができる技術者だったのも良かったと思います。
当然ですが、英語の力は「今すぐほしい!」と思っても、すぐ手に入るものではありません。
なので、「今は特に必要ない」と思っているうちからでも先行投資しておかなければ、いざというときに役に立ちません。
今回も突然降ってわいたような企画でしたが、「英語に関してはまずまずいける」という自信があったので、このイベントを成功させることができたんだと思います。
いや、といっても僕の英語力は「まずまず」ですけどね。
「読む書く」はまだ得意ですが、「話す聞く」はそれほどでもないので、当日はかなりブロークンな英語でコミュニケーションしてたと思います(苦笑)。
何はともあれ、こういうイベントを開催できて良かったです。非常に良い経験になりました。
海外の方と交流できるイベントは今後も機会があればやってみたいと思います!
イアンさんが開発しているLuzについて
Luz(ルス)はオープンソースで開発中のインタラクティブ・グラフィックソフトウェアです。
ソースコードはこちらにあります。
GitHub - lighttroupe/luz: Live motion graphics editor and performer.
現在Luzを実行できるのはLinux環境だけだそうです。
MacやWindowsでも実行できるように協力してくれる方を募集されています。
西脇.rb & 神戸.rbについて
西脇.rb & 神戸.rbは西脇~神戸近辺で活動するRubyコミュニティです。
毎月1回ぐらいのペースで、Rubyに関する勉強会を開いています。
参加者全員が自分の手と頭を使ってコードを書き、それをみんなでレビューする、というのを勉強会の基本スタイルとしています。
Ruby初心者の方や初めて参加する方でも大歓迎ですので、興味のある方は気軽に参加してください。
Doorkeeperのコミュニティページでメンバー登録してもらうと、勉強会の開催通知を受け取ることができます。
また、西脇.rb & 神戸.rbのFacebookページもあります。
「いいね!」してもらうと、コミュニティに関する最新情報をキャッチすることができます。