Every year, Rubyists from all over the world converge on Japan for the focal point of Ruby world, RubyKaigi. This year, we sent a contingent of the Super Good team: Adam Mueller, Chris Todorov, Amy Norman, and myself.
The conference moves to a new city in Japan every year, and 2025 found it in Matsuyama. Matsuyama is the capital of Ehime prefecture on the island of Shikoku. It’s a beautiful city known for the Dōgo Onsen, Matsuyama castle, and oranges. So many oranges. Everything there is orange-themed. You’ll find Ehime’s mascot, Mikyan on everything.
If you’ve ever felt intimidated at the prospect of attending a conference in Japan (perhaps because you don’t speak Japanese), you need not be worried about attending RubyKaigi. Many of the talks are in English, and live translation headsets are provided for all the talks in Japanese. My Japanese is limited to the phrases required to order at a restaurant and I had no issues.
Conference programming is notoriously difficult. You can’t cater to everyone in the Ruby community. Despite that, I think the organizers did a fantastic job of selecting a variety of fantastic talks. That said, there was an obvious bias; the talks skewed very technical.
I don’t know if that’s always the case (as this was my first RubyKaigi), but I was happy to find that the talks covered a wide variety of in-depth technical topics. There were talks on garbage collection, parsing, concurrency, optimizing Ruby, Ruby’s build system, and more. The focus of the conference was definitely on the Ruby language itself.
A few talks stood out to me. Alexandre Terrasa’s talk on what they’re doing at Shopify to support RBS type comments in Sorbet was amazing. He’s written about it on the Rails at Scale blog, so check that out. Essentially, they’ve modified Sorbet to pick up on the RBS comments after parsing Ruby files and transform those AST nodes to the equivalent Sorbet type definitions. It’s a crazy cool approach.
Marco Roth has been working on a parser for ERB called Herb. There’s never been really good tooling for working with ERB before and Marco wants to use his new parser to address that gap in the ecosystem. If you’re curious, you can toss some ERB into their web-based playground and inspect the resulting AST. Very rad.
If you’ve been following the ongoing efforts to make Ruby faster, you’re probably aware of YJIT, Shopify’s just-in-time compiler for Ruby that offers as much as a 25% speed boost to some applications. Maxime Chevalier-Boisvert presented ZJIT (pronounced “zee jit”, despite her being Canadian), a next generation JIT-compiler for Ruby. The project aims to build on what Shopify learned in building YJIT while working around its limitations. You can learn more in the Redmine proposal for upstreaming it.
There were a ton of other awesome talks, but I won’t try to summarize them all here. Be sure to check out the videos once those get posted online.
The conference may have been our main reason to visit Japan, but we weren’t going to waste an opportunity to explore the country. We cycled the Shimanami Kaido with John Hawthorn and some other friends. We visited Hiroshima and toured the Peace Memorial Museum. We went to Kurashiki and bought ourselves Japanese denim. We finished our trip in Osaka, sampling the awesome food and trying to use the Kansai dialect.
Japan, like the Ruby community, is full of kind, welcoming people. I’m excited to go back in 2026 when the conference will be held on Japan’s North island, Hokkaido. In the meantime, it’s time for me to start learning katakana.