よもやま話β版

よもやま話を書きます。内容はぺらぺら。自由に書く。

参加記録・東京Ruby会議13「緞帳のうらがわ」

regional.rubykaigi.org

東京Ruby会議13は劇場である「座・高円寺」で開催されました。素敵な赤い布張りの椅子に座ると、カンファレンスに来たというより「観劇」しに来たという気持ちになりました。一部は記録をとってもよい・実況してもよいという案内もありましたが、こういう立て付けならばスマホ電源OFFが潔かろうと思い、珍しくPCも出さず、ゆったりと聴講できました。


うらがわの景色

RubyKaigiのうらがわのお話。自分もRubyKaigiへルパーでわずかにうらがわを齧らせてもらっていたり、Kaigi on Railsの運営側を2周ほどしているので、挙げられたタスク類がどういうものかというのを多少認知できているつもりです。それでいて、数字化された記録などをみると、やはり凄まじいアウトプットだなと…。出来るだけボールを持たないようにしたい+落ちているのが気になる+それらを実際に捌くことができる、ということの究極のお話を聞けました。レベル感として強弱はありつつ、周囲にそういうタイプの方はちらほらおられるので、何かロードバランス可能な仕組みが必要なのではと思うのですが銀の弾丸にも思い至らず…、まだまだこの話には向き合っていかないとなと思いました。 あと会議のスパンと長さはなんだか心当たりがありました。やっぱりそうなんだ〜…!

うちがわのうらがわ

Rubyコミュニティのうらがわのお話。別途、Kaigi on Rails文脈や、北陸Ruby会議01でもお話を聞く機会がありましたが、Rubyコミュニティがうまく回るための土台としてアソシエーション(意味としての"団体"、固有団体名でなく)が存在し、常に「自由であれ」というメッセージングをしてくれているというのは文字通り"有難い"ことだなとしみじみ感じました。社会の力学をシビアに見ると、利益があるかどうか・有利かどうか等、やっぱり資本主義なのでどうしても出てくるのですが、それらの悩みが軽減されているのは「日本Rubyの会」のおかげだなぁと思うのでした。最後の詩の紹介も素敵でした。コンセルトヘボウ、とはなんなのか気になってうっかり調べてしまったのですが、野暮だったかもしれないなぁと反省したのでここには書かないでおこう。

緞帳が上がるとき

"発表は創作活動である"という観点は、言われてみるとそうだなという驚きがありました。新要素を盛り込む、ストーリーを作る、締め切りギリギリまで苦心するというのがプロのエンターテイナーだし創作者だなと思いました。エンターテイメントは、ある程度事前知識があるとより面白いと感じられる*1ので、金子さんの発表を楽しむための知見(Rubyのあれこれ)がすでに自らにインストールされているのはとても僥倖なことだなぁと思いました。自分ももちろん振り落とされる人間のひとりですが、想定通りのようだったので「あっ、振り落とされていいんだ」と安心できました。今後はより積極的に落下したいと思います。ラストにモクローとのインタビューが始まったのが伏線回収としてサイコーでした。


ほか、幕間にはみなさんが持ってきた歴史的な貴重な品々も見れたりして、テックトーク増し増しのカンファレンスでは味わえない空気感を楽しませていただきました。また、最近は特に理由もなく燃え尽きており(シンプルに季節に身体が追いついていないだけかもしれない)、色々が手につかず悶々とするという感じの日々でしたが、再起動する元気をもらうことができました。ありがとうございます!やっていきましょう。

それにしてもCFP募集多いな…コミュニティが元気なのはいいことだ!

*1:友人に「聖☆おにいさん」をオススメしたら「なんにも面白くなかった。だって宗教とか知らんし。」と言われ、メタ知識って大事なんだな…と思ったことがあることからの持論

RubyKaigi 2026 一般参加記録

北海道函館市で開催された「RubyKaigi 2026」に一般参加しました!

https://rubykaigi.org/2026/

RubyKaigi 2026会場前にあったロゴ看板
今年のロゴは五稜郭にちなんだ星型

函館サーモン・まるなまアリーナ
会場外観。奥にもう一棟ある。

函館アリーナと函館市民会館の建屋2棟づかい、という広々空間で驚きました。人生で北海道は2回目でしたが函館入りは初でした。RubyKaigi に行くという年習慣もこれで4年目となり、会期の無理のない過ごし方が分かってきた気がします。

副読ツールとしてのAI

これまで、知らない単語・用語が出てきても、変数のように仮に記憶しておいて話を聞き続けるくらいしか手段がありませんでした。今回は不明点を都度AIに質問することで、その場でもう少し理解を深めつつ聴講できた手応えがありました。講演中のスピード感についていくには、インターネットで複数の記事をあたってみるのは時間がかかりすぎますが、AIが出してくれるサマリーであれば、サッと目を通してまた講演の内容に集中するということが可能だと思いました。

セッション備忘録(自分用)

RubyKaigi 2026 でたくさんセッションを聞きました。ありがとうございました!

  • The journey of Box Building
    • Ruby4で注目機能のRuby::Boxについて。自分に一番近いユースケースとしてはやはりテストケースでしょうか…。困った時にぜひトライしたいです。”THINGS HAPPEN SUDDENLY”のエピソードが印象深かったです。
  • Funicular: A Browser App Framework Powered by PicoRuby.WASM
    • Webで動くなにがしを飯種にしていることもあり、ブラウザで何かしら動くというのに大変興味があります。Lチカ on ブラウザに心惹かれました。binding.irb が動いたのが衝撃。
  • Exploring RuboCop with MCP
    • 仕事での本格AI活用がRubyKaigi後に波がきており、MCPも調べる機会がやや増えつつあるので、改めて聞いたらもっと理解度が深まりそうです。RubyのSDKが年内v1.0を目指しているとのことでありがたい。
  • Guide to getting started walking source codes of CRuby
    • 「CRuby QUEST」ゲットしました! 書籍は”はじまりの村”がParser編で、え…それはラスダンでは…? とも思いましたが、発表で聞いたTIPSに従って進めればこわくない! AIギャルにアシストしてもらいつつトライしたいです。
  • Building a Standalone Ruby Programming Environment
    • 発表前に基盤が売り切れた “Harucom”、その自作基盤だけで発表するというのが超クールでした。これが本当の自作PC…! 今後の展望がまだまだありそうで圧倒されました。
  • Lightning Talks
    • 容赦ないドラと次々繰り出される濃い話題、LTの醍醐味ですね。この話題はLTで本当によかったのか…?30分語るべきでは…? と何回思ったか分かりません。
  • Twenty Years of JRuby
    • 200X年代の黎明期からのJRubyの歴史を聞いて感慨深くなりました。65 attendees というサイズ感にも驚きました。RubyからJavaのエコシステムを呼べる環境があるというのはしみじみありがたい話です。
  • Surviving Black Friday: 100 billion requests with Falcon!
    • FalconでBFCM(ブラックフライデーとサイバーマンデー)を乗り超えた話。1000億越えのアクセスというのがちょっと想像がつかない…。それを捌く手段がすでにあるというのが素晴らしいですね。
  • A Faster FFI
    • Rubyの速度を求めるのにも、ネイティブ拡張を書いて速くするか、Rubyを書いて速くするか。その2択からRubyを選ぶのはロマンだし、実現されているのがクールでした。ZJIT + FFX で C拡張より1.4 倍速いとのこと。
  • Practical TypeProf: Lessons from Analyzing Optcarrot
    • TypeProf実行で出た669エラーをゼロにする過程のお話。669と聞くと自分は匙を投げたくなるのですが、Claude Code に多くの行の対応を任せたと聞くと細かい作業は秒で終わらせて大局に集中できる時代になったんだなと思いました。
  • The future of Ruby documentation
    • RDocのアップデートのお話。開発シーンにもはやAIは無くてはならないところまで来ていると思うので、Ruby周りのドキュメントがよりAIフレンドリーになることはすごく良いことだと思いました。
  • Ruby Committers and the World
    • AIをコミッターのみなさんがどう捉えているか、どう活用しているかというのを具体で聞く機会となり、貴重でした。また前半のRubyの意思決定の話で「興味のない人の合議制はよくない」という話題はあらゆるシーンで同じ問題があると感じます。じっくり考えていく価値のあるテーマだと思いました。
  • The Less-Told Story of Socket Timeouts
    • TCPsocketのtimeoutの歴史について、分かりやすい解説を聞くことができました。APIだけ生きている、ユーザが渡す引数は準備してあるけど処理に使っていなかった…という状態があったというエピソードに、OSSも生き物だなぁと感じました。
  • Ruby Releases Ruby
    • Rubyリリースのお話は30周年パーティーでも触れられていたので、その歴史を鑑みると2週間に1回というのは凄まじいペースですね。「Rubyのリリースを全部Rubyで書いてる」というのもロマンだと思います。
  • PicoRuby for IoT: Connecting to the Cloud with MQTT
    • ESP32に継続して取り組むyuuuさんの発表。IoT実現の過程でRubyistの名前がチラホラ登場するのが、OSSらしくてエモさを感じました。マーブルランのカウントアップ実演がとても良かったです!
  • Lightning-Fast Method Calls with Ruby 4.1 ZJIT
    • JITの大きな進化は単なる改良ではなく新戦略の採用にあるということを改めて理解しました。一度到達した成果をあえて手放し、新たなアプローチに踏み切るというのはすごいことですね…。ZJITの読み方は「ゼットジット」ではなく「ジージット」。
  • Matz Keynote “Meet Spinel”
    • Matz氏のAIとの関わり方の最新動向。「コードを1行も書いていない」とのこと、AIとの協業の成果の凄まじさを目の当たりにしました。自分もRubyKaigiの直後くらいから、業務でClaude Codeを使う機会が回ってきました。現在本格的にバイブコーディングに取り組んでいますが、今回の発表に勇気をもらいました。

函館の思い出の記録

本編も学びが多いのですが、RubyKaigiをきっかけに全国津々浦々の体験ができるのも醍醐味ですね! 少し印象に残ったことを記録しておきます。

桜満開の五稜郭

開催タイミングが桜前線と合っており、五稜郭を見ることができました。星型の城郭があるというのは小さい頃読んだ歴史図鑑の知識で知っていましたが、実際に来訪の機会を得られるとは思っていませんでした。

ラッキーピエロ

函館に行くならラッキーピエロ(通称ラッピ)に行くべし、というのは各方面から声を聞いていました。が、ノー調査で函館に向かったのでどんな雰囲気のお店かというのも列に並びつつ把握したという次第で、何はともあれナンバー1セットを注文。甘辛たれのチキン唐揚げとシャキシャキレタスの「チャイニーズチキンバーガー」、ポテトにミートソースとチーズソースがたっぷりかけてありラザニアがある「ラキポテ」、ソフドリとして「本物ウーロン茶」を堪能しました。めちゃ美味しかったです…! ラキポテはサイドの顔してるけど、これはカロリー的にはメインに並ぶのでは…? や、考えちゃあいけないんだこういうのは…。

湯の川温泉

今回の宿泊はこたつハウスに参加させていただきました。会場近くの湯の川温泉エリアの旅館にて、大部屋複数人の宿泊でした。各日の終わりには温泉にゆっくり浸かることができ、翌日の英気に繋がりました。温泉パワーってすごいな…。企画主こたつさん・一緒に泊まってくれたみなさんに感謝!

やんちゃBarへ突発ラッピ自主宅配

Day0の夜、ご飯会から帰宿するタイミングで、宿泊企画でお世話になっているこたつさんのつぶやきが目に止まりました。

ちょうど市電に乗っているところで、昼にラッピを調べたことを思い出し「次の駅の近くに店舗があったな…」と気付きました。

時刻は21:15頃、ラストオーダー21:30、駅→ラッピ店舗まで徒歩10分というのを車内で調べ、ギリいけると判断し途中下車。ラストオーダー5分前に店舗着というベストタイミングでうまく持ち帰り注文できました。(笑顔で対応いただいた店員さん、ありがとうございました…!) 我ながらめちゃくちゃタイミングと判断が良かったです。また、駅と駅との間のわずか数分であらゆることを調べられる端末が手元にあるというのは凄いことだなとしみじみ思ったできごとでした。

配達先のやんちゃBarは連日多くのRubyistsで賑わっていた様子です。自分もDay1, Day2とお邪魔して美味しいビールをいただきました。とても素敵空間でした!

RubyIlluminations 2026

恒例のpixivさん音楽イベント、今年は発表セッションも聴講できてパワーアップ! 「Rubyに関する光・音・映像」がテーマとのことで、RubyKaigi本編とはまた趣が違ったRubyの魅力を浴びることができました。個人的に人を楽しませる・面白いと思わせるアウトプットにすごく興味があるので、こういうことが出来るんだ!というのを知れたというのが大収穫でした。

Lightning Talks on Hakodate Tram(の、目撃)

五稜郭まで向かっているとき、ちょうどLTイベントをやる電車が通過する時間であるということに、連れ立っていたかわかみさんがナイスタイミングで気付いてくださいました。楽しそうなRubyistsの様子を外側から激写できました!

Async Cafe Workshop

「Surviving Black Friday: 100 billion requests with Falcon!」の発表で紹介されていたのをキッカケに、思い切って4/25(土)のAsync Cafe Workshop 午後の回に参加しました。”あらかじめコーディング支援ツールを利用出来る状態に (bring a laptop with a coding assistant set up and ready to use. )” とのことで、直前にClaude Codeの課金を始めてたのがタイムリーでした。会場がshioyamaさんのカフェだということを知らず驚きました。カフェラテや、マーマイトのトーストなどいただき、とても素敵な時間を過ごさせていただきました。思い返すと、このワークショップが自分のバイブコーディングの初トライだったと思います。各々Livelyでゲームを作ってみましょう、とのことで自分が学生の時にトライした16パズルの実装をClaude Codeに任せたところ、ものの1時間足らずで動くものが出来て感動しました!

カフェラテが16分割されてパズルになってブラウザ上に表示されている様子
Lively製の16パズルの様子(2タブ・完成前/後)


会期終了後、毎週色んな物事に追われまして遅くなりましたが、5月中に備忘録を書けてよかったです。2026年も楽しかった! 来年は宮崎!

祝・Rubyリリース30周年

Rubyリリース30周年パーティーに参加しました。

rubyassociation.doorkeeper.jp

以前、25周年*1の時に行った記憶があるのですが、振り返ると、その時はあんまりまだRubyコミュニティのことを知らなかったです。

RubyKaigiにも全然行っておらず*2、高橋さんが高橋メソッドの高橋さんであるとは知らなかったし、MINASWANという言葉も知らなかったし、Rails Girlsにも参加しておらず、 Kaigi on Rails はまだ始まっていない時でした。

思えば色々あったな…。と感慨深くなりつつ、今後のRubyの展望がたのしみになる会でした。

以下、会を思い出すための自分用メモです〜

  • Ruby コミュニティの30年
    • Rubyの歴史を今年は聴く機会が多かったなと感じましたが、自分が足繁くRubyイベントに行ったのと30周年というのが重なったという要因がありそうです。リリース時のやりとりが残っている、とてもロマンがあるなぁ…。「側で見てるより参加する方がたのしい」、まさにそうで、何かしら自分もトライをしていきたいなと思いました。
  • ZJIT: The Ruby 4 JIT Compiler
    • 日本語で聞けるZJITの話! やはり難しかったですが少し輪郭が捉えられたような気がします。CとRubyの行き来のないほうが良いとのこと、2026年Cをちょっと書きたい気もしているので、ちょっと意識しておきたいです。
  • お楽しみコンテンツ その1
    • なんとDHH氏からのお祝いメッセージ!ヒアリングを頑張ったところ、知っているフレーズがいくつか聞こえてきて、これはRailsDoctrineで読んだやつ…!となりました。読んでてよかった。
  • 歴代リリースマネージャ座談会
    • リリースの変遷が、その時々の開発ナレッジの変遷と並行している様子から、歴史を感じました。紡がれてきたリリースが今も定期的にあるからこそ、安心してRubyを使えています!感謝…!🙏
  • Unboxing Ruby Box
    • 大注目の機能ですね!特にテストでの利用シーンが自分も恩恵を受けられそうな身近な例だなと思いました。困ったシーンで積極的に活用したいです。ふわふわクマちゃんがBoxを持っていてカワイかったです。
  • お楽しみコンテンツ その2
    • なんとhttps://www.ruby-lang.org/ のページのデザインが一新とのこと、スペシャルサプライズでした。モダンで、Rubyコミュニティの「たのしさ」を感じる素敵なデザインですね!
  • 日本Rubyの会: これまでとこれから
    • Ruby周辺のコミュニティ関係の人をどんどん壇上にあげてコメントをもらうスタイル。改めてRubyコミュニティの活発さをひしひし感じました。
    • (関ヶ原の将は誰になるんだ…!?気になりすぎる)
  • たとえばこんな Ruby の未来
    • まだまだ新規アイデアがこんなにもたくさんあるということは、進化の余地があるということで、素晴らしいことだなと思いました。ボッチ演算子&&.は魅力的だなと思いつつ、そんなにつなげるなら何かしらメソッドにするか処理を見直したほうがいい、という話にも納得。

めでたいね30th

島田さんの発表のなかで one of KoR オーガナイザーとしてコメントさせていただくシーンがありました。ド緊張して前もって考えたセリフしか言えませんでしたが、お祝いを伝えることができて感無量でした。ありがとうございました!

Ruby30周年スタンプの押されたミニ封筒とお祝いメッセージのカンペ便箋
頭真っ白になるとおもってお祝いの言葉は便箋に書いてました。封筒に現地でスタンプを押させていただきました!

会の中で、ところどころ「狂気」というキーワードが出てきたのがとても印象的でした。自分も2025年を振り返ると、TRICKだしたり、RubyRFIDタグを読んだりしてましたが、我に返ってたら立ち止まってしまっていたシーンが多かったような気がします。いろんなことに取り組むコツは、うまく正気を失いつつ(?)走ることかもしれません。

来年も健康に気をつけつつ、後ろ向きな正気を減らして、前向きな狂気に還元していきたいなと思いました。がんばっていくぞ💪よろしくお願いします!

*1:https://25.ruby.or.jp/ 2018年の25周年記念イベント。25周年は「Rubyという名前が決まった1993年2月24日」(https://xtech.nikkei.com/atcl/nxt/column/18/00001/00110/) が起点となっており、今回の30周年は「バージョン0.95がリリースされた1995年12月21日」が起点になっている。なので"リリースパーティー"なのですね!

*2:実は京都にだけ行ったけど、色んなインプットをして混乱しながら帰ってきた覚えが少しある、うーん初学者だった…。

北陸Ruby会議01 備忘録

北陸Ruby会議01 に参加しました!

regional.rubykaigi.org

自分は実家が石川県にあるので、宿泊先の実家からイベントに行くというのがなんだか不思議な感覚でした。会場の図書館は自分が実家を出た後にできた(2022年夏に開館)したため、初来訪でした。車で送っていってくれた母、感謝🙏

石川県立図書館の内部
うわーっ利用者登録したい(いまは近隣住民じゃないのでダメ)

北陸内外から多くの発表が集まり、たのしく拝聴させていただきました。純参加者として1トラックに集中できた体験、久しぶりかもしれない…。

以下は簡易に、自分用メモです。

セッション感想メモ

  • 日本Rubyの会の構造と実行とあと何か: 日本Rubyの会の在り方そのものがRubyっぽい、ということに大納得。普段からたのしさを享受させてもらっていますが、そのための土台の大変さにありがたみを改めて感じました。あと何か、の訳が "And Something Nice" なの、カッコよすぎるな〜。
  • Ruby で作る大規模イベントネットワーク構築・運用支援システム TTDB: Interop Tokyoの話はチラと聞いたことはありましたが、支援のためのシステムがRails製というのは知りませんでした!ネットワーク構成図と数字に圧倒されました。
  • 計算機科学をRubyと歩む 〜DFA正規表現エンジンをつくる~: 正規表現は普段からもちろんお世話になってる仕組みではありますが、自作できるという発想自体が目からウロコでした。学習ツールとしてのRuby、手に馴染んでるということはおだいじ。
  • Ruby DSLMinecraftを改造できるようにする 〜パパのRuby、娘のMinecraft: 衝撃のプレゼンツール、マイクラ!「透明化ポーションを飲みます」面白すぎました。具体で提示されたコード例にもメタプロのエッセンスが詰まっており、大変勉強になりました。
  • Rubyで鍛える仕組み化プロヂュース力: 仕組み化を趣味で!?一発で格好良くきめない、実利を得る…という言葉は何かに拘泥しそうになった時に思い出していきたいです。「レビューの隙間」埋め、とっても大切。
  • Rubyで作る静的サイト: 並べて語ってもらうと、色々と選択肢があるんだなぁと改めて驚きました。自分はJekyll派ですが、Digital Garden とか Obsibianが気になってるのでやはりBridgetownにも着目というところです。
  • Kaigi on Rails 2025におけるsubscreenの実装について: KoRで大変そうだなと思ってはいましたが、改めて具体話を聞いて脱帽。QRコードでのデモ、技術選定、命名…あらゆるところに粋を感じました。流石です。
  • Ruby受託事業マネジメントの10年: 平田さんには実はお仕事でもお世話になったことがありまして…その節はありがとうございました…! また、Rubyのイベントで必ず目にする提供画面といえば永和さんですね。語っていただいた10年の厚み、しみじみ感じ入りました。引き続きよろしくお願いします!
  • Rubyで守るわが家の安心:IoTセンサーネットワーク『ゆきそっく』の実践」: 9年の実績!?システムもバチバチに実用的で感服しました。ウチにもつけたほうがいい気がする…。
  • 猫の健康を見守りたい!実践 Raspberry Pi + Ruby: 猫写真をみなさんに大画面でお見せできて満足しました!詳しくは別記事で。
  • 与信管理を形にする:Rubyの柔軟性が支える高速データ収集・自動化基盤: 表記揺れのツラさ、自分も心当たりがあるので頷きの連続でした。ビジネスロジックに注力できるRubyはやっぱりイイネ…!
  • rack-attack gemによるリクエスト制限の失敗と学び: 実はタイムリーに困ってるシーンがありまして…。故郷で解決案に出会えるとは!実務的にガチで勉強になりました。感謝!
  • Rubyで楽してタスクを書きたい!: タスクランナーって作れるんだ…!?と本会何度目かの驚きと発見がまたしても。タスクと襷のかかったネーミングtaskiが素敵です。新たな知見がまたひとつ…。
  • STYLE: タイトル通り、聴講者各々の「スタイルの違い」強く実感しました。違いを理解しつつ、受け入れて進んでいこうと思いました!圧巻のツアーファイナルでした。
  • 30歳を迎えたRubyの魅力と僕たちの今、そしてこれから: RubyRailsだけでなく、いろんな周辺世界を見つめながら活動されてきたからこその視点のお話でした。自分がまだ北陸にいたころと変わらぬwtnabeさん節、堪能させていただきました。「やってみよう!失敗しよう!笑おう!」、勇気づけられました!

楽しかったです!感謝!

自分はまあまあ出不精なので、実はなかなか関東以外の地域rbに行けていません。しかし今回なんと故郷方面、これは行くしかあるまい、ならば憧れのCFPも出したい出すぞぉ、エイエイオウ。の心持ちでトライしたところ、なんと発表の機会までいただくことができ、思い出深い1日になりました。

引き続き、たのしいRubyの使い方を研究していこうと思います💎

開催してくださった北陸rbのみなさま、参加してくださったみなさま、どうもありがとうございました!

おまけ・ふるさとはいいぞ

東京に出てきちゃってますが、地元大好きなので、翌日は満喫して帰りました。

8番らーめんの「唐麺」
東京に8番は無いので1回の帰省につき2回以上は8番に来店しないと満足できない。なんなら季節限定の酸辣湯麺を食べ損ねたので満足していない。

尾山神社の「神門」
尾山神社(の門の写真)。前田利家公とお松の方を祀っている 。初詣のときはハチャメチャに混むけど普通の土日はゆっくり見れる。近隣の小学生の写生大会のテーマにされがち。

池にかかった橋の様子
尾山神社境内にある神苑。昔こんなんやったっけ…?いいがになった気がする。

落ちた紅葉が溜まった池
神苑・別アングル

日本庭園を望む風景
尾山神社の裏手から鼠多門橋を渡ると玉泉院丸庭園に出られる。コロナ禍後に帰ってきたときにイイ庭園が出来ててビックリした。(2015年完成)

建物の上に設置されている、定規を天に向かって掲げる男のブロンズ像。
兼六園の真弓坂口と向かい合うように建つ21世紀美術館もオススメスポットです。これは常に21美のてっぺんに居る「雲を測る男」。

天井に穴が空いている石造りの部屋
21美内の無料区間にある部屋、ブルー・プラネット・スカイ(通称:タレルの部屋)。本当は雪が積もった日にくると一番面白い。静かで落ち着く。これがチルいというやつなのか。

石畳と土塀の路地。土塀には藁で編んだ覆いがかかっている様子(こも掛け)
香林坊からはバスに乗って近江町市場へ直行する人が多いかもしれないが、西側にちょっと足を伸ばすと長町武家屋敷跡があり、かつての城下町の面影をみることができる。そぞろ歩きが好きな方にオススメ。

発表補足余談「猫の健康を見守りたい!実践 Raspberry Pi + Ruby」

2025/12/06、北陸Ruby会議01にて5分LT「猫の健康を見守りたい!実践 Raspberry Pi + Ruby」を発表させていただきました。今回のテーマは「みんなのRubyの使い方」ということで、Rubyのtech寄りな話でなく、使った成果物にフォーカスした発表とさせていただきました。 聴いてくださったみなさん、ありがとうございました!

https://regional.rubykaigi.org/hokuriku01/

(発表資料URLが後日ここに入ります)

speakerdeck.com

5分に精一杯詰め込みましたが(※早口で喋った結果30秒くらい余ったけど)、時間都合上細かい余談が入らないと判断し、ブログ記事に逃しました。 超ド級の初心者がIoTをやろうとして困ったことの備忘録として記します! ご笑覧いただけますと幸いです。

これは発表スライド内のBESTオモシロ&&キュート画像・猫の後頭部

買ったはいいがラズパイの電源が無い

一念発起した際に、以下のアイテムを購入しました。

  • Raspberry Pi Zero 2 W
  • NFCタグ(10枚入り)
  • micro USB - USB A のアダプタ
  • USBカードリーダー

いざ届いて Raspberry Pi Zero 2 W に繋ごうと思った時、電源を供給する microB のアダプターが無いことに気付きました。改めて振り返ると、初心者うっかりでございました。

USBのリーダーモジュールは未対応

すでに上記の買い物リストでお察しですが、最初はUSBのカードリーダーを購入しまして、ラズパイに接続→動かない・なぜならWindowsとかMac向けなので…、ということがありました。そもそもリーダーとして何を購入するかというのがド素人としては第一関門でした。選択肢として、今回発表に使用した PN532 とは別に RC522 というモジュールもありましたが、ChatGPT曰く猫首輪につけるタグとの相性としてPN532が良い、というアドバイスに従って再購入をしました。

このラズパイにはピンが無い

さて PN532 が届いたことで意気揚々と繋ごうと思った段で、今度はラズパイにピンが無いことに気づきました。

  • Raspberry Pi Zero 2 W → GPIOピンヘッダーが無い(最初に買ったやつ)
  • Raspberry Pi Zero 2 WH → GPIOピンヘッダーがある

Wireless の W、そして Header の H らしいですね、なるほどな。 ピンヘッダー単独で売ってたのでそれを買いつつ、はんだ付けの過程で壊したらどうしようという気持ちがあり、おとなしく WH のほうを買い直したりしました。(なので今、家に遊ばせてるラズパイがもう1台あるんですよね。ピンのハンダ付けは必要だけど…さてどうしようかな…。)

ラズパイ <-> PN532 の接続

線を繋ぐところも分からなかったので、ChatGPTに画像を出してもらったりしたのですが、まるきり嘘の画像を出してきたので配線にはちょっと難儀しました。Webで改めてピン配置図を探し、接続しました。

  • ( ラズパイ ←→ PN532 )
  • 1 (3.3v) ←→ VCC ※5v(2番)のほうがいいのかも?(未検証)
  • 3 (GPIO 2) ←→ SDA
  • 5 (GPIO 3) ←→ SCL
  • 6 (GND) ←→ GND

また、PN532上のスイッチは「1」のみON ( I²C モード ) としています。スイッチはめちゃくちゃ小さいので、ピンセットでカリカリして動かしました。

Raspberry Pi Zero 2 WH と PN532 が接続されている様子
配線の様子

大きく接写したPN532と、サイズ比較用の1円玉
この小さいスイッチを I2Cモード にする必要がある

買ったはいいがタグが使えない(周波数)

色々買い足す時に、タグも急ぎ2〜3種類ゲットしたのですが、いざ試す時になって使用不可のタグがあることに気付きました。 リーダーが出す周波数に合うタグでないと読み取れないためです。(よく考えてみると当たり前…。)

Amazonで「RFID タグ」のようなキーワードで出てくるタグでは、次のようなものが見られます。

  • 125kHz, 134kHz → LF帯 ( Low Frequency: 低周波 ) → 猫の登録に使われるマイクロチップはこれらしい
  • 13.56MHz → HF帯 ( High Frequency: 高周波 ) → 交通系マイナンバーカードなど。 ※PN532にはこれ。
  • 860〜960MHz → UHF帯 ( Ultra High Frequency: 超高周波 ) → 倉庫とかで使われてるタイプ

何も分からず適当に買ってしまったタグが 125kHz のもので「わ〜なんでや動かん」と困っていた時がありました。勉強になった。

必要なライブラリとか環境構築

備忘録ですがこんな感じでした。※要らないものも入れてたりするかも…。

$ sudo raspi-config
# → Interface Options → I2C → Enable

$ sudo reboot
$ sudo apt-get install -y i2c-tools
$ sudo apt install libnfc-bin
$ vi /etc/nfc/libnfc.conf
device.connstring = "pn532_i2c:/dev/i2c-1"

$ sudo apt-get install -y libusb-dev
$ wget https://github.com/nfc-tools/libnfc/releases/download/libnfc-1.8.0/libnfc-1.8.0.tar.bz2

$ tar -xf libnfc-1.8.0.tar.bz2
$ cd libnfc-1.8.0
$ ./configure --prefix=/usr --sysconfdir=/etc
… 
$ make
…

#  ※ruby-nfc > ffi が、C拡張のコードを含むので、ruby3.1-dev が必要。
$ sudo apt install -y ruby3.1-dev build-essential libffi-dev libnfc-dev pkg-config

$ sudo apt install -y libfreefare0 libfreefare-dev
$ sudo ldconfig   # 念のためライブラリキャッシュ更新

$ sudo gem install ffi --no-document
$ sudo gem install nfc --no-document

読み取り距離の対処

読み取り精度の工夫が一番難しかったです。

(1) コンデンサをつける

コンデンサをつけ、電圧の変動を防ぐと安定するという記事を見かけ、つけてみました。 47μFの電解コンデンサと、0.1uFのセラミックコンデンサをハンダづけしました。

コンデンサをはんだ付けした後のPN532のウラ・オモテ
はんだ付けの苦労の跡がおわかりいただけるだろうか

発表でMAX3cmとお伝えしましたが、コンデンサをつけた上でのMAXなので、つけない場合はもうちょっと読み取り距離は短いかもです。(つける前の動作をもっと確認しておけばよかった…。)

コンデンサはネットで買おうとすると100本単位とかのレベルで注文になってしまうので、秋葉原千石電商でお買い物しました。 47μF * 3個、0.1uF * 3個 で合計135円税込。安い…! 一桁数レベルのコンデンサはインターネットで買うのは良くないなと学びました。

(2) ひたすら首輪にお裁縫

発表準備の内容としては、ひたすらタグを縫い付けるためのお裁縫をしていた記憶が多いです。タグは真ん中に配線のないエリアがあるので、そこに針を刺し、チクチク縫います。すあまの首輪はCatlogのシュシュ生地を使っているので、縫い付けやすいのですが、サラさんの首輪がフェルト製で硬いので縫い付けが難しかったです。また塗ってるとタグのシートが裂けてしまい、破損して読み取れなくなるということもありました。もう一工夫、なにかできないものだろうか…。

シール上のNFCタグを猫の首輪の内側に縫い付けている様子
ひとつ縫っては猫の為…。

裏側に6枚のNFCタグが縫い付けられた猫首輪
サラさん用の首輪はオモリが無く、首すじカイカイの動きですぐ回転できるのでほぼ全周取り付け

白猫のバストアップ写真。迷子札カプセルとCatlogをつけているのがわかる。
すあま(白猫)は迷子札カプセルとCatlogを装着させてるので、重みで首輪位置が固定されている。ので、PN532設置方向にのみタグをつけている。

(3) 猫たちの姿勢を観察

読み取り距離MAX3cmの範囲で、2匹の猫を検知可能にするというのも難易度が高かったです。 観察の結果、すあま(白猫)のほうは頭を天井に寄せ気味スタイルで出てくるのに対し、

すあま出現シーン

サラさん(キジトラ)の方は頭を低めに下げつつ出てくるのです。

サラさん出現シーン

最終的に、出入り口のエリアの上・端に制限を設けることで、両猫共に無理やりモジュールのほうへ寄ってもらう形にしました。 この工夫後、さらに読み取り成功確率がUPしました。

自動トイレ出入り口のサイズを段ボールを貼り付けて制限している様子
苦肉の策(物理)

PN532と壁面の間に、紙でつくったバネを挟んでちょっと浮かせて距離を稼ぐ、など。

読み取り距離の対処(失敗) デカいPN532を海外から取り寄せたけどダメだった話

読み取り距離を上げるためにChatGPTと色々とやりとりする中で「検知モジュールがよりデカければ良い」という発想がありました。実は elechouse から PN532 の"External Antenna" があるバージョンが出ています。

https://www.elechouse.com/product/pn532-nfc-rfid-module-w-external-antenna-updated-version/

これを発見したとき、すでに北陸Ruby会議01のLTに採択いただいていたので、やれる努力はすべてやる、の気持ちでポチーッ。滅多に無い海外からのお取り寄せ・送料込み $44.70 (約7000円) でゲット。 11月中旬に無事届きました。

これがPN532 の w/ External Antenna!

読み取り距離の改善に大期待したのも束の間、テストの結果、読み取り可能距離は 2.3cm でした。既存のPN532(コンデンサ付き)のほうが成績が良いです。冷や汗を感じながら、コンデンサの有無のせいでは…と思い、はんだ付け後に再トライしましたが、結果は 2.6〜2.9cm までにとどまりました。結局、元々使ってたノーマルなPN532の方が良い、と判断してお蔵入りとなりました。苦い出費…。良いのだ、トライが大事だから…。 ( 今思うと 3.3v 供給してたからか? 5vにして再検証しても、いいかもしれないな…。 )

Q: そもそも自動トイレで区別つくのでは?

今回入り口にPN532を設置した猫トイレは、PetSnowyという自動トイレです。これにも猫の体重測定の機能があったりしますが、今回の主要利用を想定した2猫、すあま & サラさん の体重差が僅差(200gくらい)でして、頻繁に誤判定してしまうという状況があり、別の手段を探したという経緯がありました。

ありがとうございました!

ふとした思いつきでしたが、故郷での発表機会をいただいたこともあり、一通りの実現を挫けずやりきることができました。実際に、白猫のトイレ事情のチェックに役立っています。Sinatraに表示させる情報にまだ工夫の余地があったり、首輪のタグが壊れて検知できなくなったりする場合もあったりするので、引き続き日々活用しつつ改善を回していきたいです。ありがとうございました!

書き散らしコードはこちら: https://github.com/betachelsea/cat-sensor

ChatGPTに描いてもらったけど、あまりスライドで出番のなかったアイコン画像↓

白猫・キジトラ・三毛のデフォルメ画像

RubyWorld Conference 2025 備忘録

2025/11/6-7、島根県松江市で開催された「RubyWorld Conference 2025」に参加しました!

2025.rubyworld-conf.org

2回目の参加でした。キャリーケースを引いて行くタイプの土地に複数回来訪するということをあんまりしない人生を送ってきたので、「ここ知ってるぞ」という感覚を持ちながら街を歩くことが新鮮でした。今年もRubyの聖地・松江でRubyに関する発表をたくさん聞けてとても楽しかったです。ありがとうございました!

セッション備忘録(自分用)

色々な学びをいただいてきました、ありがとうございます! いっぱい書いてると無限に終わらないので手短に…。

  • スモウルビープログラミング甲子園 × WEB
    • 学校で使えるようにWEBブラウザ版にするという決断とそれをRubyでやりきれる状況が整っているというのが素晴らしいと感じました。ゲーム好きなのでこういう話題は楽しいし憧れます。
  • Sanarei: Offline Web Browsing with Ruby
    • フィーチャーフォンからITサービスを使う為にUSSDという手段があるということを初めて知りました。世界に目を向けると銀行を持っていない人インターネットに接続できない人が想定以上に多くいることに驚きがありました。Sanarei の語源も素敵です。( https://sanarei.com/ )
  • スケールする組織をモジュラーモノリスで制する
    • 継続的な改善の可否とチーム編成のつながり、意識できていなかったので良い気付きが得られました。またビジネスサイドとの納得を得る為に定量的なメリットを提示するというのは必要なことなので、CIの数でそれを証明できるというのはTIPSとして将来のために覚えておきたいです。
  • DXを加速させる“Ruby人材育成の鍵” ― 新卒9割超の開発組織を支える、育成ノウハウの裏側を徹底解説
    • 自分もFBCメンターの活動をやっているということもあり、1行を説明するための裏側の知識がたくさん必要ということに大きく同意します。1対1で9割超を教育というのはなかなか教育する側がハードなはずで、どうやって教育時間を捻出したのかというのは結構気になりました。一度履修した人がメンターに回るのかな?
  • 事業継続マネジメントを支えるRuby
    • 開発チームに憧れてカスタマーサポートから開発畑へ、そして今たのしそうに活動内容を語っておられる姿がとても眩しかったです。やりたいことを見つけて実際に取り組まれているというのは素敵だなぁ。「年に1〜2回開発者がいなくなる」確かにそう。
  • RubyとGoでゼロから作る証券システム:実際に開発してみて良かった点と辛かった点、そこから得た学び
    • Bloomo証券アプリの役割について、お金との接点でRubyとGoで分担しているとのこと、説明を聞くとかなり合理的で納得感がありました。こうして作っているんだよというお話を聞くとシンプルにいち利用者として使ってみたくなりました。
  • Rubyコミュニティの30年
    • 歴史を振り返るとともに、直近にRubyistが気になってソワソワしていた事柄がしっかり盛り込まれていた基調講演だったと思いました。語られた物事に対して中庸な落とし所が提示されたように感じ、これが話に聞く “優しい終身の独裁者” ということなのかなとしみじみしました。
  • PicoRubyをはじめるグッドタイミング
    • 自分も実感として最近組み込み系でRubyを使おうという試みの発表を目にする機会が増えているなぁと感じておりました。羽角さんとまつもとさんのお二人が並んで壇上に立っている様子が楽しそうなのがとても印象的でした。Lチカは情操教育!
  • PicoRuby で拓く電子工作の世界
    • 「作ってみたい」から「作った」でラジコン、キーボード、FMラジオと色んなものにチャレンジされていて凄い! 同人誌も出ていてさらに凄い! 羽角さんの発表でも感じましたが、電子工作系はトライしてるひとがとにかく楽しそうです。盛り上がりを感じる要因のひとつなのでは。
  • RubyでLLMアプリケーション開発を支える基礎技術
    • 日進月歩の凄まじいLLM界隈、利用するばかりで作成のほうの調べが全然できていなかったので、RAG・MCPといった用語も初耳でした。テンポのすごい発表の中から拾ったキーワードを少し探っただけでも、LLMを活用した開発の黎明期が来ている様子を感じとれました。ビビってないでちょっと触りはじめてみないとな…。
  • 本日のおすすめテストの作り方- 忍者式テストのテスト抽出アルゴリズム
    • 毎回テストを全部回さなくていい、ある期間で全部回れば良い…というのは言われてみれば確かにそうですね。新規を優先する・テスト頻度の設定が可能などの工夫も20年間運用され続けている秘訣なのかなと思いました。
  • コードのように台湾語を解析:Rubyによる白話字ローマ字の3段階解析法
    • よく考えるとParserはソースコード構文解析をするものなので、つまり構文があるものは解析できるわけで…。ゆえに、台湾語のParserがあっても不思議ではなくむしろ自然に思えました。Conferenceでの刺激が実務に活かされている実例に感動しました。
  • メタプログラミングRuby問題集の活用
    • 実地検証された問題集がこうしてPublicに公開されているということに感謝です。仕様の文章を元にコードを書くのが謎解きっぽくてかなり面白い!基調講演でも ”バグは天然のパズル” という話があったし、プログラマーって謎解きが好きなニンゲンの集まりなのでしょうか。
  • Tangible Code:Rubyで「見て・触れて・変えてわかる」コードのしくみ
    • Rubyで素敵な作品をたくさん制作されているchobishibaさんの発表!ちょうど卒業制作されている頃の写真をx.comにて見かけて気になっていたので、詳しい解説付きで伺えて・しかもWeb版に実際に触れることができて感激しました。インタラクティブなアート、たのしい〜!

そしてNext

Rubyと観光を満喫して帰ってきましたが、来月「北陸Ruby会議01」にて5分の発表枠をいただいておりまして、それの準備がまだ完了しておりません。この1ヶ月は発表準備に注力します。がんばるぞ…!!!しまった、まだ北陸新幹線の席をとれていない。

おまけ・観光メモ2025

プライベートの都合で運転免許証を今年夏からリブートしまして、運転パワーを手に入れたので人生初・旅先でレンタカーを借りての移動にチャレンジしました。他の方をお誘いするか迷いましたが、まだ初心者マークを取る自信も無い状態で大切なRubyistの命を預かることはできないと考え、今回は一人旅を満喫しました。案の定迷いまくって時間を食い、また行きたいところが多すぎてどこも急ぎ足の観光となりましたが、ドライブ練習にもなったしヨシ。楽しかったです!

  • 高速道路
    • 首都圏の2〜4車線くらいある道路でここしばらくは運転していたので、久しぶりの1車線逃げ場なしの状況に手汗がすごかった。いつもの戦法「こちとら初心者なので!追い越してってください!」が通用しないので頑張って速度出した。2回くらいゆずり車線が出現して少し助かった。
  • 神存月の出雲大社
    • 出雲大社を目的地に設定するとめちゃ渋滞にハマるので、最初から麓(?)の駐車場を目的地にするべきだった。八重垣写真館臨時駐車場前の道路がすさまじく詰まっていた。混雑を抜けた後、アップルパーク出雲大社前第1の駐車場がなんと3枠まとめて空いてたので、ド真ん中に停めさせていただく初心者ムーブをキメた。今回の旅はとにかく駐車運がめちゃくちゃよかった…。ありがとう神在月
    • 去年、2礼・4拍手・1礼のお作法を習っておいてよかった!
    • 交通安全のアイテムはお守りスタイルでなく木札として売っていた。もちろん買った。
    • 神社前のスタバで限定IZUMOマグの白・緑を購入。素敵なめのう柄。赤は売り切れ。店員さん曰く神在月は売り切れになりやすいらしい。来年また迎えにくるぞの気持ち。
  • ベタ踏み坂
    • 積極的に行くつもりはなかったが、出雲大社水木しげるロードのルートとしてナビが「通れ」とおっしゃるので行った。目視で見るとすごいけど、実際に通ったら思ったより緩やかだった。都内のコストコららぽーとの立体駐車場を登るほうがつらい。
  • 水木しげるロード
    • たくさんの妖怪たちの銅像があちこちに!水木しげる夫妻像がロードのちょうど真ん中あたりにあってステキだった。偶然ご旅行中のご夫妻に写真を頼まれ、快諾したは良いがスマホでなく立派な一眼レフを持たされて緊張。上手く撮れただろうか…。
    • 幼馴染の友人から「ゲ謎の克典社長をすさまじく推してる店舗があるから見てくるように」とのミッションを拝命していたのでチェック。確かにすごい量の克典氏のぬいぐるみが店舗の一角を占有していた。すごいものを見た…。
  • お菓子の壽城
    • 滑り込みで来店し、会社と自宅用にお土産をゲット! 昨年買った「しじみのチーズサンド」、本当に美味しくて、今年もリピートしました。お酒のつまみの味がします。
  • 皆生温泉
    • 折角なのでラグジュアリーなところで一泊と思い宿をとったところ、海が想定より近いオシャレ立地で驚愕。さざなみの音が聞こえる宿での寝泊まり、良い体験でした…。
  • 唐崎商店(味噌らーめん専門店)
    • 宿泊先手配でもお世話になったこたつさん(感謝!)に、お腹すいたとつぶやいていたらオススメのお店をサジェストいただきました(感謝感謝!!)
    • 肉味噌らーめんを頼んでから「いやまてよこの店の推しトッピングはどうやら味噌漬けチャーシューだぞ」ということに後で気づきオプション追加。柔らかホロホロで最高でした。チャーシュー麺でも良かったな。
  • すなば珈琲
    • 米子空港内の店舗で最後の一服。ご当地珈琲店とのこと。ロゴが可愛い。Tシャツやトートバッグに誘惑されたが、もはや出費がまあまあ出てた+荷物を預けた後だったのでぐっと耐えた。ラクダのクッキーがカワイくて美味しかった!

飛行機の窓からの写真、ちょうど写真中央よりやや上に写っている橋が「ベタ踏み坂」のはず。 いや〜、たのしかった〜!

Kaigi on Rails 2025 運営参加備忘録

2025/09/26〜27 に開催された Kaigi on Rails 2025 に運営側として参加していました。ご来場されたみなさま、ありがとうございました!

https://kaigionrails.org/2025/

Kaigi on Rails 2025 の会場に設置されたパネルボードの写真

何してた

関係者の宿泊先確保、カスタムスポンサー、受付、同時通訳レシーバー配布対応を主に担当していました。 運営側にjoinして2年目ということで、2024年度よりも色々と可動域を増やした年になりました。 同時通訳レシーバー配布対応については、RubyKaigi 2025での対応経験が活きました。 ちなみに、最後に呼びかけさせていただいていたレシーバー返却については、おかげさまで全機返却を確認できました。ありがとうございました!

同時通訳レシーバーの機械と貸出状況管理付箋の写真
EN→JAの同時通訳レシーバーを配布していました。KoRのレシーバー配布は2025が初の試み。

セッションメモ

例年の如く一部となりますが、聴講できてよかったです!

  • そのpreloadは必要?──見過ごされたpreloadが技術的負債として爆発した日 (Day1 14:10〜14:25)
    • "N+1はpreloadで解決"というのは推奨されがちですが、落とし穴は当然あるよという話で、気が引き締まりました。見直し重要…!
  • Railsアプリケーション開発者のためのブックガイド (Day1 14:35〜15:05)
    • 自分が愛読している本もありましたが、圧倒的多数の未読本の紹介を聴き、知識の泉が広く深いことを改めて感じました。「脳に収まるコードの書き方」気になる。

なんでDay2の聴講メモが無いんだろう、と思ったら同通レシーバー対応でソワソワしてて聴きにいけてなかったようです…。発表者の方がすでに資料をたくさんあげてくださっており、それをつまみ読みさせていただいています…! 毎年いい資料が発生していて、やっぱりこういうカンファレンスあってよかったなと思う次第です。感謝。

そして来年へ

Closingで発表がありましたが、来年はベルサール渋谷ガーデンにて、2026/10/16-17 の開催です。2025もまだ締まってないのですが*1、すでに動き出していますので、準備をすすめていきたいです。また、来年もうちょっと身のあるCFPも出したい*2と思っており、引き続きやっていきの気持ちです。よろしくお願いします〜 🙏

*1:会計系の対応がございます。やりとりさせていただいているみなさま、どうぞよろしくお願いいたします…! 🙇

*2:今年は出すところまでいきましたが内容が弱かったので反省の極み。また1年、学びを進めていかねば。