Baby steps to migratory bird

元半導体系エンジニア、今Webエンジニアの雑記

はじめてのRubyKaigi 予習編

いよいよ明日からRubyKaigiですね。

rubykaigi.org

今回RubyKaigiに初めて参加するので、事前に情報収集したことをまとめてみました。

少しでもRubyKaigiチョットワカルための手助けになれれば嬉しいです。

RubyKaigiについて

そもそもRubyってどんなカンファレンスなのだろう?ということについては、 RailsDM 2018 Day4のKeynoteでamatsudaさんが話されていたので、資料へのリンクを貼っておきます。

A RubyKaigi Talk - Speaker Deck

数あるカンファレンスが方向性を模索する中、技術的に最高の質を担保していくぞという意気込みを全面に押し出されています。

会場

今回福岡空港から博多駅まではかなり近いのですが、そこから福岡国際会議場は少し行きづらいなと思っていところ、 SmartHRさんが会場/福岡空港/博多駅/天神駅の区間でシャトルを出してくださるようです!

詳しくはこちら↓

SmartHR シャトルバスの乗り方 #RubyKaigi2019 (4月18日〜20日) | 株式会社SmartHR

Japan Taxiさんがタクシースポンサーなのでタクシー情報も探してみたのですが、あいにく見つけられず。見つけたら追記します。

昼の部:セッション

先日開催されたRejectKaigiの「RubyKaigi 2019タイムテーブル徹底解説」にて、@a_matsudaさん & RubyKaigi運営チームによる各スピーカー&セッションの紹介があったので、そのときのメモを添えて。

ちなみにRubyKaigiでは英語の発表があるのですが、通訳があるトラックとないトラックがあります。

トラック 場所 通訳
A Main Hall (3F) あり
B Multi-purpose Hall (2F) なし
C 409 + 410 (4F) なし
D International Conference Room (5F) あり

1日目 (4/18)

9:00- 受付

10:00-11:10

トラック 発表タイトル スピーカー メモ
A (3F) The Year of Concurrency Yukihiro "Matz" Matsumoto 【Keynote】Ruby3のなにか

11:20-12:00

トラック 発表タイトル スピーカー 資料 メモ
A (3F) Ruby 3 Progress Report Matz & the Ruby Core Team 資料 Ruby3の進捗レポート

12:00-13:30 ランチ

下のグルメ情報をチェック!

13:30-14:10

トラック 発表タイトル スピーカー 資料 メモ
A (3F) Performance Improvement of Ruby 2.7 JIT in Real World Takashi Kokubun 資料 MJIT, Railsも早くなる?
B (2F) How to take over a Ruby gem Maciej Mensfeld 資料 Rubyemsの乗っ取られをどう防ぐか (最近話題ですね)。本職がセキュリティの人
C (4F) Terminal Editors For Ruby Core Toolchain ITOYANAGI Sakura まだ Pure Ruby互換のライブラリ作った
D (5F) How to use OpenAPI3 for API developer ota42y 資料 SwaggerがOpenAPI3になる、Rackでうまく使えるように対応

参加予定:Ruby Gemのセキュリティの話が気になります。

14:20-15:00

トラック 発表タイトル スピーカー 資料 メモ
A (3F) Write a Ruby interpreter in Ruby for Ruby 3 Koichi Sasada まだ Ruby3向けのインタプリタ、Cで書いてた部分をRubyで書いた
B (2F) Determining Ruby Process Counts: Theory and Practice Nate Berkopec まだ Speed shopの人、GCパラメータの解説
C (4F) Pathfinder - Building a Container Platform in Ruby Ecosystem Giovanni Sakti まだ コンテナマネージャを自作した話
D (5F) Pragmatic Monadic Programing in Ruby joker1007 資料 Rubyの黒魔術、モナドを実装する試み

参加予定:迷い中。。

15:00-15:40 おやつタイム

15:40-16:20

トラック 発表タイトル スピーカー 資料 メモ
A (3F) A Type-level Ruby Interpreter for Testing and Understanding Yusuke Endoh 資料 型の話、VMをもう一個作る
B (2F) Compiling Ruby to idiomatic code in static languages Alexander Ivanov&Zahary Karadjov まだ トランスパイラ、例えばRubyで書いたライブラリをPythonで使える的な。型もつけられる
C (4F) Writing Debuggers in Plain Ruby! Fact or fiction? Genadi Samokovarov まだ Web consoleの作者、Pure Rubyでデバッガー
D (5F) Ruby for NLP Yoh Osaki 資料 Rubyで自然言語処理

参加予定:D

16:30-17:10

トラック 発表タイトル スピーカー 資料 メモ
A (3F) Fibers Are the Right Solution Samuel Williams まだ Fiber周りのコード、Rubyコミッタの最若手
B (2F) A Bundle of Joy: Rewriting for Performance Matthew Draper まだ Rails commiter、bundler遅いので書き直した(動くやつ)
C (4F) A Deep Learning Adventure Paolo Perrotta まだ メタプログラミングRubyの著者、Deep learning本書いた(イントロ的な内容になりそう)
D (5F) RMagick, migrate to ImageMagick 7 Shizuo Fujita 資料 RMagickのメンテの話。予定より進捗遅れてるけど、色々やってるよ

参加予定:A

17:20-18:00

トラック 発表タイトル スピーカー 資料 メモ
A (3F) Pattern matching - New feature in Ruby 2.7 Kazuki Tsujimoto 資料 Pattern matching (今回のRubyKaigiの目玉)、Ruby2.7
B (2F) Building Serverless Applications in Ruby with AWS Lambda Alex Wood まだ AWS SDK Rubyのメンテナ、Ruby with Lambdaの話
C (4F) GraphQL Migration: A Proper Use Case for Metaprogramming? Shawnee Gao 資料 RubyのメタプロでGraphQLを使いこなす
D (5F) Compacting GC for MRI v2 Aaron Patterson 資料 Compacting GC for MRI v2 (タイトルそのままや。。)

参加予定:A

2日目 (4/19)

8:30-10:00 朝食

2日目の朝はRubyKaigi会場とお隣の福岡サンパレスホテルで朝食をいただけます。

Official Breakfast sponsored by Medley

Stripe - RubyKaigi Breakfast with Stripe

10:00-11:10

トラック 発表タイトル スピーカー メモ
A (3F) All bugfixes are incompatibilities nagachika 【Keynote】ガッツリな話

11:20-12:00

トラック 発表タイトル スピーカー メモ
A (3F) How RSpec works Sam Phippen RSpecメンテナ
B (2F) Six Years of Ruby Performance: A History Noah Gibbs おなじみ?のノアコーナー、Rubyのパフォーマンスの話
C (4F) Practical mruby/c firmware development with CRuby Hitoshi HASUMI (メモりそこないました。。)
D (5F) Better CSV processing with Ruby 2.6 Kouhei Sutou & Kazuma Furuhashi CSVのパフォーマンスの話

参加予定:D, RubyData関連でCSV気になります。

12:00-13:30 ランチ

下のグルメ情報をチェック!

13:30-14:10

トラック 発表タイトル スピーカー メモ
A (3F) intimate Chat with Matz and mruby developers about mruby Hiromasa Ishii mruby漫談
B (2F) Zeitwerk: A new code loader Xavier Noria Zeitwerk (Rails6に入る)、A new code loader
C (4F) Yabeda: Monitoring monogatari Andrey Novikov ロシア方面出身の火星人?、Rubyのモニタリングの話
D (5F) Ovto: Frontend web framework for Rubyists Yutaka HARA Ovto、るびまに予習資料あり

参加予定:B

14:20-15:00

トラック 発表タイトル スピーカー メモ
A (3F) State of Sorbet: A Type Checker for Ruby Jake Zimmerman & Paul Tarjan Stripe with Sorbet、今年OSS化
B (2F) Actionable Code Coverage Michael Grosser Coverageライブラリの話
C (4F) RubyData Workshop RubyData team ワークショップ、おやつタイムまでぶちぬき、おすすめ
D (5F) Terminal curses Shugo Maeda Rubyでテキストデータ、cursesの話、時代はTUI

参加予定:C, RailsDMでの発表を聞いて以来RubyDataが気になっているので、ワークショップに出てみようと思っています。

15:00-15:40 おやつタイム

15:40-16:20

トラック 発表タイトル スピーカー メモ
A (3F) A light weight JIT compiler project for CRuby Vladimir Makarov Stripe with Sorbet、今年OSS化
B (2F) Building a game for the Nintendo Switch using Ruby Amir Rajan Swithのゲームをmrubyで作った
C (4F) Crystalball: predicting test failures Alex Rodionov Celenium driver gemのメンテナ、テスト回した時にどこを通ったかを紐付ける。リグレッションテストを効率的に回す。期待度かなり大
D (5F) The fastest way to bootstrap Ruby on Rails Uchio KONDO Rubyでコンテナ

参加予定:C

16:30-17:10

トラック 発表タイトル スピーカー メモ
A (3F) Benchmarking your code, inside and out Emily Stolfo elastic searchの中の人、ベンチマークとパフォーマンスの話。かなり規模がでかいやつ
B (2F) Beyond puts: TruffleRuby’s Modern Debugger Using Chrome Kevin Menard これすごそう。 ChromeのDev toolを使ってRubyのデバッグをできるようにする
C (4F) Building Homebrew in Ruby: The Good, Bad and Ugly Mike McQuaid Homebrewのメンテナ、ver2.0のお披露目の話?
D (5F) What is Domain Specific Language? Tanaka Akira DSLとはなにか?、DSLと普通のライブラリの違いにもんもんとしていたが納得できる結論がでた

参加予定:A or C

17:20-18:30

トラック 発表タイトル スピーカー メモ
A (3F) LT LT LT

3日目 (4/20)

8:30-10:00 朝食

3日目の朝はRubyKaigi会場で朝食をいただけます。

Official Breakfast sponsored by Medley

10:00-11:10

トラック 発表タイトル スピーカー メモ
A (3F) Ruby Committers vs the World CRuby Committers ぐだぐだやるw

11:20-12:00

トラック 発表タイトル スピーカー メモ
A (3F) (partially) Non-volatile mruby Yurie Yamane(team yamanekko) & Masayoshi Takahashi スタティックなmruby
B (2F) Fuzzing native Ruby code with Kisaten Ariel Zelivansky Fuzzing、すごくテッキーになりそう
C (4F) The Selfish Programmer Justin Searls すごくいい話?
D (5F) Cleaning up a huge ruby application Sangyong Sim one shot coverage、実際に使われていないコードを削除

参加予定:D

12:00-13:30 ランチ

下のグルメ情報をチェック!

13:30-14:10

トラック 発表タイトル スピーカー メモ
A (3F) The challenges behind Ruby type checking Soutaro Matsumoto type、去年の続き
B (2F) JRuby: The Road to Ruby 2.6 and Rails 6 Charles Nutter & Thomas E Enebo JRuby on Rails6
C (4F) Running Ruby On The Apple II Colin Fulton 16bitでRubyをコンパイル(8bitでもいける?)
D (5F) Best practices in web API client development Go Sueyoshi APIクライアントの話

参加予定:D or A

14:20-15:00

トラック 発表タイトル スピーカー メモ
A (3F) The future of the Bundled Bundler with RubyGems Hiroshi SHIBATA RubyGems, Bundlerの未来
B (2F) Pre-evaluation in Ruby Kevin Deisz 事前実行で最適化
C (4F) dRuby 20th anniversary hands-on workshop Masatoshi SEKI dRubyのワークショップ(おやつの時間打ち抜きでやる)
D (5F) Performance Optimization Techniques of MessagePack-Ruby Sadayuki Furuhashi MessagePack、世界最速オーサライズシリアライゼーションプロトコル

参加予定:B or D

15:00-15:40 おやつタイム

15:40-16:20

トラック 発表タイトル スピーカー メモ
A (3F) Reducing ActiveRecord memory consumption using Apache Arrow Kenta Murata pluckを使ってメモリ使用量を削減
B (2F) Ruby Serverless Framework Tung Nguyen Ruby on Jetsの作者(Lambdaで動くRailsみたいなやつ)
C (4F) Play with local vars Tatsuhiro Ujihisa Rubyのローカル変数面白いよ
D (5F) Timezone API nobu Timeにゾーンの情報をもたせるよう変更した

参加予定:A or C

16:30-17:10

トラック 発表タイトル スピーカー メモ
A (3F) The send-pop optimisation Urabe, Shyouhei 今回一番テッキーな話。rubyの返り値を無視させると、色々最適化できる
B (2F) TruffleRuby: Wrapping up compatibility for C extensions Petr Chalupa TruffleRuby、Javaで書かれているRubyがClangで動く
C (4F) Working towards Bundler 3 Colby Swandale 未来のBundlerの話
D (5F) Red Chainer and Cumo: Practical Deep Learning in Ruby Naotoshi Seo & Yusaku Hatanaka GPU

参加予定:A

17:20-18:30

トラック 発表タイトル スピーカー メモ
A (3F) Optimization Techniques Used by the Benchmark Winners Jeremy Evans 【Keynote】sequel、loader(恐ろしく早いフレームワーク)、ellvis、テクニカルな話

クロージング

夜の部:パーティ

RubyKaigi前日から、毎夜どこかでイベントがあります。 公式パーティ以外は申込みが必要です。

Parties - RubyKaigi 2019

RubyistはKaigi後、川に集まる習性があるらしいです。。 デカ外人さんにも会いたい人は川情報をお見逃しなく。

去年の様子↓

アフターイベント

RubyKaigi翌日にもイベントがあります。 僕はランニングイベントに申し込んだので、頑張って早く起きねば!

rubykaigi5k.connpass.com

fukuokarb.connpass.com

グルメ情報

tech.smarthr.jp

mrubyforum.blogspot.com

mrubyforum.blogspot.com

まとめ

色々てんこもりな4日間、とても楽しみです!!