RubyKaigi 2025に参加した

今年も行きました。今年は所属しているGMOペパボ株式会社からチケット代、旅費宿泊費を支援していただきました。ありがとうございます。

アフターのイベントでDJとして音楽をかける係をやったりもしたけど、それはこっちで。 uvb-76.hatenablog.com

準備

今年も同僚とタイムテーブル眺めるランチとセッションを一つ絞って予習する会を開いた。

聞いたトーク

Ruby Taught Me About Encoding Under the Hood

情報伝達の歴史から始まり、符号、文字コードの世界の話から自身の経験、そして、現在取り組んでいるUnicodeのアップデートの話と、ima1zumiさんのあまりにも丁寧なキーノート。初学者や初めてRubyKaigiに参加するような方々も置いてけぼりにさせないという優しさを感じた。

絵文字を繋ぐ制御文字が存在するのは知っていたが、grapheme cluster (書記素クラスタ)は初耳だった。エディタなどのカーソル制御はこの書記素クラスタの単位で移動させないとずれちゃう。という話だったはず。

$ irb
irb(main):001> "👨<200d>👩<200d>👧<200d>👦".length
=> 7
irb(main):002> "👨<200d>👩<200d>👧<200d>👦".grapheme_clusters
=> ["👨<200d>👩<200d>👧<200d>👦"]
irb(main):003> "👨<200d>👩<200d>👧<200d>👦".grapheme_clusters.length
=> 1

Continuation is to be continued

Shibuya.rb や Gotanda.rb で触りの話は聞いていて、RubyKaigiでも話せそうな内容だよな〜と思っていたらちゃんとプロポーザルが通ってたので嬉しくなった。正直関数周りのところは詳しくなくて、ついていけないところもあったけど...

speakerdeck.com

Shift Reset についてはここら辺の話であってるんだろうか。 mametter.hatenablog.com

How to make the Groovebox

Rubyでシーケンサとシンセを実装したよという話。音が鳴るのは楽しいので聴きに行った。

VCP VCF ENV VCAの音鳴らすためのあれこれを素朴に実装がなされていてちゃんと理解していないとかけなさそう。かっこよい。

The Implementations of Advanced LR Parser Algorithm

  • IELRパーサーのアルゴリズムを論文を頼りに実装していく話。

「4つのDo」よかった。

  • keyword do
  • keyword do cond
  • keyword do block
  • keyword do lambda

Ruby Committers and the World

  • Static バリア
    • 2020のRubyKaigiで話されてた最適化のため、プロセスグローバルで宣言後にイミュータブルにする設定

Analyzing Ruby Code in IRB

https://docs.ruby-lang.org/ja/latest/doc/spec=2fcontrol.html#BEGIN BEGIN { 初期化ルーチン } の記法しらなかったので学び。

Matz Keynote

今年のトークでは話題に上がらなかったAIの話。逆にRubyKaigiでAIの話しようとするの結構むずいのではと思ってしまう。ベクトル検索周りとか?

Reverse Alpha Syndrome の話が結構印象に残っている。

https://xtech.nikkei.com/it/article/COLUMN/20050831/220318/

 しかし,考えてみると不思議です。どうしてプログラマはコンピュータのドレイのように働かなければならないのでしょう。一体いつ私たちはコンピュータの主人としての立場をあきらめてしまったのでしょう。  その原因は一種の「アルファ・シンドローム」にあるのではないかと私は考えています。アルファ・シンドロームとは,犬のしつけに際して発生する現象で,あれこれと世話を焼いてくれる飼い主のことを犬が勘違いして,自分がボスである,飼い主よりも自分の方が偉いと認識してしまうことです。  コンピュータもいろいろと手がかかります。システムを設計するのも大変ですし,またプログラムにはいくつもバグが発生します。仕様変更が発生すればそのたびにプログラムを手直ししなければならないですし,バグがあれば直してやらなければなりません。  そうやってあれこれ手をかけているうちに,いわば「逆アルファ・シンドローム」が発生して,主従関係が逆転する,それがプログラマがいつまでたっても「コンピュータのドレイ」あるいはせいぜい「コンピュータのお守り」になりさがってしまいがちな理由ではないでしょうか。これは人間の習性からくる必然なのでしょうか。

ブース

ペパボのブースもたくさんの人が来てくれたので良かった。周りにスペースがある場所を割り当ててもらっていたので、ブースの中に立ち入りできる形だったのがとても良かった。もし両隣が他社ブースだったら結構運用を考える必要がありましたね。

生活

Day -1 (4/14)

自社でRubyist Bulk Loadという、東京からフェリーで四国(愛媛じゃなくて徳島)までRubyistを運ぶイベントが Day -1 から企画されていた。公式サイトに Day -1 という概念を持ち込んだイベントは初めてじゃないか。イベントページの一番上に掲載されてお得(?)

で、自分は先に飛行機を取ってしまったので乗船しなかったのだけれども、陸から見送った方が面白そうと思ったので退勤後にそれの見送りをしに東京港のフェリーターミナルまで向かった。東京テレポートの駅からレンタルサイクルを漕ぐと着きます。

参加者から話を聴く感じ、とても濃い楽しい時間を過ごすことができてそうだったので、いつか機会あればフェリー旅も考えてみたい。

Day 0 (4/15)

朝一の飛行機でフェリーを追い抜き松山へ。道後温泉近くにとった宿にバスで向かい、荷物を預けた後にノープランで観光することにした。ちなみに観光のために有給休暇をとっている。

ひとまず大街道にあるアミューズメントパークMGに直行し弐寺行脚。周りが静かでbeatmaniaをやる分には良いゲーセンで、カゴノトリDPAにハードついて嬉しかった。その後、DD4Dが午前中から開く情報を手に入れたのでお土産用の缶を買いに行くのだが、この缶は会期中どこかのタイミングで行方不明となる。

お昼は@nemunemu3desuさんとかどやの鯛めしを食べた後、一人で松山城へ。リフトがめちゃくちゃ楽しくてはしゃいでた。

夕方に会場に向かい、受付済ませたり自社のスポンサーブース設営をできるところまでやったりご近所への挨拶回りを済ませたり。

夜はJR松山駅前のゲームセンターでotoge.rbの集い。Speakerが3人もいる贅沢な空間であった。個人的には @373_3 と RubyKaigi 2019 ぶりに挨拶できたのが嬉しみポイント。そのまま同じメンツで大街道のRubyKaigiの広告の下に向かったら、別のドリンクアップをやっていたRubyistの集団とエンカウントし、RubyKaigiが始まってきたなー、というのを感じていた。大街道でotoge.rbのメンバーで酒をのみ、平和に解散した。

自分はその後、あらかじめ見つけていたバーでジンを飲もうと向かっていたら、2025年のホットスポットであるところのThe Tapの真上ということが判明。そして同僚がThe Tapに存在している情報を得て吸い込まれ、軽く飲んでこの日は脱出。

エンプレスのエルダーフラワーローズが美味しかった。

Day 1

早起きに成功したので道後温泉本館でおふろに入った。温泉、というよりはお風呂に入れる歴史的建造物という感覚で、ゆっくりはできなかったね...(面白体験ではあったのでよしとする)。会場では本屋で文字符号の歴史と伝わるコードレビューを買った。文字符号の歴史、ニッチで濃い本で読み応えあった。伝わるコードレビューは2025年今すぐみんなに勧めたい本No.1です。 お昼は同僚と温泉街方面を彷徨い、飛鳥湯向かいの定食屋に雪崩れ込んでことなきを得た。結構数が少ない。夜はオフィシャルパーティの後、大街道で飲んで割と平和に解散。

Day2

お昼は同僚と温泉街方面を彷徨った結果、うどん屋に滑り込んでことなきを得た。夜はコードタクトさんのDrink upに参加し、大街道でいくつかお店を梯子したあとそこそこ平和に解散。

Day 3

どうにか早起きに成功したので、今度は飛鳥乃湯へ。こっちはだいぶ落ち着いて入ることができたのでよかった。道後温泉に向けて東京Ruby会議12のノベルティでタオルを配っていたのだけれどもどのくらいの人が使ってくれただろうか。

昼はSmartHRのみなさんとCRE進捗会議。去年のRubyKaigi 2024でCREってなんだろねーって話をしていたところから今年もほぼ同じメンツで最近どうですか?といった話ができた。今年はなんとa-knowさんにも参加いただき色々な話が聞けたのでとても嬉しい。ありがとうございました。

本会後はRubyMusicMixinへ。詳細は以前書いたとおり。

uvb-76.hatenablog.com

ラストの出番を終えた後、近くに宿をとっていた人たちでタクシーに乗合い。やんちゃハウスで小休止してからホテルに戻りましたとさ。

Day 4

チェックアウト時間の11時にフロントからの電話で起こされたので1敗...。チェックアウトを1時間延長してもらいどうにかした。 この日も何も予定を立てていなかったので、ぼんやりしながら空港行きリムジンバスの時刻表と睨めっこして予定を立てて、下灘に行くことにした。JRで1時間くらいのんびりすると着きます。下灘そのものは完全に観光スポットと化していて面白かった。待ちのためのベンチが写真映えのためのアイテムとして使われている光景は複雑だったけど。

16時くらいに松山に戻ったあと、Day 0に買って行方不明になった缶をもう一度買うためにDD4Dの店舗を再訪。誰かいるかなと思ったけど、ちゃんとRubyistが集まっていて安心した。 @ioquatix さんが日本でDDR (Dance Dance Revolution)をしたいという話で盛り上がっていたので、来年ラウンドワンに連れていけたらいいなと思うなど。

最終便の搭乗時にバタバタしてたら同じ便に乗っていた炬燵さんに見つかり、流れで羽田のプロントでお疲れ様〜をして帰宅した。お疲れ様でした。

2026

いやーびっくりした。函館でもできるんだ、というのが正直な気持ち。市民会館だけだと絶対3トラック+ブースは無理だからどうするんだろうああと心配していたらアリーナも使うようでそこは安心した。今から駅前や本町の交差点、金森の倉庫群、五稜郭タワーや函館山がRubyistで埋まるところを想像するのは結構楽しみ。

ちなみに地理情報についてはある程度まとめた。 uvb-76.hatenablog.com

来年もなんらか関われたらいいですね。やっていきましょう。