mtsmfm blog

ESM オフラインリアルタイムどう書くを開催しました

オフラインリアルタイムどう書く という、 @Nabetani さん主催のイベントを模したものを ESM の社内イベントとして行いました。

問題はこちら

開催の経緯

オフラインリアルタイムどう書くは @Nabetani さんが当日出題した問題を 1 時間で解いて、解けたり解けなかったりした結果を互いに発表する、というイベントです。 過去に何回か参加し、なかなかにおもしろいのでこういうのを社内でも次は出題者としてやってみたいなぁと思っていました。

一方、ESM では 60 min という、ハンズオンなどを有志が開催して都合がつく人が参加する 1 時間イベントがあります。 相談してみたところ拡大版ということで 180 min ほどいただくことができたので、10/22 (木) に開催しました。

問題づくり

@mattsan に問題作りに協力していただきつつ、 どう書くの問題を見たり、@torazuka さんの記事 を読んだりしながら問題を考えていました。

当日の流れ

問題の形式やタイムテーブルなど、大部分をオフラインどう書くの内容をほぼそのまま真似させていただきました。

gist の方には 「終わったら gist に URL コメントしてね」と書きましたが、idobata でリモートから流れを追ってる人もいたりしたので idobata 上に貼ってもらってました。

結果

12 人参加して時間内に解けたのが 1 人だけ (さすが @takkanm パイセン!) だったので、15 分延長したら半数くらいの方が解けた感じでした。 (自分も別言語でリトライしたら結局 15 分延長でクリア…)

感想

問題を出す側になってみて感じたのは、「おもしろい問題にする」ということの難しさでした。 当初の案では席が一直線だったのですが、自分でやってみて、解けてもなんかあまりおもしろくなかったです。 @mattsan さんから「席を円形にする」というアイデアをもらって、試してみるとそこまで難易度が大きくあがらないのに 解けたときになんとなくおもしろいと思えました。 (この「なんとなく」を感じ取るのが問題を出すセンスなんですかね)

反省点としては、参加人数が少なかったなーというところです。 3 時間もらうということで調整がつかず参加できなかったメンバーが少なからずいました。

次回には「解き方が複数ある問題にする」、「参加人数を増やすべく時間を減らす or 日付を調整する」あたりを try としてまたやれるといいなぁ。

自分の実装

Ruby だと redo が便利ですね。 rotate してるところは自分で見返すともう読めない。

JS の方は ES6 とかとっさに頭から出るほど使えていないので、なにそれおいしいの状態で突撃。 せめて coffee にすればよかったと数分後に後悔。 どこに何人入るかが分かってもそれを 2 進数の値にするところで詰まった && どう書くだとこんな手もあったりするんですよ〜というご紹介として 64 通り書く力技をしてみました。

みんなの実装 (敬称略)

ありがたいことに、後日別の言語で解き直す方や、インターネットで見かけて参加してくださる方もいらっしゃいました。

当日、後日と解いてくださったみなさんありがとうございました!

解いたのに載ってない! という方は @mtsmfm まで or 直接 PR どうぞ。

当日

@takkanm

@mattsan

@fkino

@aikyo02

@fossamagna

後日

@Nabetani

@takkanm

@mattsan

@narinari

@nakana

@cielavenir