3月23日から25日までPHPerKaigi 2023に参加してきました。
参加してみての感想は、一言で表すと
かつて思い描いていたカンファレンスと、想像以上を提供してくれるカンファレンスの融合を体験できて楽しかったし嬉しかった
です。
想像以上の体験を提供してくれるカンファレンス
これはPHPerKaigiのことです。
カンファレンス運営に対して狂気ともいえる情熱を注ぎ続ける主催者と、それを強固にバックアップするスタッフの方々が存在することにより実現される体験。まだ今年で4回しか参加していませんが、常にアップデートされています。アップデートの方向も想像がつかないです。毎回毎回楽しい(毎回同じでも楽しいのに!)。
あらゆる場所にエンターテイメントがあり、おもてなしがあり、当日以前にもカンファレンス開催前のビッグなノベルティボックスや、事前登壇の自動録画機能など驚きがあります。
@k1LoW さんのカードをいただきました!#phperkaigi 2020ではみんなで交換していたらしい… 楽しそう! pic.twitter.com/hcV2P0nZOV
— やんまー (@yammerjp) 2023年3月24日
2020年のグッズで今だに遊べるのがすごいですよね。まだ遊べる。ずっと遊べる。
かつて思い描いていたカンファレンス体験
日本のカンファレンスで有名なものの1つにRubyKaigiがあります。
私は一参加者としてRubyKaigi 2017に参加させてもらったことがあります。
「RubyKaigi のオススメコンテンツは廊下」という言葉があるらしいのですが、RubyKaigi 2017でそれを見る機会がありました。
2階に上がる階段の下にたまたまあったようなホワイトボードを使ってRubyのコミッタの方々が(おそらくRubyの実装について)議論していました。何回か通りがかったのですが、ずっと議論していました。
そういえば、かつて学生時代に参加した学会でもそういった様子を見ることがありました*1。
ただ、私は「見ていた」だけでした。当事者ではなかったのです。
とても羨ましく感じたのを覚えています。「希少なオフラインで会う機会を使って自分たちのOSSや研究を進める」というのがカッコよく感じました。
カンファレンスにずっとそういった思いを持ち続けて、今年、PHPerKaigiでその体験を得ることができました。
runnを一緒に開発しているkatzumiさんがPHPerKaigi 2023に参加されるということだったので、「これだ!」とばかりにrunnの次の機能について議論させてもうことができました。
詳しくはkatzumiさんが書いてくださったエントリが全てです。
延々と「オタクの早口」で話していた気がします。ずっと嬉しくてテンションが高かったのを覚えています。
PHPerKaigiは場を提供してくれている
ところで、PHPerKaigi会場に「もくもく会スペース」があったのはご存じですか? runn開発者会議ではこの場を有効活用させてもらったりしました(ホワイトボードも少しお借りしました)。
「もくもく会スペース」があるということは「もくもく」が推奨されているということです。Track Cとして「突然の発表(アンカンファレンス)の場」も提供されていましたね(Dでも発表がはじまったとか)。
「PHPerKaigiはコミュニティ」といわれているとおり、PHPerKaigiの会場が「発表と聴講の場」以上の設計がされているのがわかります。PHPerKaigiはあらゆるコミュニケーションに開かれていると感じます。
そして、PHPerKaigiはOSS開発にも開かれていました。
runn開発者会議ができて、自分の思い描いていたカンファレンス体験ができたのはPHPerKaigiの場のおかげです。
カンファレンス中の成果
カンファレンス中の成果です。
tblsのER図の出力調整
tblsのER図(SVG)の出力が微妙(私も薄々感じていました)というフィードバックをもらって、それをごりっごりのワークアラウンドで対応しました
- [Breaking Change] Add workaround for overlapping characters in the table name area of ER diagrams. by k1LoW · Pull Request #456 · k1LoW/tbls · GitHub
- [Breaking Change] Add workaround for overlapping text in table name area of ER diagram on table page by k1LoW · Pull Request #458 · k1LoW/tbls · GitHub
tbls が出力するER図でBASE TABLEという表記が、本来のテーブル名に重なっちゃうんだよねーという話を #phperkaigi でチョロっと相談したら、最新バージョンで対応をしてくれていた
— suzuki (@suzuki) 2023年3月28日
結構強引な修正で笑ってしまったけどw
(ワークアラウンドと書いてあるのでそういうもの)https://t.co/04cqlULI5j
runnクックブックにレシピ追加
CDPランナーの使用において必要になる設定についての紹介レシピを追加しました。
意外にCDPランナーへの反応があったので、runnクックブックに「Chromeをヘッドフルモードにする方法を」追記しておきました。動きが見えるのでデバッグしやすいです #phperkaigihttps://t.co/i0IilVOAAk
— k1LoW (@k1LoW) 2023年3月25日
runnのSSHランナーでsudoができるのかを確認
SSHランナーは keepSession: true
でセッションをステップ間で維持できるのですが、PHPerKaigi内での質問に「sudoも大丈夫なはず」と回答したのですが不安だったのでテストを追加して試してみました。
runnでシナリオのステップごとの成功/失敗を記録
これがrunn開発者会議のメイン議題だったのですが、「ステップが失敗してもそのまま継続して最後まで実行したい」というユースケースに対応するべく、まずはrunnのシナリオのステップごとに成功/失敗を記録するように内部実装をいじっていました。
Release for v0.65.0 by github-actions[bot] · Pull Request #468 · k1LoW/runn · GitHub
で、「ステップが失敗してもそのまま継続して最後まで実行」したとして「そのシナリオは果たして成功なのか失敗なのか」についてkatzumiさんと議論して、「そのシナリオは失敗だろう」ということに落ち着きました*2。
GitHub Actionsの continue-on-error:
を例に出して議論していたのですが「実現したいユースケースは多分 continue-on-error:
とは違う」ということになり、設定名も違うものになりそうです。
近いうちに実装を終わらせます。
OSSとPHPerKaigi 2023
思えば、パンフレットに趣味OSSについて寄稿させてもらったり、
発表の一部でOSSについて紹介させてもらったり、
runn開発者会議をしたり、
会議の様子です #phperkaigi pic.twitter.com/vckon30k9D
— k1LoW (@k1LoW) 2023年3月25日
懇親会でEmacsユーザミートアップをしたり、
おじさん達のemacsに対しての意識改革が必要だなと強く感じた
— た҉͜け҉͜て҉͜ぃ҉͜𓁈𓈷 (@takeokunn) 2023年3月25日
私のPHPerKaigi 2023はOSS色の強いものになりました。
実際はそれだけではなくて、 ペンライトが意外に楽しくてブンブン振ったり、コーヒーとビールが無限だったり、uzullaさんの最高のエンターテイメントでかつ強く考えさせられる発表で「D!T!O!!!D!T!O!!!」と手拍子したり*3、N次会で綺麗なそーだいさんをみたり*4、非公開なこともあったり*5、濃い三日間でした。
運営の皆様、スポンサーの皆様、発表者の皆様、ありがとうございました!
「また来年!*6」