トップ 追記 RSS feed

HsbtDiary


2026/04/22 (水) [長年日記]

ルートインで朝食

今回は流石に大浴場がないとダウンする、ということでルートインの大浴場ありの宿にして夜にヘロヘロのまま帰宅して朝に大浴場で少し復活、って感じのループ。

ルートインなので朝食はついているんだけど、他のルートインと比較して洋食向けの献立が少ないようなきがしてややイマイチではあったなあ。和食の方が人気だから、というのはわかるといえばわかるのだが。

RubyKaigi 2026 Day 1

あれ、この日は Day 2 だっけというくらい Day 0 から密度が高すぎるのだけどこの日は Day 1 で初日。

朝は市電で会場に向かって @kakutani の出迎えを受けて入場、今年は 9:30 スタートとなんか早い展開なのでブースの状況だけ軽く確認してすぐにメインホールへ。

毎年やってるオープニングでの「今回初めて RubyKaigi に来た人」の質問で結構な数の人が手を上げていたのでいい話である。一方で、「今年はもういいかな」という人がどれくらいいるのかも気にはなる。

キーノートはモリスさんで、なぜキーノートと函館なのか、という裏話と Box というよりは Ruby のインターナルのコードの読み方という話で「各位、ちゃんとドキュメントを書くように」って内容で良かった。特に C の方だけど、これ何の略?みたいな変数が異様に多くて typo check も間違えて検出するくらい謎名称が多いんだよねえ。

RubyKaigi は"仕事"の時間なので Day 0 に続いてブースの方に移動して持ってきた 30周年記念パーティーのスタンプを置いてから、アンドパッドのノベルティの一つのサイン帳に Matz のサインを書いてもらってから展示を開始。そうこうしているうちにこの日のランチとして提供するラッキーピエロが到着したのでその準備へ。

このラッキーピエロ、 RubyKaigi にフルに参加していると食べに行く時間がないよね、と用意したのだけどラッキーピエロセットが400届く想定でいたら、セットを構成するハンバーガー400、ポテト400、ドリンク400、紙袋400...とバラバラに届いてブースメンバーを総動員してバイトよろしく詰め込み作業をひたすらやって、羽角さんと自分が渡す、というのをやっていた。

流石にブースメンバー含めて全員がヘロヘロになったけど、受け取った人からは喜んでもらえたようでよかった。この後は遅れてバーガーセットを食べつつ、西嶋さんや aki さんと最近どうすか、って話をしつつ本屋を眺めたりしていた。チャイニーズチキンバーガー、一口食べた時に「うま」って言うくらい美味しかったので自分のわがままで選んでよかった。

そうこうしているうちに Edouard の発表の時間になったので応援へ。大体やってきたことは知っているので新しい何か、はないけれどリリース頑張っている、というのを褒めてもらえたのはよかった。こんな感じに RubyGems でやってることを発信していかないとね。

その後は1日目が終わった後の観客の流れに流されて公式パーティー会場に向かうバスに乗って移動。マグロの解体ショーがあったけど、行列が異様に長くて並ぶのも疲れるし、空いた頃でいいや、と思っていたら無くなってしまった。夕食はそれほど食べる元気はないのでいいっちゃいいのだが、一口くらいは食べておきたい気持ちはあった。

まだ2日目???(Day1です)って感じで疲れ果てていたので、国際ホテルの隣にあるハセスト&セコマの旗艦店を見学しつつ、軽く買い物してからタクシーでホテルに戻ってこの日は終わり。あまりにも疲れて市電乗り場まで歩く元気すらない。


2026/04/21 (火) [長年日記]

羽田空港から函館空港へ

22日から始まる RubyKaigi 2026 に合わせて毎年やってる前日のミーティングに参加するために朝の5時から空港に向かって移動開始。

ラウンジまでは普通に過ごして、7:30のフライトに合わせて 7:00 ちょいすぎに搭乗口に行ったらなんかざわついていて、アナウンスで管制トラブルで前のフライトが飛んでおらず、自分が乗る飛行機はその後に飛ぶ、とだけ伝えられて何も動きがないまま待機することになってしまった。

結局自分のフライトは 9:30 には飛ぶことができたのだけど、インターネット、というか JAL の公式サイトを見ても全然情報がないし、空港でも8:30くらいになってからやっとホワイトボードに状況を説明したものが掲示される、みたいな感じで顧客対応としては最悪だなーってなった。トラブルがあって遅れる、ということよりも状況を伝えられてないってのがなんだこりゃって感想。

フライト自体は飛んだあとは1時間ちょっとでシュッと着陸。前日から話題になってた転職ドラフトの広告幕も見ることができたのでよかった。何を使って市内に行ったもんか、と考えていたところに江森さんなどがいたのでタクシー乗りますかねえとか話しているうちに駅行きのバスが来たのでみんなでそれに乗ることにした。

駅に着いてから流石に腹へった...と駅前にあったラーメン屋へ。予定ではこの時間にちょっといいもの食べに行く予定だったんだけど、この塩ラーメンはこれはこれで美味しかったのでよしとする。この後にトランクをホテルに預けようと思い、市電に乗って五稜郭公園へ。歩いて行ける距離かなあと思ったけど流石に無理だった。

RubyKaigi 2026 Day 0

ホテルから会議の会場へは再び市電で、と思ったけど全然市電が来なくて間に合わんなこれ、となったのでタクシーを使って移動した。

開発者会議、Ruby コミッタが集まっての会の前に RubyGems の開発チームでいくつか話しておこうというのがあり、例の件だけど〜とか今後のでかい変更点で〜とかそういう話をざっくりとディスカッション。特に重大な意思決定ということはなく、主に顔合わせ中心だった。何かまとめたり公開した方がいいものは後で出す、かもしれない。

後半はいつものって感じではないが Ruby 開発者会議へ。

https://bugs.ruby-lang.org/issues/21916

いくつか Ruby 本体にこういう機能を入れるのはどうすか、というのがあったのでその辺を議論。自分は、というと毎年 frozen_string_literal はデフォルトにいつなるのか、みたいのを見るので Matz に素朴に今の気持ちを話してもらうために無茶振りしていた。

大体話終わった後でアーリーチェックインをするのに合わせてブースの状況を確認しに行ったら、積み重なるソフトカツゲンを見ることができたのでよかった。この時点で相当にヘロヘロなのだけど、ホテルにチェックインしに市電で移動。

アンドパッド主催の前夜祭へ

ホテルにチェックインして、コミッタ向けのノベルティや持ってきた荷物を部屋に放り込み、そのまま必要な荷物だけを手で持って前夜祭の会場へ。

前夜祭、毎年定番になりつつあるけど、これは海外から来た参加者が時差の関係でドリンクアップに申し込めなかった、とか日本語わからんのでいいものを食べに行くのがしんど、とかそういうのがあるので優先的に枠を用意して入れるようにという会なのだった。

そのため、国内からの参加者の枠はだいぶ少なくなっているのだけど、それに加えてフライトの欠航が重なってキャンセルかつ繰り上がりがめっちゃ発生して「これは歩留増えるとやだなあ」と1日の結構な時間を使って、早めのキャンセルよろしく!とか「繰り上がったので来てくれ!」とかをしてなんとか9割くらいの参加にすることができてよかった。

料理はどれも美味しかったのと、今まであまり話したことない方と結構話すことができたんだけど朝からヘロヘロカツカツでなんか挨拶はした気がするけど何も記憶がないまま帰路についてばたりと寝てしまった。


2026/04/20 (月) [長年日記]

Bundler の orverride 仕様を考えていた

日本にいち早く到着した byroot が https://byroot.github.io/ruby/bundler/2026/04/20/bundle-features.html というブログエントリを公開していて、パフォーマンスもだけど Bundler でほしいのはこの機能、として

  • 依存 gem のバージョン制約を上書きする機能
  • 依存 gem A をそっくり B に置き換える機能

の2つを解説していて、その理由は Gemfile とそれを使ってどう動かすかは Gemfile を持っているユーザーの権利だから、ということが述べられていて、それはそう、となったので仕様を検討してみた。

もともと、https://github.com/ruby/rubygems/pull/9454 として required_ruby_version などだけに限って無視する機能は用意していて、毎年 Ruby の新しいバージョンのリリースのたびに「grpc がインストールできんのだが」とだるいのを回避するための手段ではあったのだけど、byroot が希望しているバージョン制約を上書きする機能にマージすることにした。

また ufuk がすでに https://github.com/Shopify/bundler-ignore-dependency として bundler plugin で実現する PoC も用意しているのを知ったので、この実装や各種提案、ブログエントリと共に claude と壁打ちしながら「こんなんでどうすか」というのを用意した。

https://github.com/ruby/rubygems/discussions/9494

長い英語よくわからないのが多いけど、関連する議論を claude に入れて、論点洗い出して、それはAを採用する、考慮することは?... などと2-3時間やって仕様を固めた後に「で、これ作れるの?」という質問に「作れます」と断言してきたのでよしとして公開するという順序で作業した。

一旦 byroot に感触を聞いてから実装に進もうと思う。

NEWS.md 更新ツールが実行毎に footnote を更新するのを直した

claude に作らせた NEWS.md にバージョン差分と releases を追記するツールが、実行するたびに NEWS.md を A から B へ、B から A へ、を繰り返し更新するような挙動になっていたので「直せ」と指示して直した。

https://github.com/ruby/ruby/commit/6e9ad14db9260090aa5f055d6ed123632efdf75b

どうやら state が変わり続けるような実装になっていたのが原因らしく、固定するようにしたことで収まったようだった。

北海道行きの荷造り

21日から1週間以上北海道に行くのであれこれ荷造り。宿泊を伴う旅行に出かけるのは減っているとはいえそれなりに蓄積はあるので、着替えと macOS/iPad、充電回りだけ放り込んであとは汎用の旅行グッズで準備は完了した。

ただ、せっかく日本に来る友人/知人に何かお土産を、と用意したものを詰め込み出したら一人用のトランクケースだと全然ダメだったのでサイズを大きくして入れ替えなどしていた。旅行、行く前日が一番憂鬱なんだよなあ。