Endo Tech Blog

Techブログと言う名のただのブログです。

東京Ruby会議11が素晴らしかった件について語りたい。

f:id:kikuchi1201:20160530143401j:plain

2016年5月28日に秋葉原で開催されたTokyo Ruby Kaigi11 に参加してきました。この回が僕にとっての初Ruby Kaigiで一般人としてカンファレンスに参加したのもこれが初です。以前はScalaMaturi2016に学生スタッフとして参加したのですが、カンファレンスの内容も全て英語でレベルが高く正直「なにを言っているのか、ぼくぁ...さっぱりわからんよ!!」状態だったのが今回のTokyo Ruby kaigi11は少し予習してきたのと、最近Rubyの勉強を初めてオブジェクト指向スクリプト言語の意味が理解出来たので会議の内容もおおよそ理解できるっ!....訳でもなく、やはりそこで語られる話はレベルもクオリティーも高かったです。発表内容の半分も理解できたなかったのが素直な気持ちです。

只、ただですよ!。
じゃその半分もスライド内容が理解できなかった僕が何をもって今回のTokyo Ruby Kaigi11が素晴らしかったのか?と言うと、以前はこういうカンファレンスに参加する人は仕事でRubyを使っていたり、学術研究使っている高度な知識を持った戦闘民族(Rubyコミッター)が参加して、熱く議論を交わす場だと思っていたんですね。だから僕みたいな「最近Ruby触りはじめました!」みたいなミーハ連中がそんな戦場に一歩踏み込でしまえば、頭上で銃弾や手斧が飛び交い、「これ以上ここに居るの危険だ!退散する!」みたない、圧倒的戦術的降伏な気持ちでいるのがオチであろうと。つまりは技術的未熟者はカンファレンスに行った所でどうなるんだ?と考えていたんですね。
でも、これは大きく違った。

Rubyの話だけど、Rubyの話じゃなかった。

DeNAの奥 一穂さんの話。

www.slideshare.net

HTTP/2に関する話ですが、RubyのカンファレンスでTCP/IPのネットワークプロトコルに関する話を聞けると思ってなく、しかもスライドを見て貰えればわかるのですが、56ページもある全スライドの中でRubyの話なんか、ほとんど出てこないんですよ。

まずそもそもHTTP/2なんて去年出てきた新技術の話で、TCP/IPプロトコル上でコーディングしてページ読み込み速度を早くする話なんて技術的に高度な話です。ただ、この時奥 一穂さんの説明が非常に丁寧でわかりやすかったんです。 だからそんな高度な技術の全貌は理解はできないけど、面白い事をやっているんだなぐらいの熱気は僕みたいなぺーぺーでも伝わるんですね。 もちろんスライドの資料の見せ方とかプレゼンの技術もあるかもしれないですが、それでも間違いなくHTTP/2の技術に興味をそそられたのは確かです。

気付いたら Magic the Gathering(MtG)の話になっていた。

Aaron Patterson さんのRubyのOpen.CVライブラリーを使った画像処理の話と後半の黒魔術の話。

f:id:kikuchi1201:20160528155953j:plain

Ruby界隈ではたいへん有名人との事。どこら辺が有名なのか?といったら、現状僕が知り得る情報で言える事はRubyでPHPのオブジェクトを呼び出すgemライブラリを作った張本人がAaron Pattersonさんです。僕はそれ以来、Wizard級黒魔術師のAaron Patterson さんと心の中で呼んでいます。
2か月前にgithubに就いたそうです。congratulations!おめでとうございます。

github.com

今回のTokyo Ruby Kaigi11で「ベスト発表者はだれか?」と言うアンケートに僕はAaron Pattersonに投票しました。

speakerdeck.com

Aaronさんのプレゼンは文句無しに面白かった。こここで言う"面白い"の意味は、前の発表で奥 一穂さんが語った技術的観点から見た"面白い"ではなく、こちらはジョークとかユーモア的な意味での面白さでした。でもRubyのOpen.CVライブラリーを使った画像認識の話は研究内容としても十分通用するし、後半のphubyを使ってruby on rails上で<?php phpinfo() ?>を実行したデモやコード希釈すればするほど処理速度が速くなる話なんて充分にRubyの高度な技術を活用した話だったと思います。

Tokyo Ruby Kaigi11の動画をここで紹介できないのは残念ですが、大量にあるMagic the Gatheringのカードを売るために、比較対象となるカードデータセットをネット上でダウンロードするのに苦労した話は会場全体がどっ!となって笑っていて、あれは本当に良いジョーク話だと思いました。

その苦労からAaron さんが得た知見をここで紹介します。

"書く前にグーグルした方がいい"

目の前でRubyの可能性を見た。

www.slideshare.net

RubyのNES(Nintendo Entertainment System)上でfps(Frame per secon)を上げてソフトウェアを動かす話だったが中身はCPUのクロックアップに近い話で、はっきり言うが、僕はこの話の半分も理解できていない。そもそもRubyでNESが動いているいる原理もわからないし、なぜそのコードを書くとfpsが上がるのか?すら理解できてない。ただ一つだけ理解しているのは、この目で"あれ "が動いていた事実だけである。目の前でそれが動いたの見てしまったからには、あれはRubyで書かれており、そしてRubyで動いているんだと思うとワクワクせずには居られない。

 技術的未熟者はカンファレンスに参加すべきか?

今回こういったカンファレンスに参加する前は、前半で述べたように技術的未熟者はカンファレンスに参加すべきではないか?と僕は仮説を立てた。

そして、参加してこの仮設の答えを自分なりに出すと
「半分正解で半分不正解である」と結論づける。

技術的能力はあった方がいい。なぜならTokyo Ruby Kaigi 11で発表されたスライドの話が2倍、3倍と楽しめるからである。少なくとも僕はそう感じた。ちょうどmrubyを使って研究をしようと考えていた時期があり、mrubyの話を聞いた時に「あぁ、あの時mrubyについて少しでもやっておけば今の話はもっと面白いんだろうなぁ」と僕は、mrubyの話を聞きながら考えていた。だから、こういった機会はその時しか味わえない空気や熱というものがある中で自分がその熱を感じられないのは非常に勿体無い上に悔しいと感じた。

だが、この悔しいとかもっと技術力を上げたい!と思ったのも今回のTokyo Ruby Kaigi 11に参加したおかげであると考えると、改めて思ったのは未熟者であるからこそカンファレンスに参加すべきと僕は考える。普段プログラミングを勉強していると(例えばCとかPHPとかPython)、勉強で終わってしまい、その先に何ができるのかを創造せずにそこで満足して終わってしまう事がある。しかし、カンファレンスに参加すると、その勉強した先技術の話が目の前で見えるので、かなりのモチベーションの意味で有効である。それは今回のTokyo Ruby Kaigi11に関わらず、どのプログラミング言語のカンファレンスや勉強会に言える事かもしれない。

 最後に

f:id:kikuchi1201:20160528190518j:plain ここでは全部紹介しきれてないが、Tokyo Ruby Kaigi11で発表されたスライドの内容はどれも素晴らしかったが、やはり全部が全部理解できたわけではない。 只、それでも今後のカンファレンスに参加する自分の心境を変えさせて貰って点で、Tokyo Ruby Kaigi11は素晴らしくそして面白かったと自信をもって言える。改めて当日朝から会場設置をして頂いたスタッフ並びに主催者の皆さま本当にお疲れ様でした。

f:id:kikuchi1201:20160528190359j:plain

"技術的好奇心を改めて呼び起こし、プログラミングの難しさ、そして楽しさを再発見する場を目指します"

Tokyo Ruby Kaigi11に関する資料 http://programming-study.com/trouble/tokyorubykaigi11/

オマケ

誰もが気になっていたであろう(?)Powred By Rabbit のリンク張っておきますね。

Rabbit - A presentation tool for Rubyist

今知ったですがこのアプリケーション作ったの当日プレゼンしていた須藤さんなんですね!!

slide.rabbit-shocker.org

すげぇ!Rubyistすげぇ!

こちらからは以上です。