この記事は KLab Advent Calendar 2017 10日目の記事です。
こんにちは。このブログでは4度めまして、kakkun61 です。
この記事では、10月22日に開催された同人誌即売会技術書典3に KLab の有志で作った同人誌を頒布しましたので、その報告をします。
頒布した同人誌は電子版が無料で、この記事の下部にダウンロード用のリンクを張っています。
技術書典とは
技術書典は、プログラミングについての同人誌を作成しているサークル TechBooster と達人出版会が主催する技術・科学系同人誌即売会で、今回含めナンバリングイベントが3回、超会議での超技術書典が1回開催されています。
今回は秋葉原のアキバ・スクエアで開催され、ユニークの来場者数では2750名とかなり大規模なイベントとなっています。
なぜ参加することにしたか
発案は筆者で、筆者は技術書典1と技術書典2そしてその間のコミックマーケット91とで Haskell の同人誌を頒布して同人誌を作る楽しさみたいなものを感じていたことと、KLab のアドベントカレンダーは過去2度ともすぐに枠が埋まってしまっていたので、社内に書きたいと思っている人がある程度いるのではないかと思い、会社に相談し会社として参加することになりました。
どう作ったか
TechBooster の『技術書をかこう!』にしたがって Re:VIEW を使い、GitHub 上で Pull Request 運用で作っていきました。
各章を1人で担当し、章ごとに PR を作成しレビュー後マージという運用をしました。ふだんのソースコードの開発と似せた方が分かりやすいかと思いこのようにしました。
どんな同人誌になったか
7名で執筆し、校正の協力に1名、表紙の協力に1名という体制のメンバーになりました。
内容は下記です。
- 物理ベースレンダラーを Rust 実装して、表紙絵をレンダリングした話
- Sprache を CPS 変換
- Emscripten で動画再生する
- テキストマクロプロセッサ「M4」のチューリング完全性
- FPGA 初心者が試行錯誤しながら疑似乱数生成回路を作る
- 家庭内ネットストーカーシステムを作った
- とある KLab のスマホアプリのビルド事情
特にジャンルなどは指定せずみなが書きたいことを書いてもらったのですが、直接しごとと関係あるものは「とある KLab のスマホアプリのビルド事情」のみで、他は各々好き好きな内容になりました。
参加してどうだったか
さいわい印刷した冊数の7割ほど頒布することができました。印象としては KLab だからというよりは、内容で購入してくれていたように思いました。どれもコアな内容なので一部の人には刺さっていたようでよかったです。
メンバーでのふりかえりで、一般にも役に立ちそうなことを下記に抜粋します
ぱっと見てどんな内容の本か分からない
雑多な内容でタイトルに何も情報がないのでどんな本か分からなかったのは失敗でした。表紙に概要を書いたり、内容を書いたものを机に立てるなどしようと思います。
カラーのフェルトペンがあるとよかった
上の項目にも関連して、現地で札などを立てることになったときに黒ペンしかなかったので、見栄えが悪かったです。
人だかりができると立てたものは反対に見にくい
宣伝に札を立てたりしたのですが、人が近くで立って机を見たら上から見下ろすことになるので、そのときは紙を置く形の方がよかったです。机の前に人がいるいないで立てと寝かせとをうまく変えられるとすごくいいと思いました。
レビューに PR を使うことについて
今回は GitHub で PR を作る方式にしたのですが、いくつか問題に感じることがありました。
- 書きかけの状態で全部の章を合わせてビルドするのが PR 方式だとやりにくい
- マージしたブランチを作成しないといけないため
- レビュワーが PR 上で指摘するのはリードタイムが長くなるので、明らかに問題のない修正はレビュワーが直接書きかえたかった
次回は、著者が直接 master にコミットし、レビュワーも直接コミットして訂正する方法を試そうと思います。
余談
調査不足でブースが隣りの Wantedly の書籍と名前かぶりしていました。「Tech Book ください」と言われて「どちらの?」となることがありすみませんでした。あちらの方が技術書典1からその書名を使っていらしたのでこちらがかぶせてしまいました。