builderscon tokyo 2019 参加しました

概要

2019年8月29日~8月31日に東京電機大学で開催されたbuilderscon tokyo 2019に参加してきました。

 

builderscon.io

参加するにあたって

私は広島県在住の大学生です。東京で開催される3日間のイベントに参加するには交通費や宿泊費など多大な費用がかかるので、学生という立場上費用の面で参加することを躊躇していました。しかしなんと、先生・生徒向けのクラウド型学習支援サービスを主に提供しているClassi株式会社様からbuilderscon tokyo 2019に参加するための諸費用を支援していただきました。この場を借りて感謝申し上げます。ありがとうございました!

 

builderscon tokyo 2019_Classi Scholarship Sponsor - connpass

Classi(クラッシー) - 学校教育のICT活用を支援するクラウドサービス

 

また、チケット譲渡システムを通して参加チケットを譲渡していただいたlaisoさんにも深く感謝申し上げます。スカラーシップの抽選に気を取られていて買い損ねてしまいました)

 

以下、参加レポートです。当日の行動日記や聞いたセッションの大まかな内容を含みます。

 

前夜祭

前夜祭は「技術の無駄遣いの最高峰」をテーマに4つの発表がありました。buildersconは多くのカンファレンスのような硬いイメージとは程遠い、お祭りのような雰囲気で連日行われていました。前夜祭では、会場の入り口でお酒などの飲み物やおつまみを配布していて、とても楽しくお話を聞くことができました。

 

HoloLensとドローンの(間違った)活用方法

HoloLensはMicrosoftが開発するヘッドセット型のデバイスで、現実空間にCGを配置できるいわばAR体験ができるものです。これを用いてテトリスの筐体を出してテトリスをしたりしていました。また、Telloというドローンを用いて、MayaやPhotoshopExcelや笛でドローンを飛ばしていました。

 

Excelって言う、ドローン飛ばすソフトがありまして…」

 

www.hiromukato.com

 

MySQLでケーキを焼きました

タイトルがめちゃくちゃ面白いのですが、CakePHPとかそういう話ではなく本当にMySQLでケーキを焼いてました。MySQLのUDF(ユーザ定義関数)でRubyを呼び出し、RubyArduinoを制御してオーブンでケーキを焼く仕組みでした。これぞ技術の無駄遣いって感じでしたが、IoTでもあるのかなあとも。

 

gihyo.jp

 

面白いダジャレを言うと、リアルに布団がふっ飛ぶ装置を作った

個人的に一番面白かったセッションでした。ダジャレを言うとAIがその面白さを判定し、基準の点数を超えると手作りミニお布団がふっ飛びます。*1一見簡素な仕組みと思いきや、その開発はダジャレの分類から始まり、ダジャレの判別方法、点数の算出法、ふっ飛ばす機構の創作、工夫など非常に手の込んだものでした。発表中に出てきた「寝具ラリティ」という言葉がとても好きです。

 

qiita.com

 

CROSS MEで黒髪のメガネ女子とマッチングするデバイスをAIとIoTを駆使して作った話*2

CROSS MEとは、位置情報を用いてマッチングする出会い系アプリです。プロフィールの写真が要素*3を満たすならいいねすると言うものでした。Azure Face APIマッチングアプリ上の顔画像を認識するための工夫やいいねをするための機構をどう作っていくのかなどを話されていました。今回のセッションの中では実用性がある方なのではないかと思います。

 

qiita.com

 

Day1

10:30頃、会場に着きました。朝食を会場で用意してくれているのを知らず、割とギリギリの時間で着いてしまいました。前夜祭でノベルティを受け取り済みでしたので、会場に着いてすぐOpeningに参加できました。

 

対戦ゲームに学ぶ、フレームワークの設計技法とAIのアルゴリズム入門

違う性質を持つ様々なゲームについてモデリングしていき、これらの性質を理解していき、またモデリングを生かしてゲームプログラミングやAIアルゴリズムを考えてみようと言うものでした。ゲームのモデリングには「ルール、種類の分類、状態の判別」の3つの観点があり、これらの現実での概念との関係を主に将棋を用いて説明したりしていた。個人的にはゲーム木を見てそのゲームが面白いかどうかを推測できると言うのが知見でした。あとboardgame.io便利そう。

 

ランチセッション

…は参加できなかったので東京電機大学に併設されているカフェのパスタとジュースをいただきました。さくらインターネット様の提供で無料でした。ありがたし。

 

コンパイラを作ってみよう

Goを用いて、ライブコーディングでフルスクラッチの足し算・引き算ができるコンパイラを作ると言うものでした。実際コンパイラづくりは少し興味があるものの何から初めていいかわからなかったので、このセッションを聞けてよかったです。実際にコンパイラができていく過程を丁寧に説明しながらコーディングされていてとてもわかりやすい発表でした。*4バグったら観客がその箇所を教えてくれるなど、とても温かい雰囲気でした。

 

Optimizing Ruby with JIT -最速の言語を目指して

メソッドや定数が再定義できたり任意の行で処理を変えられるなど、最適化が困難とされているやんちゃ言語のRubyを高速化できるかに挑戦したと言うもの。2.6系で搭載されたJust-In-Timeコンパイラをさらにどのようにして高速化していくかをVMの中身を見て解説されていました。JITの名称すら知らなかったので、これを機に少し調べてみようかなと思います。

 

ビジネスの構造を扱うアーキテクチャとユーザとの接点を扱うアーキテクチャ

記録のためのシステムであるSoRと利用者との関係を表すためのシステムであるSoEを比較しながら、設計原則や設計パターンに基づいて言語化したり、この二つがどんな設計観点で・どんな要求を基に・どのような品質特性を満たすべきかを捉え直すものでした。私自身まだ学生なのでこのような顧客がいての開発の観点からの発表に対しての知識はありませんでしが、そう言う概念があること、その違いを把握して将来に生かしたいと考えました。

 

Day2

前日の反省を生かし10時前に会場に着きました。会場で朝食を食べました。とても美味しかったです。

 

OSS Security The hard way

 
OSSのセキュリティについての話。世界中の誰もが開発に参加できるOSSのセキュリティはどうなっているの?と言う観点で、とても苦労していることをRuby Gemsの脆弱性対応の例から話されていました。「OSSのセキュリティに取り組む理由は社会的責任でしかない」「脆弱性かバグなのかを判断することの大変さ」「セキュリティリリースは週末を避ける」「脆弱性対応は人間力コミュ力が必要」など、随所にOSSならではの対応の難しさや苦労が見えました。自分はRubyやそれこそGemsを多用して何か作ったりしているので本当に頭が上がりません。
 

自動作曲入門

タイトルを見てめちゃくちゃ楽しそうだと思ったので聞きました。タイトル通り、作曲をプログラミングに任せてしまおうと言うものでした。難しい印象でしたが、f(t) = merody + harmony + rhythmと言う式見て「え、それだけでいいの」と思ったし実際デモやコードを見てじゃあやってみてねと言われても抵抗感ないくらいには門戸が広い感じがしました。Discover Something Newする他にも、やってみたいと思ったことの敷居が下がると言うのもカンファレンスに行く利点だと思っています。

 

ランチセッション

前日よりも早い時間に会場入りしたので、Day2はランチセッションに参加できました。ajiito.fmの公開収録でした。話題はAWS障害などでした。

 

スーパーカミオカンデの開発と運用

http://www-sk.icrr.u-tokyo.ac.jp/~hayato_s/20190831_Super-Kamiokande.pdf

 一番Something Discover Newしたセッションでした。素粒子研究と言う、今回話を聞かなかったら一生関わらなかったであろう分野の話を関係者から、しかも堅苦しくない雰囲気で聴けたのは貴重な経験だったと思います。ただ、その中にも、「普段は1日20イベントのニュートリノしか飛んでこないのに、超新星爆発で10秒間に100Mイベントのニュートリノが来るからそれに備えて稼働率100%のシステム作ってね」など、エンジニアが聞いたら即倒しそうな言葉が出てくるなど、完全に馴染みのないものではなく適度にそのすごさを感じられる内容でした。それでも数の単位が違いすぎて*5終始圧倒されてました。

 

○○2vec 再考

何らかのエンティティを低次元のベクトルで表現できる○○2vecをもっと活用しよう、というのがテーマでした。ノードとノードの線の繋がりが関係を表すグラフ構造と組み合わせると違ったモノ同士の関係をベクトルで表せるのことで、実際これは目に見えて便利だな〜と思いました。最近word2vecを使ってみたい欲が増えてるので何かしてみたいと言う創作意欲が湧きました。

 

0円自作キーボード(配列)入門

効率的なキーボードの配列についてのセッションでした。qwerty配置しか信じてなかった自分は「な、なんだこの世界は…」と驚愕しました。 説明がとてもわかりやすく、熱がこもっていて素晴らしい発表でした。ローマ字テーブルを変えるのが簡単だったり、配列ごとに打鍵率などの調査もしっかりしてて沢山の知見がありました。ちょっと手を出してみたい…!

 

時を正しく扱うためのシステム設計

サブスクリプションサービスの開発・運用で重要な時間の話でした。サマータイムの話が出た時Ruby合宿でmatzが唸ってたのを思いだしました。1ヶ月の定義、月末とは何かなど、抽象的・具体的どちらの話題もあり、月末クイズ(すぐ答えられないのがもどかしかった)など楽しめる要素満点でとても楽しい発表でした。自分の身近にある事象をもう一度考えること、とても身になるなと感じました。

 

LT&Closing

LTはどの発表も勢いがあって、しかも本当にライトニングなトークだったのでとても面白かったです。最後の発表に登場したMathematica Minecraftは「すごい」の一言でした。(語彙力がなくてすいません)

 

Closingではスポンサー賞と盛り上がったで賞の発表がありました。

 

まとめ

buildersconは「知らなかった、を聞く」がテーマのカンファレンスです。まだエンジニアでもなく、知識や経験の少ない学生として参加しましたが、結果的にとても充実した時間でした。何より「知らないこと」を恥じる必要もないのが居心地がよく、また各セッションで「知らない人のために〜」と言う文言が多かった気がします。現役でバリバリ働くエンジニアの知見を増やす場であることはもちろん、学生として参加して新たな技術の出会いの場とすることもできると感じました。

 

ただ、知らなかった技術を聞いて終わりにするのは少しもったいない気がします。まだ比較的自由に動ける学生だからこそ、これを機に聞いた技術に触れ、試行錯誤し、何かを生み出せていけたらなと考えています。それをして初めて、このカンファレンスに参加した意味を実感できると思います。

 

文章書くの疲れたので、この辺で…

 

*1:日テレ系列の番組『フットンダ』を想像してもらえるとわかりやすいかと

*2:カンファレンスのジェンダーバランスを意識した上で、少し物議を醸した話題でした

*3:今回ならメガネ+黒髪

*4:大学の講義でもコンパイラと言うものがありましたがその全15回の講義よりわかりやすかったです

*5:発表資料に出てきた数字は10^-9 ~ 10^32と幅が広すぎる