次回の会場の件といい、登壇といい、DJの本番といい、ほんと巨大な憑き物が落ちた
— sylph01 (@s01) 2024年5月17日
タイトルの通りです。ひでえタイトルだな!!!
RubyKaigi 2024の記事のPart 1の予定です。ここ最近Part 1詐欺をしすぎて以下の記事を積んでいることの認識があるのですが、2024年7月中旬までに片付けようと思います。
ここまでに積んでる記事一覧:
— sylph01 (@s01) 2024年5月19日
- IETF118遠征のプラハ・クラクフの観光サイドの記事
- RubyConf Taiwan 2023のトークの技術記事
- まだ表にできない記事のレビュー対応
- RubyKaigi 2024のトークの日本語版記事
下の2つを優先的に対応してIETF120に行くまでには全部消化することを目指します
これのうち、RubyKaigi 2024のトークの日本語版記事がおそらくるびまに行く予定です。台湾のトークは英語版解説の需要もあるらしいので s01.ninja のほうに行くと思います。
(update 6/23: るびまの記事が出た。)
トークに関するリソース
また、現時点でWiFi機能を試していただく方法についての英語のガイドを個人サイトに置いております。
"everything came full circle"
そういえば今年はRubyKaigiに出るようになって(ということは「社会人」をするようになって)10年目なんですね。期せずしてRubyMusicMixinでの選曲にDecadeという曲が入ってたんですがあとでセットリスト見返したときに震えました。ついでにその前に選曲したcrewもbeatnation Recordsの10周年記念楽曲ですね。RubyKaigi 2014の時点でもそうなのですがRubyを仕事で書いていない(少なくともメインとしては)時期が長くそれでもコミュニティが好きなのでずっと出続けていたのですが、おかげさまで独立開業後はRubyで仕事をしていたりします。また、10年前にスタッフ打ち上げ*1で松田さんに「そのうちRubyKaigiの場でしゃべれるようになりたい」みたいなことを言った記憶があります(コミッターになりたいだったっけな?そっちは今はそこまでは、という感じですが…)。自分にとって節目の回になるこの回でトークが採択されてしゃべれたことが特に光栄に感じています。
トークの内容についても、組み込みがメインの会社でずっとサーバーサイドをやっていたのが今回初めて組み込み側に挑戦することになりました。まとめの中で話した「それでもPicoに本当にTLSって必要?」という組み込み機器の暗号機能の制約に関わる部分も組み込みの会社でセキュリティ寄りのことをやっていた経験から出てきた部分で、RubyのことをやってなくてもRubyに巡り巡って戻ってきた、というように感じています。キーボードを作るようになったのもRubyKaigiの影響ですし、それでPicoRubyが気になっていたのもキーボードの影響、これもまた一周して戻ってきていますね。とにかく今回のトークの準備をしていて期せずして"everything came full circle"、すべてが一周して戻ってきた、この10年間の活動が結実した結果のトークになったのだな、と感じています。
CfPを出すに至った経緯、台湾での「RubyKaigi作戦会議」について
#RubyConfTW #RubyFriends pic.twitter.com/vj9SjvC3MH
— Making a Universal Parser of Ruby 🇺🇦 (@hasumikin) 2023年12月17日
RubyConf Taiwan 2023はRubyKaigi 2024のCfP募集開始期間寸前だったのでRubyKaigiスピーカー常連勢の日本人参加者と飲むとそれがメインの話題になるわけですね。覚えてる限りではDay 0で集まったときからすでにその話題は出てましたし、Day 3*2のときはほとんどその話題だったように覚えています。この時点で私は「ぶっちゃけ台湾でしゃべった話題はどっちかというとKaigi向きだったかもしれん」みたいに思っており、その次に何をやるか、はまだ固まっておらず、まだ出すかについて迷いはありました。その中でもDay 1のOfficial Partyのあとにはすみさんと話していた中で出てきた「PicoRubyの暗号ライブラリの拡張はOpenSSLの経験から比較的自明にできそう、もしかしたらこれの派生でWiFiチップ使ってTLSできるかも」みたいなやつがRubyKaigi向きかなあ、というので出した次第です。この時点ではなんとなく何をすればいいかのあたりはついているもののどの機能まで足りていないかの調査は終わっておらず、なのでCfPの文面が"I gave it a shot to ..."(〜に挑戦してみたよ)みたいなめちゃくちゃひよった文面になっています。CfP投稿時点でモノができるかギャンブルだったという時点で通るかどうかの勝算は1割くらい、Kaigi on RailsやRubyConf Taiwan出たときほど勝算はないな、という感覚でした。
蓋を開けてみれば台湾の「RubyKaigi作戦会議」していたメンバーで出した人*3は全員通っていて、ということは引用した写真で飲んでいるメンバー7人*4は今回を経て全員RubyKaigiスピーカー経験者ということになります。ヤバくないですか?
個人的には勝算はかなり薄いと思っていたのですが実際にKaigiで話した方からは「通ると思ってました」「むしろ初めてだったんですか?」みたいに言われる始末。ありがとうございます…今回初めてです…ここまで10年かかりました…><
なお次回も出すつもりでこのネタで行こうというのはあるのですが、ローカルオーガナイザー業との兼ね合いもある(後述)ので、CfPの〆切時点でモノが8割できてなかったらRubyKaigiには出さずに他のところに同じネタで出そうと思っています。
RubyKaigiでしゃべることに対して感じていた壁の言語化
せっかくなのでRubyKaigiに出せるネタがない、ということについて感じていた壁について言語化しようと思います。私はRubyKaigiというのは特別な場であると理解をしており、それは他のカンファレンスと違って明確に「soft talkはいらない、最高のtech talkをくれ」という基準を出している点で特別である、という理解をしています。RubyKaigiというのはオープンソースでコードを書く人間のしゃべる場であり、Rubyのcoreに近い部分について新規性のあることをやった人間のしゃべる場である、つまりKaigi on Rails 2021の記事で書いた「ハード・アカデミズム」*5をRubyの世界において実現する人間のための場である、厳密な意味でのアカデミックな新規性ではないにせよRubyにおいて十分に新規なものをもたらさない限りは採択されることはない、と理解していました。また、先のKaigi on Rails 2021の記事でも書いたように、大学でコンピュータ科学を学んだ者として既存の知を広めるだけの発表に終始していてはならない、という考えもあって、しゃべるに値する新規な生産とは何だろう、それに値することはできているのか?と考えていました。Ruby coreではないものの、PicoRubyという利用者のそれなりにいる処理系において今までずっとmissing pieceであったWiFi機能の追加という新規な営みができてそれが評価されたことで、今まで抱えていた問題意識について一つの回答が出せたように思っています。
また、私のポリシーとして、いわゆる「CfP詐欺」が好きでなかった、というのもあります。具体的にどれだったかは覚えていませんが、今まで聞いたトークのいくつかで、トークに書かれているコンセプトはいいけれどモノをdeliverできていなかったトークがあり落胆したことを覚えています。今回のトークにあたってのモノの大部分は4月に入ってからdeliverされており、その点ではCfP詐欺になることとの戦いでした。2月〜3月はほぼ「どのレベルでのportingが必要か」「MicroPythonではどうやってやっているか」「他の処理系での実装はどうやっているか」の下調べで終わって手を動かすことを引きずって後回しにしていました。4月に入ってから怒涛のごとくPicoRuby/R2P2にコミットを積んでいく様子はruby-jp Slackの #picoruby チャンネルにて観測できると思います(笑)。結果としてCfP詐欺に終わらずモノがdeliverできたことについては安心しましたし、WiFi機能についてはmasterへのmergeまで行っていないもののmergeへの道筋についてはすみさんとKaigiの廊下で話すことができる状態でKaigiに臨めたのはとてもよかったです。
そのうえで、「白笛冒険者」でない人間がトークをすることの重要性について
(この部分には『メイドインアビス』における探窟者のランクとしての笛の色の概念が出てきますが、白笛冒険者というのは最高ランクの冒険者で、人類未踏のアビスの底に挑むことのできるランクである、というくらいのイメージを持ってもらえればよいです)
RubyのOpenSSLのダンジョン、私はよくて赤笛冒険者程度なのだけど、白笛冒険者は世界に片手で数えるほどしかいないし、その白笛冒険者は深層掘るのに忙しいのでダンジョン低層のマッピングにそういう人の手を煩わせるのはよくなくて、とりあえず笛を持ってる程度の私でもやることはある
— sylph01 (@s01) 2023年12月15日
これはまさに最近言ってる「色はさておき笛は持ってる冒険者がアビス上層部のマッピングや整備をすることで白笛冒険者が安心してアビスの最前線を攻めることができるようにする」が実現できているということなので嬉しいですね https://t.co/KY26HAdboa
— sylph01 (@s01) 2024年5月19日
ぶっちゃけていえばRubyConf Taiwan 2023でしゃべった内容ですらRubyコミュニティ内に他にしゃべるのにもっと適任な人はいると思っています。HPKEの話はともかくOpenSSL gemの開発の話で言えばOpenSSLへのコミットアクセスを持っている人間がしゃべれば私の完全上位互換です。それでも私がしゃべる意味があるとすると、特定の分野については自分のほうが知見がある可能性があるということもありますが、「ダンジョン低層のマッピング」なんかに数少ないコミットアクセスを持つ超人のリソースを使うのはもったいない、であれば興味を持ってもらう、道筋を残す、などの入り口の部分を「少なくとも笛は持っている冒険者」である私が行うことでコミットアクセスを持つ白笛冒険者の方々にアビスの最下層を安心して攻めていただけるようにできる、ということで意味があるのでは、と思っています。いちおうここまでやってるのでそろそろ私も赤笛から蒼笛くらいにはなったのではないかと思うのでもっとアビスを攻めることをやっていきたいですね。
Parserも同じなんだろうな。たぶん僕が黒笛とかで、去年は青の人が何人かいた。今年は紫になって赤の人がいっぱいいる。
— kaneko.y (@spikeolaf) 2024年5月19日
Rubyのparserというジャンルは完全にこれの成功した例だと思っており、「parse.yは魔境!危険近づくな!!」だった時代から白笛冒険者のkanekoさんが突破口を開拓して今ではそれに続く形で複数人の手によって魔境の最下層へ至る道の整備が行われており、その内容はParserに関する本編のトークが4つ、LTでもさらにトークがあるという形で結実しており、「ParserKaigi」「大パーサー時代」の名に恥じない盛り上がりを見せています。「Parser界の黎明卿」の異名を追加していいですか(((
今回のトークを経てPicoRubyでモノを作ってみたいという人が増えた、今までやっていた人もネットワーク機能の追加でもっとやりたいことができた、という話をいくつか聞いており、私のトークで世の中にポジティブなインパクトを残すことができて大変嬉しいです。
ぺんさんとs01さんと話して、最低でも来年までにtrickとprkでネットワーク使ったアプリケーションの提示はしないといけないなって気持ちになった!#rubykaigi
— 魔王 (@swan_match) 2024年5月18日
「キーボードがWiFi繋がったらアツくない???」とは言ってたものの私は9割くらいjust for the memesで言うてたところ、魔王様は大真面目にユースケースがあると言っておりさすがや…となった
— sylph01 (@s01) 2024年5月18日
昨日松本ぶりに再会した@swan_match さんと@s01 さんとPRK_Firmwareを使った自動演奏音楽の可能性の話をしたので、来年には何らかの解答を持っていきたいなーと思った。技術的には可能なんだけど、アートとしてどう完成させるかの部分がね‥(あと機材が重い)
— Toshio Maki (@Kirika_K2) 2024年5月19日
RubyMusicMixinをRubyで動く機材でやるという夢のあることができる
— sylph01 (@s01) 2024年5月19日
来年の話
RUBYKAIGI 2025 MATSUYAMA LET'S GOOOOOOOOOOOOOO!!!! @onk @ima1zumi @ramusara @kkd @nunnuntakotako @hand_accident pic.twitter.com/3oCkBhAhel
— sylph01 (@s01) 2024年5月17日
感情になりすぎてALL CAPSになってしまった。mentionしているのは愛媛県にゆかりのあると知っているRubyistです。
.oO(2025の場所について、2年間黙ってたのがやっと解禁されたので荷が降りた感が強いです) #rubykaigi
— sylph01 (@s01) 2024年5月17日
次回のRubyKaigiの会場はみんな楽しみにしている話なので、下見段階から関わってるローカルオーガナイザー候補はいつ来るかについて知っていても黙っていることになります。今年は特に「次のRubyKaigiどこ」の話題は回避するようにしていました。それでも数名には話さないと逆に察されるかなと思って可能な限り匂わせないように話すようにしていました。ゆーけーさんに「匂わせを感じなかった」と言われたのは勝ったと思いました。
実は愛媛県に移住する前から松山でそのうち開かれてほしいなーとは思っていたのですが、実際に移住したことで本格的にRubyKaigiを誘致する活動を開始しました。オーガナイザー陣に存在を認知してもらう(訳: お土産を持って行ったり酒のパンフを持って行ったりする)活動を地味にやっていた感じですね。それと並行して地域のITコミュニティに顔を出すようにして、そのうちやりたいね、というのを地域の人にも話していました。移住したからにはやりたいと思っていたことが実現に向けて動いていて非常に感慨深いです。
あとは「四国はフォーゴトン・レルム」と日常的に言っている身からすると、以下のような感想です:
現時点でも来年のRubyKaigiが松山開催であるということを通して「四国ってちゃんと存在するんだ」ということをRubyistに認知してもらえている状況がとても嬉しい。そうでなければ日本に住んでても行く場所の選択肢に入りにくいこともよく知っているので
— sylph01 (@s01) 2024年5月18日
松山はいいところなんで全Rubyist来てくれ!!!!1111
今回の記事に書いてないけどもしかしたら書く話
ここまで下書きとか清書とかするのに合計10時間くらい使ってる気がするのでいい加減このあたりで切り上げて、何かいい機会が発生したら以下のことについてどっかで書くかもしれません。技術記事は強いコミットメントですがそれに比べると圧倒的に弱いコミットメントです。
- RubyMusicMixinの選曲の想い・裏舞台パート
- セトリはこちらに置いています。気に入ったのがあったらゲーセンでコインいっこいれてくれ!!頼む!!111
- 「RubyKaigi、セッションまるでわからんけど面白い」からのnext stepについて。登壇を何度かしてるうちにその次のステップが何であるかわかってきたような気がする。あまり綺麗に言語化できてない(メモはある)。
- 「「「真のRubyKaigi」」」概念について。でもだいたい台湾の作戦会議パートでそのエッセンスについては書いた気がする。これまた綺麗に言語化できてない。
- 観光パート。といっても今回の旅程はベタっちゃベタなので特筆することはそんなにない気がします。