5/9(土)、新宿のジュンク堂書店で開催された『Debug Hacks―デバッグを極めるテクニック&ツール』刊行記念トークセッション 「よしおかひろたかとミラクルな仲間たち、デバッグ道を語る」、というイベントに参加してきた。

090509_2045

Debug Hacks」は4/25にオライリー・ジャパンから発売された本。Linux環境、特にカーネルのデバッグについての基礎知識からhackまでを紹介した、数少ない「デバッグに特化した書籍」である。

残念ながら「Debug Hacks Conference 2009」には参加できなかった(Genesis Lightning Talks vol.15参加していた)ので、著者の皆さんに直接お会いできる貴重な機会として逃す手はない。抽選でTシャツプレゼントという嬉しいオマケもあることだし。


内容は5人の著者とコントリビュータの島本氏が、スライドを取っ掛かりに執筆開始から現在までを振り返る、いわば「Making of 『Debug Hacks』」。本を書こう、と思い立ったところからの経緯を聞けたりした。

以下、トークの中で気になったポイントや感想など。「ミラクル」は「ミラクル・リナックス株式会社」、「オライリー」は「株式会社オライリー・ジャパン」のことである。<>(全角不等号)でお名前を囲んである箇所は話者を表している。敬称略にて失礼。

出版が決まるまで

  • デバッグ系の本を書きたい<大岩>

  • ミラクル社内で20%ルールを検討していた。

  • 開発以外の何かをしよう、と考えた

    →「デバッグに特化した本を書きたい」

  • ダンプの見方

  • アセンブラ

  • スタック

  • 自分が苦労したポイントについて、過去の自分に読ませたい本を書こう

  • 結局20%ルールは導入しなかった

  • すでにいくつかのネタはblogに書いていた

  • アジアのペンギン: アセンブラの勉強方法

    被はてブ:36→勝手に一人で売れると確信

  • はじまりの頃<大和>

  • 社内の有志(机が近い3人:大岩・大和・安部)で盛り上がる

  • グループウェア用に「ミラクル出版局」という架空の部署名をつける

  • 記事候補をリストアップ

    →2008年5月の時点で構成はなんとなくできていた

  • 出版社に話を持ちかけてみた

    →つれない返事

  • 「ニッチすぎて難しい」

  • 「管理者、ユーザ向けの本のほうが売れる」

  • 「会社の宣伝本を出版するの?」

  • 「自費出版という手も…」

  • 出版できるかわからないまま共著者が増える

  • ミラクル社内で募集

    →吉岡、吉田が合流

  • 社内コントリビュータ探し

    →島本、美田(両氏とも有名なカーネルハッカー)が快諾

  • オライリーとの出会い<吉岡>

  • Linux World Expoのオライリーブースで吉岡とオライリー担当者が立ち話

    「ぜひやりましょう」と好感触、打ち合わせ

  • 他の出版社との反応の違いに驚いた<安部>

  • 出版の時期を聞いてみた<大岩>

  • 新しい人が入ってくる4月がいい

    →2009年4月発売目標

  • オンスケで出たのは奇跡!<吉岡>

  • 6/末までに目次案を作成

    →オライリーで稟議

  • 社内での執筆ガイドラインとすり合わせ

    →「社名は出す、業務時間外に執筆」という条件で

  • 「皆さんの会社にもガイドラインがあると思うので問い合わせてみましょう」

  • 不安の時<安部>

  • 2週間ぐらい、と言われた結果が3週間経ってもこない

    →へこむ(主に安部)

  • 7/22 Go!

    • 海外出張中(カナダ Linuxカンファレンス:大和・安部)
    • 現地で島本と盛り上がる
  • 内容・コンセプトのすり合わせ<安部>

  • 「Linux環境におけるカーネルとアプリの実践的なデバッグのノウハウを提供する。」

  • ソースコードレベルでのバグ修正が目標

  • トラブルシュートや単純なコマンドの使い方は対象外

  • 運用やトラブルシュートに特化したネタが多くボツにされた<吉田>

    →「トラブルシューティングHacks」だと本領発揮だよね<吉岡>

  • ボツタイトル案:「LINUX DEBUG HACKS」<大和>

  • ボツ表紙案<大和>

  • バグ取りホイホイ

  • 金鳥蚊取り線香

  • ゴキブリ(の群れ)

    →手でバッテン作って却下された

執筆の日々

  • 業務時間外で執筆

  • 原稿はgitで管理<吉岡>

    →subversionという案もあった

  • 本格的に分散開発(執筆)に挑戦<安部>

  • 各自のリポジトリを持つ

  • オライリー向けにマージして提出

  • ちょう便利

    →このためにあるんじゃないかと思ったぐらい

  • gitを使ってデバッグ、というネタもあった

    →結局ボツになったが、実践的なgitの使い方やログの見方なども必要<吉岡>

  • commit数の推移<大和>

  • 著者6人 x 週1本 = 24本/月、5ヶ月で100本書ける予定

  • 実際は2週に1本ペースぐらい

    →ヤバい

  • バグが再現せずに書けなかったりした<大岩>

  • 夏休みの宿題は8/31に始めるタイプ

    →締め切りドリブン開発<吉岡>

  • 月曜日の編集会議<吉岡>

  • 各自が週末に書いたHackを相互レビュー

  • 質疑応答がめちゃめちゃ勉強になった

    →録画して公開すればよかった

  • 他人のHackも、自分のHackがレビューされることも勉強になった<吉田>

  • リモートでの執筆<島本>

  • 全体の状況がわからなくて焦った

    →コミュニケーションはメールのみ

  • プライベートなリポジトリを持って執筆

    →マージは安部におまかせ

  • 校正段階に入り、MLの流量が増えて焦る

    →さらに帰国準備と重なって大変だった

  • 時差が大変だった<安部>

  • 美田とのやり取りは全然苦労がなかった<大岩>

  • ギャラも締め切りも一切聞かずに快諾

  • 日本にいたのに顔も合わせず

  • 美田、島本両氏はスポーツで言うならオリンピックアスリート<吉岡>

  • 2/11 校正大会<吉田>

  • 「2月中に原稿をいただかないと、4月にだせませんよ!」

  • 祭日をまるまる使って校正大会

  • 章立ての変更

    →5章予定が6章に

  • 語句の統一

    →用語集を作って統一したら、オライリーから数倍の統一要請がきた

  • 索引と用語集の追加

    →「「用語集や索引が充実していると買う気になるんだよね」<吉岡>

  • 最初は64Hacksの予定だった

    →ナンバリングの重複が発覚、65個に

    →最終的には66個

  • 最終原稿提出前の山場<大和>

  • 2/20夕方提出予定

    →明らかにHack #7が未完成(吉岡担当部分)

    →しかも大分出張(キャラバン-大分-|セキュリティ&プログラミングキャンプ・キャラバン2008

    →2/23(月)に伸ばしてもらった

  • 誤字脱字などあり、結局2/24提出

  • 3月に再校した<吉田>

    →内容に追加もあった

完成~発売~そして未来へ

  • 印刷待ち(1ヶ月ぐらい)

    →じりじり待つ

  • 見本完成

  • 4/20 オライリー到着

  • 4/21 ミラクル到着

    →Tシャツも同時に到着

  • 4/21 打ち上げ

    →ここで初めて全員集合

  • 4/23 Debug Hacks Conference 2009

  • 100人枠が1日ちょっとで埋まる

    →会場(IIJ)に頼んで増やしてもらい、最終的に140人枠に

  • 100部が完売

    →自分の本が目の前で売れていく光景に感動した<吉岡>

  • 著者によるDebugネタのLightning TalksとQ&A

  • 今後の展望(野望?)<吉岡>

  • Japan Linux Symposiumでのセッション

  • 英語など多言語への翻訳

  • Debug Hacks 2nd

    →書ききれてないネタがたくさんある(第4章とか)

  • Debug Hacks Conference 2010

  • デバッグそのものについての議論の場

  • カンファレンスを重ねることで出版のネタになればおいしい

  • デバッグのスキルを積み重ねるのもプログラマにとって貴重

質疑応答

  • Q:何社ぐらいの出版社に話を持ちかけた?

  • 2~3社。オライリーが一番熱心だった。<吉田>

  • コミュニケーションのミスマッチがあったのでは。<吉岡>

    →コンセプト、熱意をきちんと伝えられなかったのは反省点

  • 「やられた」と思った出版社もあったはず<吉岡>

    →営業のところで話が止まっちゃったのは残念だよね

  • 技術を公開するすのはノウハウの流出では?

  • 顧客情報などクリティカルなものはともかく、技術はOSS的に言うとプログラマコミュニティの財産。還元するのは義務だしメリットもある。<吉岡>

  • エンジニア採用

  • 社のイメージアップ

  • 本が売れる(出版社)

  • 誰も損をしないシステム

  • Q:印税 / 原稿料の配分は?

  • ページ数で配分<吉岡>

    →トップは大岩

  • コントリビュータにはHack数 x 単価で原稿料を支払い<吉岡>

  • 出版については会社に聞くといいよ<吉岡>

    →ちゃんとメリットをアピールしてスーツ組に掛け合うべき

  • Q:事前にグロサリー作るとかしなかったの?

  • 統一したはず…なのに誰も守らなかった<大和>

    →それよりまず書かないとヤバかった

  • Q:ミラクル広報の査読、オライリーでの執筆指導などは?

  • してもらえなかった…<大和>

  • 個人を尊重したんだよね!<吉岡>

  • Q:オープンブックスとしてインターネット公開してもらえないか?

  • いい質問だ<吉岡>

  • 気持ちとしてはもちろん公開したい

  • 「本」の形になることが重要な面もある

    →流通、情報量

  • たとえば中学生には高い、ということなら「図書館にリクエストする」という手もある

  • 将来はGPL的な出版ができるといい

    →オライリーでは前例がある

  • Q:プライベートを削っての執筆で、モチベーションは落ちなかった?家族のケアは?

  • 時間は取られて大変だったけど、心は折れなかった。チームで書いていることへの責任もあったからやりとげられた。<大岩>

  • 早起き体質なので、休日の朝、妻が起き出すまでの時間が勝負だった。<大和>

  • 妻に本を書くよ、と告げたら「あそう」と言われたが、特に考慮してくれたわけではなく土曜の夜中が勝負だった。家族サービス的なものがおろそかになると機嫌が悪化して大変だった。<安部>

  • 理解のある妻で、出版を一緒に喜んでくれる気持ちのほうが大きかった。でも「旅行に行こう」と長時間ドライブ、などの要求はあり、締め切り間際で大変だった。<島本>

  • ひとりなので時間は自由に使えた。去年の週末はほぼ執筆に費やした。月曜の編集会議がプレッシャーでもあり励みでもあり。<吉田>

  • プレッシャーもなく自由に書けた。正月休みにちょっとがんばった。まつもとゆきひろ氏の推薦文が嬉しかった。<吉岡>

その他雑感
  • ジュンク堂新宿店は素晴らしい品揃え。購入衝動を抑えるのが大変だった。

  • 開始前にハイフォー祭りが勃発。持っててよかったPoken。

  • 最近個人的に気にしている「wife hacks」について聞けたのも予想外の収穫。このネタは継続的に掘り下げていきたい。

  • 「本を出す、という人生の目標が叶って嬉しい。しかもそれがオライリーからだというのが光栄。」<吉田>

    →その目標いただきました。私も目指します。

  • Tシャツ争奪ジャンケン大会はあえなく初戦敗退。痛恨。

楽しくも刺激になる話が聞けた、充実した時間だった。「さらっと読んで書評」なんてとてもできない濃い内容の本なので、書籍本体についての感想はもっとしっかり読んでから別エントリにて。

Amazon.co.jp: Debug Hacks -デバッグを極めるテクニック&ツール: 吉岡 弘隆, 大和 一洋, 大岩 尚宏, 安部 東洋, 吉田 俊輔: 本

http://www.amazon.co.jp/exec/obidos/ASIN/4873114047/bottomline02-22

MIRACLE LINUX CORPORATION – ミラクル・リナックス

http://www.miraclelinux.com/

アジアのペンギン

http://blog.miraclelinux.com/asianpen/

O’Reilly Japan Home Page

http://www.oreilly.co.jp/

Debug Hacks Conference 2009 : ATND

http://atnd.org/events/539

Japan Linux Symposium

http://events-dev.linuxfoundation.jp/events/japan-linux-symposium

【2009-05-12 追記】

●<a href="http://d.hatena.ne.jp/hyoshiok/20090512#p1 target=”_blank"“>Debug Hacks出版記念トークイベント、企業による出版支援 – 未来のいつか/hyoshiokの日記

http://d.hatena.ne.jp/hyoshiok/20090512#p1

[スライド]Debug Hacks出版記念トークイベント、新宿ジュンク堂

http://www.slideshare.net/hyoshiok/debug-hacks