RubyKaigi 2023の感想

TL;DR

最高でしたね。LTができたのと多くの人と話せたのが特に良かったですが、トークやパーティーなど、これぞRubyKaigiという感覚が非常に強くて感動しました。

はじめに

この記事はRubyKaigi 2023の感想記事です。基本的にはRubyKaigiについて知っている人を対象としています。基本的な情報は記載しません。

一言でいうと

最高でした! いや、なんでしょう、RubyKaigiは2016年から基本毎年参加していて(2018年のみ不参加)、全部楽しかったのですが、今年は自分にとって今までで一番楽しかったです。

この記事の構成について

この記事は主に3つのパートで構成されています。

まず最初は私が聞いた各トークの感想です。なお、トークのメモは一切取っていない(忘れたというよりは、気力が持たなかった)ため、うろ覚えでの記述になっていることをご承知おきください。

次のパートは私がLTで行ったトークについてです。プロポーザルを提出するまでのこと、採択されてからの準備、実際に行ってみての感想などを書きます。

最後は今回のRubyKaigiの楽しさの理由について振り返ってみます。主に3つの理由が思いつくのでそれらをそれぞれ考察していきます。

トーク感想(Day1)

Matz Keynote

いつものMatz節が炸裂する場面もありましたが、今回は過去の話がメインだったこともありいつもとは少し毛色が違った気がします。Rubyの開発にはやはり色々な苦労があったのだなあと思いつつも、「なんだかんだで楽しんでいるんだなあ」と感じました。

MatzにDrinkupにて「英語をどうやって勉強しましたか?」と聞いたところ「勉強していません」と返されたのですが、自然体でRubyの開発(や英語)をできてしまう(ように見える)のがすごいですね。

Matzが引退したあとのRubyはどんな感じになるのか現時点では想像できませんが、いずれそういう日は来るのだよな、ということに思いを馳せたりもしました。

The future vision of Ruby Parser

実はこのトークはほとんど見れず、というのも昼食に思ったより時間がかかってしまい間に合わなかったのでした…

あとでLramaがコアにマージされたことを知り、金子さんの腕力に驚いた次第です。Bisonを置き換えるのすごい…

"Ractor" reconsidered

やはり並列処理は難しいのだなあ、というのが最初の感想です。GCが絡んだときの難しさについても語られていて、そこまで理解はできていないのですが難しいことはわかりました。

以前Ractorを試したときはたしかにパフォーマンスの劣化を経験したので、そこがどうにかなると実用するモチベーションが湧くのは完全にその通りだと思います。

自作のライブラリをRactor Friendlyにできればいいなと思っているのですが、その方法などについてドキュメントが整備されてくるとエコシステムの発展も進みそうだなと思いました。誰かやってくれ…

Power up your REPL with types

「型のキラーアプリ」ことIRB。型情報があると補完がリッチになるというのは型を導入する大きな理由になりますね。

ぺんさんはTRICKの人という印象が強いですが、IRBのissueを見るとぺんさんが作ったものが多く、たくさんのバグを見つけているのだなあと気づきました。

IRBには色々と独自の仕組みが導入されていると思うのですが、そこをShopify勢が作っているものと合わせていけたりすると面白そうと思いました。

LT

Building Ruby Native Extention using Ruby

トップバッターはかつよしさん、「これ終わるのか」と思うまもなく「これは終わらないな…」と思ったら案の定終わらないという綺麗な展開でした。内容的には興味深かったのでもったいない…

RBS meets LLMs - Type inference using LLM

最近流行のLLM(よく知らない)を型推論に使うというお話。個人的に今年に入ってから「Copilotでここまで補完が効くなら型はいらないのでは?」みたいなことを考えていたのでまさにドンピシャな内容。5分ジャストで終わったのもすごい。

Customize your Vim/Neovim directly with Ruby

私のLTです。詳細は後ほど。

mruby VM

MatzによるLT。基調講演とは変わって技術的な内容だったようです。「ようです」というのは、このとき会場内で迷子になっており、着席できたときにはもう終わりかけだったのでした。

Natsukantou the XML translator

Rackっぽいミドルウェアパターンを適用して翻訳精度を高めたgemの紹介でした。YARDのコメントを書く必要があるのが面白いですね。

BINGO!

Shugoさんが社長として抱える「ミッションクリティカルな」タスク、ビンゴゲームの実装についてのお話。WASMの実用例としてとても興味深いと思います。Fiberの制約を乗り越えるために事前にコードをERBを用いて展開しておく、というアイデアには脱帽です(この理解で合っているのかな?)。

Adding custom rule for Rubocop in the 2 month of employment

前回のRubyKaigiのMusic Mixinで転職に成功したゆらさんのお話。そして転職するとコードを理解するためにリファクタリングすることになり、そのためのCopを作ったというお話でもありました。Rubyコミュニティいいよね…

Unexplored Region - parse.y -

再びの金子さんが今度は爆速でparse.yの解説をしました。「初級編」から「上級編」まであるうちの「中級編」で時間が来てしまったのですが、一体「上級編」には何が書かれていたのだろう…と思って読んでみたのですが全然わからなかった…パーサーの道は険しい…

Ultra-fast test-driven development

RSpecを高速化するrsepc-daemonの紹介でした。確かに効果的なアプローチだと思うのですが、なぜ今までなかったのだろう…今回の全トークの中でも一番業務に取り入れやすいテーマだったような気がします。

Optimizing Ruby’s Memory Layout: Variable Width Allocation

Rubyのメモリ効率を改善するVariable Width Allocationの解説、というか導入でした。これはちゃんと話すと30分でも足りないみたいなやつだと思うので、5分だと導入だけになるのはやむなしかなと思います。余談ですが、舞台袖でLTの進行についての解説があったのですが、Peterはだいたいわかっていたようです。

Dividing and Managing: The Cops Squad of RuboCop RSpec Dept

rubocop-rspecからgemを切り出しているお話。FactoryBotについてのCopは独立していたほうが使いやすくなるので嬉しいですね。切り出しはこの発表の直前に行われていたということで、ここでも登壇駆動開発の姿が。登壇者のydahさんはここ最近活発に活動していてすごいです。

Serverless IdP for small team

RubyKaigiのオーガナイザーでもあるsorahさんのトークは認証周りのお話。Googleのような巨大な認証の仕組みはRubyKaigiチームのような比較的小規模なチームにとっては大きすぎるということで独自の認証基盤を作ったとのことでした。特にRubyKaigiのようなチームでは各メンバーがすでに認証基盤上にアイデンティティを持っているのでそれをOmniauth経由で使えるようにするという仕組みのようです。

トーク感想(Day2)

Implementing "++" operator, stepping into parse.y

何を隠そう私が関わったトークでした(スライドの英語レビューをした)。超満員で立ち見になりましたが、会場の沸き方はさすがしおいさん。内容的にもパーサーを丁寧に解説しており、今年っぽいトークでした。

Yet Another Ruby Parser

実装というよりはモチベーションなどにフォーカスしたトークでした。問題意識としてはすごくわかる(パーサー乱立しすぎ…)し、それを手書きでゴリっとやるというのもすごいなと思いました。もっと実装のことについて語られるとなお良かったかな…

これは金子さんのLramaとバトルになるんですかねえ…決めるの大変そう…

Revisiting TypeProf - IDE support as a primary feature

エディタが好きなのでこのトークは気になっていたのですが、TypeProfを書き直しているということでまずそれ自体がとても大変そうだなと感じました。結果として応答速度が大幅に向上し、エディタでの利用に耐えるようになったというのはさすがまめさん。

TypeProfで得た情報を他のツールから使えると夢があるなあと思っているのですが、そのへんはどうなんでしょうかね…

Ruby Implementation of QUIC: Progress and Challenges

Kaigi on Railsでも獅子奮迅のうなすけのトーク。まず驚いたのは英語がうまい!忙しいのにいつ勉強しているんだ、という気持ちです。

内容はPythonRubyのギャップ的な話が多く、Pythonがわからない私は「そーなのかー」となっていました。うなすけの苦労が偲ばれますが、今後もまだやることがあるっぽいのでうなすけ先生の次回作に期待です。

Tips and Tricks for working in the MRI codebase

MRI(いわゆるCRuby)の開発に関するTips集的なトーク。Asakusa.rbなどによく行っているせいか、既知の内容も多かったのですが復習的な意味で楽しく聞けました。特にデバッガについては知らない情報が多かったです。

デバッガといえば、たまたま近くにいたima1zumiさんと話したところ、macOSではgdbのインストールが難しくてlldbを使うしかないそうです。なんだと…

Optimizing YJIT's Performance, from Inception to Production

YJITを生んだMaximeのトーク。基調講演ということもあり丁寧なトークであり、それにもまして丁寧に開発をしているのがとても印象的でした。私はコンピュータサイエンスを学んでいないのですが、「これがコンピュータサイエンス…!」となりました。そして実際にRailsアプリを高速化できているのもものすごい成果ですね。

学術的な成果がRubyに持ち込まれている、という点には感銘を受けつつ、その学術の世界と縁がない私はどうやってYJITと向き合えばよいのだろう、とも思います。勉強することは多いですね…

トーク感想(Day3)

Ruby Committers and The World

今回は初の英語メインということもあり、Shopify勢が元気な印象でした。あとはEregonが正規表現について語りまくっているのがとても印象的でしたね。

1時間では全然足りないなあとも思うし(一言も発していない人も多かった)、これはいっそ3時間くらいやってもらってその間に他のルームでもセッションを進めてしまうとよいのだろうか?

Code indexing: How language servers understand our code

エディタで使えるようなコード情報を集めるお話。エディタ好きとしては気になるところであり、実際なかなか興味深いことを話していました。このインデックス関連のツールはgemとしてリリース予定とのことであり、ruby-lspと合わせて期待が持てます。

なお、登壇者のvinistockから別に聞いた話では、ruby-lspにプラグインシステムを持たせてRailsなどへの対応はそこでするということも進行中とのことでした。こちらも期待ですね。

Ruby JIT Hacking Guide

RJITの紹介トークでした。とにかく私達にJITを作ってほしい、ということに力点が置かれており、k0kubunさんのJITにかける想いが伝わってきます。

私はアセンブラが苦手というかよくわかっていないのですが、調べてみるモチベーションは非常に高まりました(なにか作るかはまあ、余裕があれば…)。

Parsing RBS

soutaroさんの基調講演はまたもパーサーの話。型定義は瞬間瞬間を見ると壊れていることが多い、というのはなるほどなあと思いました。

RBSのパーサーがgemになっていると、外部ツールから型情報を読み取れて便利なのでそれも期待してよいのでしょうか…?

"Customize your Vim/Neovim directly with Ruby"について

発表のきっかけ

私はもともとRubyKaigiにプロポーザルを出していて、今回も出したかったのですがネタがなくて断念しました。最近作っているものである程度まとまったものといえばAlbaくらいしかなく、Albaでは過去にプロポーザルを通せなかったためです。

ですがあるタイミングで"rspec-current.vim"ならばLTくらいならできるのではと思い始めました。その時点ではまだLTがあるという情報はなかったのですが、気持ちの上ではLTにプロポーザルを出すつもりでいました(準備していたとは言っていない)。

そしてLTのCFPが公開されてから割とすぐにプロポーザルを提出しました。以下はその内容です。

Abstract

My editor of choice is Neovim. Do you know what advantage Vim/Neovim have for us Rubyists? Yes, we can write plugins with Ruby!
This facility made it possible to develop rspec-current.vim, a Vim/Neovim plugin to tell you what subject and context are in your cursor position. It's useful with deeply nested RSpec file.
As I mentioned, we can use Ruby as a plugin development language. This means we can even use RubyVM::AbstractSyntaxTree in our plugin. In this talk I'll talk about the implementation detail of the plugin and encourage you to do the same!

Details

I think this type of editor plugin will be still useful in the future.
Although recently lots of developers use Language Server Protocol (LSP) to build editor plugins, there are some benefits not using LSP.
First, it's much simpler. I created only one Vim script file and that was enough. In contrast, if I adopt LSP I need to consider if I create my own Language Server or send a PR to other existing implementations.
Second, it should be faster. There's no overhead of JSON RPC. If we want to display the result from plugins, it's important.
So I think I can introduce something useful, at least for Vimmers.
But most importantly, this talk is about encouraging. Creating small but useful things in Ruby makes our lives a little easier, and it is fun!

Pitch

I've wondered why do we want to use other languages to improve one language. I really appreciate efforts that improve Ruby with Ruby such as RJIT or Typeprof.
But what about editors? VSCode is a great editor but we must use TypeScript to develop any kind of plugin. I'm not a big fan of this.
This talk is a concrete example of using Ruby to improve Ruby experience. As I know more about Ruby I can develop it even better. And I'm working on it!
Btw, I know TextBringer but I have not used it so I cannot talk about it at all :)

プロポーザルが通った!

幸いにしてLTのプロポーザルは通りました。上の文章をよんでいただければお分かりの通り、5分の発表時間に対してかなり長文のプロポーザルを書いており、熱意をうまくアピールできたのが良かったのかもしれません(だから発表中に語られなかったことも大量に書いてある…)。

プロポーザルが採択されたのは4月25日のことで、本番までは2週間くらいしかありません。そこで実装を「手直し」しようとしたのですが思わぬ展開が。

動かない!!!

すでに完成していると思って油断していたのですが、なぜか試してみると全く動作していない。理由は調べられなかったのですが、デモをすることは発表の流れ的に必須である以上、これは重大な問題でした。

そこで割と直前までひたすら修正をしていました。あるあるですが、一度修正を始めると色々なところが目に付き、ついつい細かな修正を繰り返してしまっており、結局発表自体に手を付けたのは5月の7日ごろ…

発表準備

今回の発表をVim(正確にはNeovim)で行うことは当初から決めていました。主な目的はネタですが、デモ用のNeovimと発表資料の行き来がしやすいという隠れたメリットもありました(同じiTermを使っているため、キーボードショートカットでウィンドウの切り替えができる)。

ただそこにも問題があり、iTermは端末アプリケーションなのでフォントサイズはアプリケーション内で固定です。そのため、髙橋メソッド向けにフォントサイズを上げすぎるとデモの際にコードが読めなくなってしまいます。今回はウィンドウを2つ使い、それぞれで異なるプロフィールを利用することで回避しました。

また、Vimでプレゼンする際に邪魔になる色々なもの、例えばタブの表示などは全て非表示にする必要があるのですが、それはコマンドで行いました。以下がそのコマンドです。

command! StartPresentation :tabdo :windo :set laststatus=0 | :set showtabline=0 | :set nonumber | :execute "sign define piet text=>> texthl=Search" | sign place 2 line=23 name=piet

髙橋メソッドで表示する内容についてはテキストファイルとして作成し、それをスクリプトから起動してgtでタブを移動することでページ切り替えをする方法をとりました。この方法のメリットは上のコマンドと合わせてマシンの再起動などに強いことです(簡単なコマンドでプレゼン環境を復元できる)。実際、接続確認をしたら画面が表示されなかったのでマシンを再起動したのが発表の直前だったのですが、ストレスを感じることはなかったです。

内容面について触れると、基本ネタ重視だがしっかりと実用面をアピールするという方針で作りました。途中、Shugoさんと金子さんに触れているのは偶然ではなく、発表内容の相互関連感を演出する目的がありました。本当はMatzにも触れたかったけど無理でした…

発表

発表は英語で行いました。これは言うまでもなくRubyKaigiが国際カンファレンスであるということと、台本がない状態で同時通訳の方が正しく訳してくれることはおそらく期待できないであろうと思ったためです。英語がそれほど得意でなくても聞き取れるよう、平易な英文を心がけました(難しい英語が使えないともいう)。

あれほどの人数を前にして話すのは初めてでしたが、不思議と全く緊張しませんでした。照明の関係で会場にいる人々の顔があまり見えないのがその理由かなと思います。

実際に発表してみると、聴衆から笑いが起きなかったのは残念ですが及第点の発表はできたと思います。笑いについては画像が使えないという制約があったのが大きかった気がしますが、Vimでこの制約を乗り越えるのは大変…

なお、このLTにはセルフ解説があります。英語トークの登壇者が日本語で解説記事を書くのは比較的珍しいと思いますが、ご笑納ください。

楽しさの理由とは

前述の通り、今年のRubyKaigiは今までで一番楽しかったのですが、なぜ自分が今回ここまでエンジョイできたのか、3つの理由について考えてみました。

交流の機会が増えた

一番大きかったのは交流の機会が増えたことだと思います。今年はオフィシャルパーティーやアフターパーティーに加え各社のDrinkupも復活し、Rubyistと話す時間がものすごく長くなりました。元々話すのが大好きな自分としてはこれはとても嬉しい。

Music Mixinも今年初めて参加してみましたが、20時から2時までずっと会場にいて色々な人と話せてとても楽しかったです。最終日なので次の日のことをあまり気にする必要がなかったので、そのままラーメンから居酒屋をはしごし、最後には川に到達してそのまま明るくなるまで飲んでいました。こういう体験はRubyKaigiならではだなと思うのですが、それが楽しいという感覚に大きく寄与しているのは間違いありません。

交流の機会という意味でいうと、今年はヘルパーではなく一般参加だったのですが、結果としてブースをめぐってスポンサーの方々と会話する機会が増えるなど交流には良い影響があったように思います。一方でヘルパー同士の交流は当然ながらできなかったため、一長一短ではあります。

Rubyists on Railsのような交流企画があったのもとても良かったですね。あれはぜひ毎年何らかの形式でやってほしいなと思いますが、企画が大変なのもとてもよくわかる…(沖縄だとRubyists on Jetsになるのかな?)

トークがわかるようになった

今年自分でもビックリしたのが「トークが…わかるぞ…?」という感覚でした。これは去年のRubyKaigiまではあまり得られなかったものです。

初めてRubyKaigiに参加した2016年当時、私は今ほどRubyについて詳しくなかったですし、プログラマとしての実力もまだまだだったと思います。あれから7年が経ち、私はRubyプログラマとしてはかなり成長できました。特に2020年からAlbaを作り始めたのが私の転機の一つであり、ライブラリ的な観点からコードを見ることができるようになりました。

また、個人的に考えていることとして、RubyKaigiは参加するたびに理解度が5%ずつ上がっていくという仮説があります。7年で6回RubyKaigiに参加し(2018年のみ不参加)、理解度が毎年上がっていく感覚は確実にあります。

しかし、それらを考慮しても今年は急に視界が開けたようなところがありました。これは一体何なのだろうかと思うと、一つ考えられるのは問題意識です。RubyKaigiはRubyのエコシステムを改善している人たちのトークが多く、その背後にはRubyの現状に対する様々な課題感があります。今年のRubyKaigiでは開発生産性(いわゆるDX)に関連した話が多かった印象があるのですが、そこに対する課題感は私も強く持っており、実際、kaigieffectとして直後にNiwaという新しいドキュメントツールのプロジェクトを立ち上げました。これまでここまで直接的なkaigieffectを受けたことはなかったので、やはり問題意識がRubyKaigiの楽しみ方に影響を与えているのは間違いないと思います。

これを読んでいる方にもRubyのコア開発やその周辺の話題についてアンテナを張ることをオススメします、RubyKaigiをもっと楽しめること間違いなしです。

松本がとても良い

最後の理由として、松本の町の良さを挙げたいと思います。松本の町には市電やバスの姿がなく、基本的に人々は歩いて移動しているようでした。実際、松本駅松本城まつもと市民芸術館の3点の内部は十分に徒歩圏であり、その内部で諸々が完結する印象を受けました(ただスーパーマーケットはなかった気がするので住民はどこで買い物をしているのだろう)。

町にある最も大きな道路も威圧感はそこまでではなく、結果として町が分断されることなく一体感を保っていたように感じます(甲州街道で分断されている町に住んでいたことがあるので余計にそう思う)。そこが松田さんの言う"Nice"というところに繋がっていくのかなと思いました。

町の一角に蔵が集まっているエリアがあったり、謎に水が湧き出ていたり、小さな川が流れていたり、そういったところも町の雰囲気に一役買っていたような気がします。今回はお昼休みが2時間あったため町に滞在する時間も長く(0日目と4日目を含めるともっと長い)、町を堪能できたのはとても良かったです。

おまけ1:松本で何を食べたのか

例によって写真はほとんどないので、文章でメモ程度に残しておきます。

Day0

  • そば処かまくらや
    • 葉わさび蕎麦というのを食べた、ピリッと辛い葉わさびと蕎麦の相性が良い
  • かうひいや3番地
    • いわゆる古民家カフェで雰囲気がとても良い、コーヒーはやや深煎りだったけどもっと深いやつを頼んでもよかったかも

Day1

  • 蕎麦倶楽部佐々木
    • セットのみだった、蕎麦も美味しかったけど出てくるもの全部美味しくてとても良い
  • オフィシャルパーティー
    • ベジタリアン用のフードが置かれている場所の近くにいたので野菜ばかり食べていた

Day2

  • 珈琲美学アベ
    • このときは普通のコーヒーを頼んでしまった、モーニングはシナモントーストとジャムを選択
  • 女鳥羽そば
    • 三段重ねの蕎麦が名物らしいので頼んだ、味が段ごとに違っていて美味しく食べ進められた。アスパラの天ぷらも美味
  • アルプスコーヒーラボ
    • 浸漬コーヒーが名物らしく、自分はラムコーヒーを注文。浅煎りなのとほのかなラムの香りとでなかなか良い
  • RIZAP Drinkup at RubyKaigi 2023
    • 馬肉のお店で肉を食べまくった。大量のタンパク質を摂取

Day3

  • そば処吉邦
    • ボリュームが多いお店だとしらずに大盛の天蕎麦を注文、かなり満腹になった
  • アフターパーティー
    • 奥の方にあった牛タンがめちゃくちゃうまかった。たこ焼きや刺身も食べた

Day4

  • 珈琲美学アベ
    • 今度はモカクリームオーレを注文することに成功
  • ホップ・フロッグ・カフェ
    • 店主がかなりコーヒーマニアな感じでずっとコーヒーの話をしていた、4種類の飲み比べセットを注文(コーヒーで飲み比べセットは珍しい)
  • そば処種村
    • 2種類の食べ比べセットを注文、そばつゆも2種類あって計4種類の味を堪能

おまけ2:関連イベント

今年のRubyKaigiの一つの特徴はプレイベントやアフターイベントが多いことなのではないかと思います。今回私は参加できる限り全てのイベントに行くようにはしていたので、ここでは関連イベントの感想についても書こうと思います。

RubyKaigi 2023 予習イベント ~推しトーク紹介~

須藤さんメインの予習イベントでした。登壇者のしおいさんも参加し、主にお二人の推しのトークについて紹介する内容でした。オンラインでかつ昼間の開催だったのが特徴的です。

Shibuya.rb RubyKaigi 2023 前夜祭 @GMO Yours・フクラス

最近オフライン開催が復活したShibuya.rbの名前を冠したオフラインでの予習イベントでした。100人近くが集まり非常に賑やかなイベントで、いわゆるReject Talks的なものもあり内容的にも非常に充実していました。

RubyKaigi 2023 を楽しむ予習会

オンラインでの予習会ですが参加人数がとても多く、結果的に全てのトークについてコメントをしていくという内容でした。チーフオーガナイザーの松田さんも参加しており、伝統的な「タイムテーブル徹底解説」的なイベントとなりました。

Ruby-dev office hour RubyKaigi 2023 直前スペシャル

毎週月曜日にまったりとやっているdev office hourの直前号といったイベントでした。他の予習イベントに比べてもRubyコミッターや登壇者の比率が高かったような気がします。dev office hourの性質上ウェビナーモードではないZoomでの開催であり、飛び入りで会話に参加しやすいのが良かったです。

Asakusa.rb Welcome Drinkup for RubyKaigi 2023

オフラインでのAsakusa.rbの拡大版的な内容で、Shopifyの人々も大勢来てとても賑やかかつ国際的な雰囲気でした。登壇者の一言コメントなどもあり直前で大いに盛り上がりましたね。私はShopify勢に積極的に話しかけに行くことができて満足。

ふりかえりRubyKaigi 2023

STORES主催のオンラインの振り返りイベントで、トークをいくつかピックアップして感想を話していく会でした。直後なのでみんな記憶がフレッシュだったので色々濃い話ができていたと思います。登壇者の方々が入れ替わり立ち替わりしゃべっていたのも良かったですね。2時間では時間が足りないのはご愛敬…

RubyKaigi2023 スポンサー振り返り会!エンジニアが語る運営秘話

Wantedlyのオフィスで行われた、スポンサー目線での振り返りイベントでした。私はKaigi on Rails運営の立場からスポンサーについて学ぶために参加しましたが、やはりブースには各社が力を入れているということを感じました。まだお話したことのない方が多く参加していた印象。

After RubyKaigi 2023〜メドピア、ZOZO、Findy〜

タイトルにある3社合同のアフターイベントで、3社から1名ずつとsue445さんとうなすけさんが登壇するイベントでした。sueさんのトークが来年プロポーザルを出したいと思っている私にはとても参考になりました。うなすけのトークは私もちょこっと関わっていました。裏でCookpadのイベントもあったのですが、そちらと比較して若い参加者が多かった印象で、彼らにRubyRailsの話を色々としていました。

【Money Forward x Shippio】 BaySide Tech Nite

英語メインのイベントで、kaigieffectで英語やらなきゃとなっている人が多い中タイムリーなイベントでした。私はLTをして、英語を学ばないということについてお話しました。詳細は資料を参照してください。

speakerdeck.com

さいごに

というわけで最高のKaigiだったのですが、来年は沖縄ということでまたしても期待が高まりますね!

そして10月にあるKaigi on Railsへの熱量も非常に高まりました。最高のKaigiにしていきたいと思いますのでそちらもご期待ください!

さいごに写真とツイートをどうぞ。

松本城

RubyKaigi2023のメインホールを舞台から見る

Matzとツーショット

#rubyfriends

Nice Team!

kaigieffect その1

kaigieffect その2

次はKaigi on Railsだ!