竹富島

これを書いているのは5月22日で、竹富島にいます。記事の公開はもっと後になります。

梅雨入りした竹富島は蒸し暑いです。雨は降ったり止んだりで、大雨警報が出ている沖縄本島よりはましだと思われます。

さてこれからRubyKaigi 2024の参加ブログを書くのですが、一週間くらい経ってしまったので正直あんまり覚えていません。朧な記憶をたどって短めに書きます。まずは自分のことから。

Unlock The Universal Parsers: A New PicoRuby Compiler という発表をしました

アフターパーティでキーノートスピーカーのサミュエルと会話することができて、そのときに、昔は電源スイッチを入れるだけでBASICプログラミングが始められたよね、人生はずっとシンプルだったけどワクワクしてたよね−−みたいな話をしました。彼が見せてくれたフラッピーバードというモチーフには、そんな思いも込められていました。 わたしがPicoRubyをつくっているモチベーションも同根だなあと感じます。

たんなる懐古志向ではない、あのちむどんどん体験をRubyで。しかも(literally)同じパーサを使う(conceptually)同じプログラミング言語でバリバリお仕事もできちゃう。そんな未来のためにprism.cやparse.yやnode.cと悪戦苦闘しているなんてアホっぽくて楽しいじゃないですか(?)。直接にはそうは言わなかったけど、じつはそんな発表をしました。

スライドはこちらです:https://slide.rabbit-shocker.org/authors/hasumikin/RubyKaigi2024/

わたしのトークはたぶん、渋い大人のあいだで割と人気なのですが、アフターパーティで辻本さん(CRubyのパターンマッチ機能をつくった有名人)に褒められて嬉しかったです。

なはーと

キーノート

さて、つぎはキーノートトーク3本について。 ぺんさん。沖縄への愛に溢れたキーノートでした。コードの向こう側には何かがあるのです。IRBやRelineのパッチを書きまくりながらIT企業のCTOを務め、なぜあんなにTRICKを生み出せるのか。わたしがいままで参加したRubyKaigiのなかで、最高イチバンのトークでした。

サミュエル。こちらもストーリーのある発表でしたね。Fiberを進化させたAcyncサーバでいかにパフォーマンスを出すか。局所にはアセンブリを書くこともいとわず、ぼくらのRubyを最高のWeb用言語にしようとしています。

まつもとさん。意図的にCRubyの話題に絞っているのだと思いますが、mrubyの話も少しは聞きたいです。@tagomorisさんのNamespaceがバージョン4.0の目玉機能になるかも、とのことですから、モリスさんへのプレッシャーが大きくなってきました。がんばれ。

百合

Day1の公募トーク

ここからは公募トークと一部のLTについて。書き出すと長くなるやつが含まれてますが、なるべくフラットに簡潔にいきます。まずはDay1。

かねこさん(含Day2のLT)。いきなり簡潔に書きにくいやつだった。いや、でも、今回のはすごくわかりやすかったですよね。「Bisonはスタックをひとつしか持てないんですよ〜」と言ったときの嬉しそうな顔が忘れられません(解説:かねこさん作のLramaならふたつ持てる、という自慢です)。バイソンスレイヤーというよりも、トークナイザステート管理に革命をもたらしたマンとしてコンピュータサイエンスの歴史に名を残してほしいです。

@yujiyokooさん。RubyConf台湾2023では未完だった開発を見事やりきって、ドリキャスとmrubyによるプレゼンアプリを見せてくれました。横尾さんは、ゲーム機mruby芸人の第一人者の地位を確たるものにしていますね。

@osyoyuさん。プロファイラの重要性は言うまでもないことですが、言語実装に合わせた専用のプロファイラをつくるというのはエコシステムにとって実に尊い取り組みなのです。みんなで応援しましょう。

@ima1zumiさん。IRBチームの仲間なので、同僚の発表を聞く感覚です。Relineの改善を突き詰めて、いずれはスクリーンエディタをつくりたいと言っていましたね。いや、これは登壇後に聞いたんだっけ?忘れました。まあいいや、引き続きがんばってください。わたくし自身がユニバーサルパーサにご執心なので、IRB/Relineのトリアージを任せっきりなのです。だからみんなもイマイズミを応援するのだ!

@coi401_さん。しおいさんのすごいところは周囲の人、しかもRubyコミッターたちを巻き込んでイシューを倒してしまうところですね。いや、Rubyコミッターたちの巻き込まれ方が上手いのかも? トークのスタイルが確立しているところもすでにベテランの風格です。基礎技術を調査して、実装からフィードバックを得て、また実装を進める。このストーリー展開を学ぶことがRubyハック入門者の羅針盤になるんじゃないでしょうか。

kakutani

Day2の公募トーク

@ydah_さん。かねこさんと相談しながらLramaを改善している様子を日頃ちらちら見ているのですが、このひとスゴイハッカーなのでは?という印象です。いやまじでparse.y is no longer a labyrinthなのですよ!

@koicさん。なんと言うか、「OSS番長」に見えている人です。わたしは個人的には、ソースをLint警察に取り締まられたくないほうなのですけど、LSPと統合されるならお縄になってもいいかなという気分です。

@ahogappaさん。わたしにとってはニューキャラクタで、どんなひとなんだろう、ワンバイナリってことはlibruby-static.aが出てくるに違いないぞウシシ、と聞きにいきました。Dockerの万能性にだってもちろんスキがあるので、こういう方向性は常にニーズがあるはずです。さらなる進化に期待しましょう。

@sylph01さん。来ましたよ、ついにPicoRubyでHTTPSです。そんな時代です。いずれはわたしが自分でやるのかなーと思っていた領域でしたが、暗号やネットワークに詳しいシルフさんがやってくれるなんて、渡りに舟とはこのことです。マージしてリリースするのを楽しみにしています。

@hachiblogさん。LTでPicoRubyによるラジコンカーを見せてくれました。本当は、わたしが実装しつつあるBLEクラスがもっとちゃんと進捗していれば、外付けの無線モジュールさえ不要で、そこもPicoRubyで書けたんですよねぇ。PicoRubyとR2P2のよさを見抜いて楽しく使ってくれている様子を見られるのは、作者冥利に尽きるというものです。

ステーキ

Day3の公募トーク

ここから3日目ですが、眠くてさらに記憶が曖昧です。。。

@m3m0r7さん。ISEQの構造についてよくまとまった資料でした。これは今後わたしがLrama-genパーサのASTをPrismへ寄せる作業のときに大変役立つと思います!

@tenderloveさん。遅れて会場に入ったせいで導入部を聞けなくて、これを何に利用するのか話のつながりがよくわからず、でもとにかくO(log n)だね、削除はできない(できるけど再バランスが複雑?)んだね、と聞きました。ビデオが公開されたらちゃんと見ます。

@junk0612さん。パーサ勢2024の締めくくりトークでした。LRの状態遷移表を圧縮するとLALRになります。あってますかね?多分ここまではわかります。しかしなぜIELRだと文法空間が大きくなるのかがわたくしにはわかりません。わかりませんが、なんかよさそうなので引き続き期待してます!

@gedorinkuさん。ついにスーパーファミコンでmruby/cが動きましたね。まだ効果音が鳴らないそうなので、さらなる成果を期待しましょう。それにしても、大昔のゲームコンソールのためのCコンパイラや標準ライブラリをメンテナンスしている人がいるっていうのがスゴイですよね。やっぱり俺らの基礎はC言語なんだよなーと思わざるを得ません。

@makenowjustさん。じつはわたしも、PicoRubyコンパイラのトークナイザのための小さな正規表現エンジンを書きました。書きましたが、メイクナウさんのこの専門知識に先に触れていればもっと楽できたかもしれません。わたしの正規表現エンジンを改良してPicoRubyのRegexクラスに流用するというアイデアもあるので、このトークのビデオはリピート必至ですね。

ジンベイザメ

コードはつづくよどこまでも

今回、シルフさんハチさんのほかにも、PicoRubyでやりたいことがある!と声をかけてくれた相生さんとか、コントリビュートしたいと言ってくれた岡嵜さんとか、キーボードをインターネットにつないで悪いことするつもりの魔王とか、もはやPicoRubyアンバサダーなやんちゃさんとか、すごくすごく嬉しいことがたくさんありました。これを原動力に引き続きコードするぞ、と誓う2024年5月です。