2011/10/13

ありがとうBlogger。そしてさようなら。

Bloggerの新機能Dynamic Viewsのこれじゃない感がすごいので、音楽性の違いによりBloggerをやめることにしました。
移転先は http://diary.shu-cream.net の予定です。
今後ともshu-cream.netを宜しくお願いいたします。

2011/08/18

WEB+DB PRESS Vol.64を読みました

技術評論社様から献本いただきました。今回はステッカーもいただいて、ありがとうございます!




特集記事は「UIデザインの基礎知識」と「JavasScript最前線」だいぶ勉強になりました。
UIデザインの基礎知識は非デザイナーでもデザインに対してやれることはたくさんあるんだよということをしっかり書いてあるし、JavaScript最前線では、jQuery Mobileを全然触ったことがなかったので写経も出来るしいい感じでした。

Rubyわくわくナビの8ページでTwitter/Facebookアプリが出来てしまう圧倒的なクオリティにびっくり。さすがです!

WEB+DB PRESS Vol.64
WEB+DB PRESS Vol.64

2011/08/11

cukeのsave_and_open_pageを任意のブラウザで開く方法(GnomeとかKDEとか使ってない人)

複数ブラウザをインストールしていると、save_and_open_pageで開くブラウザが意図しないものになってしまうことがあります。
その場合、xdg-mimeのtext/html関連付けを、再設定してあげれば指定したブラウザで開くようになります。

たとえば、ChromiumとFirefoxの両方が入っていると、多くの場合でFirefoxで開くようになってしまいますので、

xdg-mime default chromium-browser-chromium.desktop text/html

とすればChromiumで開くようになります。

*.desktopの名前は(特にChromiumはよく)変わる場合があるので、/usr/share/applicationsを見て確認してください。

2011/08/05

テレビを買いました

遂にブラウン管卒業しました。

TOSHIBA LED REGZA 32V型 地上・BS・110度CSデジタルハイビジョン液晶テレビ 32A2
TOSHIBA LED REGZA 32V型 地上・BS・110度CSデジタルハイビジョン液晶テレビ 32A2

一応、音ゲー格ゲー一家(私はもうほとんどしないけど)なので、遅延が数フレームあるとかもうゲームとしてなりたたないので、REGZAのゲームモードに期待してこれにしました。

ケーブルテレビでデジアナ変換してくれてたので、テレビ自体は見れたのですが、変換のない世界はこんなにも綺麗だったのかーと感動しました。
あとは、非HDMIでPS3を繋いだら「これはひどい」と状況だったので、あわててHDMIケーブルを買ってきたのでした。

2011/07/25

「達人プログラマー」朗読会

新人に向けて、@kakutaniが「達人プログラマー」を朗読するありがたい会が始まったので、横に着席して仕事をしていました。

「達人プログラマー」は学生のころパラパラ読んで、よくわからなくてそれっきりだったのですが、22刷の技術書なんてそうはないので、もう一度ちゃんと読もうかなぁ。

達人プログラマー―システム開発の職人から名匠への道
達人プログラマー―システム開発の職人から名匠への道

2011/07/24

新人に向けてオブラブLTをもう少し詳しくお話ししました

今年は新人向けに「先輩のありがたい話」シリーズというのをやっていますが、その一コマとしてオブラブのLTをもう少し詳しくお話しました。

あわせて読みたい
新人向けにWeb日記勉強会をした - HsbtDiary

アプレンティスシップパターンについてkwsk

アプレンティスシップパターンについては、まだインターネットの海に放てるほど消化できてないのですが、何を話したかざっくりと言うというと
  • 私がなぜこの本が好きなのか
  • 私が好きなパターン「壊していいオモチャ」
  • みなさんに贈るパターン「得意領域への撤退」

これから長い技術者人生の中で、自分の無力さが嫌になることや、周りの環境が嫌になることもあるでしょう。だけど、それはみんな同じだし、この本がそれを乗り越える手助けになるかもしれない。という話をしたような気がします。

私が「独り言」を大切にした理由が、アプレンティスシップパターンで整理できた

アプレンティスシップパターンの中では「ストラディバリの工房」が例に出されています。(ストラディバリは非リア充だったらゲームや漫画でよく出てくるから知ってるし、リア充は普通に知っているから説明は不要だよね、と言おうとしたら結構知らなくてびっくりした)

みなさんご存知の通り、ストラディバリの弟子は師匠の作った楽器を超えるものを作ることができませんでした。その理由は、ストラディバリ本人の暗黙知の中に、ストラディバリウスをそれとたらしめる秘密があったということです。書籍でも補足していますが、彼が弟子に技術を伝承しようとしなかったという意味ではなく、彼が教える必要がないと思ったことや、本当に無意識に行っていたことこそが、重要だったのではなかったのかということです。

これを読んで、私の「独り言」は正しい方法だったと確信しました。

私たちは、たった1行コードを書くだけでも、自分の中にある知識を(意識的に、若しくは無意識で)総動員してキーボードを叩いているはずです。その知識のどこか一つでも欠けていたら、もしくは別の道に進んだら、完成するコードがまったく別のものになるでしょう。

なので、決定事項として「こう書くのがいい」と言うだけじゃ意味がないんです。自分の考えた道筋をすべて話すんです。(時間と自分のモチベーションが保つ範囲でね)

(と、書いていて気付いたんですが、話す側が内容を選ばない方がいい。ってことなのかなぁ)

新人と思って油断していたら

途中、「社内だし、新人相手だし」と油断して自分の身の丈を超える話をしてしまって、あわててごまかして次に行こうと思ったら、@shimosukにしっかりつっこまれて背筋が伸びる思いでした。

そういうところをしっかりつっこめるのはえらいなぁと。(さすが@kakutaniが見ているだけのことはある!)私がそういうことができるのようになったのは、今は無きLLWG合宿で@kakutaniに「新人のくせになに遠慮してるの?」と言われたのがきっかけだったな。

人に(教える|教わる)ってことがどういうことなのか

新人それぞれが、なにか考えるきっかけになってくれれば幸いです。

アプレンティスシップ・パターン ―徒弟制度に学ぶ熟練技術者の技と心得
アプレンティスシップ・パターン ―徒弟制度に学ぶ熟練技術者の技と心得

2011/07/22

なぜ私はこんなにも「アジャイルサムライ」が好きなのか

読者の声に載せていただいたので、まずはそれを。
アジャイル宣言の背後にある原則から実践的なプラクティスまで、先駆者達の暗黙知にしか見えなかったものが余すところなく書かれています。アジャイルサムライにとっての五輪の書と言える一冊。

社内の人が関わった本がでるのが楽しみ

私は、永和の人が関わった本が出るのをいつも楽しみでしかたないんです。なぜかって、そのとき先輩や同僚が仕事で実際に使ってるネタとか、大切にしていることが本という形になって世に出るんですよ。わくわくしますよね。この本を始めて読んだときも、監訳者の2人が今まさに仕事でネタにしていることが満載で、すごくすごくわくわくしながら読み進めたのを覚えています。

やっとアジャイルについて話すことができるかもしれない

アジャイルジャパン2011のサテライト富山でお話させてもらいましたが、私はずっとアジャイルな開発をしてきたつもりでいました。でも、その時のスライドを見ていただければわかるかと思いますが、どうしたらアジャイルって言っていいのか、どうなるとアジャイルじゃないのか、その辺が実はさっぱりわからなかったんですよ。

でも、もう大丈夫!私にはアジャイルサムライがあるから!

とはいえ、まだスタートラインに立っただけです。私のサムライ戦記はまだ真っ白ですからね。

身震いする技術書に出会ったことはありますか?

私はあります。それも2冊。1冊目は「アジャイルな見積りと計画づくり」で、2冊目が本書です。

「アジャイルな見積りと計画づくり」では、「規模を見積もり、期間は算出する」というのが出てきたときに、「これか!こういうことなのか!」とものすごい衝撃を受けたのを覚えています。それまで、規模の見積りというのを、みんながいいと言うのでなんとなくやっていましたが、なぜそれがいいのかをついに知ることができたんです。

それと同じくらい心を動かされたのが、著者のJonathanの最後の一文でした。「ここで、この最後でその一文か!」と、朝の総武線で思わず声を出しそうになったのを覚えています。

ぜひ、最初から読みすすめて、Jonathanからの最後のメッセージをかみしめてください。

「あとがき」は最後に読もう

Jonathanからの一文に勝るとも劣らないのが「監訳者からのあとがき」です。が、ちゃんと「あとがき」は最後に読みましょう。
本編を全部読んで、最後のJonathanからの「この先どこへ向かえばいいのか?」も読んで、その上で翻訳の特典である「あとがき」を読みましょう。

システム開発の現場が少しでもいい方向へ向かいますように

そのために、システム開発に携わる一人でも多くの人に本書が届くことを祈っています。

アジャイルサムライ−達人開発者への道−
アジャイルサムライ−達人開発者への道−

アジャイルな見積りと計画づくり ~価値あるソフトウェアを育てる概念と技法~
アジャイルな見積りと計画づくり ~価値あるソフトウェアを育てる概念と技法~

2011/07/19

RubyKaigi2011に行ってきました

2日目はだいたいフルに、3日目は息子と一緒にちょっとだけ。

はじめてのRubyKaigi

実は初参加だったのです。なんで今まで行かなかったかと言うと、社内のみんなが行くから「俺は行かないぜ」という中二病だったのかなぁ。特に理由はないです。

じゃあ何で今回行こうと思ったかというと、「The Gate - 角谷信太郎」という文字を見てしまったから。最近の角谷さんのプレゼンを見ていて、このタイトルを見て行かない人とかいるんですかね。

というのは半分は冗談で(たしかに最後の決め手はそれでしたが)、海外の人の発表を見たい、社内の人の社外向けの発表をちゃんと見たい、という2つの欲求が両方満たされるKaigiがそこにあったから。

どうでしたか?

本当に、心から、スタッフの皆さんが楽しんでいるように感じられる、だけどそこに内輪感を(私は)感じない、とてもいい空間でした。

英語の発表は、私の残念な英語力ではサブスクリーンに頼ってばかりでしたが、海外の人のプレゼンの巧さはよくわかりました。スライド1枚に込められたメッセージを熱く語る姿はとてもかっこよくて、いや日本の方のプレゼンももちろん凄かったんですが、また違う凄さがあるなぁと感じました。

いろいろな宿題と贈り物を頂きました

松田さんのセッションでは「これからもRuby, Railsを使ってプログラムを書くことを生業としていくのか」という自分の進む道の選択を迫られ、Wen-Tien Changさん以降のテストのセッションでは、これから大切にしていきたいテストのトピックをもらいました。

角谷さんのセッションはまだ整理できていません。ただ、みなさんの宿題の答えを楽しみにしています。

明日から

宿題の答えを探す旅に出ます。探さないでください。

「門」をお探しの方へ

株式会社永和システムマネジメントでは、Ruby Programmerを募集しているそうです。
もしお近くに「門がない」「建てるのは大変」と嘆いている方がいらっしゃいましたら、こちら「門」はいつでも開いておりますので御気軽にお声がけください。
http://bit.ly/esm-hiring-rubyists

2011/07/11

2011年スタイラス大戦

誕生日プレゼントにiPad用に3つのスタイラスをいただいたので(ありがとうございます!)、軽くレビューなどしてみます。

スマートペン(パワーサポート)

「スタイラスって何がいいのかなぁ」と探していたころによく高評価だったやつです。ペン先がとにかく柔らかくて、私はあまり好みじゃありませんでした。ただ、反応がすごくいいので、筆圧が弱めの人はいいと思います。
スマートペン シルバー PBJ-91
スマートペン シルバー PBJ-91

iPad/iPhone/iPod touch専用タッチペン(プリンストンテクノロジー)

@kakutaniからオススメしてもらったやつです。今回紹介する中では一番ペン先が硬いです。私の筆圧に丁度いい具合なので、普段はこれを使っています。

プリンストンテクノロジー iPad/iPhone/iPod touch専用タッチペン (ブラック) PIP-TP2B
プリンストンテクノロジー iPad/iPhone/iPod touch専用タッチペン (ブラック) PIP-TP2B

BAMBOO Stylus(Wacom)

一番後発で話題のスタイラスですね。ペン先の細さと持った時の質感は圧倒的です。ペン先の硬さは丁度中間です。私の書き方だと書き始めに反応しないことがよくあるので、今は予備用に持ち歩いています。

Wacom iPad/IPad2/iPhone4対応 描画、ポインティングに最適なタッチペン Bamboo Stylus CS-100/K0
Wacom iPad/IPad2/iPhone4対応 描画、ポインティングに最適なタッチペン Bamboo Stylus CS-100/K0

おわりに

いくらレビューサイトを見ても、結局は自分の筆圧や書き方次第ですね。試し書きできるお店を探したのですが見つかりませんでした。
もしスタイラスを買おうと思っている方で試してみたい人がいましたら、上野もしくは津田沼周辺でお貸しできますのでお気軽にお声がけください!

2011/07/06

オブラブ2011夏イベントでLTをしました

今回はベストトーカーを狙ってタイトルと内容を決めたのですが、あと一歩届きませんでした。(他のみなさんのLTが本当にすばらしかったので納得の結果でした。が、少しだけ悔しいです。)


5分という時間では昔話ができなかったので、ここで書いておきます。

大学時代 & 大学院時代、SAやTAで約4年間、のべ100人以上がうちの大学のプログラミング教育を受けて、どう成長したか、どこで躓いたかを見てきました。(うちの大学のプログラミング教育は、教員の方々がすごく頑張っていたので、そこらの大学には負けないと思っています。詳しい話は私なんかが話すべきことではないので割愛)

全員がプログラミングを好きになってくれたわけではないですし、もちろん挫折してしまう人もいました。
私自身もその教育を受けてきて、そして会社に入って、実際にシステムを作り、それを維持していくことの難しさを感じ、同時にそれは今の教育機関では教えることができないことであると感じました。

これを感じることができたのは、大学時代にプログラミングにふれていたからで、それ自体は良いとも悪いとも言えないことです。また、プログラミングにふれていない人が実際の開発現場に放り込まれたときに、何を感じ、どうやって仕事を覚えていくのかは、まったくの想像できないということもわかりました。

そんな中で、私が2年目になったころ、プログラミング未経験の新人のOJT担当になりました。「プログラミングを教えてほしい」というだけであればある程度うまくやる自信がありました。しかし、自分自身も仕事をしながら、なおかつ新人に「プログラミング」と「システムを作るということ」を一緒に教えなければいけない、これは大変なことです。

(このへんで書きたいことがスライドに書いてあること)

@chibiyaso はすごく大変だったに違いありません。なにせ先輩はずっと独り言いってるし…そんな中でも、なんとか半年がんばってくれて、その結果うちの文化に馴染んでくれたと思える一言(スライドにでてるやつね)を残してくれたことが、とても嬉しかったのを今でも覚えています。(これを言ったのは社内の集まりでレガシーシステムの話をしていたときだったみたい。私はいなかったので人伝で聞いた)

で、今回のLTはこの頃の気持ちとやったことを整理し、プログラミング初等教育、新人教育とTDDの一週目のまとめとして発表しました。
会場で聞いてくださったみなさんの心に残ったものが少しでもあれば嬉しいです。(あと、感想やダメ出しをお待ちしております!)

2011/06/28

オブラブ2011夏イベントのLTトーカーが発表になりました

オブラブ2011夏イベントのLTトーカーが発表になりました!
セッションの内容のページに名前とタイトルだけがありますが、ぱっと見ると初めての方が多いように見えますね。

気づいた方もいらっしゃると思いますが、私もトーカーに選ばれました!
タイトルは若干釣りっぽい感じですが、割と真面目な話をする予定です。(タイトルスライドだけはえいっと作りましたが、今回は当日までのお楽しみということで)

まだ参加申し込みは受け付けておりますので、LTトーカーを見て参加したくなった方がいらっしゃれば是非是非ご登録ください!

2011/06/23

誕生日をむかえました

Amazonさん経由でたくさんのプレゼントをいただきました!ありがとうございました。
当日は、家族で葛西臨海公園までいってきました。



ついに30歳まで365日を切ってしまいました…残り少ない20代を満喫したいと思います。

2011/06/17

誕生日3営業日前のお知らせ

2011/6/21に14(+15)度目の誕生日を向かえるようです。

http://amzn.to/shu-cream

ご自由にお使いください!

オブラブ夏イベントやります

ご存知の方も多いと思いますが、今年もオブラブ夏イベントやります。


http://www.objectclub.jp/event/2011summer/index.html

公式サイトのセッション紹介は"comming soon"が多くて申し訳ないのですが、中の人パワーを利用して今回のイベントの個人的な見所を紹介します。

見所1:午前中のパネルディスカッション

オブラブオールスターによるパネルディスカッションです。
事務局長をはじめ、全てのイベントに中の人として関わってきた@kakutani、オブラブから外に出た@kkd、オブラブに引き寄せられてきた@t_wtnbなど、個性的かつバックグラウンドの違うメンバーがこれだけ揃うのは10周年記念イベントならではと言えるでしょう。

見所2:若人セッションズ

今年もやります若人セッション。今回は規模を縮小し、永和システムマネジメントに2011年入社した新人3名を呼び寄せました。
IT業界へ飛び込んできた若者の"今"を存分にご堪能ください。

見所3:ライトニングトークス

いまやどの技術系イベントにいっても定番となったLTですが、オブラブでは2004年からやっていたようです。
今まで数々の伝説を作りだしてきたオブラブのLTに、今年もご期待ください。

大切なこと:LTの応募はまだまだ受けつけております!まだ参加登録していないかたは登録の際に、既に参加登録していただいた方はこちらをご覧になって、LTへの応募もよろしくお願いします!(優勝者には豪華景品があるかも!?もしかしたら参加賞もあるかも!?)

また、今回のイベントでももちろん、元祖ドラ娘@ngtykがドラを鳴らします。

最後に

それでは、みなさんと会場でお会いできるのを楽しみにしています。

2011/05/23

第3回Jenkins勉強会で発表してきました

うちでRuby/Rails言っているクラスタにJenkinsを輸入した張本人ということで、@kakutani経由でオファーを受け、@hsbtと社内のCI事情と最近の活用方法について発表してきました。

私がJenkinsを使っていたのはもう1、2年くらい前のRails 2時代だったので、最近Jenkinsを使っている@hsbtにテクニカルなところをお願いして、私はスピリチュアルなところやCIに対する取り組みについてお話ししました。

「LLでJenkinsを使っている人はどうやって使っているのか」「LLの人にJenkinsを使ってもらうにはどうしたらいいのか」という問に、それなりの回答が出来たのではないかと思っています。

川口さん、スタッフの皆さん、懇親会でからんでくださった皆さん、スライドのレビューをしてくださった@kakutani、ありがとうございました。

JenkinsStudy03

※ ちなみに、私は今は BigTuna を使っています。
※ あと、スライド上部を考えたのは私です。

2011/05/18

TDDの勉強会を新潟でやろうという企画があった、ような…

Twitterで書いたけどあまり反響がなかったのでブログでも書いちゃうぞ。

だいぶ前(1年くらい?)に、TDD勉強会を新潟でやりたいかもーみたいな話があったような気がしています。たぶん開催されてないんじゃないかなーと思ってるんですが、どうでしたっけ。

イベントの企画や運営には大変なパワーがいりますし、主催側の努力に頼るといつ疲弊して潰れてしまいます。なので、言ってはみたものの開催までこぎつけられなかったイベントを考えた人を避難するのは間違っていますし、なら「あなたがやればいいよ」となるのは当然だと思っています。

そこで、TDD勉強会を新潟でやりたいので、誰か手伝ってくれませんか OR もう企画中だよという人がいたら、手伝わせてくれませんか?

そもそも、私は実家が新潟県(南魚沼市)ですが今は千葉に住んでいて、職場は上野です。新潟の事情なんて長岡で勉強会をやっている方々がいることくらいしか知りません。
地方でイベントをやるからには、やはり地方の人と一緒にやりたいので「この企画を手伝ってもいいよ」という新潟の方がいらっしゃいましたら、twitterでもメールでもいいのでご連絡ください。

もちろん、近隣の県の方や、ぜんぜん近くないけど興味ある人のご連絡もお待ちしています。

2011/05/15

「レジデント初期研修用資料」と「プロカウンセラーの聞く技術」を読みました

コミュニケーションに関する本を2冊ほど読みました。

レジデント初期研修用資料 医療とコミュニケーションについて


この人のブログが好きだったので、かなり期待して読んだのですが、期待を超える面白さでとても満足しました。

医療の現場という、かなり特殊な環境におけるコミュニケーションの話なのですが、例が非常にわかりやすいですし、言葉の選び方が丁寧なので、とても読みやすかったです。

印象に残った話は、

  • コミュニケーションは状況のコントロールを達成するための技術

  • 中断によって交渉の自然治癒力を利用する

  • 事態の要約、見解、憶測の違い

  • チームワークが組織的隠蔽になってしまう

  • 謝罪の表明と責任の表明を分ける

  • 謝罪の失敗から裁判に


また、付録の裁判に関する話は、日常生活にはまったく参考にならないものの、とても興味深い内容でした。(もし近々裁判になりそうな方は、ここだけ読むために買っても損はないんじゃないかと思います)

この本を別の見方をすれば、医者とのコミュニケーションの取り方を患者が勉強できる数少ない書籍と言えるかもしれません。「いい人」が実は「交渉の外にいる人」だった話などは、自分も気をつけないとなぁと思いながら読んでいました。

タイトルは専門書っぽいですが、医療従事者以外の人が読んでも十分楽しめますし、むしろ一般の人が読むべき本ではないかと思います。

ちなみに、私はオーム社eStoreで電子書籍版を買いました。

レジデント初期研修用資料 医療とコミュニケーションについて
レジデント初期研修用資料 医療とコミュニケーションについて

プロカウンセラーの聞く技術


ちょっと古いこの本は、誰かが紹介してたのを見て買ったのですが、ソースを忘れてしまいました。

話を聞くテクニックというのは重要と言われながら、今までなかなかいい本に巡り会えなかったのですが、本書は若干偏った内容ではありますが、面白い本だと思います。

印象に残った話は、

  • 沈黙の時間の大切さ

  • 聞いている時間は長く感じ、話している時間は短く感じる

  • 「聞く」と「関与する」の違いと、聞き手は関与してはいけないということ

  • 聞き手への質問は、話し手が質問して欲しいこと


カウンセラーがなぜ人の話を聞いてばかりいてストレスを感じないのか、そのあたりの秘密も書いてあるので、興味のある方は是非読んでみるといいのではないでしょうか。
ただ、もしいまカウンセラーのお世話になっていたり、これからなるかもしれない人は、「今あんなこと考えて聞いてるのかなぁ」などと思ってしまい、効果が半減するかもしれませんのでご注意を。

プロカウンセラーの聞く技術
プロカウンセラーの聞く技術

2011/05/10

60min.第2回でエディタについて語り合いました

半年くらい間があいてしまいましたが、4/26に社内勉強会「60分一本勝負」改め「60min.」の第2回を行いました。
今回は、たまたま30過ぎてのVim入門中である@htkymtksの要望に答え、参加者が自分の使ってるエディタや開発環境について一言ずつ小ネタを披露するという会になりました。

それでは、簡単にどんな話があったか紹介します。

ctagとvim - htkymtks


Javascriptを書いてるときにタグジャンプ便利と思ったとのことで、入門的なところから、MacでVimでctagsの環境を整えるまでを紹介してくれました。

init.el - hsbt


自身のinit.elを解説しながら、anything.elやinstall-elispの紹介など。
また、auto-save-buffersと、Dropbox、Guard、Watchrなどの相性が悪すぎるんだけどみんなどうしてるんだろうという話も。

moccur-grep-find - kakutani


moccur-grep-findは、バッファに出てきたgrepの結果を置換すると、それが実ファイルに反映されるという感じに見えたけどあってるかな?
原稿や資料を作る際に便利ということで、kakutaniらしいお話でした。
また、秘伝の「make-font-big」や「my-ruby-tdiary」も披露してくれました。

vundle - kenchan


私は、この記事の事をだいたいなぞってから、今はgithubにあるプラグインは"vim-ruby/vim-ruby"みたいに指定できるよという話をしました。

unite.vim - moro


uniteの基本的な使い方から、outlineと自前のunite-cucumberを披露してくれました。
多言語対応できたら公開してくれるようなので期待していましょう。

Xcode 4 - emeitch


Xcode 4になってこんなに変わったよという紹介。
3のころを知らないのですが、だいぶ開発環境としてはいい感じに見えました。
Gitの連携とかもよくできるなーと。

おわり


普段使ってないエディタの話を聞くのも、いい刺激になって面白いですね。
発表している最中でも「今のそれどうやったの?」みたいな感じで思いもよらない発見があったりして、楽しい勉強会になったのではないかと思います。

2011/05/09

iPad2を買った、ような…

発売日のお昼休みに同僚と上野ヨドバシへ行ってうっかりしてしまいました。(うっかり仲間は@hsbtと@takkanm)
品物は黒の16Gで、フタはピンク、アンチグレアのフィルムも一緒に。



初のiOSデバイスですが、これは快適ですね。一先ずiBooksで積読状態の電子書籍を読んでます。

フィルムは下のやつで、クリーニングクロスからホコリ取り用のテープまで一式揃っているので、結構おすすめです。
Simplism iPad 2 液晶保護フィルム 非光沢 つや消しマット TR-PFIPD2-AG
Simplism iPad 2 液晶保護フィルム 非光沢 つや消しマット TR-PFIPD2-AG

2011/04/22

2011年のVimプラグインの管理はVundleで

Vimをお使いの皆様の多くは、pathogenとgit-submoduleを駆使してプラグインを管理しているのではないかと思います。

pathogenとgit-submoduleの問題

私もこの方法を使っていたのですが、git-submoduleをVimプラグインの管理に使うのはオーバースペックだと感じていました。

私はプラグイン開発者ではないので、プラグインのバージョンを固定したいという欲求があるわけでもないですし、できるだけ新しい物を使いたいわけです。
そうすると、たとえば毎朝「git submodule update」とかやっちゃうともう大変です。
毎日「plugin version bump」みたいなコミットをしなきゃいけないわけですよ。

私は常に最新のプラグインを使いたいだけなのに、コミットログがどんどん汚れていきます。

また、外の環境でプラグインを管理しなきゃいけないというのが、どうにも気持ちわるかったのです。

そこでVundleですよ!

さぁ、そこでVundleですよ。( https://github.com/gmarik/vundle )

Vundleは、Rails 3 でも採用されている依存性を解決するためのライブラリであるBundlerにインスパイアされたVimプラグインマネージャです。

Vundleを使えば、あなたのVimプラグイン生活が一新します。
  • .vimrcの中でプラグインを一元管理できます
  • Vim上でプラグインの検索ができます
  • Vim上で再起動することなくプラグインのインストール、アップデートができます

Vundleのインストール

READMEだと「git clone」になっていますが、dotfilesをgitで管理しているならここだけはsubmoduleにしましょう。
あとは、.vimrcの一番上に以下の2行を足せば終わりです。

set rtp+=~/.vim/vundle.git/ 
call vundle#rc()

使うプラグインは.vimrcに宣言

百聞は一見に如かずということで、私のvimrcをおいておきます。
https://github.com/kenchan/dotfiles/blob/master/dot.vimrc

プラグインの宣言は、'Bundle'コマンドを使いますが、その引数には http://vim-scripts.org/vim/scripts.html で列挙されているプラグイン名を指定します。このプラグイン名は、後述の検索機能を使うことで、検索から記述までの手間を省くことができます。
一方で、そこに存在しないプラグインや、開発が活発なプラグイン、自分や他人がForkしたバージョンを使いたい場合のために、gitのリポジトリを指定する機能があります。(便利!)

プラグインの検索はBundleSearch

いちいちプラグインを検索するのにWebブラウザを開くのが億劫な方のために、BundleSearchというコマンドがあります。このコマンドを使うことで、分割された画面に検索結果が表示されます。しかも、その結果は「Bundle 'プラグイン名'」の形式になっているので、ヤンクしてそのまま.vimrcへ貼りつけれることができます。(便利!)
なお、BundleSearchコマンドは初回実行時に vim-scripts.org からプラグインの一覧をローカルにキャッシュします。このキャッシュをクリアするにはBundleSearch!コマンドを使います。エクスクラメーションマークを付けると、キャッシュを取りなおして検索を行います。もしお目当てのプラグインがでてこなかったらキャッシュが古い可能性を疑ってください。

プラグインのインストールはBundleInstall

プラグインのインストールはBundleInstallコマンドで行います。これを実行すると、.vim/bundle以下にプラグインをダウンロードし、プラグインを読み込み直します。(Vimの再起動は不要!便利!)

プラグインのアップデートはBundleInstall!

プラグインのアップデートはBundleInstall!コマンドです。これももちろん自動で読み込み直します。(便利!)

プラグインのアンインストールは.vimrcから消してBundleClean

不要になったプラグインは、.vimrcから削除すればロードされなくなります。しかし、.vim/bundle以下には残ってしまうので、BundleCleanコマンドできれいにしてあげましょう。

dotfilesをバージョン管理している人は.vim/bundle以下をignoreに

折角.vimrcでプラグインを一元管理し、常に最新版を使える環境ができたので、.vim/bundle以下はignoreにしておいたほうがいいでしょう。私は、pathogenから移行して一番すっきりしたのがこれだったりします。

おわりに

githubのblogでvundleが紹介されたのであわてて書いた記事ですが、これでみなさんのVimライフが一層充実すれば幸いです。
最後に、これを教えてくれた(そして実は先週まで使っていなかった)github watcherのursm先生に感謝します。

2011/04/19

アジャイルジャパン2011サテライトin富山:「はじめてがアジャイル」

アジャイルジャパン2011サテライトin富山で「はじめてがアジャイル」というタイトルでお話させていただきました。


富山には初めて行ったのですが、地元のエンジニアの方々のパワーと、おいしい料理でとても充実した時間を過ごすことができました。
北陸エンジニアグループの皆様、当日の参加者の皆様、本当にありがとうございました。

発表内容としては、私の日々の開発風景や、気を付けていること、大切にしていることを淡々とお話ししただけですが、なにか持って帰れるものがあったなら幸いです。

2011/04/11

Agile Japan 2011 富山で「はじめてがアジャイル」というお話をしてきます

概要はAgile Japan 2011 富山の公式サイトから引用。

私が永和システムマネジメントに入社して今年で5年目。今までのプロジェクトはすべてウォーターフォールとは言えないものでした。
夢中で駆け抜けてきた4年間をこの場を借りてふりかえりながら、日々の開発の様子を赤裸々にお伝えします。

「アジャイル、アジャイル言ってるけど、実際はどうやって開発してるのよ?本に書いてある通りなの?」というところを、今のプロジェクトの話を中心にざっくばらんにお話するつもりです。まだまだ残席もあるようなので、近隣の方がいましたら是非是非ご参加ください!

とりあえずタイトルスライドだけ置いておきます。

はじめてがアジャイル

みんなもAgile Japan 2011 富山 で僕と握手!

2011/03/10

Rails 3 技術者認定ブロンズ(ベータ試験)に合格していました

落ちるとはずかしいので、受ける前にTwitterでつぶやいただけだったのですが、先日結果が届き無事合格していました。
これからRubyに取り組もうという人や、企業の採用担当者にしてみれば、資格というのは、最低限のスキルがあることを示す良いシグナルになるように思います。
Rails Hub情報局: Ruby技術者認定試験シルバーを受けてみた
資格試験に関して私が思うところはだいたいこの通りです。この「最低限のスキル」をどこに置いているかがその試験の価値を決めると思っています。

そういう意味では、今回の試験はまだベータ試験ということもあるのか、ここが若干ぶれている気がしました。

(ちょっと偉そうですが)この資格を持っていますという人と初めて仕事をするときに、
  • これくらいはまかせて大丈夫だろう
  • これはわからないかもしれないから一緒にやろう
という判断基準にはできないなと感じました。(それがあたっているかはどうでもいいとして)

また私は、Rails 3はWEB+DBの特集を書くのに使ったくらいで、仕事ではRails 2を使っています。
正解率を見るとそれが如実に出ていて、3で変更の多かったコントローラ周りの点数があきらかに低かったのは興味深い結果でした。(Rails 3の試験だから当然と思うか、3固有の問題を出して意味があるのかという意味で)(ただの負け惜しみです)

そろそろ本試験も始まるようなお話でしたので、自分の知識を整理する意味でも、腕試しに受けてみるといいのではないでしょうか。

2011/03/03

GentooでFirefox4をインストールするとYelp(Gnome)のビルドが落ちる件

layman/mozillaのFirefox4をインストールしていると、Yelpのインストールに失敗します。

checking whether we have a gtk 2 gecko build... configure: error: This program needs a gtk 2 gecko build
原因はこの辺を参照。 http://bugs.gentoo.org/show_bug.cgi?id=330847
xulrunner2.0にYelpが対応できていないのと(まだベータだしね)、そもそも2.0はスロット別にするはずだからということらしいです。どうせYelpなんていらないので/etc/portage/profile/package.providedに以下の内容を書いて終わり。

gnome-extra/yelp-2.30.2-r1
package.providedは、対象のパッケージが既にインストールされているように振る舞わせるらしいです。便利。

2011/02/25

WEB+DB PRESS Vol.61が書店にならんだようです

初物なので、実家と大学でおせわになった教授に1冊ずつ送っておきました。
今年は採用のお手伝いで大学に行く予定もないので、元気の便りということで。

もしまだお買い求めでない方は下のリンクからどうぞ!

WEB+DB PRESS Vol.61

2011/02/24

PHPer.jpなるものを試してみた

人生は有限なので、可能なかぎりPHPには関わらないようにしていたのですが、ちょっとすごいサービスをTwitterで見かけてしまったのが運の尽き。

PHPer.jpは、PHP版Herokuと言っても差し支えないサービスです。

これがほんとにすごくて、WordPressを起動するデモがあるのですが、実際にやってみても本当に1、2分で出来てしまうんです。
  1. WordPressをダウンロードして展開
  2. git initして全部コミットする
  3. リモートリポジトリにphper.jpのリポジトリを追加
  4. git push origin master
あとは、ブラウザからWordPressの設定をするだけです!

何故かコンソールツールがRubyで出来ていたり、PHPer.jp自体はRailsで出来てたり、Railsアプリ診断士の@ursmによれば認証はどう見てもDeviceらしいし、ほんとにPHPをやりたかったのか疑問に思えてくる感じです。
サービス自体も、i18nがちょっとおかしいところがあったり、ローカルファイルシステムへの書き込みも普通にできるように見えたり、使っているこっちが色々心配してしまいます。

ホスト名は早い者勝ちのように見えるので、もし今後使う可能性のある人は取っておくといいと思います。私は、まずhtkymtks-ug用のWordPressを作ってみました。

http://htkymtks-ug.phper.jp

2011/02/18

WEB+DB PRESS Vol.61に「Rails3 テスト最前線」という記事を書きました

@ursm@hsbtと共同執筆という形でRails 3のテストについて記事を書かせていただきました。

特集の冒頭でも述べられていますが、今やRailsはWebアプリケーションのテスト環境の主戦場と言っていい状況になっていると考えています。
新しい機能、ツール、ライブラリ、フレームワークがどんどん出てくる中で、今(2011年初頭)は何に注目すればいいのか、それをどのように考えて使えばいいのか、というところが少しでも伝われば幸いです。

ちなみに、Rails 3に限らない話もたくさんありますので、Rails 2や他のフレームワークを使っている方にも参考になると思います。

最後に、特集内では触れることができませんでしたが、最近注目しているツールとしてCIサーバを2つ上げておきます。

WEB+DB PRESS Vol.61

あわせて読みたい
WEB+DB PRESS Vol.61の特集2に寄稿しました - Ruby x Agile
WEB+DB PRESS Vol.61 で Rails3 テスト最前線という記事を書きましたのお知らせ

2011/02/15

TextareaConnect 〜 Chrome版 It's All Text

ChromeがFirefoxに劣っているいくつかの理由の一つにIt's All Textプラグインの存在がありました。同様のことが出来る拡張を定期的に探していたのですが、今日ついに実用に耐えうる(?)拡張を見つけたので紹介します。

TextareaConnect(☆3つですが、手元の環境では元気に動いています)

Chrome版It's All Textが登場しなかった背景には、Chromeが拡張から外部プロセスの起動を許さないというポリシーがありました。TextareaConnectは、別に起動したサーバプロセスから任意のエディタを立ち上げ、テキストをやりとりすることでIt's All Text相当のことを実現しています。(他にも同じアプローチの拡張があったような気がします)

サーバ側は、なんと出たばかりのNode.js 0.4.0以上を要求するためか、ドキュメント通りにはインストールできなかったのでインストール方法を書いておきます。

前提

Node.js 0.4.0と、npm-0.2.18はインストール済とします。

TextareaConnectのインストール

Extensionのページから先にインストールしておいてください。

TextareaServerのインストール

npm install でgithubからインストールしろと書いてありますが、npm-0.2.18がNode.js 0.4.0のAPIに完全に対応していないのか、ライブラリをダウンロードする際に400エラーが発生します。

そのため、まずwgetなどで https://github.com/epeli/TextareaServer/tarball/v0.1.1 からファイルをダウンロードします。(ファイル名が v0.1.1 となりますがtar.gzです)

次にnpmでダウンロードしたtar.gzからインストールします。

npm install ./v0.1.1

ここでnpmの罠があるのですが、フルパスにするか、./をちゃんと付けてください。そうしないと、httpで取りにいこうとして失敗します。

TextareaServerの起動

たとえば、gvimで編集したい場合は以下のコマンドでサーバを起動します。

textareaserver --editor-cmd gvim

Chromeに拡張をインストール済なら、ここでサーバと接続が確立したというnotifyがでると思います。

使ってみる

textareaやtextinputで右クリックして「Edit in external editor」を選択しましょう。外部エディタが立ちあがりましたね!あとは、そこで編集して保存すればtextareaに反映されます。

既知の問題

gvimを使っているからかもしれませんが、ちょっと使っただけでもいろいろありました。

  • 一度外部エディタを閉じたtextareaで、リロードなど無してもう一度開こうとしても開けない
  • Gmailで使うとgvimが3つたちあがる


おすすめの使いかた

.xinitrcなどで「textareaserver --editor-cmd gvim &」としておくと、サーバの起動を気にしなくていいので便利です。

同様に.textareaserverの中もお掃除してあげるといいかもしれません。

It's All TextがないからFirefoxを使い続けている人は、これを期にChromeに乗り換えてみてはいかがでしょうか。

2011/02/14

バレンタイン

一昨日くらいにフライングでもらいました。今年はマカロンとフィナンシェ!

@mochann はマカロンスキーなので、だいぶ昔に自分が作ってあげようとして大失敗したのも記憶に新しい感じですが、さすがちゃんとマカロンになってました!ありがとう!

Ruby(Rails)で適当なサンプルデータを作るにはfakerかForgery

Fixture Replacementを使っても、本物っぽいデータを大量に作るのは大変ですよね。
例えば、シーケンスを使えば「山田太郎1」から「山田太郎100」を作るのは簡単ですが、どうにも本物っぽくない。
そんな時に使えるのが、以下の2つのライブラリです。

faker: http://faker.rubyforge.org/
Forgery: http://github.com/sevenwire/forgery

fakerは色々forkされていて、どれを使えばいいか迷うところですが、ffakerというのが動作が高速なようです。
ただ、辞書を内部に持っているので、自分で辞書を定義するのが若干面倒です。

一方、Forgeryは辞書を外部ファイルから読み込むようになっています。また、Rails 3のジェネレータもあるようです。とくに制限がなければForgeryを使うといいんじゃないでしょうか。

それぞれの使いかたはREADMEを参照ということで。

2011/02/03

さくらのVPSにFuntooをインストール

うちのサーバは、大学4年から大学院卒業までお世話になった2代目の相棒である「dynabook SS SX/2211」だったわけですが、ついに数日前にお亡くなりになってしまいました。(こいつはCDもついていないしUSBブートもできないので、PXEブートでGentooをインストールして使っていました)
さすがにそろそろ引退させてあげてもいいと思うので、新しい環境としてさくらのVPSを借りることにしました。

CentOSなんていう冗談みたいなOSはあまり使いたくないので、さくらの VPS に Gentoo Linux をインストールする(これ、お知らせからしかリンクないんですね。もったいない。)を見ながらFuntooをインストールすることにしました。

この手順書はすばらしい出来なので、これとFuntooのインストールドキュメント(Gentooハンドブックの差分が書いてある)を見れば大体できるのですが、いくつか注意するところがあるのでちょっと解説しておきます。

1. SystemRescueCDからイメージを取り出すところ

次の7つのファイルを取り出せとありますが、SystemRescueCD2.0では下の5つのファイルはisolinuxというディレクトリの中に入っています。これを、/mnt/workの直下にコピーすればいいみたいです。ディレクトリ構造を反映させる必要はありません。
  • sysrcd.dat
  • sysrcd.md5
  • initram.igz
  • rescuecd
  • rescue64
  • altker32
  • altker64

2. /etc/make.conf

marchとかをどうするかですが、ぐぐってみるとcore2でいいんじゃないかという感じだったので、ひとまずcore2にしておきました。

3. grubの設定と/etc/boot.conf

Funtooは、boot-updateというコマンドでgrubの設定をするので、Gentooと同じ手順ではシリアルコンソールの設定ができません。(grubのバージョンも違うんでしたっけ?)
/etc/boot.confにparamsでシリアルコンソールの設定を書きだすようにしてあげましょう。私のboot.confは以下のようになっています。心配な人は、SystemRescueCDのブート設定も書いておけば、万が一の時も安心です。



最後の再起動前に/boot/grub/grub.cfgだけはちゃんとチェックしておきましょう。シリアルコンソールの設定を忘れるとCentOSのリカバリからやり直しです。

それでは、みなさん楽しいFuntoo生活を!

2011/02/01

プロバイダをi-revoにしました

やはり500円というのは心配だったので、しばらく @ursm に人柱になってもらっていたのですが、大分安定しているようなので乗り換えました。

申し込みウィザードを進んでいくといきなりアカウントが発行されるという、いままでのプロバイダの面倒な作業はなんだったんだと思わずにはいられない感じです。

IPv4で固定IPだけあればいいという人はだいぶお得なので、興味のある人は乗り換えるといいと思いますよ。

http://access.i-revo.jp/

2011/01/22

呑まれ部サミット2011に参加してきました

噂によると、今年で3度目となる呑まれ部サミットに参加してきました。

お店は、昨年同様の都内某所。
相変わらずの美味しいお酒と料理でした。

当日の様子はTogetterを御覧ください。

Togetter:呑まれ部サミット2011

2011/01/13

月刊オブラブとオブログとペアプロイベント

先日、月間オブラブ創刊号が発行されました!
2011年、オブジェクト倶楽部はオブラブへと名前を変え、メルマガを月刊にし、記事をブログへと、大きく形を変えましたが、今後ともよろしくお願いします!

また、初春オブラブミニミニイベント「ペアプロワークショップ」もまだ席に余裕があるようなので、是非是非ご参加ください!

オブラブ: http://objectclub.jp/
オブログ: http://oblog.objectclub.jp/

2011/01/04

書き初め

うちの事業部の毎年恒例の書き初め。今年の一字は「笑」にしました。

今年一年、笑って終われるように、自分のやれることを精一杯やっていきたいという思いで、この字にしました。

また、htkymtks_ugの活動を通して、世界にほんの少しの笑い(と失笑)を届けられればと考えています。
これは別に冗談ではなく、プログラムを書いてお金をもらっている以上、技術的卓越を追求したいと思うもの。そのためには壊していいオモチャはいつも手元に置いておかなければなりません。その一つが、htkymtks_ugで使っているいくつかのツールです。なので、ユーザ会の半分は本気と書いてマジでできているのです。(もう半分はちくわです)

気づけば今年で29になります。20台最後の一年に相応しい一年にしたいものです。

2011/01/01

2011年もよろしくお願いします。



取り急ぎ、今年もよろしくお願いします!