search term:

ハイブリッド ScalaMatsuri の舞台裏

今週末、virtual/Tokyo ハイブリッドの ScalaMatsuri が開催された。まずは、登壇者の皆さん、スポンサー各社、参加者の皆さんにお礼します。

初のハイブリッドということで、至らない点も多々あったけども、成功したカンファレンスだったのではと思う。僕は、16名の ScalaMatsuri スタッフの一員、それからメインのセッションと飛びコンでの登壇者として参加させてもらった。

ScalaMatsuri の 10年

過去のエディションのハイライトをいくつか振り返ってみる:

ハイブリッド・カンファレンス

ScalaMatsuri 2023年版は 16名のスタッフと当日数名のボランティア・スタッフにより運営された。いくつか僕個人が担当したものもあるが、ほとんどが数ヶ月に渡るチームワークの成果であることをまず書いておく。ハイブリッド・カンファレンスの運営は、会場開催のカンファレンスともバーチャル・カンファレンスとも違った難しい側面がある:

┌────────────┐    ┌──────────────┐    ┌────────────┐
│会場からの    ├─┬─►│ Zoom Webinar ├─┬─►│会場での参加者 ├─┐
│登壇者       │ │  │              │ │  │            │ │  ┌───────┐
└────────────┘ │  └──────▲───────┘ │  └────────────┘ ├─►│Discord│
               │         │         │                 │  │       │
┌────────────┐ │  ┌──────▼───────┐ │  ┌────────────┐ │  └───────┘
│オンラインから │ │  │ 同時通訳      │ │  │オンラインから │ │
│の登壇者    ├─┘  │           │ └─►│の参加者    ├─┘
└────────────┘    └──────────────┘    └────────────┘

第1日目、登壇者のうち数名がサテライト会場から、他はリモートから登壇した。同時通訳は、プロの通訳の方にさらに別の場所から Zoom Webinar 越しで行われた。サテライト会場のスタッフは、会場の登壇者と Zoom Webinar のリレーの 2つの設定を行き来する必要があり、それが大変そうだった。

また、この構成によって実質的にサテライト会場のメイン・トラックで登壇できるのは日本語話者のみ、かつサテライト会場の音声再生も日本語に限定された。頑張ってサテライト会場で参加した英語話者の人にはスマフォかラップトップで、イヤホンを付けた状態で Zoom Webinar の英語音声を聴くよう案内が出された。

全セッションを通じて、雑談や質問などは Discord チャンネルを用いて行われた。

20 分トーク

2021年版で、セッションの長さを基本的に 20分をメインにして、複数トラックの長いトークの代わりに単一トラックの短いトークにする提案をした。今年もその方針を継続した。

両日第2トラックとしての飛び入りカンファレンス

今年から始めた試みは、飛び入りカンファレンス (アンカンファレンス) を第2トラックとして両日行うことだ。

事前に用意されたトークと違って、飛びコンは話が発散しやすいので多分 45分とか 60分ぐらいあった方が良いと思う。

基調講演の復活

日本は隔離した技術文化を持ちがちなこともあり、ScalaMatsuri の根底にあるテーマとして英語圏での潮流を日本に紹介して、また日本の技術者が海外へとアイディアを発信できる場を設けるという技術交流的なものがある。その観点から、Daniel Spiewak さんの「Effect システムのすゝめ」は基調講演に最適だと思った次第だ。今重要な話題だし、ScalaMatsuri の参加者に字幕と同時通訳付きで提供できる機会となるからだ

今回もう1つやってみたかった実験はトークを事前録画することだ。事前の作業の手間はかかるが、それができる能力をつけておけば時差問題の回避策となると思うからだ。

時差としては、彼が住んでる Boulder は夜の 21:00 ぐらいの時間だったため Daniel は Discord で待機してくれていて、質疑応答もカメラ上、Discord の両方でやってくれた。挙げられた質問を書いておくと:

トイレ方針の文言化

一般論として、全てのカンファレンスは自分たちトイレ実装を理解して設計する必要があると思っている。トイレは、机上のジェンダー論が現実に直面するからだ。具体的には以下の質問を答える必要がある:

  1. 誰がどのトイレを使うことができ、また誰がどのトイレを使うのかを決定することができるのか?
  2. トイレに関してどのようなサイネージを行うのか?
  3. 方針に関して、書面もしくは口頭でどのようなコミュニケーションを行うのか?

これに関しては、2019年頃でもスタッフの間で議論されたと思うが、現行の方針を書き記して (毎年1から考え直さなくてもいいように)、行動規範の運用方法として文言化した。

  • 会場のお手洗いは、ご本人が自己宣言したジェンダーアイデンティティに基づいて利用していただいています。非バイナリジェンダーの方は、どのお手洗いでも利用可能としています。

サテライト会場の口頭でのスクリプトは以下のようにした:

サテライト会場の皆さんにご案内です。

会場内のお手洗いは、この2Fフロアに男女トイレ、1Fに多目的トイレがあります。 ScalaMatsuriのポリシーとして、会場内ではご自身のジェンダーアイデンティティに基づいてお手洗いを選択してもらっています。 ご自身を男性だと思う方は男性トイレ、ご自身を女性だと思う方は女性トイレをご利用ください。 ノンバイナリジェンダーの方はどちらのお手洗いでも大丈夫です。

これは、個人の権利と日本の慣習の丁度良いバランスを取っているんじゃないかと思う。男性は男性トイレ、女性は女性トイレを使う。誰が男性なのか? 本人のみが自己宣言で決定することができる。非二元論的性別 (ノンバイナリ) の人は、全てのお手洗い (トイレ) を使うことができる。以上に関して、心地よくないという人は、そういう人がご自由に多目的トイレで用を足せばいいと思う。サイネージの変更もする必要は無い。

将来の ScalaMatsuri スタッフは別の方向を取るかもしれないが、現行の僕たちの考えは記録されたと思う。

僕が登壇したセッション

トーク: Helix と Scala

2日目に、Helix と Scala という内容で登壇した。Helix という今好きなエディタがあって、そのまま LSP とか Treesitter が使える状態になっていて、20分のデモ・セッションをやったら面白いんじゃないかと思ってやってみた。まずは、モダンジャズにおいて Bill Evans がピアノで弾けるけど、敢えてベース音を弾かないでベーシストに弾かせることで本来伴奏楽器だったピアノを前に出すことができたみたいな話から始めた。

Helix というエディタが、敢えて独自の構文ハイライトを実装せずに各々の言語が Treesitter パーザを持つことを前提としてのは Bill Evans 的だと言えることができないだろうか。また、ここでタイミングを見計らって僕が monokai_aqua を Helix にコントリしたことを自慢した。

後半は、Scala 3 マクロの実装にジャンプしたり、バッファ内のコンパイルエラーを表示したり、メソッドのリネーム行うなどのデモをした。

飛びコン: about sbt 2.x

リクエストがあったので、sbt 2.x に関しても open-mic トラックで話した。酢鶏のこととか、sbt 2.0 ideas とか RFC 関係のことなど、今までの活動を手早く紹介する感じになった。この辺のことは英語だけでしか書いてなかったりするので、日本語で紹介できたのがお役に立てれば良かったかなと思う。その場で質問を聞いたり、アイディアをもらえたのが良かった。

フィードバック

ScalaMatsuri 出席しましたか? 感想や、改善点の提案などあればアンケートで教えて下さい:

あと、良かったなというトークがあれば Twitter とかで登壇者の人にメンションを飛ばす、メールで一言送ると喜ぶと思います。