Rubyist Hotlinks 【第 33 回】 大場さん夫妻 前編

はじめに

著名な Rubyist にインタビューを行う企画「Rubyist Hotlinks」。第 33 回となる今回は、夫婦ともに著名な Rubyist である大場光一郎さん、寧子さんにお話を伺いました。

せっかくご夫婦ですので、お二人いっぺんにインタビューさせていただきました。長時間のインタビューとなりましたので、前後編に分けてお送りさせていただくこととして、今回はその前編です。

では、お楽しみください。

9293658360_880775b9cf.jpg

プロフィール

大場光一郎さん (@koichiroo)

好きな言葉
いのちだいじに
尊敬する人
大場寧子さん
ご本人のサイト
暮らしの業

大場寧子さん (@nay3)

好きな言葉
命あっての物種
尊敬する人
徳川家康
ご本人のサイト
ぷっちん日記

インタビュー

聞き手
卜部さん (@shyouhei)
語り手
大場光一郎さん (記事中「koichiroo」)、大場寧子さん (記事中「nay3」)
野次馬
松田さん (@a_matsuda)、株式会社万葉の方々、郡司 (@gunjisatoshi)
日にち
2013 年 7 月 6 日
場所
株式会社万葉

目次

プロフィール

生年月日、出身地、家族構成

9293664664_9af776eb75.jpg

koichiroo 今日はよろしくお願いします。

一同 よろしくお願いします。

卜部 まずはプロフィールをどうぞ。差し支えない範囲で。

koichiroo 僕の生年月日は 1974 年の 9 月 3 日です。今年 39 です。出身地は宮城県の多賀城です。

nay3 今はまだ 38 だよね*1

koichiroo まあ、今年 39 なので。で、家族構成ですか。

卜部 家族構成はまあ、そんなに言わなくても。ここにいるので明らかですよね。ここにいる以外にも、港々で女がいるとかがなければ。

一同 (笑)

koichiroo そういう意味では、実家の構成的には男三兄弟の家で。

nay3 その長男。

松田 おー、長男ですか。

卜部 奥さんの方は。

nay3 私は 1973 年 12 月 4 日生まれ。いま 39 です。

卜部 それも本当、言わなくていいですよ。

nay3 いや、隠してもいないです。どこかには書いているような気がします。で、私は三姉妹の長女。

卜部 なるほど。ご出身の話とかはまたあとで聞きますか。

nay3 出身は埼玉ですね。志木とか、埼玉を何か所か転々と。基本は埼玉っ子です。

卜部 ありがとうございます。

好きな言葉、座右の銘

卜部 では、好きな言葉とか座右の銘とか。

nay3 好きな言葉は、私は今日は何にしようかなと考えてきたのですが、「命あっての物種」という感じで。

卜部 これは何か好きになった理由とか。

nay3 えーっと、やっぱり命が大事なので。いざとなったら逃げる、というのが私の信条です。

松田 何かあったんですか。命を脅かされるようなことが。

nay3 よくありますね。

一同 (笑)

nay3 あとは、あんまりストレスに強い方じゃないので、そう思っていないと疲れちゃう。いざとなったらドロンしようと思って対処している感じですね。あんまり実際にはドロンしたことないですけど。

卜部 では大場さんご主人のほう。

koichiroo 僕の方はゲームが好きなんですけど、ドラクエから「いのちだいじに」*2

一同 (笑)

nay3 たまたま話をしていたら同じような感じだったので。

koichiroo ネタ合わせをしたわけじゃなくて。

nay3 私が「命あっての物種」か「(三十六計) 逃ぐるに如かず」にしようかなと言ったら、「いのちだいじに」かなって言われて。私それも考えていたので、まあいいよねって。

koichiroo まあ理由的には、最近会社で若い人たくさん見ていて、もう自分はあんなにはできないなと。

松田 ガンガンいっちゃっているわけですね。

koichiroo 「ガンガンいこうぜ」のフェーズは、もう過ぎてしまったと痛感しつつあるので。そんな中で守りに入るというわけでもないのですが、継続的にやれることをやるというのが大事だという意味合いです。

卜部 はい、ありがとうございます。

尊敬する人

卜部 じゃあ次は、尊敬する人とか。

koichiroo 尊敬する人。僕は大場寧子さんです。

nay3 えー。ちょっと聞いてないよ。やめてくださいよ。

卜部 尊敬する理由とか。

koichiroo 結婚 10 年という話もあって、つきあいから始めると 13 年くらいですかね。その中ですごいこう、10 年付き合っていても未だに新しい発見とか可能性というかがある。たくましいというか、強い。成長が間近に見れて、まだまだ大きくなるんだろうなというところが尊敬するところ。

nay3 (コメントに) 困りますね。私のほうは言われた後ですごくやりにくいですが、徳川家康かな。

一同 (笑)

卜部 家康を尊敬する理由は。

nay3 何といってもあれだけ長く続く江戸幕府の体制を作ったところと、あと序盤けっこう苦戦していたと思うんですけど、長生きして勝者になるというところが。

koichiroo 序盤って (笑)

卜部 長生きするところ。いのちだいじに。

nay3 そう、いのちだいじに。逃げてでも最後には笑う、というところがすごい尊敬します。

卜部 なるほど。

松田 それはやっぱり会社を興して一国一城の主じゃないですけど、国を治める立場になったところで共感するという感じですか。

nay3 会社を興してからというよりも、もともと家康とか好きだったので。

koichiroo 歴女だから。

nay3 いや、まあ、どちらかというと歴女だけど。

郡司 歴女。好きな戦国武将は?

nay3 やっぱり家康ですね。

松田 それは珍しい。

卜部 そのへんの生い立ちの話とかは、またあとで伺いましょう。

代表作

卜部 次は代表作。お子さんはそうだと思うのですが、それは置いておいて*3。それ以外で。

nay3 私の代表作は、たぶん「小槌」ということになるかと思うんですけど。家計簿のアプリを作って、今も細々とメンテしたり自分で使ったりしているという感じですかね。

卜部 おお、自分で使っている。

nay3 まあ、もちろん。そのために作っているというか。

koichiroo 会社の経理とか。

一同 へー。

koichiroo 経営的な拡張とかも入れて。

nay3 ただ、なかなか消費税対応ができなくて。最初は会社って消費税対応いらないんですよ。何年かすると必要になるのですが、それに追いつけなくて。それに追いついて小槌に消費税対応が入れられたら良かったんですけど、入れられなくて。追いついていない状態なので、早く入れたいです。

卜部 今後、段階税率とか来ますよね。

nay3 そうそう、大変。まあ、頑張って追いつきたいと思います。

卜部 ご主人のほうは。

koichiroo 僕の代表作―――彼女はいろいろとスクラッチから開発したソフトウェアがたくさんあって、すごいなと。僕はゼロから何かを生み出すというのはあんまりやっていなくって、得意じゃないんだろうなと思います。そういう意味では自分の代表作だというのはあまりないんですが、フリーソフトウェアの中で今までやってきた中で「これはやりました」というのは、やはり Meadow ですかね。

卜部 はいはい、Meadow。

koichiroo この間 mrkn さんと Meadow の話になった時に、mrkn の反応が、今までは別に馬鹿にされていたわけではないですけど、ちょっと前より一目置いてくれるようになった。「あ、Meadow の人だったんだ」って。

一同 (笑)

卜部 Meadow の何をやったんですか。

koichiroo Meadow では、Emacs 21 になったときに、UNIX 版は X との親和性が高くなって同一のバッファに文字と画像が表示できるようになって、TeX のプレビューとかも表現力がぐっと上がった機能があったんですね。それの Windows 版が画像を入れられなかったんですけど、そこを ImageMagick をダイナミックロードして Windows 版の Emacs 上でいろんな画像ファイルを取りこめるようにしたというあたりが僕の仕事です。

卜部 それは Emacs 21 くらいの時に?

koichiroo そうですね。

卜部 今もそのコードが動いている?

koichiroo 今もそのコードは Meadow では動いているけど、Meadow 自体がもう。

卜部 ああ、まあ。Emacs 自体が。NTEmacs が。

koichiroo そうそう、NTEmacs が統合されて。だから Meadow のコードがあんまり本体にフィードバックされなかったのが。

卜部 残念ですね。

koichiroo 残念ですね。IME まわりとか Meadow のほうが良かったのに。

卜部 ありがとうございます。ソフトウェア以外は? 著作とか。

koichiroo 近刊では、『スタートアップ Ruby』ですね。その前は『JRuby on Rails 実践開発ガイド』。

nay3 『JRuby on Rails 実践開発ガイド』は翻訳ですね。あとは『逆引き Rails』。このへんの書籍は一緒にやっています。

松田 その前は?

nay3 その前は、Scarab の本を書いたよね。バグ追跡システムの。

koichiroo そうだね。書籍は Scarab と、あと雑誌にいくつか。

nay3 私も、それ以外は雑誌ですね。XML とか。

卜部 最近は雑誌に書いたりとかしないんですか?

nay3 最近は雑誌には書いたりしてないです。ちょっと、なかなか。

卜部 まあ、お子さんがいるので。

nay3 一応あたためている本のネタとかはあるので、やりたいな、とは思っているんですが。

卜部 じゃあ、あれですね。このインタビューを読んだ出版関係の方はコンタクトを取るといいかと。

nay3 ぜひ。

松田 ちなみに何関係ですか?

nay3 久保専務と、会社を作ることに関しての。

koichiroo ソフトウェアスモールビジネスについて。

nay3 女二人で起業、みたいな話を。

松田 わりとそういう本ってないですよね。

nay3 ですね。なので、出してみたいなと。

松田 37signals の本とかはありますが、ちょっと特殊すぎるし。

卜部 最近、南場さんという人が書いた本がありまして。

nay3 そうですね。

郡司 『不格好経営』ですね。いい本だ、という話はいろんなところで聞きました。まだ読んでないですが。

nay3 あれはあれでスケールが違い過ぎるので。

koichiroo 読みましたよ。アンラーニングの話がいいですね。

nay3 あれはすごいですね。いいですよね。

卜部 そういえば、Hotlinks の最初のほうで「今回は何とかの誰々さん」という紹介分を書くのですが、何の大場さんにしますか。

koichiroo 何の、って。なんスか。

松田 プロフィールですね。

nay3 何にしよう。ええと、Rails エンジニアとか? 開発の会社をやってます、とか?

nay3 まあ、Rails 開発をメインとする開発会社をやってます。

卜部 会社経営と。

nay3 そうですね。まあ、コードも書いている。

koichiroo 私のほうは、奥さんの付き人エンジニア。

nay3 なんじゃそれ (笑)

五十嵐 大場派の大場さんじゃないんですか?

nay3 そうですね、派閥。

郡司 どっちがどっちか分からない (笑)

nay3 そういえば、今回のインタビューはなぜ我々なのかが謎なのですが。

卜部 僕がお二人をインタビューに呼んだ理由は、ささださんが「コミッタじゃない人」って言うので。じゃあ大場さんかなと。

松田 そういえば 僕のインタビューの時も、次に大場夫妻に回そうかと思ってたんですよ。

nay3 ありがとうございます。

松田 でも mame さんの話がどうしても聞きたかったので、そのときは mame さんに振ったんですけど。

卜部 まあ、それはそれで良いと思います。

koichiroo インタビューに呼んでいただいて、嬉しかったです。

卜部 来ていただいてありがとうございます。最初に会ったのは何年前でしたっけ。何のときだったかな。

koichiroo RubyKaigi じゃないかな。

卜部 いや、もっと何か別の時だと思いますけど。そうだ、『プログラミング言語 Ruby』の出版記念パーティか何かだ。

松田 それってけっこう最近じゃないですか。

卜部 2006 年くらいかな?*4

nay3 その頃は、ぎりぎり Ruby を始めた頃だけど、いたかなあ。覚えてない。

koichiroo さかのぼると、私が Ruby を始めたのは 2002 年だ。

nay3 そっちは早くて、私は彼に言われて始めたので。

koichiroo After Rails ですね。

nay3 そうそう、After Rails。After Rails の走り、みたいな。

koichiroo Rails 0.9 くらいかな。

卜部 僕は逆にその頃 Rails を全然使っていなかったから、0.9 くらいの Rails はさっぱり分からんですね。どんな感じだったのか。

nay3 あんまり覚えてない。どんどん書き換えられて行ってしまって。

松田 十分に便利だった記憶はありますね。

普段の生活

仕事

卜部 では、仕事の話。仕事って何をしているんですか。

nay3 仕事は私は基本社長業だけど、あまりそれは 15% か 20% くらい。残りはだいたいコードを書いたりレビューをしたりしてます。

卜部 レビュー重要ですよね。

nay3 そうですね。レビューは多いですね。GitHub のおかげでレビューはしやすいので、よりたくさんレビューをすることに。

卜部 レビューねえ。いくらでも手を抜けるけど、いくらでも細かいところまでいけちゃうから。家事といっしょですよね。

nay3 そうですよね。

卜部 どれだけ効率よくやるか、ですよね。では、普段はレビューをしていると。

nay3 レビューと、コード書いたり、ふつうにプロジェクトマネージャーみたいな感じで回したりとか。それが 8 割。2 割が社長業かな。

koichiroo お客さんとの話とか。

nay3 もちろん話してますね。要件調整したりとか。

松田 社員って何人いるんでしたっけ。

nay3 16 人です*5

松田 おお、そんなに。プログラマが?

nay3 プログラマだと、そこからマイナス 3 名。従業員で考えると 14 人。

松田 そんなにいたのかー。

nay3 いつの間に。

松田 一度にプロジェクトは何個ぐらい回ってるもんなんですか?

nay3 10 個くらいですね。全部が自社で持っているわけじゃなくて、他のところに行ってやったり、というプロジェクトもあります。

松田 へえ、そんなに。

卜部 だいたいプロジェクトごと一人か二人?

nay3 というよりは、3 人のプロジェクトと、3 人のプロジェクトで二人兼務とか。そんなイメージかもしれないです。あとは 0.5 みたいなプロジェクトもあると思うので。

卜部 ご主人のお仕事は。

koichiroo 僕の仕事としては、GREE のインフラを良くする部署にいて、その中でけっこう幅広くやっているチームにいます。

卜部 「良くする」、というのは?

koichiroo たとえばパフォーマンスを良くするとかもやるし、品質を良くするような活動もするし、今よりサーバを効率よく使えるようにする活動とか新しいソフトウェアを導入するとか。

卜部 DevOps みたいな感じですか。

koichiroo そうですね。DevOps ですね。

松田 "Batman" っていうやつですね*6

koichiroo そうですね。大きくは、だいたい 3 つの仕事をしていて。サーバを管理する社内ツールの開発がひとつ大きなミッション。もう一つが OS を最新にアップグレードしていくというやつ。台数が非常に多いので。それの自動化を進めたりとか。もう一つがグリーのエンジニアの開発環境を提供していく。その 3 つがだいたい僕のミッションになっています。

卜部 デプロイまわりとかも。

koichiroo デプロイまわりもですね。開発と、実際に動いているプロダクションの間をつなぐのが僕のチームの役割になっていて、デプロイ周りのツールをより良くするやつとか。稼働したままデプロイメントするのはどうするかとか。

そういう意味では、一日 何度もデプロイするんですけど、サーバが被っていたりとか、リソースが競合していたりとかすると一度に配れないので、交通整理する必要があるんですよ。それを Web 上でキュー管理して。みんなこう並んで整合性をとったままデプロイを一日中まわせるようなシステムを Rails 4 と Resque とか使って作って。歴史的経緯で GREE でデプロイするためのコマンドとかが色々各種たくさんあるんですけど、それを全部、どれが並行できてどれが競合するか、みたいな、そこいらへんをシステムにインプリして自動化した。

松田 それはクローズドソースですか?

koichiroo クローズドソースですねこれは。かなりグリーの中に依存しているので。

松田 なるほど。

卜部 根幹を支えると。

koichiroo そうですね、今まで職人が「これとこれは同時に実行できねえんだよ」みたいにして職人技でやっていたんですが、誰でもデプロイできるようにしたのが直近では Ruby を使った大きな仕事です。

卜部 そういうのって、すでにあるオープンソースのプロダクトに乗っかろうとは思わなかった?

koichiroo 今 Ruby でというか、デプロイは Capistrano とかじゃないですか。Capistrano の場合、根本的な設計がリポジトリ一個が一プロダクトみたいな感じで、複数のリポジトリとか共通モジュールとか引っ張ってとか、そういうのが非常にやりにくかった。あとは一番大きな理由が歴史的経緯。Capistrano のない時代から。

卜部 昔から動いているものをどうマイグレートしていくか。どこでも問題ですよね。

koichiroo あと、メインのコードが PHP なので、そんなに Capistrano にする理由もない。

卜部 確かにね。

koichiroo ということもあって、色々お手製のツールで回している部分であります。

松田 大場さんの仕事というと、入社していきなり Github Enterprise を会社に買わせたっていう話がありましたよね。

koichiroo そうですね、あれはもう入って 3 ヶ月くらいでは Fix して全体導入できたので。

nay3 でも入れてからもだいぶ苦労しているよね。

koichiroo まあ運用は。今は安定していますよ。入れてしばらくはバタバタしていて。すぐ落ちたりとか。

松田 よく死にますよね。

koichiroo 前のバージョンは、ほんとすぐキューが詰まったり。

松田 色々なバックグラウンドタスクが膨らみ過ぎて、がさっと死んじゃったりする。

koichiroo Solr のインデクシングが重すぎて、コードの全文検索が全く動かない時期があって。

卜部 ピンク色のユニコーンが出ているうちはまだ元気。500 Internal Server Error とか出て。

郡司 ユニコーンが出る方が、まだましなんだ。

koichiroo Falling Octocat が出る方がまだまし。

koichiroo GitHub導入に関しては、開発環境の改善をメインで取り組んでいたときに、オープンソースでうまいこといってる開発手法を社内にも取り入れていこうという目的で導入を進めました。

卜部 という仕事をしていると。

松田 何人で仕事をしてるんですか?

koichiroo 僕のチームは 14 人かな。

松田 ちょうど夫婦とも同じくらいのサイズのチームを管理していると。

koichiroo そうですね。あと、今月から新卒がばたばたと入って 3 人増えて 17 人。

郡司 新卒の研修開けですね。

松田 組織上、社長直属なんでしたっけ。

koichiroo 社長直属は、ペパボの柴田さんですね。僕は入社当初 CTO 室。でもそこから異動して今はインフラ統括部です。

松田 あ、そうだったんですね。

卜部 人が増えてくると、直属はなかなかつらくなりますよね。

koichiroo そうですね。というか、開発環境もデプロイもそうだけど、やっていることはインフラでしょうと。正しい所にポジションを直したという感じですね。前よりも関係する人は多くいるところに来たので、やり易くはなりました。組織が分かれていると、人が多いと縦割り感が出てきて「これはどっちの仕事なんだ」ってもめたりするので。

松田 そういうの得意なんじゃないですか?

koichiroo そういうのを全部拾って「これやってあげたから、次はよろしく」みたいな。政治力。

卜部 そういう意味だと、基本的には大企業にずっといる感じですか。

koichiroo そうでもないです。一番大きいのは前職の CTC ですね。協力会社も入れると 1 万人の会社。正社員だと 7000 人くらいかな。歴史もあるし、日本の大企業はこれだなあと。グリーに来て、だいぶベンチャー感があります。

卜部 なるほど。

koichiroo まあ、もう上場したあとに入ったので。いわゆるベンチャーというとそうでもないんですけど。だいぶ文化は違います。

松田 スーツ着てないぞと。

koichiroo 誰もスーツ着てないし。CTC 時代のスーツ、もう着れないんじゃないか。

卜部 万葉はベンチャーですよね。

nay3 万葉はベンチャーじゃなくて中小企業です、というのが我々の言い分なんですが。

郡司 ベンチャーと中小企業の定義の違いは。

nay3 上場を目指したりしない。別に目指してもいいんですけど。

卜部 何かのはずみで上場しちゃうのは別にいいと。

nay3 上場していっぱいリターンを得ることを目標にしないと沈んでしまう感じではなくて、堅実に回していくタイプなので。久保さんが「うちはベンチャーではありません、中小企業です」というのが口癖でした。

卜部 いのちだいじに。

koichiroo スモールビジネス。

卜部 お金も必要な分しか集めない、と。

publichtml すいません、零細企業です。

nay3 ああそうか、零細企業だそうです。一応、我々は中小企業というのを使ってます。

松田 なんか昔は旦那のほうが一部上場企業の正社員やってスーツ着て、奥さんのほうが起業して社長とかやって、なんかこう家庭内ポートフォリオとしてすごくバランスが取れているなと。それはいい戦略だなー、と思ってました。

nay3 ありがとうございます。うちもそれで、二人ともベンチャーじゃなくて、多少その、分散という気持ちはやっぱりあります。

松田 今聞いてると、むしろ旦那がベンチャーになっていて、奥さんは手堅くやっていますという感じで。面白いですね。

koichiroo そうですね、揺り戻しかもしれないですね。そういう意味では。僕もそういう安定したところでずっと粛々とやっていればよかったのかもしれないですけど (笑)

一同 (笑)

koichiroo 一番最初に入った会社はもっと小さくて。10 人いないくらい。社長のワンマンみたいな感じ。ぐんま Ruby 会議 01 で自分の下積み時代の話をしましたが、そういうところからのスタートでした。

松田 CTC というと、大場さんと高井さんの名コンビという印象がありますけど。高井さんが辞めたのが同時期じゃないですか。何かきっかけとかあったんですか?二人で示し合わせたとか。

koichiroo そういうのはないです。

nay3 時代観だよね。

koichiroo 僕のせいかもしれませんね。

一同 (笑)

koichiroo 高井さんは、僕が誘って CTC に入ったんですけど、ずっと同じ部署で Ruby 推進みたいな形で一緒に仕事をしていたんですけど。僕が SIer でそういう推進系のって、実際は手をそんなに動かさないで、こうしたほうがいいよとか、コンサルじゃないですけど、サジェストするような感じで。

松田 外注管理とか。

koichiroo 外注管理はやらないのですが、フレームワークはこれ使いなさいとか。そうじゃなくて、もう少し作りたいなというのもあって。新しいのが作れる企画系の部署に僕だけ異動して、高井さんは置いてきたんですよ。

一同 (笑)

koichiroo あとよろしく、みたいな。それでいつのまにか...。

一同 (笑)

koichiroo ある日突然、しばらく飲んでいなかったのに「大場さん飲みに行きたいんだけど」って言われて。その時都合が悪くて断ったんだけど、断ったら Twitter で「意気地なし」みたいに言われて。どうしたんだ、何かおかしいなって。そうしたら次の日も「飲みたい」って席まで来て。何かあるのかなと思ったら、一軒目二軒目は普通に新橋でぐだぐだ飲んでたんだけど、三軒目行きましょうって言われて、まだ飲むんだって。

一同 (笑)

koichiroo ついていったら、泥酔の高井さんから言いづらそうに「実は辞めます」って、もじもじ言われたのがすごい印象に残っています。*7*8

卜部 この話は載せていいのかな。

koichiroo ダメですね(笑)

松田 本人がよければいいんじゃないですか。

卜部 本人がいないですが (笑)*9

仕事とプライベートの両立

卜部 次の話は、仕事とプライベートの両立。両立してますか。あるいはどういう風にしていますか。

nay3 ねえ。

卜部 たとえば今日とかは、お休みの日にも関わらず出社していただいてありがとうございます。

nay3 いえ、とんでもないです。これは仕事でもありプライベートでもあるので、両立はしていると思うんですが、うまく重ねるというか。

koichiroo 分けていないね。

nay3 あまり分けない感じで。お互いけっこう重ねている感じです。そうすることで時間を捻出している感じですかね。あとは仕事は色々なところでやるので、瞬時で切り替えることでロスを減らすというか。いちいち出社するのでなくて、家でさっと Skype に入ってちょっと仕事をして、ミルクあげてまた Skype 入ってみたいな感じで。こまぎれに切り替えている感じ。

koichiroo そういうところは子供が出来てがらっと変わってしまった部分かもしれないですけども、プライベートと重ねるというのをうまくやるには、僕の仕事の仲間とかも機会を作って奥さんに会わせたりとか。

nay3 もともとそうやっていたよね。

koichiroo 奥さんの仕事の仲間とかが、僕が誰かって分かるようにしたり、というので、会わせやすくする、というのは工夫しています。

卜部 家で仕事をやっても平気なんですか。

nay3 万葉は平気です。

卜部 Skype があれば OK?

nay3 そうですね。

卜部 グリーはどうですか。

koichiroo グリーは、できるけど、基本は出社してくださいという感じ。自宅勤務制度はないです。

nay3 うちも、許可制ではあるんですけど。

松田 子育てはなかなか仕事とは相容れないですよね。さすがに。

nay3 そうですね。

松田 子育て以外のところだったら、二人とも趣味でも仕事でも Ruby やってますって。コミュニティと仕事がある程度混じっていましたと。

nay3 そうですね。

9290921721_9f7e5df24c.jpg

松田 子供は本当に交わらない。僕もうちの娘を Asakusa.rb に連れて行ったことがあるけど。

卜部 それはちょっと。

koichiroo 大江戸 Ruby 会議 03 は、なんか楽しんでそうでしたけど。

卜部 子供のいるコミュニティがあればいいんじゃないですか。

松田 KidsRuby とかありますね。たしかに。

卜部 まあねえ、そうは言ってもお子さんは年齢によってがらっと違うから。3 歳と 3 ヶ月は一緒にできないじゃないですか。そういう意味では、なかなか難しいところがありますね。

松田 プログラミングに興味を持つのって、3 歳とかじゃ無理ですね。

卜部 そういう意味だと、どうなんですかね。お子さんがプログラミングに興味を持ってほしいですか。

nay3 うん。持ってほしいですね。普通に。自分が好きだし。欲しいよね? 放っておいても持つかもしれないけど。

松田 まあ両親がやってればねぇ。

koichiroo 早めにレゴとか与えてみたりとか。

卜部 女の子にレゴを与えるべきかどうかの議論とかありましたね。

nay3 え、そうなの。レゴ好きですよ。

松田 レゴすごい楽しんでますよ、うちの子。

郡司 『Y コンビネーター』でしたっけ。最近本が出ましたが、その中で女性の起業家が少ないという話がありましたが、起業した女性はみんなレゴをやっていたという共通点があったんだとか*10

nay3 やってたわー。わたし超ブロック好きだったわー。なるほど、面白いですね。

koichiroo 自分の子供にはおもちゃを与えていなかったんですよ。与えてないと言うより、なかなか遊んでくれない。まだ手も使えないし。おもちゃで遊ぶというのはスキルが必要なんだなと、あらためて発見したんですけど。握れないし、興味もなかなか持たなかったので。でもこの間、実家に初めて孫を見せに行ったら、うちのじいさんばあさんがすごいテンション上がっていて。

nay3 色々なものを買い揃えていたと。

koichiroo 買い揃えていて、待ってました、みたいな。で、ババさまが次々とおもちゃを無理やり渡したんですよ。

nay3 そうしたら案外喜ぶというか。

koichiroo めきめき自覚が出来て、おもちゃで遊ぶように。すぐ投げ出さずに遊ぶようになったので。時期的にまだ早いうちでも、ちょっとジャンプしてどんどん渡したほうがスキル的には伸びるのかなと。

松田 あー、おもちゃメーカーが出している対象年齢は、あてにしない方がいいですよ。賞味期限とかと一緒で、ああいうのは最低ラインに合わせてるんで。ちょっと早いくらいで丁度いいです。

koichiroo そんな感じですね。

卜部 まあ、本人が興味のあることをやってくれればいいですよ。

nay3 ですね。かるたも試してもらいたいし。

卜部 かるたは、さすがにひらがなが読めるようにならないと取れないのでは。

nay3 大丈夫ですよ。あれは絵ですから。

一同 (笑)

卜部 絵で暗記と。花札のほうがいいのでは。

普段家でしていること

卜部 えっと、普段家では何をしているんですか。はまっている映画とか、本とか。音楽、ゲーム、スポーツなどなど。

nay3 私の生活のほとんどは仕事、つまり会社のこと、Rails のコーディング、あと子供のお世話とドラクエ 10。

koichiroo ドラクエ 10 (笑)

nay3 以上です、みたいな。あと若干の料理とかくらいですね。最近は梅干し漬けました。

koichiroo 信長の野望。

nay3 信長の野望は、もうあきらめようかなと思っていて、ここ 1 ヶ月くらいはあきらめぎみ。

卜部 信長の野望といっても色々ありますが。

nay3 オンライン。

koichiroo 信長の野望オンライン、もう 10 年やってます。

nay3 そのくらいやっていたけど、そろそろやめようかなと思っていて。

郡司 KOEI 好きですか。

nay3 そうですね、まあ歴女系なので。

郡司 そこはやっぱり徳川家康?

koichiroo 武田家。

郡司 武田家なんですか。

nay3 誘われて武田家なんですよ。

koichiroo 武田家家老だよね。

郡司 宿敵じゃないですか。

nay3 当時マップ的に中心で有利だったので。あと誘われたので。でもあんまり武田は好きじゃない。ひとりなら (徳川に) 行ったかもね。

松田 10 年経って、そんなにまだやってる人いるんですね。

nay3 いるんですけど、そんなでもない。

koichiroo 今月大型パッチが出て、また大きくテコ入れされる。

nay3 もうそろそろ断念しようかと。UI が全然違う。

koichiroo ドラクエはよくできてる。

nay3 ドラクエはあまりにもよくできてるので、ちょっと KOEI はいい加減にした方がいいなと思って。

koichiroo 比較にならない。

卜部 普段はだいたいゲームやってる?

nay3 いやいやそんなことない。ほとんど仕事と子育てがやっぱ多いです。

koichiroo 最近忙しかったからほとんど、子守以外四六時中コーディングしてましたね。

nay3 うん。酷い目にあいました。デスマ。自業自得なんですけどね。

卜部 その辺は書ける? 書けない?

nay3 忙しかったんで土日返上、は書いてもらって構わないから是非書いてください。

一同 (笑)

郡司 今年の EuRuKo鳥井さんが「全部捨ててやってきました」みたいな話してた。

nay3 鳥井さんと同じやつですよ。二人で死んでました。

koichiroo 僕の方はそんな忙しい奥さんを存分にコーディングできるようにするために子守とかですね。あとゲームとかやってました。

卜部 ゲームとか何を。

nay3 最近はずっと The Last of Us やってる。

koichiroo そう。

nay3 感染者をだんだん肉弾戦とかで倒しながらサバイバルするゲームで、すごい不気味ですぐ死ぬんですよ。なんか異音がしたと思ったらまた死んで画面が暗くなって「あ、しまった」みたいな。異音なんですよ。「べちゃ」とか「ぐにゃ」とか変な音して「えっ」て思って。

koichiroo すごいストレス溜まるね。

nay3 なんかりおちゃん吐いた? と思うとこの人がゲームオーバーしてて。家で聞く音ではない。

koichiroo よくできてます。

松田 ガンシューティングっていうわけではなく?

koichiroo FPS。ガンシューティングだけど。

nay3 弾がすぐなくなるから

koichiroo 弾もすぐなくなるし、バンッて打つと音に反応して。

nay3 いっぱいこう寄ってくる。

koichiroo 異形のものたちが寄ってきて、とり囲まれてボコられてゲームオーバー。ばんばん打ちっぱなしにできないし。ずっと影にこそこそ隠れて。

nay3 背後から近づいてガン、みたいな。

koichiroo かなりストレス溜まる。

松田 洋ゲーですか?

koichiroo ソニー。

郡司 プレステ。

nay3 そろそろやめない? って言ってるんですけど。全然やめてくれない。

松田 ゲームの趣味が合ってないですね。

郡司 一応「18 歳以上」って書いてある。

koichiroo りおちゃん隣において。

nay3 そうそう、教育上わるい。

郡司 これはやばい (笑)

koichiroo でも奥さんがやるオンラインゲームは付き合わされて一緒にやってます。一緒に狩りやってます。一緒に狩りいこう、って言われてついていってます。

松田 どっちがゲーマーなんですか?

nay3 どっちもゲーマーだよね。どっちもゲーム作りたくてプログラミングはじめたクチなんで、まぁゲーマーです。

卜部 だいたいコンソール系なんですか今のところ。

nay3 コンソール? うん、カードとかじゃない、てことですか。

卜部 非電源系のゲームはやらない? 電源使わない系のゲームはやらない?

nay3 やんないね。

koichiroo 電源使わないって?

松田 カードゲームとかボドゲーとか TRPG とか。

koichiroo いがさんとかやってる。

卜部 すごいね、TRPG が出てくるとか。

松田 代表格じゃないですか。

卜部 そうなんだ。

nay3 もちろん嫌いじゃないけど。

koichiroo そうですね。あとすごくモバマス、じゃない、ミリマスやってます。

卜部 あーはいはい、そういうことにしときます。

郡司 DeNA と GREE の争いが (笑)

koichiroo モバマスもやってたよ、前。

nay3 あ、あとはやっと競技かるた復帰しましたので。

卜部 じゃあ競技かるたの話をしますか。

かるた

9293710990_e12264a5aa.jpg

卜部 競技かるたは、えっと、いつ頃からやってるんですか。

nay3 大学一年からですね。大学に入ってから。それまではあの、なんだろう、高校とかでかるたの大会とかあればやってましたけど。

卜部 普通にかるたの大会をやるのと、競技かるたをやるのは違う?

nay3 全然違いますね。ルールも違うしレベルが違うし。かるたの大会とかってこう、自分が何枚覚えてるとかって世界ですけど、競技かるたは覚えてるのが当たり前で。

卜部 配置の記憶が。

nay3 そう。もう読み始める時は全て覚えていて、読まれたらすぐに取る、という世界なのでだいぶ違います。

郡司 最初の何文字までが同じやつっていうのを全部覚えていて、その次の文字でバンって。

nay3 そうです。

松田 決まり字。

nay3 「あなおわたこみはやよか」って覚え方があって。

郡司 おお。

nay3 「あ」が一番多いんです。最後が「むすめふさほせ」ですけど。「あいうえお」みたいなのがあって、それで覚えます。

koichiroo プロのかるたマン、A 級選手です。

郡司 あえてそこを賭けで「こっちだ!」っていう感じで取ったりもするんですか?

nay3 やりますやります、全然やります。

郡司 おお。そういう駆け引きがある。

nay3 ありますあります。あれは駆け引きが結構面白いんですよ。すごい自分が 強ければ駆け引きしなくても勝てるんですけど、そこそこだと結構作戦がものを言うので、すごい頭を使います。

郡司 なるほど。

卜部 競技かるた。まぁ自宅では練習できないんですよね。

nay3 んー、やろうと思えば。

koichiroo 畳があればできますよ。

nay3 畳なかったとしても、まぁある程度はやろうと思えばできる。

卜部 ほうほう。

nay3 ただうちみたいに散らかっていると、飛んで「どこだどこだ」みたいな。

一同 ははは (笑)

郡司 すぱーんすぱーん、みたいな感じで。

nay3 ちょっと物理的に問題があります。

卜部 じゃあなんかどうやって練習してるのかなと。

nay3 だいたい練習所に行って、和室とか借りて。公民館みたいなところでみんなで練習する。

koichiroo 月一で。

koichiroo 城南かるた会。

nay3 はい、城南かるた会*11

koichiroo 主催者。

nay3 一応名ばかりですが会長です。

松田 会長!

nay3 届け出している会長は私。

郡司 おお。

松田 もともと、どっかに入門したりしてたんですか?

nay3 もともと東大かるた会。東大でかるたサークル。

松田 学校のサークル。

nay3 そうそう。

nay3 それがもう東大の何て言うの、百人一首同好会っていうのが大学的なサークル名なんだけど、東大かるた会っていうのが全日本かるた協会的なかるた会名で、両方同じ組織。

松田 あー、なるほどなるほど。

nay3 昨日 Tokyo Girl Geek Dinners 行ってきたんですけど。そこで東大かるた会の後輩がたまたまいて「東大かるた会の方ですか」って聞かれて超感動しました。そうそうみたいな。

郡司 そっちのクラスタがいた。

松田 そう、なんかね『ちはやふる』で妙にメジャー感でてきましたね。

nay3 そうですね。なので人数増えすぎて、各所はちょっと悲鳴あげてますけど。しょうがない。

松田 いいことばっかでもないんですね。

nay3 まえは 64 人未満で 60 で普通のトーナメントできてたやつが、もう倍くらい押し寄せて。会場のスタッフとか、みんなボランティアでやってるので、とても大変そうです。

郡司 RubyKaigi みたいに、だんだん拡大していって。

nay3 裾野が増えすぎて、上に上がるのがすごい難しくなって、だから私なんて楽だったかもしれないです。

松田 その世代でよかった。

nay3 そうそう、その世代でよかった。

松田 なるほど。

nay3 たくさん勝ち上がる体力ないので。

松田 よく『スラムダンク』でバスケ部が大流行したとか、『ヒカルの碁』で囲碁人口が増えたとか言いますよね。あんな感じですかね?

nay3 まさにそんな。『ちはやふる』世代。

五十嵐 大場さん、是非「みんなのかるた」の宣伝をしてください。

nay3 そうですね、弊社から「みんなのかるた」というアプリを出しておりまして。弊社の専務が読手の資格を持っているので、それも活用しつつ iPhone で読み手の代わりをするアプリ。

卜部 へー。

nay3 練習できる。

郡司 練習に使える、と。

nay3 そう、ちゃんとマニアックで、競技かるたって 15 分でこう試合開始なんですけど、タイマーで二分前になると「二分前です」って宣言してくれたりとか。

koichiroo へー。

郡司 え、それ開始の間に 15 分ある?

nay3 そうですね。

卜部 配置覚える時間?

nay3 そうですそうです。

郡司 あ、そうなんですね。

nay3 はい、タイマーしてそのまま読み手として使ったりとか、あと読み札モードっていうのがあって、読み札のセットもっていかなくても iPhone 使って読み札を使いながら自分が読む、ということもできるとか。

卜部 ふーん。

nay3 あとまぁ覚える練習ができる、とかっていうようなのを出してます。五十嵐さんとかも絡んでくれて。

DSCI1657.JPG

五十嵐 技術的に面白いのは全部万葉の中で作ってるのが面白くて、プログラムも書いてますし、絵も描いてますし。

nay3 絵は小芝さんが。小芝奥様*12

五十嵐 読手も久保さんがやってるので。全部万葉の中で作ってるのが面白いところです。

卜部 カテゴリは教育? ゲームとか

nay3 教養とかそんな感じかな。

松田 それ有料なんですか?

nay3 一応有料です。

松田 儲かってます?

nay3 まぁ、ちまちまちまちま。はい。

卜部 だってこれ無料にしたら、どうやってマネタイズするのって感じですよね。

松田 じゃあ、ちゃんと会社のビジネスなわけですね。

nay3 まぁ一応そうですね。

松田 そりゃ素晴らしい!

nay3 ありがとうございます。

五十嵐 もともとその読むラジカセみたいな機械があるんですけど、それが三万円くらいする。

nay3 「ありあけ」っていう専用機があって。

卜部 ほう?

nay3 もうその競技かるたの読みをするだけのこう、大きなマシンがあって、三万かなんかするんで。さすがにそれはちょっとみたいな、もうちょっと簡単なものが欲しいなみたいなっていう。

卜部 その三万する機械は……。

nay3 結構各かるた会は買って使ってます、練習に。凄い世界。まぁでもやっぱ音響がいいんで、音が全てなんでニーズはあるんですけど。

松田 でも iPhone だったらね。音源としてはいいですよね。

nay3 iPhone でもスピーカーつなげばいい感じに。

松田 いいスピーカーつなげれば。

nay3 うん、いいです。ただやっぱ 100 枚あって、結構容量食うんですよね。だからアプリが大きくなっちゃって、配布しやすいサイズにするようあれこれしてみたけど、やっぱり音響犠牲になったので、あきらめました。

松田 音質が?

nay3 うん。ちょっと音質が。

卜部 音声データは難しいですよね。

松田 むずいですよね。

koichiroo でかくなると 3G で落とせなかったりするんです。

nay3 そうそう。でもしょうがなくて、それはもうあきらめ気味。一度やってみたら、やっぱりとれない。重要な音がだいぶ落ちてしまう。一応実験したんですよ。サイズを小さくして練習会に行って「これ使ってみましょう」ってやって、やっぱ駄目だって。いまの音なに? というのが度々あって。

松田 大事なところまでは音質を高くしておいて、そこから先は落とすとか?

nay3 そそ。それもやってみたんですよ。だから下の句は落として上の句は高く、とかやってみたんですよ。

郡司 へー。

nay3 やってみたら、それは結構機能するんです。

卜部 ふーん。

卜部 すごい奥深い。

郡司 なかなか奥が深いですね。だいぶ。

今後について

今後の展望、将来の夢

卜部 えっとね、じゃあ次はどうしようかな。今後の展望とか将来の夢ってやつを聞きたい。

nay3 その前にちょっとだけ、かるたの話で言い残したこと、いいですか。

卜部 どうぞ。

nay3 実は私が最初にまともな首尾一貫したプログラムを作ったって意味では、かるたの練習アプリを BASIC で…… BASIC だったよなその頃。そう中 2 だよね。そのときに作ったのが最初で。

卜部 それはどういう練習?

nay3 それはあの、下の句から上の句を出すのが重要なので、下の句を表示させて上の句を練習する単語カードみたいなランダムで回してくれるような。

卜部 記憶するんだ

nay3 そうそう。というのを作ったのが最初なんですよ。っていうのをちょっと言っておきたかった。はい。

松田 日本語入力できてたんですか?

nay3 できましたね、はい。

松田 98?

nay3 98、うん。98 LT ってやつ。*13

卜部 逆にいわゆる PC の BASIC は日本語が書けないとお話にならない。

郡司 へー。

nay3 今後の展望ですか。今後の展望は是非こちらから。

koichiroo 何?

卜部 今後の展望と将来の夢。

koichiroo 今後の展望と将来の夢? なんだろ。

nay3 今後の展望と将来の夢、実は私も考えてきたんだけどさ、全然考えつかなくて。

一同 (笑)

nay3 結局もうちょっと会社をうまく回して、楽しくロハスな感じでこう、開発をし続けたいなーという感じなのと、あともうちょっと面白いことやりたいっていうか、なんか面白いもの作りたいなーっていう感じではあるんですが。まぁあんまり具体的なことが言えないって感じです。

卜部 それは言えないだけ?

nay3 言えないだけじゃなくて。

卜部 なんかある?

nay3 まだそんなに。今もやもやずっと考えてるって感じ。

卜部 ソリッドになってないって感じですか。

nay3 そうです。

松田 会社としてサービスをローンチして?

nay3 そうですね、そういう話ですね。

松田 おお!それすごい期待してます。

nay3 もう色々忙しくてうんざりしたので。これはもうものを作りたいよね、っていうのを今その反動で考えているところです。

卜部 まぁ、とは言え自社サービスはリスキーでもあるからね。

nay3 そう。おっしゃるとおりで。その間を揺れ動いているんで。

koichiroo 僕はそうですね、まぁ今の会社でやれることがまだまだ沢山あるので、僕のやれることをどんどんやっていきたいなと思っています。なんかシニアに任命されたので。

卜部 それはなんかコンサル会社でいくとパートナーみたいな?

koichiroo パートナー?

nay3 単純に上級 SE みたいな、そういう意味ですね。

koichiroo シニアエンジニア選抜みたいなのがあって、それに入れてもらって会社からも期待してもらってるんだなって。

Ruby に関して

Rubyist になったきっかけ (koichiroo)

9290942009_b951c64790.jpg

卜部 では Rubyist になったきっかけとか、そういう話をしますか。

nay3 はい。旦那さんのほうが古いから、こちらから。

卜部 さっきなんか 2002 年くらいからって話もちょっと聞いたんですが。

koichiroo ちょうどその頃に CTC に入って、チームの中での情報共有ツールとしてなんかいいのないかなって探してる時に Wiki を発見して、それで導入したのが RWiki

卜部 おぉ、そうなんだ。

koichiroo RWiki が最初でした。

郡司 咳さんの?

koichiroo 咳プロダクト。で、しばらく Ruby は使うだけだったんですけど、仕事のために入れたことで、RWiki の BBS みたいな掲示板用に使えるプラグインを拡張しなきゃいけなかったりとかで。プラグイン開発から入った感じですね。

卜部 そのときはなんで RWiki だったんですか?

koichiroo もうあんま覚えてないんですけど、まあ、まだ Hiki はなくて。

松田 たぶん YukiWiki とか PukiWiki があったのかな、2002 年って。

郡司 他にも Perl のとかで、いくつかありましたよね。

koichiroo Perl 読めなかったというのはありますね。その時代から。Perl ……ウッ、みたいな (笑)

一同 (笑)

郡司 PukiWiki が PHP でしたっけ。そのころはたぶん PukiWiki が一番流行ってたような気がしますけど、それを選ばなかった理由みたいなのは。

koichiroo なんだろうね……忘れてしまったけど……なんで Ruby にしたんだろう……。でも RWiki 使いたかったんだよね。RWiki ってコンテンツを全部オンメモリに載せるから、バックエンドが dRuby なんで。だからページ数が少ない状態だとめちゃくちゃ速いんですよね。増えるとヤバいけど (笑)

郡司 挙動が大変危険になりますね (笑)

koichiroo 最初、これは速いなあ、と思って、感動して。みんなに布教したみたいなところだったかなあ。で、そのあと 2003 年くらいから奥さんと付き合いはじめて、彼女はそれまでオンライン日記書いてて。それがなんか Perl のスクリプトかなんかで。

nay3 自分でテキトーに作ってたんだっけ?

koichiroo うん、確か。それがメンテナンス不能になってて。ちゃんとした日記システムに載せたほうがいいねってことになって、この人のために tDiary をセットアップしたんだよね。

卜部 おぉ。

koichiroo で、tDiary って 1 つのサーバで複数できるじゃないですか、だからついでみたいな感じで自分のも乗せて、今の tDiary。

卜部 それが今のサイトですか?

koichiroo そう、今の。

卜部 RWiki の導入とかって大変でした? RWiki って置けば動くもんなの?

koichiroo けっこうバックエンドとフロントエンドが分かれてて……。

郡司 須藤さんに聞けば分かるかも。

koichiroo ぐんま RubyKaigi で僕が Ruby はじめたきっかけは RWiki ですって言って、RWiki のオフィシャルサイトをバンッで出そうと思ったら落ちてて。真っ白な画面で (笑)

一同 (笑)

koichiroo 咳さんが「あとは須藤くん直しといて」って (笑) 職人技でその日のうちに直ってました。

松田 さすが。

koichiroo RWiki のインストールはそんなに難しくなかったと思う、Ruby のバージョンも 1.6 とかですかね。

卜部 かもしんないですね。そのくらいだとまだ 1.8 出てないかもしれないですね。

koichiroo そのぐらいからですね、Ruby 使ったのは。で、オープンソースみたいなのにコントリビュートしはじめたのは tDiary のプラグインか Hiki のプラグインですね。

卜部 へぇー。

koichiroo Hiki のプラグインでバージョン管理のバックエンドを追加するプラグインがあって、僕が使い始めたころは CSV 用しかなくて、会社は Subversion だったので Subversion 用のバックエンドを追加したんですね。

卜部 おっ、Subversion バックエンドって、ひょっとしてるびまでも動いているのでは?

koichiroo あっ、ほんとっすか。

卜部 この差分とか履歴を見れるツールって……。

koichiroo おっ、僕が作りました!

一同 おおっ。

郡司 いい話*14

koichiroo Hiki のオリジナルの作者って竹内さんじゃないですか。めぐりめぐって CTC 辞める直前に近いお仕事することになって、その時の話を覚えてくださっていて、ちょっと感動しましたね。

卜部 「情けは人の為ならず」みたいな?

koichiroo (笑)

卜部 「わらしべちょうじゃ」みたいな、それも違う気がしますね。

松田 ちなみに Ruby の前の第一言語はなんだったんですか?

koichiroo 仕事では Java を使ってたけど、その前は C とか、Win32 C++ とか MFC とか、VisualBasic とかやってましたね。

松田 うんうん。

koichiroo フロントエンドは VisualBasic とかで、バックエンドを C で DLL にしたりとか。

松田 VC6 ですか

koichiroo そう。

卜部 じゃあ基本 Windows なんだ?

koichiroo やってました。小さいソフトウェアハウスのときは Windows の開発してましたね。CTC 行ってからは Java で、ジャヴァジャヴァしてました。

松田 2002 年とかだと .NET も出てましたよね。

koichiroo .NET 出てたけど、1.0 とか? C# ってのはあんまり仕事の中には入って来なかったですね。

卜部 まだみんな様子見てたとかですかね。

koichiroo うん、とにかくなんでも Java みたいな。第一次 Java ブームみたいなときに転職した感じですね。

卜部 はい。じゃあ Rubyist になったのは RWiki を使ったのがきっかけだったと。

koichiroo そうですね。そして奥さんの環境構築支援するようになったきっかけがtDiary です。

Rubyist になったきっかけ (nay3)

9290915043_e8f3d48014.jpg

卜部 じゃあ奥さんの方は tDiary で旦那さんが日記を作ってたのがきっかけ?

nay3 いや、それは自分が Ruby を書くってわけでもないので。一番最初は前のベンチャーのときに、私自身も Java だし、会社もほとんど Java とかサーブレットのなかで、先見の明のある人が「Ruby いいんじゃない」って言うんで。あちこち小さなツールのところで Ruby を使ってて。

卜部 うん。

nay3 私は当時上司として全部 Java のところで一部 Ruby にされてもめんどっちいなって内心思ってたんですけど (笑)

一同 (笑)

nay3 で、その人が、Rails ってのがあるらしいよ、やったらどうですか? って言われたんだけど、フーンって感じで聞き流して (笑)

郡司 それはいつ頃くらい?

nay3 2004 年とかそれくらいかなあ。でも当時はその部下の人が Ruby やってるってだけで、私は意識してはいたくらいで、必要があればコードを読んだりとかしてたって感じですかね。

郡司 Rails は 2005 年くらいでしたっけ。

卜部 2004 年にはもうありましたよ。

nay3 そのころにはあったと思うんですよ。でも実際に私が使い始めたのは 2006 年かな。前のベンチャーを辞めたから時間が作れて、念願の家計簿を Java で作りたいから旦那さんにサーバを立ててくれって言ったら、やーだよって言われて、ガーンって (笑)

郡司 (笑)

nay3 インフラ系がすごく苦手なので。Java で書きたいんだけど支度をしてくれないと運用できないので、さあ困ったぞと。

郡司 Java だとアプリケーションサーバが必要ですからね。

nay3 そうそう。で、旦那さんが、Ruby なら作ってあげるから Rails でおやりなさい、と言われて、本を渡されて。

koichiroo 『Rails によるアジャイル Web アプリケーション開発』ですよ。

nay3 サーブレットがいいって思ったんだけど、電車本の第一版を渡されて、朝旦那さんを送り出して、それをはじめたら超おもしろくて、旦那さんが帰ってきたころには目を爛々とさせてカタカタって。だいぶできたーもう動くーってなってて (笑)

郡司 「だいたいできた」みたいな (笑)

koichiroo 一日でころぶとは思わなかった。

nay3 それから熱中して一週間くらいで骨格できて。ちょうど折しもドリコムの AwardOnRails があって、私自身はそういうアンテナないので知らなかったんですけど、旦那さんからオススメされて。丁度いいから申し込んでみたら運良く大賞をいただいて。

郡司 おおー。

nay3 そのころには Ruby 以外考えられないみたいな。一切 Java には戻れずで。少ししてから Java を思い出そうとしたことがあるんですけど、コンパイルってどうすんの……みたいな状態になって (笑)

koichiroo (笑)

nay3 7 年やったんですけど、もう全然忘れちゃって。コード見ててもこれなんでクラス作ってんのって。いやクラス作らないと動かないですよ。えっ? みたいな、そうだったっけ? って。

一同 (笑)

koichiroo そうそう、僕が static void main って書いてたら、なんでこんな面倒なことしてるのって言うから*15

一同 (笑)

nay3 もう Ruby 脳になってるから (笑)

松田 ひどい (笑)

koichiroo Java の 7 年どこいった、みたいな (笑)

nay3 あっという間に消え去りました (笑)

郡司 Java のアプリケーションサーバを作りたくなかった理由って、何があるんですか?

koichiroo その理由は単純で、当時自宅サーバを運用してて、OS は FreeBSD だったんですよ。FreeBSD って Java に恵まれてなくてライセンス的にいろいろ闘争して、ports パッケージで Java がビルドできるようになったのって結構後なんですよ。

郡司 あぁー。当時は Linux のエミュレータみたいなので無理やり動かすみたいな感じでしたよね。

koichiroo そうですそうです。しかも ports って必ずビルドしなきゃいけないんで、Sun のライセンスがあるところからソースコード持ってきて、それから Linux のエミュレーションのやつでスタブ作ってってやって。すごい面倒だったんですよ。

郡司 たしかに当時だと嫌かもしれないですね。

koichiroo 構築はできたとしても、そのあとのセキュリティホールとかでアップグレードとか、無理だなあと思って。そういうことを色々説明しても奥さんにはわかってもらえないので、単純に嫌ですって (笑)

郡司 OS 自体を Linux にするとかは考えなかったんですか。

koichiroo 当時は BSD が好きだったんですよねぇ。

郡司 Java と言えば、Sun の Solaris ってそのころフリーでしたっけ?

koichiroo どっちだったかなあ。

卜部 わかんないですねえ。

koichiroo でも家で Solaris 動かすのも結構ツライ (笑)

卜部 それはそれでツラそうですね (笑)

koichiroo で、さっき本を渡されたみたいなこと言ってましたけど、僕が準備したのはそれだけじゃなくて、彼女が使う開発マシンの Windows で Rails 動くようにして。

nay3 そうそう、動くようにしておいてくれて。

koichiroo Rails 動くし、開発用の IDE とか。

松田 あ、RadRails ですか?

koichiroo そうそう。

松田 うわー! 歴史を感じる話だ。

koichiroo 彼女が Java エンジニアだったので、Eclipse じゃないと開発できないみたいな感じだったんで IDE 入れて、あとは簡単に WEBrick でサーバ動くようにしたり、SQLite 入れたり。みたいなところで本を渡して、やってごらんって。

nay3 うん。

koichiroo それで 8 時くらいに会社から帰ってきたらまだ家の電気がついてなくて真っ暗で。ディスプレイだけ煌々と光ってて (笑)

一同 (笑)

koichiroo 大体できたーって言ってて (笑)

郡司 でも、それだけ周囲が暗くなっていることも忘れて。

nay3 熱中していました。

Ruby の習得は簡単だったか

卜部 次の質問は Ruby の習得は簡単だったかって質問だったんだけど、奥さん的には簡単だったんだけど、それをするまでの準備が大変だったと? (笑)

nay3 そんな感じだと思います (笑)

郡司 覚えたのは一日だったけど、それまでのお膳立てが大変だったと (笑)

松田 でも Ruby 言語の習得って意味ではどうだったんでしょう?

卜部 なんか引っかかったところとかありました?

koichiroo 横で見てた限りでは、Rails らしくするっていうのは後からやっていて、結構自前で書いてて。

nay3 自分で作ってみたんだけど、これは Rails にあったや、って削っていくみたいな感じでしたけど、それは Rails って話だよねえ。Ruby って話だと、やっぱり Java と違う点に気づくのが数日、数週間かかるみたいなことはありましたね。たとえば継承の時の super の感じとかがちょっと違うとか。

卜部 はいはい。

nay3 privateprotected が、とかその辺がちょっと引っかかったかな。

松田 ブロックとかは大丈夫だったんですか?

nay3 ブロックはまあ最初の方は意識しなくても使えるので、徐々にって感じで。なので引っかかったというよりは、段々見えてきて使えるようになったという感じですかね。

卜部 なるほど。

nay3 あとは真偽もちょっとびっくりしたかな。0 が真なのはびっくりしましたね。今まで 0 が真なものは使ったことがなかったので。

卜部 うんうん。まあ中々ないですからね。じゃあ『Rails によるアジャイル Web アプリケーション開発』は良い本だったと。

nay3 ものすごい良い本でしたね。すごく読み込んだと思います。

松田 翻訳の方ですよね。

nay3 そうそう、前田さんが監修してくださったやつ。

松田 修吾さんさまさまですね。

koichiroo うん、修吾さんのおかげ。オーム社のおかげ。

一同 (笑)

nay3 でも、それのおかげで旦那さんの方が早く Ruby はじめてたけど、あっという間に私のほうが Ruby に詳しくなりましたね。

koichiroo すぐ抜かれました (笑)

卜部 ご主人の方は、Ruby の習得でなんか引っかかったところとか?

koichiroo なんだろう。

卜部 Wiki をはじめたころには Wiki の本とかないですよね。咳さんの本とかだいぶ後ですよね。

郡司 dRuby 本ですね。

卜部 本とかなくって、ソースコードを読んでって感じだったんですかね。

koichiroo そうっすね。他のプラグインの真似したりとか。さっきの Subversion のプラグインとかは単純に Subversion に対応するだけじゃなくて、ストラテジーパターンを使ってあとから新規の SCM を簡単に追加できるように、とかを整理しながら書いたりっていうのを。まあ仕事のためと勉強も兼ねてみたいな所でやってましたね。

卜部 ほう。

koichiroo あとは tDiary で作ったプラグインで勉強的なのは、当時は Web サービスブームで Amazon が Web サービスのインターフェースを用意していて。それとは別に REST っぽいものというか、当時は REST とは呼ばれてなかったけど、HTTP リクエスト送ったら返してくれるみたいなのを両方用意していて。今は Web サービスが廃れてきてなくなっちゃったんですが、当時は SOAP のインターフェースがあって、Amazon から書影持ってくるのに SOAP のインターフェースを nahi さんが作った soap4r を使って呼び出すみたいなの、Amazon プラグインみたいなのを作ったんですよ。

郡司 なるほど。

koichiroo 当時会社の仕事も Web サービスで何かしようみたいな部署だったので、そういうので仕事と趣味を重ねあわせて勉強したりって形で習得してましたかね。

卜部 そのときは Ruby 言語に特に引っかかったところもなく?

koichiroo あ、でも Java との違いという意味では一回壁というか気付きがありましたね。

卜部 うん。

koichiroo Java はコンパイルしてみたいな。クラスは静的なものなんですけど、Ruby は頭から評価してるだけっていうところが。

nay3 うんうん、私もその辺はあとで噛み締めるようにわかってきましたね。書く順番が関係してくるっていうね。

koichiroo そうそう。

nay3 Java 的にはコンパイルっていうラインでいえば上も下も関係無いので。

郡司 Ruby は、クラス定義とかも全部実行されますからね。

koichiroo 最近 Java のエンジニアに Ruby 教えてたりするんですけど、特異メソッドを定義したんだけどまったく呼ばれないんですけどどうすれば、とか聞かれて、下の方に書いてたりとかして。

郡司 クラス定義がまだ実行されていないと (笑)

koichiroo そうそう。いやいや、みたいな (笑)

nay3 Java から来るとけっこうやりがちだよね。区別があると思わないもんね。

Ruby を使った成功事例

卜部 Ruby を使ってうまくいった、成功したという事例があれば教えてください。

nay3 うーん。

卜部 まあさまざまだよね。沢山あるとは思いますが。

nay3 基本は Ruby で嫌だったなと思ったことはないですけどね (笑)

koichiroo これは Ruby でやるべきではなかったみたいなのはある?

nay3 コーディングのレベルではあんまりないですね。

koichiroo なんか Ruby 選ばないで PHP にしたやつあったじゃん。

nay3 あれはお客さんがもともと PHP でやってて、全部作りなおすよりは PHP を引き継いだほうがマシだなという話で。言語の問題ではないと思いますね。私はないですねえ、全部 Ruby で幸せですね、基本的に。あっ、強いて言えば安いレンタルサーバとかでちょこっと作るときには舞台装置が大変なことがあるので。

卜部 うんうん。

nay3 それは PHP とかでさくっとやったほうがいいかなというシーンはあると思いますけど。

卜部 それもやっぱ言語という話じゃなくて、どちらかというとデータベースがとかそういう話ですよね。

nay3 そうそうそう、環境の話ですね。

郡司 最近はもう PaaS が充実しているので、最近の人はいいですよね。

松田 まあねえ、Heroku でいいじゃんとかねえ。

郡司 昔は「Ruby が動くサーバーはどれだ」ってリスト作ったりとかなんか (笑)

nay3 そうそうそう。

卜部 じゃあ、なにもかも全てがうまくいったと?

nay3 そうですね、すべてうまくいきました (キッパリ)

一同 (笑)

Ruby を使って困ったこと

卜部 ご主人の方はどうですか? なんか言えないことも多々あると思いますが。仕事で Ruby を使ってた時にはこれは失敗だったとかうまくいったとかっていう話はあるんですかね。

koichiroo さっき話したリリース管理システムはかなり Ruby の柔軟性というかオブジェクト指向をうまく使って……。

卜部 そんなにヨイショしなくていいんですよ、ホントの事言っていただいて (笑)

koichiroo いや (笑) ほんとですよ。

nay3 そういえばひとつ言いたいことがあるんだった。作るまでは Ruby 最高なんですけど、作ったアプリを何年もメンテするっていう意味では障害があるなと思っていて。

卜部 そうですねえ。

郡司 1.8 が……。

nay3 古いアプリがてんこ盛りで生きてるのと、我々はどう付き合っていけばいいのかと、日々悩まされていて。そういう意味では Java とかの方がそれぞれのバージョンでそれなりに硬くて、そのバージョンを使い続けていてもそんなに困らないんだけど、Ruby は致命的に困る。だけどバージョンアップするお金はお客さんにはないし、かといってそのままのバージョンでは我々もやりたくないという状況がこれから酷くなる一方なので……。

卜部 そうですねえ。

nay3 答えとしては統合テストを Ruby と切り離した層で作っておけば、何かあってもなんとかなるという感じなんですけど。あいにくそうなっていないものがいっぱいある中で、どうしたらいいのかっていう。

卜部 ねえ。

nay3 まあ、一番の悩みですね。

卜部 まあ答えはないけど、悩みですねえ。

nay3 で、それはやっぱ Ruby に特徴的というか、Java とかと比較すれば大きな悩みかなと思いますね。いろいろ変化は早いから。

卜部 いやあ、Rails がバージョンアップされるだけで何万人もの雇用が生み出されていると思うと胸が熱くなりますね。

一同 (笑)

松田 そう、それは Ruby の問題なのか、Rails の問題なのか、Ruby コミュニティの問題なのか。どうなんでしょうね。

nay3 最近似たようなことを他でも言ったんだけど、私が主に見ているのは Ruby だから間違いかもしれないんだけど、なんとなく二極化しているというか。何でもいいから動いて、動いたものはしばらく動いているって世界と、とにかくリフレッシュされていってどんどん付いて行くしかない世界と、二つにわかれている感じで。

卜部 はいはい。

nay3 Ruby は明らかにリフレッシュしていく感じなんですけど、一旦作ればそれなりにって世界観でうっかり Ruby を使っちゃって、あとどうするみたいな (笑)

卜部 そうですね (笑)

nay3 そういう話がけっこうある、ということかなと思っています。

松田 言語の問題なのかなあ。

卜部 まあ作り方の問題っていうか、一回正しく作ってしばらくそのまま使いたいってニーズがあるじゃないですか。それこそ Java とかコンパイル型の言語とかは一回コンパイルが通ってテストが通ってというところで、100 %ではないけどある程度の正しさを保証できてるっていう。

松田 それはたしかに言語の特徴でもあるのか、そうですね。

nay3 私も確かに言語の問題かどうか切り分けられてないけど、Ruby はけっこう顕著に。

卜部 そうですね。

nay3 たとえば gem とかもバージョンを固定してればいいけど、作っている間はバージョン固定してなかったりして。しばらく経つともう同じ環境を作ること自体が難しくなるので。

松田 確かに。

nay3 当時の VM イメージを作って、それをお宝のように使いまわすって感じにせざるを得ないとか (笑)

郡司 たしかに。

卜部 bundle update 禁止とかね。

nay3 そうそうそう、でも update しないと入んなかったりとか。

郡司 いろいろ依存関係とかがあったりして。

nay3 だから常に新しくするって方針にするしかないんだと思うんですけど。それがとれない文化的な問題とかね。

卜部 あるいは予算的な問題ね。

松田 お客さんのソフトウェアだったらそうだよね。

nay3 そうそうそう。

松田 なんか思ったのは、それって言語関係なくて、DHH の性格の問題がまずあるんですよね。ヤツはかなりラディカルなので。だからああじゃない人がもっとタイトな Ruby のフレームワークを作ったらそれはそれで……。

nay3 どうなんですかね、私はタイトにして欲しいというよりは、みんなが最新についていけるようにする部分をもっと厚くした方がいいんじゃないかなとは思っていて。別に固めることに意味はないので、どうせ付いて行かないとみんな不幸なので。メンテナンスするエンジニアの比率があがることは決して我々エンジニア的に幸せではないと思うので。

松田 うん。

nay3 少ないコストでバージョン上げられるのがいい解法な気がするんですけどね。

松田 業界全体にとってちょっと不幸だったのは、Ruby が 1.9 になってエンコーディング周りとか VM なんかがガラッと変わったのと、ちょうど Rails が Merb とくっついて激変したタイミングがちょうど同じ時期だったので。何もかもがいっぺんに変わっちゃったんですよね。

nay3 1.8 と Rails 2 の遺産を一生懸命なんとかしていくっていう役割を誰かが負わないといけなくなってしまっていて (笑)

松田 そっからすごいジャンプしてくる (笑)

nay3 でも今から始めている人はそれできないから、限られた人たちがそれを請け負っている現状があるわけですよ。

松田 なるほどねえ。ありますよねー、お客さんのコードで Ruby 1.8 で Rails 2 とか。

卜部 はじめて書いた Rails のコードが Rails 3.0 だったので。

nay3 あら、いいですね (笑)

卜部 いや、それで最初のプロジェクトでしばらく Rails 3 でやっていて、それで Rails わかるよねって Rails 2 のものをポンと渡されて、なにこれ、みたいな。まずメール周りが全然違うし、大変でしたね。

松田 うんうん。あれだからバージョン上げられないんっすよ。Rails が上がんないし、Ruby も抱き合わせ販売のように 1.8 が付いてくるから。

nay3 そうそうそう、ツライんすよ。

松田 Ruby 1.8がね、つらいんですよー、卜部さん*16 (笑)

一同 (笑)

nay3 どうにかしようにも RSpec とかさあ、動かないわけで (笑)

卜部 まず Rails を上げるべきか、Ruby を上げるべきかって問題があるよね。

nay3 たぶん何よりも先行するのはテストの充実なんですよね。上げるためにはテストを書かないといけないけど、古いからテストが書けないっていう。

松田 Capybara とか動かねぇと。

nay3 そうそう。非常にデッドロックな感じでですね (笑) そういう意味ではバージョンに依存しない「これでテスト書いとけ」みたいな緊急的なものがあるといいかもしれないですね。

郡司 中に依存しない、なんか外側のテストをうまくできるといいんでしょうけどね。

卜部 とはいうものの、Rails がはじまってからみんなテスト書くようになったから、それはそれで偉いと思うけどなあ。それ以前はテストを書くという文化がそもそもございませんでした。……ってのは言い過ぎだけど (笑)

nay3 まあ Java ではやってましたよ。

卜部 いや、いわゆる xUnit とかってやつ。

nay3 JUnit でやってたけど。

卜部 でもそれが当たり前だろう?って感じなったのは。こう scaffold すると普通にテストが付いてくるみたいな状態になったのは Rails からですよね。

nay3 そうですねえ。

松田 JUnit 確かに使ってたけど、Rails のテストと大分意識が違った感じがしますね。

nay3 ちょっと苦しかったですよね。難行苦行。

koichiroo テスト嫌いだったもんね。

nay3 うん、大嫌いでした。

Ruby の好きなところと嫌いなところ

卜部 じゃあ、Ruby の好きなところと嫌いなところは……やったからいいや。

郡司 やったの?

卜部 いまなんか大体話したんじゃないっけ (笑)

nay3 困ったところは今話した感じで。

koichiroo あの好きなメソッドと嫌いなメソッドとか?

nay3 その前に好きなところを言っておくと。Ruby の好きなところは何でもできるとか早く作れるとか、気分がいいってところですかね。

郡司 嫌いなところは作った後のメンテが大変だと。

nay3 そうですね、作った後の話ですね。

好きなメソッドと嫌いなメソッド

nay3 じゃあちょっと好きなメソッドと嫌いなメソッドの話をしていいですか。

卜部 どうぞどうぞどうぞ。

nay3 好きなメソッドは map です。

卜部 はい、map 派。

松田 collect ではなく*17

nay3 はい (笑) もう私の頭の中は map だらけで、map 脳というか、配列を見た時に常に map して map してみたいな状態で (笑) もう map 大好きみたいな。

koichiroo (笑)

nay3 嫌いなメソッドを考えてきたんですけど、nil? が嫌いだと思います。

卜部 nil? ね。

nay3 なんで嫌いなのかを色々考えてきたんですけど、それは経験に基づくもので nil? が出てくるコードはいつもウッってくるというか。nil? が必須だなと思ったシーンはあんまり見ない。「確かにいいんだけど、なんとなくモヤモヤする」っていう気がいつもするので、好きじゃないなあと思って。

卜部 うん。

nay3 まあ理屈をつけるなら、何となく不公平な感じがするんですよ。nil もひとつのオブジェクトなのに、なぜ nil 専用の問い合わせメソッドが絶対にあるの、みたいな感じがして。あんまり好きじゃないっていう結論になりました。

koichiroo 関数型っぽくないってこと?

nay3 なんか特別扱いなんですよね、nil だけ。あんまり nil? 使わない派なので。

koichiroo ちゃんと初期化しておくってこと?

nay3 いや、じゃなくて。偽かどうかでわかれば充分だったり。

koichiroo あぁ、なるほど。

nay3 あとメソッド問い合わせで nil かどうか調べるっていまいち、あんまり好きじゃない。なんとなく。まあ好き嫌いですからね、ここは。

koichiroo 僕はメソッドじゃないんだけど do が好き。

卜部 ほう、キーワードの do ね。

郡司 ブロックの開始を表すやつね。

koichiroo なんか今の仕事で PHP で動いてるプログラムを Ruby で書きなおすっていうのをやってるんですけど。まあ do いつやるの、今でしょ、みたいな (笑)

一同 (笑)

koichiroo 結局ブロックが普通に使える世界っていいなっていう。

卜部 うん。

郡司 英語っぽいからっていう。DSL とかで、do が好きとか、そういう感じですか?

koichiroo そうっすね。何でもないことが幸せだったと思う、みたいな (笑) PHP 見て (笑) *18

一同 (笑)

郡司 ああ、比較して (笑)

nay3 なんか悲哀が。

koichiroo PHP がいちいち凄くて、文字列をある特定の文字で分割して配列にするっていう単純なやつが、Ruby だと split じゃないですか。わかりやすいですよね、分割するっていう名前で。PHP で同等の機能の関数が explode って言って。

9293670018_094b9b38a7.jpg

nay3 うんうんうん。

koichiroo 爆発、えっ? (笑)

一同 (笑)

nay3 もう忘れてたけど、あったあった (笑)

koichiroo (笑)

松田 split ないんでしたっけ?

nay3 機能はあるんですけど、そういう単語ではないんですね。

郡司 なんとなくイメージは分かりますね。長い文字列が爆発してバラバラになるっていう。

koichiroo お前が爆発しろよって (笑)

一同 (笑)

nay3 あれ、explode って名前だったっけ。

koichiroo いや、explode だったと思うよ。

nay3 それでいいんだっけ。

koichiroo うん、昨日書いたから、あってると思うけど (笑)

一同 (笑)

koichiroo そういう Ruby の普段当たり前って思ってることが実は幸せ。虎舞龍だなあって。

郡司 (笑)

nay3 せつない (笑)

松田 確かに自然な名前がいちいち付いているって、まつもとさんが細部にわたって気を使って名前をつけてるからであって、Rubyの本当にすごいところですよね。

卜部 ねえ。名前に対する他言語の意識の低さは、ほんとびっくりですわ。

松田 ね。まつもとさんとか DHH のこだわりっぷりを見てると、ほんとそう思います。

nay3 あ、あと Ruby 的に嫌いってほどじゃないけど、ちょっと懸念してるところを思い出しました。名前がバッティングしやすいってのがちょっとあるかなと。

koichiroo あぁぁ、あるね。

nay3 日常的に不安を感じます。

卜部 あんまり名前空間とかやらないですからね。

nay3 そうですねえ。

卜部 かと言って Cucumber みたいな、ゆるふわネームとかどうなのとは思いますけど。

郡司 キラキラネーム系の。

松田 いや、gem の名前っていう話だったらそれはもうしょうがないっていうか……。

卜部 衝突しないとは思いますけど、ちょっとどうなのって思いますね。

nay3 今のところは結構うまくやってると思うんですけど、ちょっと不安。

郡司 うっかり書くとメソッド名がぶつかってたりとか。

nay3 でも Java みたいに横スクロールしないと何も分からないような、全部同じ情報みたいな状況は嫌なので。全然 Ruby の方がいいと思いますけど。

卜部 うん。そういえば旦那さんの嫌いなメソッドを聞いていない。

koichiroo あ、嫌いなメソッド。思いつかなかった。

卜部 おお、じゃあ特に嫌いなものはなしと。

koichiroo はい。特には。

卜部 それはそれで、幸せなことですね。

現在の Ruby との付き合い

卜部 現在の Ruby との付き合いを教えてください。

nay3 毎日コードを書いています。あと Ruby アソシエーションの評議委員をやっていて、時々そういう話をしています。

koichiroo 僕ですね。僕のチームはだいたい Ruby で仕事をさせてもらってて。ちょっと人数増えたんで PHP の仕事もありますけども。うちの会社の中では Ruby を使って仕事してる方ですね。

卜部 会社の中で Ruby を使って仕事をすることに関して周りから抵抗があったとか、なかったとか、ありますか?

koichiroo 実は僕が入る前からインフラのメンテナンススクリプトとか、インフラの重鎮の人が Ruby を前から入れていて、DevOps 系は Ruby で結構書かれてたりとかありましたので。すんなりと。

郡司 意外と多いですよね。隠れ Ruby ファンなのが脈々とこっそり使っているっていうケース (笑)

koichiroo あとうちのチームには Ruby コミッタがいるので。便利。

卜部 あぁ、便利。

koichiroo Ruby コミッタに PHP のレビューを依頼すると恐ろしい能力を発揮するっていうことが (笑)

卜部 (笑)

松田 高野さんですか?

koichiroo そう、高野さん。一行一行、ファンクション一個一個、PHP 信用ならないから、リファレンス引いていってレビューしてくれて (笑)

nay3 それものすごい時間かかるよね (笑)

koichiroo そうそう。それで、この呼び方危ないんじゃないですかとかってズバッと指摘してくれたりして。便利!

郡司 コミッタの無駄遣いのような気も (笑)

koichiroo 贅沢 (笑)

卜部 はい、じゃあ。まあ Ruby は便利に使っていると。

koichiroo あと、ええと前田修吾さんから依頼されて Ruby アソシエーションの委託で毎年公募で Ruby の開発プロジェクト支援みたいな。Google Summer of Code の Ruby アソシエーション版みたいなやつの審査のお手伝いみたいなのやってて。今年もやりたいって言ってたんで、この場を借りて宣伝です。

松田 へえ、そんなのやってたんですね (棒)

koichiroo あれ、松田さんもやってましたよね (笑)

卜部 あれは沢山応募が来るとかですかね。っていうわけでもない?

koichiroo そんなに来ないですね。

nay3 海外からのほうが来ますよ。もっと日本から欲しいって感じだと思いますけど。

松田 今年は Rails とか Web に色目を使った内容にしたいっていう話らしくて、読者のみなさんもよろしくお願いしますって言っときゃいいんですかね。

koichiroo そうそう。

卜部 まあ、っていうか、Summer of Code だからね。インターンみたいな感じだよね、だいたい。

koichiroo いや、じゃなくて。

nay3 委託なんで、そのお金を使って何か成果を出してくださいって感じですね。

koichiroo ただ Ruby アソシエーションに協賛してる会社ってRubyを使ってWebアプリケーションを開発している会社が多いので、そういった会社にも役立つものにスコープを当てたいという話をちょっとしてた。*19

松田 今年で三回目なんですけど、初回が emboss の krypt とかで、二回目は数学系ライブラリとかかなりニッチな奴で。これはほんとにスポンサーのみなさんの役に立っているのだろうかという話になってまして (笑)

卜部 難しいねえ。

koichiroo 難しいんスよ。なかなか。

卜部 じゃあ、我こそはと思う人はぜひ提案を持ってくるとよいのではないでしょうか。

koichiroo はい、ぜひ。もうそろそろ公募がはじまるかと思うので。*20

(後編へ続く)

途中で

今回は大場さん夫妻インタビューの前編をお送りしました。続きは後編にてお届けする予定です。お楽しみに。

(インタビュー:卜部、編集:nari、ksbmyk、郡司)

Rubyist Hotlinks 連載一覧


*1 インタビュー時点。

*2 DQ4から実装されたパーティーを組むNPCの戦闘虫の振る舞いについて「さくせん」を指示することで方向付けできる機能。AI戦闘と呼ばれていた。「いのちだいじに」は死ににくいようにHPが減ると早めに回復するように振る舞う。

*3 卜部さん渾身のおやじギャグです。

*4 卜部注「プログラミング言語 Ruby」: いや2009年ですね。すいません。

*5 インタビュー時点。2013/10/1時点で19名

*6 @makoto_inoue さんが大江戸 Ruby 会議 03にて「インフラから開発まで何でもやるエンジニア」を Batman と呼んでいる、とお話されていたのが由来。 https://speakerdeck.com/makoto_inoue/a-rubyist-life-in-london?slide=38

*7 四軒目だったかもしれません。

*8 三軒目まで引っ張って明かされたのは「どこへ転職するか」についてでした。謹んで訂正いたします。(追記: 2013-10-01)

*9 後日、ご本人から了承をいただきました。

*10 あとで読み返したら「起業した女性」じゃなくて「理系の女性」でした。テクノロジーベンチャーの女性の起業家が少ないのは、そもそも理系の女性が少ないというお話。

*11 目黒、品川近辺の有志が集まって月1回競技かるたの練習会をしています。初心者歓迎。興味のある方は大場寧子まで連絡ください。

*12 @bash0C7 の奥さま

*13 PC-98の中でも対応ソフトが少ない不遇なパソコンであった。

*14 いや実はるびまでは Subversion バックエンド使ってなかったりします……。

*15 Javaでmainメソッドを書くときのおまじない。

*16 卜部さんは Ruby 1.8 のブランチメンテナだったので。

*17 Rubyist には map 派と collect 派がいて……と毎回説明するのが面倒なので、以前記事を書きましたので詳細はそちらを参照。

*18 PHP5.3からClosureが使えるので、使っているPHPのバージョンが古いせいという話ではあります。

*19 Webサービスだけでなく業務システムも含む意味でのWebアプリケーションです。

*20 公募が開始されている。締切は2013/10/7まで。