はじめての RubyKaigi

2026年5月12日

日本Ruby会議2011

RubyKaigiにはじめて参加したのは2011、まだ日本Ruby会議という名前だった。当時のスケジュールをってみたらちょうどRuby 1.8と1.9のだったり、松田さんがRails開発のはなしをしていたりしておもしろい。バックアップから当時写真がでてきた。

そのあとPHPをメインで使っている会社にインフラエンジニアとして入社することになるのだが、当時は「Railsエンジニア」という肩書きで入社するはずで、入社式でインフラチーム配属発表されが「えっ」ってなってて、norioさんが「そんなのいてない」ってってておもしろかった。そのnorioさんは日本Ruby会議にデザイナーとしてわっていたりする。

写真:まつもとさんとはじめて撮った写真

RubyKaigi 2025

はじめてRubyKaigi壇上にたったのは昨年RubyKaigiのライトニングトーク。わたしはふだんRuby開発しているわけではないし、例年RubyKaigiではいつも壇上のプレゼンテーションをめているだけだった。

そんなとき、プレゼンはできなくても「プレゼンする」ということはLTのネタになるのでは、といついた。Rubyでの開発ネタは毎年あり、とくにゲーム定番のひとつだとう。またRabbitRubyKaigiでよく使われているRubyのプレゼンテーションツールだ。Raspberry Pi PicoPicoRuby標準的なターゲット環境であり、Raspberry Pi PicoをつかってDVI出力をするプロジェクト PicoDVIっていたので、つまりmrubyからDVI出力をうまく制御できれば、mruby画面出力可能になる。あとはRabbitをつくればプレゼンができる。ここまでは自然発想である。

一旦申し込んで逃げ道無くしましょう

こういうことは迂闊にツイートすることでをなくすことができる。sorah後押ししてもらったので、あとはプロポーザルをくだけだ。

mruby画面出力をしたい、という発想RubyWorld Conference 2024よりにはいついていて、hasumikinさんに相談したところ「Pico 2だったらできるのでは」ということだったので、Raspberry Pi Pico 2を使ってみはじめた。ちょうどいいことに、RP2350にはHSTXというDVI出力のためにあるような機能があってこれがかなりたすかった。

とはいえいろいろしかったので、プロポーザル時点でできあがっていたのは画面に "Hello, World!" できたところまでだった。RubyKaigi前週はアメリカ出張だったので、2週間ちょっとしかなかったがCursorのおかげでなんとかなった。LLMはこういうプロトタイプにはとてもい。

最終的にできあがったのはDay 1のおぐらい、夕方ぐらいにYuji YokooさんがRubyKaigi 2024の発表Dinosaur Game実装していたのをして、最後にこれを追加してコミットしてとりあえず完成とした。

このときの画面出力はかなり不安定で、最終的解像度を640x240にしてを2スケーリングすることでどうにかダブルバッファリングしてってるかんじだった。当時pico-examples のコードをほとんどそのまま使っていたが、mrubyかすと画面中央はグリッチしていて、はそこをけて文字配置したりしている。縦解像度半分にするアイデアは土壇場いついたが、LTがわったまつもとさんYokooさんしていたところ、のNECにも解像度半分にする200ラインモードというのがあったというのをえてもらった。

このときはにもできていないことはかなりあって、evalするのはめたし、発表練習する時間もなく、うまくいけば奇跡というかんじだったので、2くらいずっと壇上でゲームしつづけることになったが、とにかくうまくいてよかった。

RubyKaigi 2025 Follow up

ということで、RubyKaigi 2025ではじめて壇上つことになったわけだが、さきほどいたように、この時点でできていないことがたくさんあった。というのは松江hasumikinさんに相談していたことは「PicoRuby使って画面出力とキーボードをつくれれば、Rubyだけでコンピューターができないか」ということだったからである。ということで、そのアイデアをRubyKaigi 2025 Follow upではなした。このときのスライドにはDVI出力安定化のためにやろうとしていたアイデアがだいたいいてある。

Proposal をだす

松山にいたとき、RubyKaigi 2026のCFPに応募するというのはめていた。というのはRubyKaigi 2026とNext '26のスケジュールがってしまっており、登壇でもしないと函館理由がなくなってしまうからだ。そんなことを深夜道後温泉からの金子さんにした。

PicoRabbit後継にはHakodate Project名付け、まずはCでDVI出力安定化にチャレンジしはじめた。このHakodate Project、うまくいったかというとそんなことはまったくなかった。

RubyKaigi 2026のCFPに応募したあとも、受験がありプライベートも仕事相変わらずしく、あまり進捗ない状態だった。ここから進捗PicoPicoRubyのDiscordの #times-harukasan チャンネルをるとわかる。217時点でC実装って画面をアニメーションできただけであるが、昨年が2週間しかなかったなかで基板まで発注していたので、まあ2ヶ月あればどうにかなるのではないかとっていた。

このころにはClaude Codeがかなりくなっていて、ARMのアセンブリを直接けたり、mrubyのバイトコードをデバッグできるようになっていたのでかなりたすかった。

Harucom

プロトタイピングがすすみ、DVI出力、キーボード入力、オーディオなどCで実装できてきた。あとはこれらをmrbgemにしてmrubyめばできるわけである。もともとやろうとしていたR2P2D2の目標はだいたいクリアすることになる。

ここでもとにって、Rubyでコンピューターができないか、とえていた理由した。そもそも、Rubyでコンピューターをつくる理由は、自由えてしたいというのがある。

ほとんどのコードをCでいてmrbgemにしてしまえばそれが安定するのは当然であるが、そうするとRubyける部分がすくなくなってしまう。そこで、Cで部分最低限にして、Rubyのコードはすべて実行時にオンザフライでコンパイルすることを目指すことにする。

なるべくRubyくコンピューターを目指す。このプロジェクトがHarucomである。

Harucomにはいくつかの目標がある。ひとつめはmruby十分にうごくコンピューターをげること、ふたつめはR2P2D2の実現にむけて十分知見をためること、そして3つめはRubyKaigi 2026での発表成功させることである。

Harucom名前由来はいくつかあり、桃井はるこさんの名前由来にもなっているといわれているHAL 9000からとっているが、単純にHarukasan's Computerのでもある。harukasanというハンドルの由来桃井はるこさんとは関係ないけれど桃井さんに「はるかさんとはるこさんじゃん」ってってもらえたのはうれしい。

さて、実際Harucomのルートファイルシステムはスクリプトをえて再起動すれば破壊することができるようになっている。mrubyなんだからコンパイルしてmrbファイルだけおけばいいのに毎回コンパイルしていて富豪的だが、こうすることででも簡単すことができる。

これを実現するためにはかなりくのメモリが必要になることは明白である。RP2350について調べていくうちにPSRAMのサポートがわっていることをっていたので、PSRAM搭載した基板をつくることでこれを解決する。ここまでのえはRubyKaigi 2026のCFPに応募した時点ではまりきっていなかったので、提出したProposalではプロジェクトがR2P2D2のままになっている。

試作がうまくいっていたので、RubyKaigiではボードを頒布することにした。これでくのしてもらえれば、たくさん問題がみつかるはずである。ここまでの試作はうまくいっていたので、50発注したのが43。JLCPCBは発注からだいたい一週間ぐらいでできるので、よゆうがあるなとおもっていたが、製造工程問題途中部品りなくなり、到着予定日が421になってしまった。この函館移動する予定日だったのでまずい。サポートチャットに連絡して発送をDHLにえ、無事前週木曜日にはれた。

中国から届いた基板

土日学校保護者会があったり、ったりしたら時間がなくなり、ここにきてまで発現しなかった問題をひきあててしまって時間がなくなっていった。最終的徹夜作業して全品検査して箱詰めがおわったのは函館出発するのおくらいである。なんでこの有休をとっていなかったのだろうか。普通にミーティングしてて地獄になってしまった。もうしわけない。

Day 0: 函館着陸

月曜日移動日としていたことで交通のトラブルにはまれず、無事函館につくことができた。今回のおもしろいところとして、すでにソフトウェアはボードにんでいるので、前日作業ができないことがある。去年とはえらいちがいだ。

火曜日五稜郭をみたり、おいしいお寿司をいただいたりゆっくりすごすことができた。前回五稜郭にきたときは一面雪景色でそれもとてもしかったが、満開五稜郭はまたちがったしさがあった。

はスカラシップで参加いただいた学生との懇親会があった。そのあと炬燵さんがきりもりするyancya barでビールをいただいた。

Day 1: 登壇

Day 1はKeynoteからくことができた。午前中Harucom本屋さんに納品にいったのだけど、お昼過ぎには完売してしまっていた。まだBOOTHではっているのでよかったらってほしい。

写真:本屋さんで売っていただいたHarucom

そんなこんなで発表だったのだけど、発表前部屋荷物をとりにもどったところ暗証番号れてiPhone部屋においたままてしまいしをくらってしまった。偶然廊下hamachangさんがいらっしゃってyancyaさんをんでもらったところ、偶然ちかくにいたyancyaさんがすぐにてくれてたすかった。

発表前はどきどきしながら、廊下のスペースで練習していたが、かなくなってめちゃくちゃった。これは使っていたUSBケーブルのせいだとわかって、同僚急遽USBケーブルをしてもらってたすかった。

そんなこんなでいろんなにたすけてもらって無事発表わらせることができた。Harucomにはたくさんのこだわりがつまっているが、この日記があまりにもくなっているし、525にあるピクシブのアフターイベントすので、ぜひこれをきにてください。とにかく無事発表がおわってよかった。

Day 2: PicoPicoRuby

Day 2はコード懇親会共催されたPicoPicoRuby#12@コード懇親会参加した。事前にDiscordでリレーの使相談けており、そのリレーは秋月電子通商ってきたのだが、はんだづけしてもっていく必要があって、一旦部屋にもどってはんだづけしたりしていた。 コード懇親会にはテスターとか安定化電源とかをっていったのだけど役立っていたようでよかった。主催してくださったANDPADさんと須藤さん、ありがとうございました。

Day 3: RubyIlluminations

Day 3の恒例になりつつあるピクシブ主催のイベントがあった。今年無事開催できてほんとうによかった。くわしいことはpixiv insideにでもまたこうとおもうけど、会場にもめぐまれてすばらしいイベントになったとおもう。いのほかはやく片付けがおわってしまって、このもyancya barのラストにってしまった。

Day 4: 市電LT

写真:市電LTの出発点になった駒場車庫

Day 4はからSmartHRさんの函館市電LT参加した。京都でも叡電LTにったんだけどすごくおもしろくてまた参加したかったので発表枠しこんだ。電車内ではスクリーンが使えないので出力をどうするかという問題があり、HDMIモニターも函館っていたが、これはつかわずにディスプレイモジュールをつかうことにした。

Harucom基板0.96インチのOLEDディスプレイモジュール搭載できるようにしてある。これをつかってゲームをつくって、ゲームであそんでもらっている発表するスタイルにした。函館といえばイカ、イカといえばゲーム、というのは自然発想であるが、その商標をつかうことはLLMによって阻止され、函館イカりゲームという名前になった。イカりゲームけっこうよくできたとおもうのでんでみてほしい。自動起動りをちゃんとデバッグしてないけどいまはこのPRにあります。

そのいて函館観光した。箱館山立待岬からスタートしたんだけど、ちょうど反対側にある函館どつくからいてきた金子さんたちと中間にあるロープウェイ近辺再会しておもしろかった。

写真:市電LTの様子

写真:立待岬

写真:函館公園

写真:公会堂からみた景色

になりくなったのでWhite seedっておえて一杯いただいた。夕食のことはなにもかんがえていなかったがにいた地元にジンギスカンのおをおしえてもらい、hasumikinさんといただいた。一見するとふつうの居酒屋だったのでえてもらわないとたどりつかなかったとおもう。

写真:hasmuikinさんとたべたジンギスカン

はじめてのRubyKaigi

こういったかたちでRubyKaigi毎年しい発見があるし、全国をまわるし、もちろん毎回「はじめてのRubyKaigi」がある。今回はSpeakerとしてはじめての参加だったし、壇上がったのも去年のLTがはじめてだった。

RubyKaigi 2025の "Ruby Committers and the World" でまつもとさんが「壇上参加者距離はそんなにくないとっている」とったのをえている。もちろんこれはRuby CommittersRubyists距離のことをっているのだけれども、自分があがるともっていなかったRubyKaigi壇上にあがることになったのはなんだか感慨深かった。そのあと松田さんには「はるかさんはこっち人間だとってましたよ」ってわれたのもえているけれど、どこでそうわれたのかはよくわかっていない。

毎年いろんなことがこるんだけど、ずっと参加しているといろんなところでいろんなことがつながるのでおもしろい。すと日本Ruby会議2011の壇上でWindowsサポートについてキレているがいてなかんじだなあとっていたusaさんとは同僚となり、がはじめたプロダクトをえてもらっている。のためいておくとプロレスみたいなものとのことで本人非常にいいである。

そんなこんなでいろんなにたすけられながら日々きている。それでしたけど、今回はやんちゃハウスがにあって本当にたすかった。大量荷物かないといけなかったので、となりじゃなかったら無理だったとおもう。そのもあり毎日yancya barにめたのだけど、RubyKaigiビールをのむならyancya barが最高だった。としてはHakodate Ruby on Aleのほうがみだったかな。提供されるプラカップがどんどんでかくなってサイズ放題になったのがおもしろかった。

写真:Day0に苫小牧から到着したyancyaさん

これから

HarucomBOOTHでも頒布しているけどありがたいことに結構注文をいただいているので、今週はその発送作業をしないといけない。いくつかすでに不具合つかっていてPicoRubyをなおさないといけないのもあるので、どうにか時間をみつけてなおしていきたい。GWがおわって会社のカレンダーが大変なことになっているのもある。

こんなにいたのにたセッションのことはひとこともけていない。来週からはまたSmartHRさんの事後勉強会参加する予定で、再来週月曜日はさっきったとおりピクシブのRubyKaigiアフターイベントでまた登壇するのでみんなきてほしい。そうこうしていたらもう関ケRuby会議ですね。