STORES Product Blog

こだわりを持ったお商売を支える「STORES」のテクノロジー部門のメンバーによるブログです。

RubyConf 2024 参加レポート

こんにちは。2024年11月13日から15日にかけて、アメリカ・シカゴで RubyConf 2024 が開催され STORES からは3名が登壇しました。

ホテル内の立て看板 (photo by ko1)

RubyConf はアメリカのタンパで 2001 年から開催されているシリーズとしては最も長い Ruby 関連カンファレンスです。今年はシカゴの Hilton ホテル(ミシガン湖の隣)で3日間開催されました。参加人数は600人ほどの規模とのことで、今年初めて来たという人も結構いたようです。

今年の RubyConf は、2日目がワークショップや Hack Day の日、ということで、いつもと毛色が違いました。

  • キーノートが 5 件
    • まつもとさんのオープニングキーノート
    • "ICE, CONFUSION, & THE 38,000FT CRASH" by Nickolas Means
    • "Who Wants to be a Ruby Engineer?" by Drew Bragg
    • "Red in Fantasyland" by Brandon Weaver
    • Closing Keynote by Nadia Odunayo
  • ワークショップが 5 件
  • Hack Day (OSS 活動の日)
  • 最終日は午後3時くらいに終了して、ネットワーキングの場に

Opening 開始直前の様子 (Photo by ima1zumi)

まつもとさんのオープニングキーノート (Photo by ima1zumi)

STORES からは次の3名が登壇しました。

  • Koichi Sasada (ko1): Ractor on Ruby 3.4 (slide)
  • Mari Imaizumi (ima1zumi): Exploring Reline: Enhancing Command Line Usability (slide)
  • Yusuke Endoh (mame): An Invitation to TRICK: How to write weird Ruby programs (slide)

それから、笹田が Workshop として Ruby Hack Challenge を開催しました。また、午前午後ぶち抜きの枠を頂いたので(11:15am~5:45pm)、その中の一部を Ask the Ruby Committers というセッション内セッションを企画し、その場にいた Ruby コミッタに質問をする、という会を行いました(RubyKaigi のアレの小さい版みたいなものです)。

以降は参加した各人の感想です。

ima1zumi

RelineというRubyのdefault gemの中身の話をしてきました。 英語圏に行くのも初めて、英語発表も初めて、英語もほとんど喋れないのですがなんとか発表してきました。英語で会話できたほうが100倍楽しかったと思いますが、発表ではなんとか言いたいことを伝えることはできたと思います。やったことや感想などを書きます。

プロポーザル

人生で一度はRubyConfに行って英語で発表してみたい!ということや、笹田さんとまめさんがプロポーザルを出していてきっとソロで活動することにはならないだろうと思ってエイヤでプロポーザルを出しました。ただ、9月末に自社テックカンファレンスがあることから完全新作は準備できないことが見えていたのでRubyKaigiと同じネタでした。

準備

RubyKaigi 2024ではスピーカーノートを珍しく全部書いていたので、スピーカーノート付きでpdf出力してChatGPTに読み込ませてスライド毎の原稿を翻訳しました。こうすると初稿を作るまでは速かったんですが自分で英文を組み立てたわけではないので、読み上げ中に場所を見失うと読み上げている位置に戻れないリスクがあります。日本語だと言いたいことが頭に入っていて作文もできるので、飛んだとしてもスライド見ながら文を組み立てられるのですが。時間があれば全部作文したほうが自分の言葉になるので良かったなぁと思いました。また、ChatGPTが翻訳した文章がわかりにくかったり一文が長かったり自分にとって読み上げづらいところに手を入れました。あとはスライドを少し手直ししたりアップデートしたりしました。原稿は5回くらい通しで練習したと思います。

ホテルからの眺め (Photo by ima1zumi)

発表

3日目午前のRubyKaigi Trackでの発表でした。Track ownerでRubyKaigi Chief Organizerの松田さんから熱い紹介を受けていざ発表。発表はそこまでつっかえることもなく時間通りに完走できました。発表後に多くの人から「発表良かったよ!」と話しかけてもらえたり質問をもらえて感激しました。発表後に一言感想の声をかけにきてくれる文化があるのだなぁと思いました。私はたどたどしくThank youしか返せなくてもどかしかったのですが温かい気持ちになりました。最終日のSocialで新しいRubyFriendsもできて楽しかったです!英語の課題は多々感じたのでRubyKaigi 2025までになんとか英語でコミュニケーション取れるように頑張ります。

発表中の筆者 (Photo by ko1)

参加してみて

人が暖かいカンファレンスだなと思いました。発表中のリアクションも大きく、発表後も多くの人がフィードバックしてくれて、張り詰めた気持ちが一気に緩みました。 また、シカゴの街が好きになりました。ビルの壁にアートがあったり、大きな美術館や博物館があったりと芸術を愛する街なのだと思いました。シカゴ美術館にも立ち寄ったのですが2時間しか滞在できなかったのでぜひまた訪れたいです。

mame

自分の発表

ひさびさに「変なプログラム」をテーマに発表してきました。

speakerdeck.com

主な内容は、TRICKの過去入賞作のピックアップ紹介です。ひさびさなので、RubyConfの参加者にはこの文化(?)を知らない人も多そうなのと、来年TRICK 2025をやるので、その宣伝を兼ねて。

github.com

TRICK以外の新作は、発表proposal自体がQuineになってるやつと、最後のRubyConf Chicago Quineでした。

www.youtube.com

久々の英語発表でちょっと準備が難航しましたが、結果それなりにウケていたのでホッとしました。

他の発表

RubyConfというと一時期はテックトークが少ないことで有名でしたが、5年ぶりに参加した今回はだいぶ雰囲気が変わっていて、かなりテックトークが多めになってました。Rubyのinternalの話も、GVL、Ractor、VMなど。

今回の特色としては、2日目がまるまるワークショップしかない日になっていました。これは賛否両論ありそうで、インタラクティブに楽しみたい参加者にはよいかもしれませんが、トークの数が非常に絞られる原因にもなっていました。笹田がRuby Hack Challengeを主催して、遠藤はそれのチューターをやってました。が、それほど質問もなかったのでPeterやAlanと雑談してた。昼にAsk Ruby Core Committersが行われて、会場からの質問にコミッタが答えてました。さながらRubyKaigiのRuby committers and the Worldの小規模版みたいな感じ。英語しんどいけどまあ楽しかった。

Matzのキーノートはおおよそいつもどおりの雰囲気でしたが、今回の特出しの話題は最近発見された最大素数(2**136279841-1)をRubyで計算できるようにするという、自分が提供した一発ネタでした。なんでも出してみるもんですね。

2日目のDraw BraggのキーノートはRubyのマニアッククイズで、ほどよい難易度でわりと盛り上がってました。RubyKaigiで同じことをやったら、聴衆が訓練されすぎているので微妙に成立しないかも。

3日目のBrandon Weaverのキーノートは、お話仕立てで関数型プログラミングの話を紹介していくものでした。ファンクタ、モノイド、モナドを、それらの言葉を使わずにRubyで実装しながら説明していく。絵本のようなスライドが1時間分あり、準備に200時間かかったそうです。すごい。

名札。属性や主張をリボンで足していける工夫は好き

シカゴの街

COVID-19のため、5年ぶりのアメリカでした。大統領選の直後で政情不安になってないか少し恐れてましたが、特に何事もなく。(でも入国審査は過去一厳しかった。滞在先ホテルの名前ではなく住所を言えと言われたのは初めて)

会場のシカゴは、想像していたより遥かに良い町でした。いままで行ったアメリカの街の中で一番よかった。ミシガン湖沿いの公園は整備されていて、皇居周辺の公園くらい綺麗でした。公園の端にシカゴ美術館があり、昼ご飯の時間にダッシュで見てきました。半分も見きれませんでしたが、一生分のモネとセザンヌを摂取しました。

ミシガン湖とシカゴの街

あいさつ回り

RubyKaigiでも心がけているのですが、こういうイベントではRubyのバグトラッカで名前を見かける人に用はなくともsay helloして回ってます。今回は、Burdette Lamar(Rubyのドキュメント改善をやってるコミッタ)、Shannon Skipper(バグトラッカでちょくちょく良いコメントをくれる人)、Mike Dalessio(Nokogiriのメンテナでfat gemなど拡張ライブラリのビルドに気持ちがある人)にはじめて会えました。

Shopifyの面々であるAaron、Eileen、Alan、Peter、Vini、Ufukや、今回キーノートスピーカだったBrandon Weaver、日本でも有名なコミッタのJeremy Evansなど。Shopifyの人たちは日本語を勉強している人が多くてすごい。

日本人では、黒曜さんとご飯に行ってちょっと仲良くなれました。黒曜さんのセッションは自分のセッションの裏で聞けなかったので、別途聞きたい。

me and @mametter.bsky.social ❤️

Mike Dalessio (@flavorjon.es) 2024-11-15T20:54:33.458Z
bsky.app

ko1

仕事

  • 発表
  • ワークショップ開催(Ruby Hack Challenge)
  • その他、Ruby 開発に関するミーティング(主に Shopify の方と)

以降、感想というか闘病の記録。健康は大事ですね!

11/9 (Sat)

体がだるいと思っていたら、39度を超える熱が出る。

11/10 (Sun)

まだ熱は下がらない。カロナールで 37 度くらいまで下がる。もしかしたら RubyConf いけないかも... と思う。

11/11 (Mon)

熱は平熱になるが下痢がひどい。病院にいったら胃腸炎でしょう、ということで、とくに流行性のものではないようで、飛行機に乗れる。

11/12 (Tue)

フラフラになりながら羽田へ。羽田はマツキヨがあって医薬品なんでもそろって便利。体温計とか買う(が、ずっと平温だった)。羽田の国際ターミナルはセキュリティゾーンの中にセブンイレブンがあるので、in ゼリーとのど飴を買いこむ。

セブンイレブンで買いこんだゼリー(photo by ko1)

機内食は全部キャンセル。in ゼリーなど、甘すぎて塩気がとても欲しくなる。機内で味噌汁だけ頂けて大変助かった。熱で土日に何もできなかったので、フラフラしながら機内でスライドを作る。今回は成果をあまり盛り込むことができなかったので、バックグラウンドを厚めに。結果的に30分中20分程度バックグラウンドの話に。

11/12 (Tue)

シカゴ着。日付が戻った。7am くらいに到着したからか、入国審査の列は少なく1時間もせずに外に出れた。電車でヒルトンへ。チェックインまでロビーでだらだらするかと思ったら early checkin ができたので、そのまま夕方まで寝る。

ゼリーに飽きたので塩気が欲しいと思って近所のセブンイレブンなどを覗くが、カップスープ的なものは見つからない。後日ほかのスーパーにもいったけど、粉スープを飲む文化はなくて、缶詰に入っているスープをあっためる文化っぽかった(もっと大きなスーパーに行けば違うかもだけど)。「粉のスープ欲しいんだけど」って聞いたらカップ麺のコーナーを案内されたので、まぁ安定してそうな日清のカップヌードルを購入。日本と味が違うということで有名で、実際味が違った(あまり好みではなかった)。ゼリーとカップ麺とマスカット(追加で買ってきた)をかじりながら、スライドを完成させて頭の中で発表練習。

そのお店にあった、数少ない辛くないカップ麺(photo by ko1)

11/13 (Wed)

RubyConf 2024 初日。まつもとさんの発表はうまいなぁ、と思いながらキーノートを見つつ、自分の発表を待つ。

Ivo が GVL の話をしていて、色々と自分の内容と被っていたので、適宜言及しつつ発表。繰り返しの内容が多かったので、テンションだけは上げようとおもって、元気よく発表した、と思う。まぁ、そんな最新の情報を追ってる人ばかりでもなかったと思うので、まぁいいかな。

テンションあげて行った発表(photo by ima1zumi)

発表後、ランチ。Hilton の美味しいランチっぽかったけど、お腹の調子が悪かったので、半分くらいに。ランチ後部屋に戻って寝る。カンファレンス会場が宿泊するホテルなのは本当に楽でいい。その後、JP Camara の発表を聞いたりする。「Laptor を想像したから恐竜」らしい Ractor の恐竜マスコットのシールをもらう。美味しいシカゴピザを食べに行く元気な方々を見送って私は今日もカップ麺とゼリーを食べる。RHC のガイドの資料を仕上げる。

11/14 (Thu)

朝、あまりにひもじいのでパン屋さんにいって菓子パンを買う。本当に日本の菓子パンっぽかった。値段は3倍くらい。円安...。味は大変美味しかった。

高かったけどおいしかった総菜パン。smoked ソーセージパンとスイートポテトパン(photo by ko1)

朝のキーノートはクイズ番組っぽく、Rubyのマニアッククイズで、結構わかんなかった。Flip-Flop とかは実装するときだけ毎回仕様を調べる。sleep の仕様を間違えてまつもとさんに恥をかかせてしまった。

クイズ番組な演出(photo by ko1)

その後、RHC。人はそんなにいなかったけど、どうだったかな。コミッターに聞け、ってセッションをやったけど、さてどれくらい面白かっただろう。俺は面白かった。

Ruby コミッターに質問しようのコーナー。MC やってくれた tenderlove ありがとう(photo by ima1zumi)

昼休憩の時間に本屋にいって子供にお土産を買う。日本では全然みないブルーイの本があって感動。いいアニメだもんな。午後 RHC で質問などを受けながら、無難に終了。あまり「あれやりたい、これやった」という話が聞けなかったのは残念。

夕飯は Shopify people に誘ってもらってバーっぽいところ。シカゴっぽい名前の肉がたくさん入ったパンを頂いたが、半分でギブアップ。そのあと下痢したので、油すごかったんだろうな。残ったパンを持ち帰ったけど、食べられなかった。

ボリューム満点で美味しかったけど、写真の撮り方のせいで全然おいしそうじゃないな...(photo by ko1)

夜に Peter と GC の実装の話で1時間以上議論。眠くて大変だった。

11/15 (Fri)

仕事が全部終わったから、朝までぐっすり寝たらキーノートに微妙に間に合わない感じだった。Brandon Weaver のキーノートは本当に手が込んでいてすごかった。

絵本仕立てで関数型のエッセンスを紹介するキーノート(photo by ko1)

その後日本人の発表を応援して早めにお昼。量は半分。その後最後のキーノートを聞いて終わり、と思ったら Ractor の話で色々相談。で、やっと終わり。だいぶ回復したかなと思って、日本人参加者で連れ添ってやっとシカゴピザ(深いピザ)。美味しかったので 1.5 切れくらい食べられた。

6人で2切れ食べきれず持ち帰ったピザ(photo by ko1)

11/16 (Sat)

帰国の飛行機。3時間前に到着しようと思ったら 3.5 時間前に到着し、何もトラブルなく3時間前に搭乗口に到着。順調すぎ。帰国の機内食は、全部食べられるかなと思ってなるべく食べてみた。美味しくはなかった...。

11/17 (Sun)

帰国。和食が美味しい。が、食べ過ぎてやっぱりお腹壊しました。食べ過ぎよくない。

おわりに

本稿では RubyConf 2024 の簡単な紹介と、各位の感想を紹介しました。シカゴの美しい町並みやシカゴピザを堪能したり、日本ではなかなか話せない人たちと顔を合わせて話したりできて素晴らしい体験でした。