RubyWorld Conference 2022に登壇しました

hasumikin is a programmer.


3年ぶりの物理開催となったRubyWorld Conference 2022に登壇しました。

R2P2

“Ruby on Raspberry Pi Pico” の略でR2P2です(40%キーボードだと”R2P2”を入力するのが難しめなので、練度が上がりますね)。

ワンチップマイコン(ラズパイピコ)の上でうごくなんちゃってUnix風シェル環境で、なんちゃってVi風テキストエディタも同梱しています。 これひとつあれば簡単なマイコンRubyプログラミングができてしまうというものを目指しています。

いまはまだ機能が不十分なのですが、マイコンファームウェア開発のプロトタイピング(とくにデバッグ)や教育用途にも活用できるように(いずれは)なると思っています。

リポジトリはこちら:https://github.com/picoruby/r2p2(スター押してください!)

上のキャプチャのターミナルエミュレータはTera Termですが、GTKTermを強くオススメします。WSLでも使えます。

オープニングクロール

コロナ禍はオンライン登壇が多かったため、自然と動画製作スキルが向上しました。7月にRA Grant 2021成果報告をビデオ発表したときにスターウォーズ風のオープニングクロールをつくり、スライドもスターウォーズ風にしました。

そのときのタイトルが「PicoRuby episode Ⅱ - ATTACK OF THE RAKE」だったので、今回はその続きとして「同 Ⅲ - REVENGE OF THE STDIN」としました。

残念ながら当日は会場の音声トラブルのため、渾身のオープニングクロールを再生できませんでした。ので、YouTubeにアップロードしたものをご覧ください。1分くらいです。

https://youtu.be/JfN5BpTCYOw

大画面でこれを流したかった…RubyKaigiで音声付きビデオを再生するのは難しいだろうけど、RubyWorldなら毎年同じ会場だし、つまりスタッフも慣れているはずだし、できると思ったんですよね…..(じつはスタッフ陣が大幅に入れ替わっていたことを後で知りました。前回から3年経つのだからそりゃそうか)。

RubyWorldでテックトーク

RubyWorldの登壇者はあまり難しい話をしない傾向があるのですが、敢えてテックトークをぶつけてみました。 でも準備に気合いを入れすぎたために開発したボリュームが大きすぎて、結局は成果の外形的な説明がほとんどになりました。

スライドはこちら

技術の詳細は、どこか別の場所でお話できたらいいなと思います。

ファイルシステムがFlash ROMでうまく動かない問題が登壇当日でも修正できなかったため、発表のデモンストレーションではRAMディスクにファイルをつくっていました。 これではデータが永続化できないから用途が限定されすぎてしまいます。

しかし、先ほどソースを眺めていたらバグっているポイントを発見しました。 近日中に修正してバージョン0.0.2をリリースします!

小さなRubyの大きな夢

あと、文字コード好きなひとが来場する情報を事前にTwitterでキャッチしていたので、PicoRubyのUTF-8対応という釣り糸を垂らしたら、うまいこと引っかかりました。 質問タイムのときにちょうどその人が質問してくれて、「ちなみにUTF-8に興味ありません?」と聞いたら「めっちゃあります」とのことで、「じゃあ後ほど打ち合わせしましょう」と公衆の面前で言質をとった次第です。

mruby/cのUTF-8対応は進めてよい、とすでに開発者会議で決まっています(PicoRubyコンパイラ側は私の一存でなんでもできる)から、あとはやるだけです。 とりあえず、”PicoRuby Hack Challenge”的なコンテンツ(たぶんGitHubリポジトリ)をつくり、だれでもビルド入門 -> お試し新機能開発 -> プルリクの流れに乗れるようにしていきます(やるぞ)。

RubyWorldのよさ

なんだかとても楽しかったです。

ほかの登壇者のみなさんのRubyWorldトークもよかったです。今回はとくに、mameさんの脆弱性対応についてのお話がとてもためになりました。ベトナムの話もよかった。これぞルビーワールドですね。

あとRuby Prizeを受賞したkateinoigakukunさんともたくさんお話できて、とてもよい機会を得ました。

9月のRubyKaigiは、大人数でわーいと遊ぶ雰囲気では(まだ)なかった感じがしたのですが、RubyWorldに来るみなさんが松江の土地勘をもっていることもあり、聖地化しているお店にちゃんと集合することができて、楽しく盛り上がりました。

RubyWorldに初参加した人たちとも交流しました。来年は彼らのトークを聞きたいですよねー。ではまたー