2011-07-02(Sat) [長年日記] [Edit]
■1 『アジャイルサムライ』の書影と主な目次が出てこないから自分で貼るよ
あわせて読みたい: 「アジャイル開発のディケイドと"The Agile Samurai"」
6/30正午付近に脱稿したら7/1に印刷入稿されたので(青焼の確認がまだあるけど)、いよいよひと区切り。このまま大きな事故がなければ、RubyKaigi 2011の頃には書店に並ぶはず(前日が書店搬入日の予定)。RubyKaigi初日が正式発売日なるスケジュールでオーム社開発局をはじめとした関係各社の総力戦である(RubyKaigi2011会場で先行発売とかそんなリードタイムではないのだ!!)。
でも残念ながら、すてきな三にんぐみのRails3についての素晴しい書籍と違ってまだAmazon.co.jpにレコードはない。版元のサイトにはエントリはあるけど書影もないし目次も企画書段階のときのまま。オーム社eStore(β)にも商品は追加されていません(だってやってないもん)。
御礼とかプロモーションとかもあるけど、それはちゃんとリリースされてからにするとして、とりいそぎ書影と主な目次をお伝えしておきます(最新版)。『アジャイルプラクティス』のときに引き続き、轟木亜紀子さんにすばらしい仕事をしていただきました:
ちなみに原著の書影はこういう感じ:
もう見慣れてるからこれはこれで味はありますが、背景画像としてしょいたいのはだんぜん日本語版だなあ。以下、目次の最新版:
目次
- 日本の読者の皆さんへ
- 謝辞
- お目にかかれて光栄です
第I部「アジャイル」入門
- 第1章 ざっくりわかるアジャイル開発
- 第2章 アジャイルチームのご紹介
第II部 アジャイルな方向づけ
- 第3章 みんなをバスに乗せる
- 第4章 全体像を捉える
- 第5章 具現化させる
第III部 アジャイルな計画づくり
- 第6章 ユーザーストーリーを集める
- 第7章 見積り:当てずっぽうの奥義
- 第8章 アジャイルな計画づくり:現実と向きあう
第IV部 アジャイルなプロジェクト運営
- 第9章 イテレーションの運営: 実現させる
- 第10章 アジャイルな意思疎通の作戦
- 第11章 現場の状況を目に見えるようにする
第V部 アジャイルなプログラミング
- 第12章 ユニットテスト:動くことがわかる
- 第13章 リファクタリング:技術的負債の返済
- 第14章 テスト駆動開発
- 第15章 継続的インテグレーション:リリースに備える
第VI部 付録
- 付録A アジャイルソフトウェア開発の原則
- 付録B オンラインリソース
- 付録C 参考資料
- 監訳者あとがき
- 索引
- 著者・監訳者・訳者について
一緒に監訳したid:nawotoは7/2のデブサミ東北でワークショップをやります。 また、Amazonに書影が出たらお伝えします :)
ちなみにハッシュタグは #agilesamurai です
2011-07-03(Sun) [長年日記] [Edit]
■1 Emacsでの見た目そのままにソースコードをKeynoteのスライドに貼り付ける方法
RubyKaigi2011の足音が聞こえてくるなか(おい、再来週はRubyKaigi2011だぞ!!)、 社内でKeynote勉強会をしたときにも意外に知らない人が多いんだなーと改めて思ったので説明してみます。スライドづくりのご参考に。
緊張しているトークの最中にソースコードを見せるときには、普段自分が見ている見た目と同じになっていると幾らか緊張がほぐれるものです。Xcodeとか(TextMateも?)を使ってる人はこんな手順踏まなくても良さそうだけど(もしかしてEmacs23の人も?……私はまだCarbonEmacsを使っているのであった)。まあ、それはそれとして、手順は3つ(人によっては4つ)。
- 0. htmlize.elをインストールする
- 1. ソースコードをhtmlizeする
- 2. HTML化したファイルをSafariで開く
- 3. Safariの画面からKeynoteにコピペする
じゃあ順番に。
0. htmlize.el をインストールする
Carbon Emacs はパッケージに入ってたけど、お持ちでない方は:
http://fly.srk.fer.hr/~hniksic/emacs/htmlize.el.cgi
を入手しておくこと(thanks to yujiorama!)
1.ソースコードをhtmlizeする

スライドに貼り付けたいソースコードをHTMLファイルにする。Emacsにはhtmlize-*があるので、これを使う。

説明を簡単にするため、ここでは htmlize-file。最初から部分だけ見せたければ、htmlize-regionで、~/tmp とかに置く(いつもはこっち)。するとこういうのが生成される:

2.HTML化したファイルをSafariで開く
$ open -a Safari ~/git/rubykaigi/app/models/rubyist.rb.html

(当たり前だけど)Emacsでの見た目と同じ表示になってる。
3.Safariの画面からKeynoteにコピペする
あとは、スライドに貼り付けたい部分のソースコードを選択してCmd+Cでコピー、Keynoteにペースト。フォントサイズを指定して(スライドの文字は大きく!!)、できあがり。

おわりに
vimにもたぶん似たような機能(色のついたHTMLファイルを生成する)があると思うので、それを使えばできると思います。→ できるそうです
モノを知らないので、SafariとKeynoteのあいだでペーストボード経由でやりとりできる仕組みの名前がわからない(WindowsのOLEみたいなやつ、程度の認識)。
札幌Ruby会議01のトークのときのソースコードのスライドはこれで作りました(札幌Ruby会議01で発表してきました(2008-10-25))
RubyKaigi2011で皆さんの(文字の大きな)スライドづくりの参考になればと思います。ご活用ください。
■2 松江Ruby会議03に行ってきた
twilogの7/3の13:00以降18:00あたりが参加しながらのtweet(だいぶnoisy)。
個人的な感想は偉そうだけどこれに尽きる:
最初聞いたときはRubyを地域資源として活用とか「大丈夫か?」と思ったけど、こうやって成果がでているのはすごいなあ。ちゃんとRubyでアジャイルにお客さまに価値を届けようとしている #matrk03 2011-07-03 14:15:35 +0900 via TweetDeck
kakutani
Kakutani Shintaro
松江では、地域の人びとや地方公共団体が一緒になって手づくりのイベントを催すようになっている印象を強く感じた(さまざまに力添えされているのだろうと思います。Matzのビデオキーノートとか、ローカルTV番組として流してもいいんじゃないのというレベル。おつかれさまです)。
(たぶん)初めてお会いする皆さんからは、挨拶代わりに「遠路遥々お越しやす」的な労いの言葉をいただいて、大変ありがたかったのではあるけれど――まあ、地域でもRubyKaigiみたいなやつをどんどんやればいいんじゃね? って最初に言ったの私なので……。とはいえ、こうした言葉の背景に、地域の皆さんが「自分たちのイベント」という感覚を持ってもらえるようになったことがあるのだとしたら、こんなにありがたい話はない。妙な感慨とともにそうした挨拶の言葉をうけとめていたのであった。
産業振興の施策的な面はあるにせよ、NaClの皆さん以外の方々が(私の勤務先のかつての同僚の肝煎りだとしても)あれだけ堂々とRubyとアジャイル開発の可能性を語るというのは感慨ぶかいものを感じざるをえない。便利なライブラリを使う、じゃなくて「コミュニティが磨いた知恵とツールを活用している」という態度と姿勢がすばらしかった。きっといつか、みんながRubyで受けたこの恩をどこかに恩送りしてくれるはず。
島根のあたりではRubyが地域に根づき始めてるのだなあ、という空気を感じた。リラックスしてる雰囲気もとてもよかったな。ビデオ講演(対談?)でまつもとさんが「ぼくが住んでるからじゃなくて、松江の(島根の)皆さんがどうするかですよ(要旨)」みたいなことを言っていたことも印象に残っている。こういうこと書くとまたキモいとか言われるのかもしれないけど、こうした空気のそなわったイベントが開催されたことがキモさの成果なんだとしたらキモくていいよ、と思うのであった。
次に松江に行けるのはRubyWorld Conference 2011に行けたらいいなあ。このカンファレンスはこれはこれでRubyKaigiとはまた違ったテイストがあってなかなか良いカンファレンスなのだ。のっぺりしたWebサイトからは伝わりづらいけど、RubyWorld Conferenceは(RubyKaigiよりも出張申請のための体裁は整ってるだろうし)一度足を運んでみると良いと思います。
2011-07-04(Mon) [長年日記] [Edit]
■1 オブラブ2011夏イベントだった
至らない点もたくさんあったとは思うのですが、暑いなか足を運んでいただいた皆さま、ありがとうございました。運営側の手に負えるほどよいサイズだったのはよかったと思います。ナガタ先輩にはいつもお世話になっております。
「10周年」というのは安易なようで当事者にとってはなかなか手強いキーワードで、『アジャイルサムライ』の監訳者あとがきで「だいたい書いた」と思っていたけど、オブラブだとまた違った感慨がこみあげてくるのであった。どれも小さい成果ではあるのだけれど、それも『パターン、Wiki、XP』な流れの一部なんじゃないのかなあ。ゆっくりだが確実に変わっていく、ってこういうことなんだと思う。
今日、皆さんの話を聞いていて覚悟したことがひとつ。オレは組織パターンを引き継がねばならぬのではないか。もちろん独りじゃできないし、今すぐできるわけでもないけど。しばらく経ったら忘れちゃうかもしれないので、書いておく。Web日記だし。
トークではそれぞれの登壇者がそれぞれに色んなメッセージを発していたけれど、何がどこまで伝わったんだろう。今日参加したいろんな人の話を聞けるといいな。
個別に書いてたらキリがないので全部略。これからの10年が楽しみです。ありがとうございました。少なくともあと10年生き残れるように精進しないと。
2011-07-17(Sun) RubyKaigi2011.days[1] [長年日記] [Edit]
■1 RubyKaigi2011で"The Gate"という講演をしました
(写真は@iR3の撮ったものを傾き補正しました)
http://rubykaigi.org/2011/ja/schedule/details/17M09
書きはじめるとキリが無いので、自分のトークにまつわる事実を記録したpermalinkをkakutani.comに用意しておきます。
背景画像集
slideshareが直った!!
サブタイトルは札幌Ruby会議03の"There is No Spoon:Revisited"の前にかけた"This Is Your Life(Featuring Tyler Durden)"のタイラー・ダーデンの台詞から。
動画
2日前(つまり講演翌日!)にもう公開されてる!!
[17M09] The Gate from rubykaigi on Vimeo.
FAQ
- Q: なぜ靴を履かずにプレゼンテーションしているのですか?
- A: RubyKaigi2007の基調講演でDave Thomasが靴を脱いでいたからです。以来、本気でプレゼンテーションをするときは靴を脱ぐようにしています(札幌Ruby会議03での例)
あわせて観たい
トーク前の1曲
Dave Matthews Band, "When The World Ends(Oakenfold remix)"
When the world ends Collect your things You're coming with me When the world ends You tuckle up yourself with me Watch it as the stars disappear to nothing The day the world is over We'll be lying in bed I'm gonna rock you like a baby when the cities fall We will rise as the building's crumble Float there and watch it all Amidst the burning, we'll be churning You know, love will be our wings The passion rises up from the ashes When the world ends When the world ends You're gonna come with me We're going to be crazy Like a river bends We're going to float Through the criss cross of the mountains Watch them fade to nothing When the world ends You know that's what's happening now I'm going to be there with you somehow, oh... I'm going to tie you up like a baby in a carriage car Your legs won't work cause you want me so You just lie spread to the wall The love you got is surely All the love that I would ever need I'm going to take you by my side And love you tall, 'til the world ends Oh, but don't you worry about a thing No, 'cause I got you here with me Don't you worry about a Just you and me Floating through the empty, empty Just you and me Oh, graces Oh, grace Oh, when the world ends We'll be burning one When the world ends We'll be sweet makin' love Oh, you know when the world ends I'm going to take you aside and say Let's watch it fade away, fade away And the world's done Ours just begun It's done Ours just begun We're gonna dive into the emptiness We'll be swimming I'm going to walk you through the pathless roads I'm going to take you to the top of the mountain that's no longer there I'm going to take you to bed and love you, I swear Like the end is here I'm going to take you up to I'm going to take you down on you I'm going to hold you like an angel, angel I'm going to love you I'm going to love you When the world ends I'm going to hold you When the world is over We'll just be beginning...
■2 "Only different in your mind. You must unlearn what you have learned."
You must feel the Force around you. Here, between you...me...the tree...the rock...everywhere!
-- Yoda
あのRubyKaigi2007の打ち上げの2次会で話し込んでしまって帰宅するのが遅くなった私は「家族とのフォースの調和を乱してしまった」――と日記にはシレっと書いてあるけど、この晩(というか明け方)のことは今でも忘れられない出来事になった。家族。妻。夫。父。母。給与労働者。自分が生きた証。インターネットの向こう側にいる人たち。インターネットがなくても一緒にいられる人たち……。
"The Gate"でもkdmsnrのエントリを孫引きした意図は、単に業務と業務外ということだけじゃない。「ワークライフバランス」なんて言葉は何も表してない。ワークはライフだしファミリーもライフだしエゴだってライフだ。This is your life.
それから2年経った2009年。RubyKaigiが始まってから当初の3年間はひたすら運営に徹していた私に心境の変化が訪れた。これは『パターン、Wiki、XP』が生まれる過程にかかわったことの影響が大きい。本書の射程に含まれながらも語られていないRubyのことを、OOPSLA派(ただし通信制)の末席に勝手に連なってる者としてRubyKaigiにやってくるみんなに伝えたいと思った。そういう話ならば「自慢大会」のRubyKaigiで付け入る余地があるはずだという目論見もあった。そして、その切り口はテスティングになるはずであった……。
ところが実際には準備と運営で時間を食い潰してしまって、さっぱり発表準備の時間が足りず(この年って「Regional RubyKaigiのご報告」もやってるんだよなあ。どうやったんだ??)、見事に玉砕。その結果生まれたのが"Take The Red Pill"だった。
ちゃんとした下調べが間に合わず、午前6時から神保町のマクドに籠って(24時間営業してるはずのデニーズが閉まってた!!)泣きながらスライドを仕上げたこのトークのテーマは、私の"ego"についてだった。
だから私は私(たち)の成果としてRubyKaigiのことを話した。だから私は「それは相澤さんの仕事なんではないでしょうか?」とそのまま投げ返した。だから私は「『たとえば家庭が……』とご家族のことに言及しようとした瞬間に、ほんの一瞬だけどぐっと言葉に詰まった」。
(日本Rubyカンファレンスではなく)「日本Ruby会議」が始まった年、家庭のフォースが乱れた年、その年の基調講演だったDave Thomas。今年2011年、日本Ruby会議最後の年に、もう一度話をしてもらいたかったDave Thomas。その基調講演は残念ながらキャンセルになってしまった(ちなみにDaveからはこの上なく丁寧なお詫びのメールをいただいた)。
当初予定されていたけれどもぽっかり空いてしまった枠は、紆余曲折あって私が埋めることになった。もしも私がDaveの代わりにみんなへ何かを伝えるんだとしたら、つくりあげることに私もひとりのチームメンバーとして心血を注いだ「世界」が終わるのだとしたら、そのときに話すことを、私は私の家族に聞いてもらいたかった。When the world ends...
だからといって、これを「聞きにきてほしい」と家族に頼むのは少し――いやかなり怖かった。誰にも恥じることのない場をつくりあげることに貢献したという自負はあるけれども、それはこの5年間での何十何百もの「家族で一緒に過ごせなかった週末」があってのことなのだから(しかも潰した週末はRubyKaigiだけじゃない。執筆とか仕事とか他のイベントへの参加なんかもたくさんあったわけで)。……それに、心の奥底のどこかでは知っていたけれど見ないふりをしていたが――RubyKaigi2011の会期は世間一般では3連休なんだぜ。ついでに書いておくと「家族サービス」という言葉は大嫌いだ。
それでも、これは私がRubyistのみんなと建てた「門」なのだから、一番身近で大切な人たちにもくぐってもらって感じてほしかった。私が何を「たのしい」と思っているのかを。When the world ends...
「RubyKaigiに行きたくないわけじゃない。行って、実際にあなたのお友達に会ったら、あなたとうまくやっていける人たちなんて、みんな善い人に決まってるんだから、もっと家族で一緒に居てよ、って言いづらくなるじゃない――」何もかもが終わったあとに、彼女はそう言ってくれたのだった。
LUKE: I don't...I don't believe it.
YODA: That is why you fail.
■3 だいたい息子と同い年だったRubyKaigi
今年6回目だったRubyKaigiと、人生6年目の息子はだいたい同い年。
最初の日本Rubyカンファレンスの頃はまだ1歳だった彼も、
最後のRubyKaigiには「学生参加」(小学生だけど)できるまで育つ。約6年ってそういう年月なのだなあ。
どうしても、ねりぶんの大舞台にあがってみたかったらしい(舞台の裏側も見て「はんたいにうつってるー!」と感動していた)
@sora_hが「背伸びうちわ人間対おとうさんゾンビ」の写真を撮ってくれてた。ありがとう。
2011-07-19(Tue) [長年日記] [Edit]
■1 RubyKaigi2011の会期を終えて
(このエントリは2011-09-16に書いています)
当事者に近ければ近いほど語る言葉も少ないのだなあ、と思いながらウェブを巡回していたのだけれど(高橋さんにしてもささださんにしてもしまださんにしても)、私もそうなりそうだ。
お前ら人間には信じられぬものを俺は見てきた。DHHの基調講演が始まって誰もいなくなったお台場の産総研のホワイエで独り「興味ないから」といって窓の外を眺める@m_seki、御茶ノ水で壇上に上がる前に靴を抜いだ@pragdave。壇上で唐突に「だってみんなRubyのことが好きじゃんね」と言い放った@arton、「ここはオレに任せておまえたちはDaveの話を聞きにいけ!」とスタッフ控室の番人となった@ogijun。15分で全部なくなったUDX懇親会の料理。「プログラマー」というカタカナがプリントされたTシャツを着てつくば国際会議場をウロウロしながら、日本人のRubyistからは「あのガイジンは誰かの友達?」と言われていた@tenderlove。正座で挨拶してから基調講演を始める@takahashim、「ここで話すのが怖かった」と告白する@chadfowler。トランシーバーの充電LEDの列。RubyKaigiの基調講演史上最高に大人気ない@yukihiro_matz。似ていはいるが毎年違う実行委員会。そういう思い出もやがて消える。時が来れば……涙のように……雨のように……その時が来た。
Rubyist同士のつながりをメンテナンスする場に対してさまざまなかたちで過去6回のRubyKaigiに関わってくれた皆さんに感謝するのはもちろんですが、個人的には、過去6回の6つのRubyKaigiチームには特別な感謝を伝えたいです。ありがとうございました。
燃え尽きてしまったスタッフ、戻ってこなかったスタッフ、そもそもこなかったスタッフ。ずっと気にはかけてくれていた元スタッフ。いち参加者として戻ってきてくれた元スタッフ。RubyKaigi2011の打ち上げで中華を食いながら @takai と「お互いMr.Nobodyからずいぶん遠くまで来たもんだねえ」という言葉を交わしたけれど、その道程を歩めたのは皆さんとチームを組めたおかげです。"And there's business value in fun".
もしもご縁がありましたら/いつの日かまた、お目にかかりましょう





リーン開発の現場 カンバンによる大規模プロジェクトの運営(Henrik Kniberg/角谷 信太郎/市谷 聡啓/藤原 大)
『なるほどUnixプロセス ― Rubyで学ぶUnixの基礎』
SCRUM BOOT CAMP THE BOOK(西村 直人/永瀬 美穂/吉羽 龍太郎)
実践テスト駆動開発 テストに導かれてオブジェクト指向ソフトウェアを育てる(Steve Freeman/Nat Pryce/和智 右桂/高木 正弘)
The RSpec Book (Professional Ruby Series)(David Chelimsky/Dave Astels/Zach Dennis/角谷 信太郎/豊田 祐司/株式会社クイープ)
アジャイルな見積りと計画づくり ~価値あるソフトウェアを育てる概念と技法~(Mike Cohn/マイク コーン/安井 力/角谷 信太郎)
インターフェイス指向設計 ―アジャイル手法によるオブジェクト指向設計の実践(Ken Pugh/角谷 信太郎(監訳)/児島 修)
アジャイルプラクティス 達人プログラマに学ぶ現場開発者の習慣(Venkat Subramaniam/Andy Hunt/木下 史彦/角谷 信太郎)
JavaからRubyへ ―マネージャのための実践移行ガイド(Bruce A. Tate/角谷 信太郎)










Before...
○ 咳 [てゆか、.emacs見せてよ。]
○ Kanasansoft [本題と関係ないですが、 Macでウィンドウのキャプチャをするときは、 * キャプチャしたいウィンドウを最前面にする..]
○ かくたに [ありがとうございますw それでskitchには普通のウインドウキャプチャ機能がないのか(さがしてた) .emacs..]
○ Kanasansoft [skitchは使ったことがないのでわかりませんが、 内部でMacの標準機能を使っているなら、 範囲選択待ちの時にsp..]
○ dot [skitchの場合、ドラッグでなくてスナップしたいwindowをクリックでwindowのスナップショットが取れます。..]