えいのうにっき

a-knowの日記です

RubyKaigi に初めて参加してきた #rubykaigi

してきた。......まだ若干の余韻が残っている気がする。自分がどれだけ RubyKaigi 2025 を楽しんだのかは、会期をくぐり抜けたあとの僕のネームプレートの様子からも伝わるんじゃないかと思う。

今回のこのエントリは、時々書いている勉強会レポートと同じようなテイストで、というよりは、愛媛という人生初の場所に訪れたことの記録も兼ねて、日記のようなスタイルで書いてみたい。

Day 0 - 2025年4月15日(火)

午前中は通常通りの業務をし、午後から身支度・移動を開始した。

自分は岡山在住兼、飛行機ニガテ人間ということで、岡山-松山間を運行している高速バスで松山に向かった。片道3時間ちょっとで、ポッドキャストを聞いていたらあっという間の距離だった。

JR松山駅に到着したのが18:30頃。この日の夜は絶妙な寒さだったのと、あとは自分の荷物の重さから(張り切っていろんな荷物を持ってきてしまっていた......あと気温の上下が予想されていたこともあり、衣類も嵩張っていた)、駅の近くにあった居酒屋で簡単に胃袋を満たし、宿に向かった。

簡単とはいえきっちり鯛めし。

移動は路面電車で。この日以降、滞在中はこの路面電車をフル活用することになるとは、Day 0 の段階では全く予想だにしてなかったなー。

今回の宿は、道後温泉本館から徒歩1,2分ほどの距離にある「ホテル道後湯の町」というところ。素泊まりだし、各種設備はお世辞にも真新しい、とはいえなかったけど、会社の経費精算の上限に収まり、宿泊日数分の温泉入浴券がもらえ、かつこのロケーション、ということで、今回の RubyKaigi の拠点としては申し分のないものだった。

travel.yahoo.co.jp

この日はチェックイン後、道後温泉本館のお湯をしゅっといただき、翌日から始まる各種セッションの予習などしつつ、そこそこに就寝した。

Day 1 - 2025年4月16日(水)

とうとう RubyKaigi 初日。朝はホテル横の「ユノマチベーカリー」にて買ったパンで腹ごしらえ。

そのまま軽く近辺を散歩。めちゃくちゃ空気が澄んでいるように感じたのは、もしかしたら半分くらいは気のせいだったかもしれない。

そしていざ会場へ。ホテルからは歩いて15分かからないくらいでちょうど良い距離。

会場に到着。まだ開場まで15分くらい、というところで、会場前に集まっていた数人の同僚のところでそそくさと歩いていって挨拶。いよいよですね!なんて言いつつ。

開場。スタッフの方に促されるまま、まっすぐとメインホールの方へ。ホール入り口にあった世界地図に "チェックイン"。

うおお!いよいよ始まる...!

Between Character and Character Encoding

文字コードの歴史、複数の文字ポイントの組み合わせからなる文字への Ruby の対応のお話。👨‍👨‍👦‍👦

EBCDIC。自分も新卒入社した会社ではホスト系(⇔オープン系)の仕事でCOBOLを書いていたのもあって、馴染みはないことはない。でも、自分はそれに対して(どちらかというと)ネガティブな印象を抱いていた・積極的には関わろうとはしていなかったのに対し、@ima1zumi さんはとても活き活きと、楽しそうにそれについて話していた。いろんな人がいろんなことに情熱を持つことで、この世は成り立っているんだなぁ。

"Zero Width Joiner (ZWJ)"、初めて聞いた。Unicodeにおける制御文字の一つ。コードポイントはU+200D。隣接する文字を視覚的に結合するために使用され、この文字自体は表示されず、幅も持たない(Zero Width)。

そして「書記素クラスタ (Grapheme Cluster)」というワード。人間が "1つの文字" として認識する、1つ以上のコードポイントからなる文字列のことを指す。「見た目上1文字に見えるが、コンピュータ内部では複数の文字コードで表現されているもの」をまとめた単位が、書記素クラスタ。

などなど。のっけから知らないことばかりの情報を頭から浴びて、うひょーーとなる。

State of Namespace

"Namespace" の直近1年での取り組みや、現在地点に関する話。

コンテナ方面でも出てくる namespace と同じようなもの、って考えてよさそうかな...、、と思いつつ聞いていたけど、うーん、やっぱり難しい。。

なんとなく、昨年の RubyKaigi で話された Namespace の話を踏まえておくのは必須な感じがしたので。これは必ずあとで視聴することにする。 # TODO

youtu.be

そして聴きながら思ったのは、話されているのは @tagomoris さんというすごい方ではあるけれど、お話の中では非常に多くの "失敗" が語られていたのは、とても良かったなぁとということ。100回以上 print debug をした、という話だったりもそうだけど、今後自分がなにかを語る機会があるとしたら、僕もできるだけ自分の失敗について多く、積極的に盛り込んでいきたいなと思った。

dRuby on Browser Again!

ruby.wasm を使ってブラウザ上で dRuby を動かす、というお話。

dRuby、全く知らなかったのだけど、「クライアントもサーバーも両方Ruby、という世界観」「Ruby オブジェクトをそのままやりとりできる」「なので JSON API もいらなくなる、ただクラスを定義すればいい、ただメソッドを呼べばいい」...というお話と、実際にそれが動くデモを見て、とてもとても感銘を受けた。

Wands gem もめちゃくちゃ便利そう。直近 Ruby で WebSocket を使うようなコードを書く機会はないかもしれないけど、脳内インデックスを貼っておきたい気持ちになった。

TRICK 2025: Episode I

"変" なrubyコードを書くコンテスト。聞きながら、驚いたり笑ったり関心したり...の繰り返しだった。これもまた、自分には絶対に情熱を持てない領域だなーとつくづく感じた。

Official Party

あっというまに Day 1 本編が終わり、Official Party へ。路面電車を県庁前で降りて、他の Rubyist についていく。そしたらそこにはフェス開場のような光景が広がっていて、いつの間にか僕はもう Official Party の中にいた、という感じだった。

夜なので基本暗く、とんでもない数の人がおり、そしてだだっ広い、ということで、もうなにがなんだかわけがわかんない状態だったのだけれど、それでも、いろんな人といろんな会話を楽しむことができた。

特に、@youchan さんとたまたま出会えて、昼間の感銘をそのままぶつけることができたのは(向こうからすると、ゼロ知識・感情オンリー人間がなにやらまくしたてている、という感じでご迷惑だったかもしれないが...)、とても良かった。dRuby については、youchan/wasm_drb にサンプルコードがあるから、まずはこれを動かしてみて!さすればわかるさ!という感じのお言葉をいただいたので、これはぜひ試してみないとな、と思っている。 # TODO

github.com

そしてもうお一人、@sasata299(ささたつ)さん。

僕がささたつさんを認識したのはかなり昔で、2013年,2014年頃。当時担当していたプロダクトのデータを処理するために Amazon EMR を使わねばならない・でも何もわからない、ということがあったときに、ささたつさんが書かれた書籍「Hadoopファーストガイド」に、大いに助けられた。

そして現在はCREをされておられるということで、本に助けられたことのお礼をお伝えできただけでなく、CRE談義にも花を咲かせることができた(自分も以前CREをやっていたため)のは、とても大きな収穫だった。

そんなこんなであっという間に時間となり、その後は、10年ほど前の職場の同僚(後輩)とばったり出くわすことができたこともあり、昔話や近況報告をしながらお互いの再会を喜びあう、といった感じで、とにかくただただ嬉しかった。宿に着くと。初日にしてもうへとへとだったけど、たしかな充実感を覚えながら床についた。

Day 2 - 2025年4月17日(木)

Day 2。朝風呂として道後温泉本館に足を運び、こわばった体をほぐしつつ脳に再起動をかける。

早朝の道後温泉本館

この日もユノマチベーカリーのパンを朝食にし、会場へ。会場前で、社員揃って集合写真を撮影。

そして、もう付箋だらけになっていた世界地図を見て驚きに驚く。

Running JavaScript within Ruby

@hmsk さんによる、quickjs gem に関するお話。そういえば @hmsk さんとは、同じ Ossan.fm ゲスト出演勢、ということになる...。

github.com

JS を Ruby で実行できるようになる。とてもcoolに感じた。自分の身の回りでもなんか使い所ないかな〜〜、とか、ひとしきり考えてしまった。

Writing Ruby Scripts with TypeProf

型解析機、エディタ支援機能の VScode拡張、TypeProf についてのお話。型定義が完全でなくても推測でうまいことやってくれる、というのは、ハードルを下げることにつながっていてとても良いなと思った。自分の手元でも入れてみようかな。 # TODO

@ Hackspace

この日はなんだか居ても立っても居られなくなってしまって、2Fのワンバンクさんが提供している Hackspace で趣味のコード(もちろんRuby)を書き始めてしまった。のだけど、小一時間しょうもないところでつまづいてしまう・そのことに全然気がつけず、で、進捗としてはあまり芳しいものではなかった。

Lightning Talks

以下の11本(多分ヌケモレはない、と思う...)のLTを立て続けに。

  • ラズパイpico3 の上で mRuby を動かす
  • Rubyを音源にする・音を作るところから
  • Rubyを使ってプログラミング言語開発を楽にする?
  • Raildiagram
  • Ruby on PS1
  • encrypted DNS の動作確認を行う gem についての話
  • rubyci.org のうちの一つを担うということ
  • internal services とのやりとりを並列にする
  • Textbringer
  • R2p2 MIDI controller
  • private gem を bundler でセキュアに扱う

それぞれの人が思い思いの対象に情熱を注いでいて最高だった。自分もそういう対象がほしいと思ったし、その結果としてこういう場で話すチャンスを得たいものだ、とも思った。。

Findy Drinkup at RubyKaigi 2025

この日は Findy さん主催の Drinkup イベントに参加。

たまたま一緒のテーブルになった人たちと日頃の開発についてのお話をしたり、Findy の社員・CTOの方からも開発現場の課題などについてヒアリングすることができ、とても有意義な時間を過ごすことができた。Findy さん、素晴らしい場を提供してくださり、ありがとうございました。

Day 3 - 2025年4月18日(金)

あっという間に RubyKaigi としては最終日。さすがに疲労の色は隠せない。。

Ruby Committers and the World

Rubyコミッタたち同士での壇上議論。コミッタたち同士の会話(それも in-person)を垣間見れるなんて、なんていう貴重な機会!

メモし忘れなどがなければ、議題は以下のようなものだったと思う。

  • static barrier について
  • Namespaceについて
  • 4.0ではどんな機能をdeprecateしたい?
  • 後方互換性を無視していいならなにをかえたい?
  • Rubyを作るのにLLMs使ってる?
  • sharable_middle_substring がずっとオプションの状態だけど?

貴重な機会、なんだけど...、、うーん、わからん!!w でも、ひとりひとりのコミッタは全員が全員 "無敵超人" というわけではなく、そして Matz も言っていた「ここ(壇上と徴収の間を指出しながら)の距離は結構小さいと思う」、というのも、確かにそうなのかもしれないな、きっとそうなんだろう、と感じさせてくれる不思議な(そして心地の良い)距離感を感じることができた。

またもやCRE談義

メインホールでの聴講がおわり、会社の同僚といっしょに再び @sasata299 さんと CRE について立ち話するお時間をいただけた。さらにさらに、@shiori_peace さんや @UVB_76 さんとランチをご一緒させていただけることにも!

CRE文脈で気になっていたあれやこれやを聞くことができた、とても充実した時間を過ごすことができました。これぞ "廊下" トーク...!!

Road to Go gem

go でつくるnative extention のお話。@sue445 さんには以前から Pixela で大変お世話になっているため、そして僕も普段は Go を書くこともある、ということもあり、聴講をさせていただいた。そして登壇後には「お疲れ様でした」と直接お声がけをすることもできました。個人的には大満足です。

Matz Keynote

そしてトリは Matz のキーノート!AIとプログラミング、そしてAIとRuby。ううーん、さすがに引き込まれるなぁ、終始 "うんうん" と首を上下にさせまくっていた気がする。

そして Closing Session では特大のお土産として、「今年のクリスマスには Ruby 4.0 を出してもいいんじゃないか」「次回 RubyKaigi 2026 の会場は函館」という、初出しの情報も。さっそく手元で「岡山から函館への行き方」を調べる自分がそこにはいました。笑

RubyKaigi 2025 Uchiage by Sakura internet

Day 3 は、さくらインターネット主催の "Uchiage" イベントに参加。

たくさんのおいしい料理に舌鼓を打ちつつ、ここでも、Nature社やMIXI社、primeNumber社、そしてもちろんさくらさん、といったいろんな人と話すことができてとてもおもしろかった。

3つ前の所属だった はてな の方も多く来場されていて、その中のお二人とやいやい話すことができたのも、とても良い出来事でしたね。

Day 4 - 2025年4月19日(土)

Day 4 という名の、愛媛を離れる日。毎日あっちこっちを歩いたり電車に乗ったりしていたせいで、かなり土地勘はついてきたけど、お土産物屋さんとかごはん屋さんといった、いわゆる "観光" っぽいことは全然できていなかったので、この日はそれをする日に。

ちなみに、愛媛・松山にはまた近いうちに絶対に家族で来たいな!と思ったので、松山城とかそういったスポットは敢えて訪れないようにして......。。(後ろ髪を引かれる思いでした)

朝。いつも通り朝湯をいただいたあと、ふと、会期中たびたび僕のTLを賑わせていた "朝ラーメン" のことを思い出し、足を運んでみることに。

tabelog.com

あいにく席は満席だったのだけど、すぐに空きそうな雰囲気もあったので店の前に立って待っていると、どこからか RubyKaigi のTシャツを着た方がやってきて、そのまま話をし、ラーメンもご一緒することに。その後の会話で、Railsチュートリアルなどに貢献されておられる @hachi8833 さんであることが判明。束の間でしたが、とても良い時間と会話を楽しむことができました。もちろん、ラーメンも超絶おいしかったです!

会期中、調子にのっていろんなノベルティをいただいたのはいいけれど、もう手荷物が限界突破してしまっていたので、近くのスーパーでもらってきた段ボールに詰めて最寄りのコンビニから自宅へ発送。なんとか半日、松山の街を彷徨ける状態になったのでした。

その後は、改めて鯛めしをいただいたり、家族から頼まれていたお土産を探し求め彷徨ったり、とても良い雰囲気の喫茶店でクリームソーダをいただいたり、と、残り少ない体力を自分なりに有効活用できたかな、という感じでした。

またね松山!👋

おわりに

以上、日記的にあれこれを書いてみました。いちおう、今回の自分のスケジュールは以下のようなかんじでした。

rubykaigi.smarthr.co.jp

自分にとって初めての RubyKaigi 参加でしたが、終始たいへん体験がよく、とても良い思い出として残ったイベントでした。こんな素晴らしい会をつくり、運営をしてくださった関係者の皆様、本当にありがとうございました。

ここ10年くらいは、土日に趣味の延長として参加するような勉強会はあれど、今回のように平日にがっつりと、業務として参加することのできた勉強会はなかったな、と、ふと思い返すなどしました。と、いうのが、直近10年弱は基本的に biz サイドという立ち位置で、業務としてがっつりそうした場に行くことがあったとすればそれはブース出展対応とかで、それはそれで楽しく、達成感も(そして疲労も...w)得られる仕事なのですが、今回のような規模・複数日開催の技術イベントに「いち参加者として」その場にいる、というのは、初めてといってもいいくらいで、しかもそれが RubyKaigi という最高の場だ、ということは、こんなにも素晴らしいことなのかと、心の底から思いました。

多くの情熱を浴びた。多くの宿題(この文中 # TODO)もできた。多くの人と会話をし、今の仕事の取り組みについて改めて確認しなおすこともできた。RubyKaigi に、とはいわずとも、また多くの人の前で自分の話を聞いてもらいたい、という気持ちが再燃したのを感じることもできた。

公私ともに、前に進もう、進まなきゃ、という、もともと持ってはいた気持ちが、いちだんと強いものになったように思っています。やっていくぞ!