Ruby Kaigi 2016に全日参加しました!(hachi8833)

こんにちは、hachi8833です。 既に本TechRacho記事「[番外編]京都のRubyKaigi 2016に参加します(hachi8833)」で簡単にお伝えいたしましたとおり、京都の国際会議場で開催されたRubyKaigi 2016に全日参加いたしましたので、思い出が新鮮なうちに簡単にレポートしたいと思います。 RubyKaigi 2016初参加の印象 記事末尾の関連記事にもありますように弊社からRuby Kaigiに参加したメンバもありましたが、私は今回が初めて、しかも京都、しかも一人という、なかなか難易度の高いイベントでした。 参加前はジェダイ評議会に紛れ込むジャー・ジャー・ビンクスのような心持ちでしたが、いざ参加してみると、小学校低学年の頃に大学のプールで泳いだときのような水底に足届かない感はあるものの、立て続けに繰り出される刺激的なセッションやライブデモの数々にモチベーションが年甲斐もなく一気にアップし、「もしかして俺にも拡張ライブラリ書けんじゃね?」「CRuby貢献できるんじゃね?」みたいな錯覚に囚われて会期中すっかりギンギンになってしまいました。 長丁場なので適当にセッションを休んでおこうかなとも思っていましたが、そんなこんなで最初から最後までセッションを抜けるという発想に思い至らず、3日間を一気に駆け抜けました。技術系カンファレンスの「やたらとモチベーションに火をつける効果」は想像以上に強く、癖になってしまいそうです。 参加者・プレゼンター・スタッフの皆々様の優しさも大変印象的でした。他のTech系カンファレンスをちゃんと知っているわけではないのですが、予想に反してトマホークが飛び交うこともほとんどなく、ごくたまにTwitterで投げ合うまさかりにも心のどこかでリボンを可愛くあしらっているかのような趣きすらあり、Rubyistの心遣いと心意気を見習いたいと思ってしまいました。 セッションの内容を一息に理解できたはずもありませんが、凄い人達の手つきを次から次に目にする機会に恵まれた幸せな3日間でした。 参加者の傾向 スーツ率がほぼゼロというのは噂どおりでしたが(手に下げていた人はそこそこいました)、何といってもmatzを継承したと思しきヒゲメガネ率の高さでしょう。ざっと見たところ、日本人の3割はヒゲメガネでした。なお数字は個人の感想です。 ヒゲメガネの私がこれほど自然に潜入できるイベントが他にあるでしょうか。 ヨーロピアン系外人はメガネ無し+未来惑星ザルドス系の剛毛ヒゲが目立ちました。 中国系の参加者も1割ぐらい見かけました。観察した限りではヒゲ率ゼロ。 若い女性が想像よりずっと多かった(0.5〜1割ぐらいか)点が意外でした。 もうひとつ気になったのが、ヨーロピアン系外人のうたた寝率の低さでした。日本人は電車で熟睡できるほど治安がよいせいか、少々眠たげなセッションになると続々と船を漕ぎ次々と沈没しているのに、ヨーロピアン系外人のそうした姿をほとんど見かけませんでした。それとも実は目を開けたまま寝ていたりするのでしょうか。 誰かに聞いて回ったわけではありませんが、このKaigiに集まった人の中には重労働に喘ぐIT奴隷や、日本名物威張るの大好き中高年は一人もいなかったと断言します。 印象的なセッションについてメモ ネットでも多くの方がまとめていますので、個別のセッションの詳細はまたの機会とします。 初日 冒頭のキーノートスピーチで、matzことまつもとゆきひろさんがGo言語のインターフェイスを推すところを見て、私のGo言語血中濃度が瞬時に上がってしまいました。ある程度キャッチーかつ煽り気味のタイトルではありますが、matzはおそらく、「型がよいか悪いか」という源平合戦もしくはエスニック・クレンジング的な議論がしたいのではなく、「最終的にみんなが楽にコーディングできるものを作りたい」と願っていると理解しました。たぶん私の願望です。 初日ラストのDocker話(@k0kubun)は立ち見が出るほどの盛況だったとのことで、そちらも気になっていたのですが、青学のマーティン先生(@duerst)のUps and Downs of Ruby Internationalizationがあまりに素晴らしくてDocker部屋に移れずじまいでした。Rubyの国際化関連のコミッターならではの、国際化の歴史/現状/今後の課題に関する濃厚なセッションでした。 なお私にとってk0kubunさんは、Go言語のppという素敵なpretty printパッケージの人です。型のことを気にしないで構造体でも何でも出力できるありがたいデバッグツールです。 2日目 @ktouさんのHow to create binding 2016では、Cライブラリとのバインディングの手法を知ることができました。バインディングはGI(GObject Introspection)の自動生成がよさそうですね。PythonのCythonのお手軽さはやっぱり羨ましいです。RubyとGo言語の自動生成バインディングとかあるのかな。後で探してみよう。 絶対見逃したくなかったのが、@okkezさんのRuby Reference Manual 2016 Autumnでした。以前から「るりま」の日本語と英語の微妙な食い違いや、どうやってメンテしているのかという点がとても気になっていたのですが、本セッションで歴史と現状と今後の課題が明らかになりました。常日頃ドキュメント整備に尽力している皆様に感謝です。 この日最も突き刺さったセッションは、@mrknさんのSciRuby Machine Learning Current Status and Futureでした。科学技術計算方面、特に機械学習系ではRubyが苦戦していてPythonのscikit-learnがほぼ勝利を収めていることまでは何となく理解していましたが、「科学技術方面では、3年もしたらPythonに代わってJuliaが覇を唱えるであろう」との予言がポロリと飛び出し、ついに私イッてしまいました。Juliaってそんなに凄いのか。 3日目 @kazuhoさんのRecent Advances in HTTP and Controlling them using rubyは小会場での開催でしたが、これも立ち見が出る盛況でした。Rubyに限定されないHTTP/2の利点や実装上の課題などについて濃厚かつ先進的な話題が繰り広げられていて、賑わいも当然と思えました。 @shyouheiさんのOptimizing Rubyと@nalshさんのDive into CRubyは、RubyKaigiらしいディープな掘り下げセッションでした。個人的には、Ruby特有の部分よりも、コミッターの皆様がデバッグや最適化でどんな点に着目しているかをつぶさに見ることができたのが収穫でした。名人がデバッグするところを観察できる貴重な機会です。 Cons 写真がね… 実は今回最も苦しんだのは、自分の写真があまりにも下手くそなことでした。 自分で撮った写真を自分でよいと思ったことが一度もなくて、苦手意識からつい早くシャッターボタンを押して済ませてしまう傾向が昔からあります。明らかに写真に関して腰が引けています。 今回はとにかく枚数を増やし、普段まったくやらない自撮りも頑張ることでどうにか補いましたが、次回からは急いでいるときほど慎重にシャッターを押すように気を付けます。 英語の聞き取り 英語について、スライドの字幕があればだいたいOKなのですが、スライドの助けを得られないQ&Aになると途端に識別率が低下するのを感じました。私の認知機能は徹底的に視覚主導型らしく、私にとって英語とは「目から入って手から出てゆく」ものであり、「耳から入って口から出てゆく」タイプでないことを改めて痛感しました。 おまけ: 京都最高! 京都の知人から、地元の人じゃないとまず辿り着けそうにない素敵な呑み屋に連れて行ってもらいました。この写真のexif情報は削除してますので悪しからず。 ロケーション情報は弊社内でのみ公開しています! 関連記事 RubyKaigi 2013 1日目 東京Ruby会議 RubyKaigi 2013 2日目 RubyKaigi 2013 に参加してきました RubyKaigi 2013 3日目