「RubyKaigi 2023に参加してきた」と一言で言えないくらい大変な期間だった……
この期間、わしがどう過ごしていたのか、未来の自分が読むかもしれないし、せっかくなので、時系列でバーっと振り返っていく。感想というより、yancyaからはどう見えていたかという事のdumpみたいな感じになりそう。ちなみに、すごく長いぞ。
# 4/20 RubyKaigi 2023 Day: -20
Rubyist めぐり vol.2 ゲスト:鳥井雪さんというイベントに参加していた。RubyKaigi 2023とは直接関係はないんだけど、RubyKaigi 2023に参加するRubyistが沢山参加しているイベントだったので、メインコンテンツが終わった後の酒盛りで「RubyKaigi楽しみだね」とか言いながら盛り上がっていた。そこで「ところで、yancyaは松本にはどうやって行くの?」という話になって、自分なりの旅程(後述)を説明したところ、Rubyisのの一人から「じゃあ5/9の昼には松本にいるって事だよね。蕎麦屋行こうよ。13:00に予約しとくよ」と誘われたので「おねしゃっす!」と了承した。
# 5/9 RubyKaigi 2023 Day: -1
松本へ向かう。
この日の足はリードEX(110ccの小型自動二輪車)。小型自動二輪車なので自動車専用道路を通れず、すべて下道で向かう必要がある。
当初、以下のようなスケジュールを組んでいた。
## 予定
05:30 出発
07:30 道の駅はにゅう
09:00 道の駅ららん藤岡
11:30 道の駅マルメロの駅ながと
12:30 松本到着
13:00 蕎麦屋さん到着
## 実績
実際には以下のようになってしまった。
05:50 出発
08:25 道の駅はにゅう
10:00 道の駅ららん藤岡
13:30 松本到着
13:50 蕎麦屋さん到着
出る時刻が遅れてしまった上に、計画通りに道の駅を通過できずに、結局松本に到着した時刻が1時間遅れくらいになってしまって申し訳ない……
道中で遅れることが確定した旨を連絡して、予約を1時間ズラして貰ったので、店に迷惑がかかってしまったかもしれないのが心苦しい。
## さようなら松本
15:50 無事(?)に蕎麦屋さんについたので、2人のRubyistと一緒に蕎麦を食べ、満足したのであずさ44号で東京へ帰りましたとさ。
めでたしめでたし……
## 秋葉原へ
19:00 東京に戻ってきたので、RubyKaigi 2023 Welcome Drinkupという、RubyKaigi 2023への参加者が集まるAsakusa.rbのDrink Upに参加した。つい最近出版された訳本『研鑽Rubyプログラミング』の原著作者Jeremy Evansさんがいらっしゃったので、PDF版にサインを頂いた。Kindle Scribe、PDFに簡単にサインを貰うことができて便利だった。
# 5/10
## Rubyists on Rails
クックパッド株式会社の提供で、08:00新宿駅発あずさ5号の1号車を貸し切ってRubyistみんなで松本へゆこうという、Rubyists on Railsに参加した。抽選になっていたので、わしが無理な旅程で申し込むのは憚られるなぁと思っていたけど、どうやら希望者は全員乗れそうな雰囲気が出ていたので申し込ませて頂いた。
なぜDay: -1にわざわざ東京へ戻ってきたのかと言えば、Asakusa.rbのDrinkupに参加するためと、このRubyists on Railsに参加するためだった。帰りはバイクで帰ってきたかったので、前日にバイクを松本に置きに行く必要があった。こうすれば全ての欲が満たせるので、それを実行したまで……
というわけで、無事に10:37に松本に到着した。
## やんちゃハウス2023チェックイン
やんちゃハウスというRubyKaigi会期中限定のシェアハウスの運営を始めて久しい。
今年も、やんちゃハウス2023を運営していて、古民家一棟貸し切りの宿を取っていた。
13:30 松本城の近くで蕎麦を食べたり、色々をやっていたところ、本来のチェックイン時刻よりも早くチェックインできるという連絡が貰えたので、ひとまずチェックインした。チェックインが早まってくれる宿、好きすぎる……
## 松本城
14:00 恐らく、今回の松本の滞在中、松本城を存分に観光できるタイミングは今しか無いと感じたので、松本城の周りをウロウロしたり、天守閣へ登ったりという基本的な観光を済ませた。松本城の天守閣、階段が急すぎて楽しかった…… 城って、別に普段から住むために作られてるわけじゃないんだなって事がよく分かった。
## KeebKaigi 2023
15:30 KeebKaigi 2023というイベントに参加した。これに参加するために午前と午後の2便あったRubyists on Railsの午前の便に申し込んだのだった。
『研鑽Rubyプログラミング』の訳者の角谷さんがいたので、Kindle Scribeの中のPDFにサインを頂いて、パーフェクト研鑽Rubyプログラミングに進化した。RubyKaigiの会期中は原著者のサインがないと訳者のサインを貰えないというルールだった。
参加中に書いたメモから、各セッションについて書き綴っておく。
当日の様子は全てYouTubeに上がっているので、わしの感想を読んで気になったり「???」ってなったトークは↓から見るとよい。
### Me, Keyboard, and RubyKaigi 2023
2023年5月10日〜14日の松本の主だったと言ってもいいのでは。魔王さんのセッション。今まで設計してきたキーボードのコンセプトなどを説明していた気がする。
『無限の可能性』という1U PCBは1枚につきキーソケット1つのLED付き基板で、手配線で複数を連結させることで様々な配置のキーボードを作れる”可能性”が出てくる面白い製品。適当な球体とかにホットボンドで『無限の可能性』を配置して配線すれば、球状のキーボードとかも出来てしまうのか?(使いやすいかは別として)
わしは魔王さんのSilver Bullet Requiemというキットを購入して組み立てた事があるんだけど、とにかくキーボードを光らせると楽しい、という情熱が感じられる楽しい製品なんだよなぁ。
カラーバリエーションを沢山作ったりすると販売管理とかが大変、みたいな設計・製造・販売を行う立場の悩みみたいなのも聞けて新鮮だった。
### Building the Perfect Custom Keyboard
カスタムキーボードって、自作キーボードの事だと思ってたんだけど、そうではないということが分かった。
禅宗の「冷暖自知」という言葉を引用して、自分で体験したことしか”分かる”ことは出来ないという事を示してくれた。
キーボードをカスタムするにあたってのパラメーターのそれぞれについて、とにかく試して体験していくしかなく、その取り組みを通じて自分にとっての最高のキーボードを探していこうな、という話だった気がする。
### Sema-Pitches “狭ピッチ”トーク
自作キーボードに関してのLT。わしも応募したんだけど落選したので、指をくわえて見ていた。
#### OLEDに癒しを求めてみた(仮)
キーボードに乗ったOLEDに絵とかを出すのにFontを自作して組み込んだりした話をしていた。
わしの自作キーボードにもOLEDディスプレイついてるので、PRK_firmwareで絵が出せるようにしたい。
#### Do PRK_FIRMWARE Dream of MIDI implementation?
キーボードといえば電子楽器。MIDIデバイスとしての自キーという話をしていた。
自作キーボードと電子楽器、両方好きになったんだけど時間が限られてるので、クロスオーバーさせて同時に楽しめるようにした、みたいな事を言ってたのが良かった。
#### The story of repairing my junk keyboard with The kinT keyboard controller
高額なキーボードを入手する為、フリマアプリでジャンクを買ってきて修理したら動いたといういい話。
#### My First DIY Keyboard
始めて自作キーボードを作ったけど、なんもわからんかったけど、コミュニティが助けてくれたといういい話。
後半は延々と”自キーあるある”を言ってた。
#### Why are number keys important?
40キーを2回打鍵(1600パターン)する事によって漢字1文字を表現できる入力方式T-Codeを自キーで動かせるようにしたいという話。
「数字キーが無いと漢字が打てないじゃないか」って言ってた。No number keys, No doreams.
#### A software-focused tale on DIY keyboards by a non-enthusiast
自作キーボードはソフトウェアで弄れるのが楽しい。
キーボードの中にゲームを実装したデモなどを見ていた。
#### Introduction to Typing Practice
タッチタイピングの練習についての話をしていた。
ピアノにおけるhanon(やってれば上達する鉄板)相当の存在が要るよねという。
#### I would like to be obsessed with ”self-made keyboards”
自分の作ったキーボードに名前を付けてかわいがっている話を聞いていた。
#### Keyboard design for newbies.
キーボードって高くね?って話をしていた
#### How to start RP2040
RP2040、基板に直接実装することもできるんですよ。という同人誌を発行しているのでよろしくね、という話を聞いていた。
LTなのに時間が余って質問を受け付けていたので「基板に直接実装するにはリフローが必要だと思うんですが、その辺の人には無理では?」という質問をしたら「RP2040が実装済みの状態で納品されるように基板の製造を発注できるんですよ〜」とのこと。なるほど……
#### DIY Keyboard: Endgame
iPadで使うキーボード、純正のキーボードのトラックパッドだけを生かしたまま自キーを使うための治具を作った話を聞いていた。
「やればわかる。やらなければわからん」
### The Hitchhiker’s Guide to the Self made Keyboard community
っぽいタイトルだった気がするけど、自作キーボード関連の国内コミュニティを洗いざらい紹介してくれていた気がする。気がする。
### Crafting the Endgame Keyboard
今までどんなキーボードを設計してきたか、それらの設計に影響を与えた元ネタの紹介など。
設計図のCADデータがOSSとして公開されていると、それを元に新たな設計が出来て素晴らしいというような話だった気がする。
### Pointing Device On The Partner Half
汎用キーボードfirmware作者の考え方について。
トラックボールとかマウスとかタッチパッドがついてるキーボードがあるらしい(?)ので、I²C、SPI, ADC(アナログデジタルコンバーター?)が使えるようにしてMouseクラスを実装したというような話だった気がする。これがリリースされたらOLEDディスプレイの制御も出来るようになるはずなので各位頑張ってねトノコト。わしのSilver Bullet RequiemにもOLEDディスプレイが付いてて、なんも表示出来てないので、表示出来るようにしたい(2回目)
I²Cってなんなのか分からなかったのでググったら少し分かった気がするけど、実際に弄ってみないと何も分からんだろうなぁ。
Anchor(USBケーブルが繋がってる方)とPartner(そうでない方)の両方にポインティングデバイスが付いているキーボードがある(???)らしいので、それに対応しないといけないけど、そのためにはUARTというプロトコルで半二重通信を実装する必要がありそう、みたいな話をしてた(気がする)
### Initial-V, Final Stage!
BMWのシフトノブを使って自作キーボード(?)を作る話……?
シフトノブがネイティブに持っている機能を生かすために、それが使っているCANプロトコルを扱う為の仕組みを作ったり、ハウジングを作ったり、途中でリフロー炉が必要になったのでジャンクを組み合わせて作ったけど結構高かったとか、自作っていう業界は自分の思うとおりに、なんでもやり放題なんだなぁという事が分かるいい話だった…… 良すぎた……
## Drinkup for KeebKaigi 2023
20:30 KeebKaigi 2023の打ち上げに参加した。
英語の発表で聞き取り切れてなかったトークについて補足して貰ったりして有意義だった。キーボードという1トピックにフォーカスして集まった人達の飲み会だったのでめっちゃ楽しかった。
## やんちゃハウス2023参加者集合
23:00 やんちゃハウス2023の参加者が続々と松本に到着して、チェックインしてきた。
ハウスに戻った時刻が遅かったので既に寝ている人とかもいた。参加予定の人が全員揃っていたかどうかは布団から見えている頭の数を数えてだいたい合っていたのでヨシ!おやすみ!
# 5/11
## 運動
08:30 RubyKaigi 2023の会場まつもと市民芸術館の屋上で、けん玉や軽い運動を行った。これは会期中の3日間にわたって毎日行う事になる。
## RubyKaigi 2023 Day: 1
### Matz
10:30 「Rubyの名前、もしかしたらTishになっていたかもしれない」って話、前にも聞いたけど、それを聞くたびにTishKaigiがあるとしたら四国中央市でやるしかないよなって思ってしまう(製紙工場で有名な地域なので)。
### ランチ
11:30 会場で配られていた信州名物の「山賊焼」弁当を貰って、屋上で食べていた。食べ終わった後にボーっとしていたら、けん玉仲間のRubyistが来たので一緒にけん玉の練習をして過ごしていた。けん玉はいいぞ。
### The future vision of Ruby Parser
13:30 大パーサー時代に幕開けになる演説。「探せ!全てをそこに置いてきた!(ドン!」って感じのトークで、それに中てられたRubyist達がこぞってパーサーの海へ船出することになった。
LRパーサー、それを捨てるなんてとんでもない、まだまだポテンシャルあるよ。今後、それを証明していくから覚悟して、という話だった気がする。
### Develop chrome extension with ruby.wasm
14:10 RubyKaigi 2022で一世を風靡したruby.wasmを使ってChromeの拡張を作る話を聞いていた。VFSでバンドルした状態でビルドすればgemが使えるんだけど、めんどいので使われてなさそう。もっと気軽に使われてほしい。Chrome拡張は複数のファイルに渡って拡張の定義を書く必要があるけど、unloosenというフレームワークを作ったので、ブロック内でRubyを書くだけで拡張として動いて便利だよ。remote requireもできるからVFSにgemを含める必要も無くて簡単だからやってみてね。みたいな話を聞いていた気がする。
### UTF-8 coming to mruby/c
14:50 mruby/cは文字列をバイト列として扱っているので、UTF-8として解釈して扱いたい時に困る。ので、扱えるようなモードを作ってみたという話を聞いていた気がする。そもそもUTF-8って何?という所から説明してくれていて、実はよく分かっていないという人でもスッと聞ける良い発表だったと思う。
### おやつ休憩
15:20 スポンサーブースを冷やかしに行ったりしていた気がする。
### Power up your REPL life with types
16:00 irbに型のサポートを導入するgemを作った話を聞いていた。型が反映されると、irbで出てくるメソッドの候補が多すぎる問題が抑制されて便利。このRubyKaigi中にirbに標準で取り込まれる事になったっぽくてすごい。
### LT
16:40 LTを見ていた。RubyKaigiでLT見るの久しぶり。
#### Building Ruby Native Extention using Ruby
なんかRubyスクリプトをコンパイルしたバイナリを動かせるようにしてた気がする。
#### RBS meets LLMs – Type inference using LLM
LLMで型を求めてた気がする。
#### Customize your Vim/Neovim directly with Ruby
VimをRubyで拡張していた。VimはVimScriptで弄るもの、という常識を覆したという事?
#### mruby VM
mrubyとCRubyとでVMの種類が違うという事を説明していた。mrubyはレジスター、CRubyはスタック。この説明、mrubyが世に出てすぐくらいの頃に頻繁に聞いていたので懐かしかった。
#### Natsukantou the XML translator
Natsukantouというgemを使って翻訳サービス的な各サービスを同じように扱えるようにしたっぽい?
#### BINGO!
こういう娯楽用のツールを自作するの、わしも好きなんだけど、話を聞いてると思ったより重厚長大な実装になっていて、やはり社長ともなると本気度が違うなって思った……
#### Adding custom rule for Rubocop in the 2 month of employment
RubyKaigiで「Bookwalkerで働きたい」とか言ってたら隣に中の人がいてスッと転職できてしまった。とりあえずRubocopでバーンと一貫性のあるルールを適用してやったぜ。みたいな話だった気がする。『研鑽Rubyプログラミング』に出てきた「哲人」そのものじゃん。って思って聞いてた。
#### Unexplored Region – parse.y –
parse.yを題材にした落語みたいな感じだった。なんか、映像配信のアーカイブが出たら何度も見返したいって思うくらい面白かった。
#### Ultra-fast test-driven development
テストの実行が遅いからTDDやらないって言われたからカッとなって超速くして言い訳できなくした。みたいないい話だった気がする。
#### Optimizing Ruby’s Memory Layout: Variable Width Allocation
RubyのGCの効率が上がったっぽい話だった気がする。
#### Dividing and Managing: The Cops Squad of RuboCop RSpec Dept
CapybaraとかFactoryBotとか使ってないのにRubocopを入れるとついてくるのが邪魔、みたいなユーザーのためにそれらを別のgemとして切り出した、みたいな話だった気がする。
#### Serverless IdP for small team
RubyKaigiチームくらいの小規模チームでGoogleとかMSとかのIdPを使うのは大げさすぎ。This is 最高にちょうど良いgemあるよ(というか作った)。みたいな話を聞いていた気がする。
## Official Party
18:30 松本で一番凄そうなホテルVuena Vistaのホールで行われたパーティーに参加した。
めっちゃいいかんじの日本酒が積んであったので、適量を摂取した。
色んな人と話をしていたら、あっという間に終わって追い出されてしまったのが残念だった。6時間くらいやってほしい。
RubyKaigiの最上位スポンサー枠ことRubyスポンサーのMNTSQさんの人と話してたら、今後、めちゃくちゃやりがいのありそうな仕事が山積みっぽかったので、色んなRubyistが採用できたらいいですねって思った。
# 5/12
## 運動
08:30 前日の運動の様子を聞きつけた人が何人か来てくれて、みんなで運動をして楽しかったです(小並感)。
## RubyKaigi 2023 Day: 2
### Learn Ractor
09:40 Ractorを使う時にはオブジェクトが無駄にコピーされないように既にある配列とかからインデックスで値を参照するようなループに直すと有利になるという事がありうる。
Concurrency is everyware.って言ってたのが良かった。割と並列処理が刺さる場面はあるので、今後は使えそうなところにはRactorを使っていくようにした方がアプリが速くなるので(速い方が嬉しいアプリなら)嬉しいだろうなと思った(それはそう)。
### Implementing “++” operator, stepping into parse.y
10:20 めっちゃ面白かった。parse.yを弄ってRubyの変数に++演算子を実装してみるまでの試行錯誤のストーリー。この機能があったら良いのになという感じで実装を進めていくうちに、”あったら良いのに今まで無かった理由”みたいなものにぶち当たって、それが「言語デザイン上の判断」みたいなものだったのは壮観だった。「ここが世界の果てか」みたいな冒険記を読んでる感じで良かった。
### Fix SQL N+1 queries with RuboCop
11:00 SQL好きとしては楽しみだったセッション。RubocopにSQLの性能に影響する”良くない書き方”を是正させるためにコード中のSQLをパースまでするのが凄かった。Rubocopと連携させるためには単にASTが得られれば良いだけでなく、それぞれのトークンがどういう位置関係で記述されていたかまで持っておく必要があるという部分は大変そうすぎた。RubyでSQLをパースしてASTを得るgemにgdaというのがあるようなんだけど、割とドキュメントが厳しいトノコト。
### ランチ
11:30 なんかTwitterでいいかんじの店を予約してくれる人が現れたので乗らせて頂いた。
割と高い店だったけど、初日に配られたバウチャーが使える店だったので助かった。
### Revisiting TypeProf – IDE support as a primary feature
13:30 Rubyに型が入っても、そんなに使われないのは何故か。それは速度不足でした。というわけで、IDEで使っても違和感が無いくらい処理速度を向上させるためにバーンと作り直しました。という話だった気がする。
### Ruby Implementation of QUIC: Progress and Challenges
14:10 QUICをPythonからRubyに移植してみたという話。とりあえず1対1移植は行ったので、これからどんどんRubyっぽくしていくぞ、という感じだった。英語での発表だったけど、めっちゃスラスラと喋っていて、これは一朝一夕ではないなという迫力を感じた…… 凄かった……
### Hacking and profiling Ruby for performance
14:50 Goばかりが勝っているISUCONでも、Rubyで勝てるという事を示していた。ボトルネックを探すための可視化ツールとか、しっかりしてるなぁという感じだった。
### おやつタイム
15:20 配られていたリンゴジュースを飲んだりしていた気がする
### Eliminating ReDoS with Ruby 3.2
16:00 backtrack型のエンジンの説明とか、Ruby 3.2でReDoS(正規表現を狙ったDoS)をどのように軽減させているかについて説明していた気がする。あくまで軽減なので、リスクが完全になくなったわけではないけど、比較的安心出来るようになったようでよかった。
### Optimizing YJIT’s Performance, from Inception to Production
16:40 これから取り組もうとしている課題について、ちゃんと計測していて偉い。しっかりしているという感じだった。
## Leaner Drinkup at RubyKaigi 2023
めっちゃ雰囲気のある隠れ家的な飲み屋のバルコニーでRubyist達と色んな話が出来て楽しかった。ルービックキューブとか光るスナップボールを出して遊んでいた。
# 5/13
## 運動
08:30 前日、前々日の運動の様子を聞きつけた人が何人か来てくれて、みんなで運動をして楽しかったです(小並感)。
## RubyKaigi 2023 Day: 3
### Ruby Committers and The World
09:40 Rubyのコミッターが壇上で折り重なっていて、これからのRubyについて議論しているのを眺める恒例のイベントを見ていた。
### Build Your Own SQLite3
11:00 RP2040でSQLite3を動かそうとするとき、永続化するためのストレージとしてSDカードを使おうとしても、OSが無いので普通は無理。そこで、本来SQLite3を使おうとする側であるRuby側でファイルシステムを代替してSDカード内にSQLite3のdbファイルを保存することが出来るようにしたという話を見ていた。えーすご……
### お昼休み
会場で配っていた釜飯かなんかを持って屋上に上がって食べた。朝の運動で一緒になった人とトレーニングやアマチュア無線の話をしていた。
### Ruby vs Kickboxer – the state of MRuby, JRuby and CRuby
13:30 キックボクシングの練習をするための器具をRubyで自作した話と様々なRuby実装についての話を見ていた。デモが楽しげだったし、ナレーションがプロっぽくて聞いててワクワクした。
### Load gem from browser
14:10 ruby.wasmを使っていると、gemが使いたくても、ビルド時に含めないと行けなくて使いにくいのが辛い。そこで、実行時にロード出来るようにしようとしているという話を聞いていた気がする。そろそろ意識がもうろうとしてきている。
### Ruby JIT Hacking Guide
14:50 RJITという新しいJITの実装について。コンパイル後のバイナリが機械語としてどうなることを想定しているのかという事まで解説していてヤバかった…… 本当にコンピューターを端から端まで使い切りたいと思ったら、ここまでやらないとダメなんだなって事を見せつけられていた。
### Let’s write RBS!
16:00 RBSで型を足していけば足していく程、普段の開発が楽になるけど、じゃあ具体的にどうやったらいいのという疑問に答えるセッションだった。
### Parsing RBS
16:40 完成していないコードに対しても型の恩恵がもたらされるようにしないといけないが、それは大変という話を聞いていた気がする。
## After Party
松本つなぐ横丁を貸し切りにして飲み会をやっていた。松本つなぐ横丁は最近歌舞伎町とかで良く見る派手に光る飲み屋のフードコートみたいな業態で、松本は最先端だなって思った。
## RubyMusicMixin 2023
昨年に引き続きライブハウスを貸し切ってDJをやるというイベントに参加していた。20:00〜26:00という親切な時間設定が嬉しい。26:00までとか誰が残るんだよって思ってたけど、色んな人と存分に話し込んでいたら26:00になるのはあっという間だった。
# 5/14
連日06:30くらいに起きてたけど、この日は流石に08:00くらいまで寝てた気がする。
## やんちゃハウス2023チェックアウト
10:00 4泊5日にわたる宿泊もあっという間に終わってしまい、忘れ物のチェックなどを行って無事にチェックアウトした。
今回のやんちゃハウスはわし含めて10名で宿泊したけど、半分くらいは新規の人だったので、新鮮な回だった。夜、寝る前の2時間くらい雑談するタイミングがあったんだけど、ベテランのRubyistが新人のRubyistに今までの情報処理業界の出来事とかを教える会みたいになってて良かった。新しく入ってきた人はキャッチアップすることが多くて大変だよねというような話をしていた。以下はその時のトピックがSlackにメモられていたものからの抜粋。楽しそうさが伝わるだろうか。
浸透いうな
グローバルipあるある
さくらのvpsを22でたててみよう
吊るしのMac
サテラビュー
ディスクシステムの系譜
秋葉原
・紙風船
・スーパーポテト
岡崎市立中央図書館事件
兵庫県アラートループ事件
ウイルス罪
コインハイブ事件
こんにちはこんにちは
ttl
dns スピニング
認証ブートストラップ問題
ピンニング
だめもじ
iso2020?
shift jis
ドカポンキングダム
LINEつよいunicode
サロゲートペア
リガチャ
リガチャは活版印刷時代の話
コンピュータコンポネント、数珠つなぎ
南京錠いうな
ゼロトラストネットワーク
グループ会社
ドンだー
三店方式
神奈川県警
参加者のみなさん、チェックインからチェックアウトまで、ずっとniceなRubyistだったため、何ごともなく無事にやんちゃハウス2023を終えられました。ありがとうございました。という感じだった。
## ツーリング.rb
RubyMusicMixin 2023で会ったRubyistも関東地方から小型自動二輪で松本まで来ていて「明後日の雨ヤバそうだから、明日には帰ってしまおうかと思ってるけど、一緒に帰らん?」って誘われたので、それもいいかという事で帰ってしまうことにした。Rubyist on Trailsというハイキングイベントが雨でバスツアーに変更されたためキャンセルしたところだったので、ちょうどよかった。
10:00 松本城の駐車場で合流して中山道から東京へ向かう。
10:00 松本城の駐車場で合流して中山道から東京へ向かう。
16:55 『道の駅はにゅう』で解散した。ここからは各々の家に別々に帰る。
19:00 帰宅。長い旅の終わり。
# 5/18 振り返り
手を動かして振り返る RubyKaigi 2023(https://cookpad.connpass.com/event/282436/)というイベントに参加していた。
ほぼパーサーの話という感じになっており、どうやらパーサーは構文だけでなくRubyKaigiも食うらしいという事が分かった。
# そしてRubyKaigi2024へ
RubyKaigi 2024(https://rubykaigi.org/2024)は2024年5月15日〜17日までの3日間、沖縄県那覇市で行われるらしい。
今のところ参加するつもりなので、楽しみ。
## どうやって行くの
暫定ながら、以下のような旅程を想定しているけど、まだまだ時間はあるのでじっくりと検討したい。
5/10 17:00 出発
5/10 22:00 横須賀着(80km)
5/10 23:00 東京九州フェリー横須賀発
5/11 21:00 新門司港着
5/11 23:30 佐賀市着(110km)
5/12 08:00 佐賀市発
5/12 15:00 水俣市着(165km)
5/13 08:00 水俣市発
5/13 18:00 フェリー 鹿児島発
5/14 19:00 フェリー 那覇着
5/15 RubyKaigi 2024 Day: 1
5/16 RubyKaigi 2024 Day: 2
5/17 RubyKaigi 2024 Day: 3
5/18 一回休み
5/19 07:00 フェリー 那覇発
5/20 09:00 フェリー 鹿児島着
5/20 17:00 延岡市着(196km)
5/21 08:00 延岡市発
5/21 11:00 佐賀関港着(100km)
5/21 13:00 国道九四フェリー
5/21 14:00 三崎港着
5/21 18:00 四万十市着(134km)
5/22 08:00 四万十市発
5/22 13:00 室戸市着(187km)
5/23 06:00 室戸市発
5/23 10:00 徳島港着(122km)
5/23 11:20 オーシャン東九フェリー
5/24 05:30 東京港着
5/24 06:30 帰宅(25km)
ザッと書いてみたものの、2週間の旅……?これ、いくらなんもで無理では……という気もしている……
無理せず、鹿児島まで飛行機で行って、往路はフェリー、復路は那覇から直接飛行機で帰るという風にする可能性も高い……
# 総括
今回のRubyKaigiはパーサー会議とも言われるほどパーサーの話題で持ちきりだったので、わしもなんかパーサーに絡めて何かやりたいなと思って、わしは何に興味関心があるんだっけというのを思い出してみたところ、数年前にSQLQLという思想を公開した事があったんだった。SQLQLというのはWEBサーバーとかのエンドポイントにデータの集合を要求する際のクエリにSQLを使ったら分かりやすくて便利なんじゃないかという考え方で、以前公開した記事では、その実装にSQLの共通表式を使う事でリクエストした主体毎に異なるレスポンスが返せるようになるのではというコンセプトを考案していた。SQLQLはエンドユーザーに自由にSQLインジェクションをさせるようなものなので、いったん、リクエストで送られてきたSQLをパースして、安全なSQLに組み立て直して実際のDBへのクエリに組み込む必要がある。じゃあ、そのパースをどうしたらいいんだろうね、というところで手が止まっていて、まぁ、別に、待っていればいつか誰かがこのコンセプトに近いモノをリリースしてくれるだろうから、その時を楽しみにしていよう、などと考えながら6年が経とうとしている…… SQLQL向けのSQLのパーサーが作れたらSQLQLのPoCが作れるようになるので、まずはそういうところからやってみたいと思わされるRubyKaigiだった。