Rubyist Hotlinks 【第 28 回】 Yugui さん

はじめに

著名な Rubyist にインタビューを行う企画「Rubyist Hotlinks」。 第 28 回となる今回は、現在 Ruby 1.9 系統のリリースマネージャをされている Yugui さんにお話を伺いました。 お楽しみください。

プロフィール

自称・『Rubyist Magazine』を読んで育った Rubyist である Yugui さん。 現役バリバリのプログラマーである一方、 Ruby コアコミッタ、 Ruby 1.9 系のリリースマネージャとしての活動も行っておられます。

好きな言葉
毒喰らわば皿まで
尊敬する人
森奈津子
ご本人のサイト
世界線航跡蔵

インタビュー

yugui02.jpg
聞き手
ささださん
語り手
Yugui さん
野次馬
高橋さん (編集長) 、 松田さん、とみたさん(ロガー)、角谷さん、 Asakusa.rb*1 メンバーs
日にち
2011 年 8 月 2 日
場所
秋葉原ダイビル 13F (ささださんオフィス、裏では第 116 回 Asakusa.rb*2 を併催)

(右の写真について。左から、高橋さん、 Yugui さん、ささだ さん)

目次

プロフィール

yugui01.jpg

ささだ Yugui さん、早速よろしくお願いします。私がインタビューを担当するのは 2 年ぶりぐらいで、どうやってやるのか全然覚えてないんですが。同席の皆さん、よろしくお願いします。えっと、まずはプロフィールあたりから。

Yugui はい、 1981 年埼玉生まれで、一時期都内に暮らしていたのですが、今は実家に戻ったので埼玉在住です。通勤はドアツードアで 2 時間ぐらいです。

一同 ええっー!

とみた それは大変だ。

ささだ 毎朝ですか、すごいですねえ。

好きな言葉、座右の銘

ささだ 好きな言葉、座右の銘。

Yugui 「毒食らわば皿まで」ですかね。まあもうこうなったらどこまでも行きましょうということですね。 *3

ささだ どんなことか良く分からないですが。

Yugui 高河ゆん*4の作品も最後まで買う決心をしたし。

高橋 漫画家の。

ささだ かなり昔から書いているよね? それを全部揃える? いまも普通にどこかに書いているんでしたっけ?

Yugui 今は『LOVELESS*5』を書いていますし、最近も新刊が出ましたよ。

ささだ (ウェブ検索して) ああそうか、『ガンダム00』か。

高橋 おお、そういう言い方もあるのか。

尊敬する人

ささだ じゃあ、次はなんだっけ、尊敬する人。

Yugui 尊敬する人は、森奈津子*6ですね。よくあの時代に、時代の制約の中で特徴ある作品を書いて生きてきましたよねえと。非常に影響を受けた作家なんですよ。

高橋 ほー。

代表作

ささだ じゃあ、次の質問。プログラムの代表作と著作。プログラムは Ruby 1.9.2 ?

Yugui あれは別に私こそが作ったわけではないし。自分で作った代表作という意味では、 Redmine*7 の Ruby 用の拡張*8じゃないですか。

高橋 redmine.ruby-lang.org という感じですか。

Yugui ええ、そうですね。著作は『初めてのRuby』*9です。ほかの本ですか? ほかはまだ書けていませんねえ。

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

ささだ 好きなメソッド、嫌いなメソッド。この質問も古いよね。

Yugui 古いですねえ。うーん、難しいですねえ。好きなメソッドは Object#instance_eval*10 で、嫌いなメソッドは、何かありましたねえ。難しいなあ。

ささだ 数学関係のメソッドは好きでも嫌いでもないんだ。

Yugui ああ、そうか。数学関係と言えば、 mathn*11 の読み込み時に Math のメソッドの名前を逃がすために ! を付けてある系統のメソッドは、あまり好きではないですねえ。 Complex とか、ああ、でもあれは 1.9 だと実装がないんですね。 Math.sin! とか、昔ありましたよね。

ささだ 知らない。数学とかしないから、あまり分からない。高橋さん分かります?

高橋 あまり覚えていない。

ささだ まあ、そういうのが気持ち悪かったと。そういえば、最近の NArray*12 の新しいやつに、二項演算なんだけど ! をつけるやつがあって、 a.inplace! + b ってやると、 + が a を破壊的に操作するモードに変わるものがあって、あれは感動しました。

Yugui へえ。なるほど。面白いですね。

Ruby に関して

Rubyist になったきっかけ

ささだ Rubyist になったきっかけは? いつからか、覚えていますか。

Yugui きっかけは、ある日、正規表現ライブラリを探していて、何かのメーリングリストの過去ログで「Ruby っていうオブジェクト指向の言語があって、それの正規表現のライブラリがちょっと面白いよ」というような感じで書いてあって。

ささだ いつ頃ですか?

Yugui 2000 年くらいに発見したので、それより前ですね。 Ruby 1.4 の頃かな。ともあれ、 Ruby に初めて触ったのは、保守的だったので 1.4 ですね。当時は 1.4 と 1.6 の両方あったのかな。とにかく当時最初に触ったのは 1.4 ですかねえ。

ささだ なるほど。私より古い。

Yugui うろ覚えですが、 Java House メーリングリスト*13の高木(浩光)先生*14のレスだったような気もしますが、卜部さんのインタビューに影響されて、記憶が改ざんされている恐れもありますが。 Java のメーリングリストは購読してたわけじゃなくて、たまたま検索して過去ログに引っかかったんですが。

ささだ 正規表現が必要になったというのは、仕事のためですか。

Yugui いえ、正規表現エンジンを作りたかったんです。

ささだ 何でそっちなの(笑)

高橋 よくある話(笑)

ささだ 何で作りたかったんですか? だって普通の人は正規表現を知らないじゃないですか。プログラマだったら知ってるけど。 Yugui さんプログラマじゃなかったんでしょ、その頃。

Yugui まあ、プログラムはやってましたけど。いやあ、仕事じゃないですよ。

ささだ 大学の時ってこと?

Yugui 大学の時ですよ。

ささだ 数学やってた時でしょ。

Yugui 高校の時に、すみけんたろうさんの『スタイルシート Web デザイン*15』に当てられて。

高橋 高校の時に読んでいたのか。歳が (笑) ショックだ (笑)

Yugui 色々とはまったりもしたので、そっちにものめりこんだりもしたので、そうするとやっぱり HTML Lint*16 にも色々不満が出てきて、 DTD*17 を読んで自前で警告やなんかを出す Lint を作りたくなるじゃないですか。 DTD をパースして評価しようと思うと、そうするとやっぱりあれは正規表現に近い文法なので。

ささだ 正規表現なの? あれ。

高橋 いや、違う。

Yugui 違いますけど、メタキャラクタとか正規表現っぽいじゃないですか。だからまあ、読んだ解説では、それは正規表現っぽいと書いてあって。じゃあ正規表現はどうやって評価するんだって、その時は結局それは高校の時なので完成しなかったんですが、まあ何となく正規表現の論文とか取り寄せてダウンロードしていたのもあって、それを読んで。

ささだ 高校の時にダウンロード。論文という存在を知っていたのがすごい。

Yugui それでまあ、何か作ってみようかという気になって調べてまわっていて、たまたま、こういう過去ログに引っかかったんですね。

ささだ なるほど。それで Ruby に捕まったと。

Yugui しばらく放ってあったんですけどね。当時 Perl ユーザーでしたしね。

ささだ Perl ユーザーだったら、別に正規表現それでよかったんじゃないの。

Yugui いやいや。

高橋 正規表現じゃなくて、 DTD が解析できるような、何かそういう解析器みたいな感じですか。そこまでいかない?

ささだ 正規表現エンジン自体は Perl から引っこ抜いて来たんでしょう?

Yugui 正規表現エンジン自体は C++ で書こうと思って。で、それで何ですか?

ささだ いや、だから正規表現自体は、 Perl も Ruby も変わらないでしょ? 確か Perl のほうがもっとすごいじゃないですか。別に Ruby じゃなくて良かったんじゃないですか。

Yugui いや、正規表現の API をじゃあどうする? という話を考え出したときに、何かそっちに引き寄せられて、しばらく Perl でも Ruby でもどっちでもいいんじゃないのと思っていたんですけど、当時は Perl ユーザーと言っても KENT 氏*18に連なる Perl4 の信者ですし。

ささだ Perl5 とか良くわかんない。で Ruby はオブジェクト指向だと。

高橋 PCRE*19 はその頃まだなかった?

Yugui PCRE ? 分かりません。

現在の Ruby との付き合い

Yugui まあ、なので Perl も Ruby も、 Ruby という存在は知っていながらも何となく特に使わずにのめり込みはしないでいるうちに、なぜかひょろっと使い始めてそのままスイッチしちゃいましたねえ。

ささだ なるほど。それでいつのまにかメンテナーになったと。今の付き合いはメンテナーでいいですか。現在の Ruby のつきあいはメンテナー。そのへんはあとで聞けばいいのか。

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

ささだ Ruby の好きなところ、嫌いなところは。

Yugui Ruby の好きなところは、割と統一感があるところ。どこを取っても評価ですし、どこにでも式が書けますし。どこでも式ですしね。

ささだ そこにちょっと出てくる例外があるじゃないですか。統一感を崩すような。

Yugui ありますね。

ささだ そういうのは許せる?

Yugui class とか def とかでスコープが切れるのは、統一感と言う意味ではどうにかしてほしいと思わなくもないですけど、実用上はいいですよね。

ささだ たとえば Scheme*20 とかだったら、要するに小さなプリミティブからコンストラクションがあるので、統一感があるわけですよね。そういうふうには、別にそこまではピュアじゃなくていい?

Yugui そこまではピュアじゃなくていいです。

ささだ なるほど。

Yugui まあそこまでのピュアさを追求するほど突き詰める前に、もっとプラクティカルな思想になったので。

ささだ なるほど。 嫌いなところ。

Yugui 嫌いなところは、なんかそのおかげで高速化しづらいじゃないですか。

ささだ えっ。 Yugui さんって高速化とかしたい人だったの?

Yugui まあ C++ 出身だし、スピード狂の側面はありますけど。 Ruby では何かもう、それを言ってもしょうがないと言うか、本気でやろうと思うとささださんみたいに、まるっと研究になっちゃうじゃないですか。

ささだ なるほど。何か、中田さんのインタビュー*21の時にも、遅かったらやっぱり速くしたいよね、という風には言ってた。なんかそんな感じですかね。

Yugui 速くしようと思っても、本質的な困難が立ちはだかっているのが、まあ嫌いなところではありますが。それはそれとして、スピードとかある程度で妥協することにすれば、割と使いやすくていいんじゃないですか。

ささだ 嫌いなところの話じゃなくなってますよ。

Yugui まあまあ。効率的に速くできそうにないところが嫌いなところ。

ささだ なるほど。

Yugui 本質的に速く出来ないとは言いませんが、従来知られている高速化のアプローチを適用しようとする時に、そこに困難が立ちはだかりますよね。

ささだ なるほど。

Ruby を使った成功事例

ささだ Ruby を使って成功だった、という事例はありますか。

Yugui レガシーシステムのリプレースが 1 ヶ月で出来ました。

ささだ おおー。それは Yugui さんが一人でやったの?

Yugui いや二人で。

ささだ 二人ぐらいだったから小回りが利いてよかった、という感じですかね。レガシーシステムだと何十人で長い時間がかかるところを、 Ruby だと 1 ヶ月でひょいひょいと出来たと。

Yugui まあそうですね。あれを大勢でやったら、また座礁するのは目に見えていたので。

Ruby のキラーアプリケーション

ささだ Ruby でキラーアプリ、キラーライブラリみたいなものはありますか。

Yugui 自分にとっての、ですか?

ささだ これがあったから自分は Ruby を使っています、みたいな。

Yugui Bignum*22 ですかねえ。

ささだ Bignum (笑)

高橋 ライブラリ (笑)

Yugui だってライブラリって言ったじゃないですか。キラーライブラリって。

ささだ Bignum はライブラリなのか。 BigDecimal*23 じゃなくて Bignum なの?

Yugui Bignum 。バグバグだけど。

ささだ バグバグなの? あれ。

Yugui かなりバグがあったじゃないですか。

ささだ いやあ、全然知らなかった。大きな数とかそんなに使わないので。

Yugui 当時は数論計算をやっていたので。 Bignum のおかげで出来ました、と。

ささだ なるほど。

プログラミングの話

はじめてのコードは小学校のとき

yugui05.jpg

ささだ プログラミングの話に移るわけですが、はじめてコードをかいたのは、いつぐらいですか。さっきの高校のときの話になるのかな?

Yugui はじめてコードをかいたのは、小学校のときに、 BASIC を。

ささだ 小学校のとき!

Yugui 家に PC-88*24があって、 88 BASIC*25を父に教わって、若干やったり、あとは、大学の小学生向け講座に参加して、そこで LOGO*26 をやったり。

ささだ それは、遊びでやってて、のめりこむような感じでは無かったんだ。

Yugui その後には、続いてませんね。

ささだ のめりこんだのは、高校のとき?

Yugui のめりこんだのは、中学のときに。

ささだ それはまた何かイベントがあって?

Yugui 中学のときに、父が FM TOWNS*27をもらってきたので、 F-BASIC*28 でライフゲームを作ったり。*29

ささだ 中学生は、ライフゲームってどうやって知るの?

Yugui ブルーバックス*30で読みました。

高橋 あー。

ささだ あー、なるほど、それが面白かったと。

Yugui 面白かったですね。

ささだ そこらから、コンピュータ系のご興味がつづいている?

Yugui そうですね。 F-BASIC をやって、そこから 88 BASIC を思い出して、そこへ戻ったりもして、 BASIC つながりで VB*31 に一瞬行ったんだけど、あの「ポトペタ*32」の概念が、最初は理解できなくて、「エントリーポイントはどこだー」と思って、投げ出してですね。

ささだ いま考えてみると、あれってちゃんと出来てるよね。

Yugui 良く出来てますよね。

ささだ イベントハンドラ書かなくていいし。

Yugui ドキュメントを良く読まなかったので、そのままでは「イベント駆動」が理解できなかったんですね。

ささだ 分かる分かる。

Yugui その後、チュートリアルを冷静に読んでみて、その通りやったら動いたので、そこから始めたりして。自分用の(MS) Windowsのユーティリティを開発したりとか。

ささだ それ、中学生?

Yugui そこは、もう高校ですねえ。えーとそれであとは、何だっけなあ、高校のときに、塾で、数学の証明と論理の話を習ったので、「これ、自動化できるよね」と思って、なんか、ソルバーをヒューリスティックに書いていこうとしたんですが、結局「定理証明系」*33を作りたかったんだと自覚することはなく(笑)、開発は終わりませんでした。

ささだ いろんなルールを、自分で付け加えていった、というくらいで。

Yugui そうですね。証明論で、論理を構成する公理、論理学の公理を習ったので、それは埋め込んで、じゃあ、どれを適用すれば、どういうバリエーションが出来るのか、というところの探索は、ヒューリスティックに、(その時は)やってたんですね。

Ruby以外では、C++

ささだ 好きなプログラミング言語。Ruby 以外のプログラミング言語は、何を使いますか?

Yugui C++。

ささだ 好きなのも、使うのも? 他に Java とか Python とか、ただの C は?

Yugui まあ、 C は Ruby の開発には使いますけど(笑)。 Java も、けっこう好きではありますね。Python は、素人です。

ささだ (Java や Python を) 使うことは無いの?

Yugui 使いますよ。 Java は、一時期 Java プログラマだったので、仕事で Java をやることになったので、アジソン・ウェスレイの『プログラミング言語 Java』*34が家に積んであったのを開いてですね、クラスローダの仕組みを読んで「楽しそうだなぁ」と思ったり、リフレクションを読んで「楽しそうだなぁ」と思ったり。

美しいソースコードって、そんなにありますか?

ささだ いままで読んだ中で、もっとも美しいソースコードは何ですか? これも答えづらい質問だと思いますが。

Yugui といいますか、そんなにきれいなコードってありますかね? (笑) そのまんまで恐縮ですけど、"Beautiful Code"*35にのっていた、ソフトウェアトランザクショナルメモリ*36のコードは、ちょっと良かったかもしれませんね。あと、"Effective Perl"*37に載ってた、よく覚えてませんけど、演算子がなんか左右対称で、で、なぜか動くよっていうコード片は、ちょっと感動しましたけどね。*38

とみた LISP の「左右対称プログラム」みたいな感じですか? LISP は括弧でくくるから、括弧と、その間の変数名を調節して、左右対称の鏡映プログラムを書けるそういう感じですか?

Yugui そんな感じですね。まあ、コードは美しくなくても、あ、プログラムですか? ま、コードは、だれにでも理解できればよくって、アーキテクチャが美しければいいんですよ。

ささだ 美しいアーキテクチャとは? というか、美しかったアーキテクチャは? なんかあります?

Yugui 美しかったアーキテクチャなかなか難しいですよね。あー、でも、DI*39で作られたものを初めて見たときは、美しいと思いましたよねえ。

ささだ へえ。そういえば最近言いませんよね、ぜんぜん、DI って。

Yugui 依存性の、いままでぐちゃぐちゃやっていたのが「こんなにすっきり」と思って。

ささだ いま何で言わないの、DI って?

Yugui 「あたりまえ」だからじゃないですか*40(笑) ? ある程度大きいものを作ろうと思ったら、当然そうしますよねぇ、って。

興味をもっていること (2011 年 8 月 2 日現在)

ささだ 次。今、興味をもっている点は何ですか? 1.9.3 のリリース?

Yugui 1.9.3 のリリース、間に合わせたいですねえ。*41

ささだ まあ、それはおいといて、個人的に。

Yugui その先だったら、DTrace*42 をサポートしたいです。

ささだ そんな身近なので、いいの? もっと遠大なテーマとか無いの? だって、DTrace は 1 日で終わるじゃん。

Yugui まあ、確かに。

高橋 DTrace は、実装するのが面倒くさいんじゃなくて、それぞれ、さまざまな調整をするのが難しいんじゃないか、と。

Yugui 周辺の、いろんなのを揃えたり、ささださんを説得したり。まあ、ささださんの言っていること(プローブポイント*43はこれで本当に正しいの?) という議論はわからなくはないので、ちょっと考えないといけませんよねえ。前の実装を作るときも、あれは、要するに、今それぞれの Ruby 処理系で、入れてあるプローブの。

ささだ 他の (Ruby 実装) には (プローブポイント) 入ってるんだ。

Yugui 入ってますよぉ (怒)。

ささだ 入ってんのか! 知らなかったー。

Yugui 今それぞれの Ruby 処理系で、入れてあるものの、全部のユニオン*44を取ったら、ああなったわけですけど。

ささだ へー。

Yugui CRuby だけですよ入ってないのは。だから Aaron*45 があんなに*46言って (強く主張して) いるんじゃないですか。

ささだ そうなんだ。入れるかぁ。

Yugui 今まで知らなかったんですか?

ささだ 知らなかった。

Yugui あーあ(嘆)。

ささだ 他って、 JRuby と?

Yugui JRuby と Rubinius と。

高橋 あと MacRuby も。

ささだ JRuby に DTrace って入るんですか。どうやるんだろ、それ JVM の機能っていうこと? それとも JRuby 側でサポートしてるの? 私は Mac 使ってないから試せないんですよね。

Yugui FreeBSD は?

ささだ いやいやいやいや。私、 Windows ユーザーなんで。

Yugui まあ確かに、環境依存しているので、他の環境のユーザーにはうれしくないよね、プラスにならない点もあるよね、っていうところはちゃんと考えて、抽象化してSystemTap*47 を挿せるように作ったのに。

ささだ いや、そこはあんまり関係なくて、例えば、あそこで API を規定してしまうと、あとで変更が効かないから、もうちょっと慎重な議論が要るのかなぁ、というのが。

Yugui 出してみて、そこで考えればよかったんですよ。

高橋 じゃあ、1.9.4 で対決ですね。

もう少し遠大なテーマについて

Yugui もう少し遠大な目標として、人類を一人残らず幸福にする、とか。個人的な目標です。

ささだ まあ、どうコメントしていいのか、わかんないけど。

Yugui 世の中に不幸があるのは、許せないので、解決しようじゃないか、ということですね。

ささだ つっこみ出すと、なんだかすごいことになりそうだ。

Yugui や、世の中、理不尽なことばっかりじゃあ、ないですか。それは許せないから、だったら許すのはやめよう、と思っただけですよー。

ささだ へたにつっこむとこわそう。

Yugui くわしくは、ブログの記事を読んで下さい。

生い立ち

生い立ちについて

ささだ 生い立ちを。

Yugui えーと、埼玉県に生まれました。

小学校の頃

ささだ さっき、小学校のころ、BASIC が云々という話がありましたが、それ以外に何か、こう、幼少のころのイベントとか、あれば。

Yugui 幼少のころのイベントねえ。とりたてては、ないですねえ。

ささだ 家にコンピュータがあった。とか。

Yugui ああ、ありましたありました。でもまあ、別にそれは普通じゃないですか。

ささだ あれ、でも、私と 2、3 歳ちがい、でしょう、たしか。私の家にはなかったよ。今だったらたぶん、あると思うけど。うん、うらやましい。

Yugui なんかうちは、父がわりと早いころにパソコンを買って、ぱちぱちぱちぱちぱち、入力を。

ささだ ぱちぱちぱちって、あれ、その、ディップ・スイッチってやつ?

Yugui 1 バイト入れて、 1 バイト入れて、って、やっていたクチだそうなので。*48

高橋 へー。

ささだ それは、趣味で?

Yugui だそうです。

ささだ いい趣味ですね。だからこう、 PC-88 とか、あったわけですね。で、小学校のころは、まあコンピューターのある生活ということで。でも、そんなに突っ込んで、はまっていたわけじゃないんでしょ?

Yugui 「さわったことがある」っていうだけでしたよ、小学校のころは。

中学校の頃、あるいはリア充について

ささだ で、中学校のころに、もっとはまった? なんか、部活とか、入ってたんですか?

Yugui 中学のときは、天文をやってましたね。

ささだ 天文部? 山とか入ったりするんですか?

Yugui まあ、行きますよ、休みのときは。

ささだ なんか、リア充*49っぽい。

高橋 いやいや、それは、また別の。(笑) だって一晩中ずっと星みてる、とかっていったら、ぜんぜんリア充じゃないんじゃないですか。

ささだ そういうもんなんですか? いやあ、そういう青春っぽい思い出がないもんですから。

Yugui 笹田さんの陸上のほうが、なんか、リア充っぽくないですか。

ささだ 私、陸上でしたね。えっと。なにもなかったですよ (笑) 天文、いまでもまだ、興味はあるんですか?

Yugui 天文。最近(興味)ないです。(笑)

ささだ きっかけとかは、あったんですか? 天文に傾倒した理由ってのは。

Yugui んーー。まー、ブルーバックスを読んだんで。

ささだ ブルーバックス、たくさん読んだんですか。

Yugui 読んでますね。読みましたね。

ささだ 家にたくさんあったんですか。

Yugui いや、図書館ですね。

ささだ Yugui さん自身は、これ以降、数学を研究していく、というか、それこそ、さっきの定理証明うんぬんとか言い出したりしたのは、やっぱりブルーバックスの影響が大きい?

Yugui 大きいですね。

ささだ ブルーバックスの他に、印象に残っている本、というと。

Yugui 尊敬する人に挙げた、森奈津子の本は、さんざん読みました。あの人が小学生向けに書いてた小説*50を、小学校のときに読んだのが、ですね。

ささだ それが、出会いなんですか? で衝撃を受けた?

Yugui まあ、あの人の書き口は、いまでも特異ではありますけど、あの時代に、小学生むけにLGBT*51をカジュアルに登場させる作品は珍しいですよね。というか、今も(足し算される属性の一環としてのファッションに近いLGBTなキャラクターみたいなのを除くと)他にないんでは。

そのへんの話

ささだ えー、そのへんの話とか、します?

Yugui しましょうよ! まあ、そのへんの話をしないなら、本日はこれまで。ということで。

ささだ (笑) どういうふうに聞いてったらいいか、私自身は不勉強でよくわからないのですが。 Yugui さん自身が、そういう「トランスジェンダー*52」だっていう風に自分自身を意識したのって、いつぐらいなんですか? っていうか、そもそもこの言葉遣いは、合ってる?

高橋 そういう言い方をするときは、あるような。

Yugui OK、OK。それはOKなんですが、ただ、その質問は、割と難しくって、というのは“意識”する、というのは、自分が「トランスジェンダーである」という風に“言語化”するということじゃないですか。

ささだ 最初は、なんか“違和感”があって。

Yugui そうなんです。言語化するには、そのための知識がなければいけなくて。

ささだ で「こういうものが、あるんだ」と。

高橋 「世の中には、トランスジェンダーというものが、あるんだ。」ということを、知る。

Yugui それは森奈津子さんの本で知りましたけどね。

意識

ささだ で、そこで意識した?

Yugui 意識は、というか、やっぱり違和感―「なんかちがう」というのは、物心ついたときに、ありますよね。最初の記憶が、やっぱり性別違和感ですからね。

ささだ そうなんだ。自分は物心ついたころのことって、覚えてないなあ。

Yugui 2歳とか、3歳とか、そのぐらいに。

ささだ どういう違和感を覚えるんですかね。

Yugui いろんな角度から、自分で、内省していって、かつ、知識を蓄えて、言語化して、という過程で、でも、うーん、それで、高校のときぐらいに、彼女 (森奈津子) の著書*53で、そういう概念 (トランスジェンダーについて) を知るのです、が、うーん、その時点でも、まだ自覚していなくって。

ささだ 「こういうのがあるんだ」っていうことと、自分の意識とがリンクはしていなかった。

Yugui というのは、私自身、トランスフォビア*54を、割と刷り込まれて、持っていた、っていうのもありますし、偏見も持っていたので。当時って、性同一性障害*55とか、トランスジェンダーとか、そういう概念は、一般的じゃなかったじゃないですか。

ささだ 当時って、いつぐらい?

Yugui '90年代後半。

しっくり感のなさ

Yugui どっちかっていうと、ショービジネスとしてのニューハーフ*56のほうが、一般には知られていて、まあ世間ではよくありがちですけど、わたしも、そういうのと (トランスジェンダーを) 混同していたので。そうすると、わたしはあの人たちとはやっぱり違うので。

ささだ で、概念が混同していたから、あの人たちとは違うから、と意識していた? それはいつぐらい?

Yugui そうですね、16か、7か、そのくらいですかね、高校のときですね。

ささだ じゃ、違和感を抱えたまま、高校へ行ってた、と。

Yugui そうですね。

ささだ 生活がしづらいとか、あるんですか? 学校生活みたいなところで。

Yugui やっぱり、日常で性別が問題になることって、けっこうあるので、そういうところの全部が、なんか、しっくりこなくって。

過激化と揺り戻しと

Yugui なんか、苦痛であったり。だからそこで、何だろうなあ。社会的性差というのがあるからいけないんだと思って、ですね。

ささだ たとえば、男女別の制服を着るとか、そういう?

Yugui それも一つですし。それで、性差廃絶主義者になって。かなりラディカルなフェミニストだったりもしましたけど。

ささだ ‘性差廃絶’になると、どうなるのかも、私よく分かってないですけど。

Yugui たとえば、人間は人間なんだから、別に、性別で、服装とか考え方とか、社会それを区別する社会制度は要らないし。

ささだ なるほど。

Yugui それを次の世代に継承させるような教育なり文化なりは、要らない、という発想ですよね。

ささだ ‘思想’は、そういうのが、あったとして、なんかこう、そういうのの‘運動’とかは、したんですか?

Yugui そこまでは。

ささだ 他人に言うとか、そういう感じ?

Yugui まあ、それも、大学でジェンダー論をちゃんと勉強すると、いいかげん、その考えおかしいよね*57、と気がついてきて。

ささだ 自分が、そういうものだと、意識したのも、大学?

Yugui そうですね。

ささだ それは、勉強して「あ、これってこうだったんだ」という感じだったのか、それとも、他人と会って、そうなったのか?

Yugui うーーん、あ、どうもどうもどうも (←角谷さん来場)。

ジェンダー論がRubyとリンクする

Yugui さて、私も、「るびま」を読んで育った Rubyist ですけれど。

ささだ って年代あわないじゃん(笑)。「るびま」2004年〜 でしょ。

Yugui いや、当時は、他人に使ってもらうようなライブラリも公開してるわけじゃなし、無名な Rubyist のひとりでしかなく、「るびま」を読んでRubyのスキルを伸ばしたんですよ。

Yugui そこで、いままでの話と Ruby がリンクするわけですけど。

ささだ えっっっ、ジェンダー論から Ruby へリンクするの?

Yugui ‘正しい知識’がないと、自己認識すら、まともにできなくて、割とうまくいかなかったり、自分にとって合わない、苦痛でしかない道を、「それしか選択肢が無いんだ」と思って、突き進んだりしがちなのですが、そこで何で自覚したか、というと、やっぱりインターネットなんですよね。

ささだ 知識は、本とか以外に、インターネットからも知識を得て、自覚したと。

Yugui たとえばの話、ショービジネスとしてのニューハーフに占めるトランスジェンダーの割合は、必ずしも多くない、とか。あれは、あくまでも「そういう職業をやっている」男性も多くて。だからこそ、ニュースなんかでそういうの (職業的ニューハーフ) を見たときに、共感できなくて、「自分とは違う」と思ったんですよね。

ささだ なるほど。

Yugui そういう情報を伝えなければいけないし、上の世代が私と同じころは、そういうのは無いので、できるだけ情報を発信しようと思って、まずはサイトを作った*58わけですよ。

ささだ うん。

Yugui サイトを作って、用語解説*59したりして、割と良く通る道ですけどね。あとは、できるだけいろいろなところ(コミュニティ)に出かけて、顔を出して、まずは、何だろうなあ、情報を伝えるには興味を持ってもらうことが必要ですよねえ。だから、Ruby の方でも、積極的に顔を出そうと思ったし。だから、この話を「るびま」でするのは、ちょっと夢だったんですよ。

高橋 おーっ、つながった!

ささだ そうか。どうぞ、して下さい。

Yugui 話が長くなってますけど、編集しないで、きっちり載せて下さいね。

ささだ 「いろんなところ」っていうのは、そういうので悩んでいる人たちのところ、ってわけじゃなくって、それとは関係の無いところへ?

Yugui まず、自覚がなければ、悩むことすらできないし調べようとも思わないから、とにかく情報を拡散するしかないんです。 それから、「性同一性障害とか聞くけど、真剣に悩んでる人が本当にいるの? 一部の変な団体が騒いでるだけじゃないか?」みたいな意見も偶にあるわけですが、少なくともこのインタビューを読んだRubyistは「いやRuby界でもYuguiという人がいてね」と言ってくれることでしょう。それで悩んでる人が暮らしやすくなるんです。世界100万人のRubyistが変わればその周辺の1億人が変わります。そうすると世界が変わります。 だから情報の拡散は重要なんです。そこへ行くと、Rubyist Magazine のインタビューは、割とほら、長く独り語りが出来る場じゃないですか。

そして数学へ

ささだ 大学で数学を選んだのは、そういう問題とは関係あるの?

Yugui やっぱりそうなってくると、人付き合いが苦痛なので、だんだん興味が抽象的なほうへ行って。数学科へ入って、だんだん数学基礎論とか論理学とか認知とか。そっちへ興味が移りかけるころに、だーんだん、情報が揃ってきて、自己認識ができるようになったので、そこでまあ、無理しなくても、もういいんじゃないのって思って。

ささだ ってことは、無理してたの?

Yugui というか、「今まで無理してたよね」ってことに気がついて、無理をやめたんですね。で数学は、まあ、うーん、数学は数学で好きでしたけどね。でもやっぱり、無理がなければ、あんなに興味をもつきっかけは無かったかもしれません。

ささだ ということは、ブルーバックスを読んでたのも、またそういうことなのかな。

Yugui 分かりませんねえ。

高橋 なんか、理工系っぽい性質はあったんじゃないかなあ、って、話を聞いてて思うんですけど、そこからどうして、普通のこう、数学ど真ん中、になっていったのかなあ、ってところに、ちょっとギャップがあって。

Yugui ああ、確かに確かに。もうちょっと、選択肢を考える余裕があったら、むしろ工学やってたかもしれませんねえ。

ささだ 選択肢に余裕ががないと、数学に行くんだ?

高橋 なんかこう、できるだけアブストラクト (抽象的)な方に、みたいな。話に聞くと、なかなか工学でアブストラクトというと限界があるとか。

Yugui あとはまあ、できるだけ自分の可能性を広げたくなかったので。

高橋 数学って、割と広いと思うけどなあ。

ささだ それはどういうモチベーションなんですか? 自分を、この穴に閉じ込めておきたかった、とか、そんな感じ?

Yugui まあ、そんな感じですかねえ。できるだけ目立たずに、地味に生きていこうと思って。

ささだ 数学って、地味ってイメージなんだ。

Yugui や、別に。どうだろ(笑)

高橋 ま、世間に露出するような業種では無いよね。

Yugui 数学も、やってみると、結構いろいろな人間劇があったりもして。

ささだ それこそ、有名人もたくさんいるじゃん。

Yugui そうそうそう、でやっぱり、外から見たイメージではなく、実際近くに寄って見てみると、研究者には研究者の社会があるっていうところ、あるじゃないですか。ですから、必ずしも、当初数学を狙った理由が妥当だったわけでもないですけどね。それは、高校生が大学というものに抱くイメージに過ぎなかったので。

ささだ なるほど。でもそれで、数学で大学院まで行ったんでしょ?

Yugui まあ、行きましたよ。数学は好きでしたし。

ささだ 暗号のことやってませんでしたっけ。あ、暗号って、数論だからか*60

Yugui 数論なので、まあ、手近な応用分野としては、暗号ですよね。

ささだ 修論*61のテーマは、何だったんですか?

Yugui 修論のテーマは、きっちり決め切るところまでいってませんけど。まあ一応、類体*62の勉強してました。

ささだ 数学は卒業するために修論って、要るの?

Yugui 修論、要りますよ。でも、M1 の途中でフェードアウトしたので。

ささだ それは、仕事のほうが面白かったってこと?

Yugui そこは、やっぱり、認知してから行動に移すまでにタイムラグってあって、いろいろ自分うーん。

ささだ そのトランスジェンダーの話に気付いて、大学生になって、そのままずるずると修士*63になったのはいいけど、もっといろんなとこに行けるんじゃないか、っていう自分の可能性に気付いて、他のところにいった。とか、そんな感じ?

Yugui いやいやいやいや。ちょっと違いますね。そこは割と、自覚したはいいけれど、とはいえ、トランスジェンダーであることで不利益を被ることも世の中にはいっぱいあるわけで。あるんですよ。

ささだ それは、違和感を感じるとか、そういったことじゃなくて?

Yugui 就活*64で門前払いとか。割と。

ささだ えーっ(絶句)そうなんだ。

Yugui 大学は、割とそういうの少なくってですね。

ささだ 割と、っていうか、やったらやばいよね、今。

高橋 今とは、またちょっと違う? 今のほうが、その辺は、 (差別処遇に対して) 厳しくなっているかも。

Yugui それにしても。まあ大学は、かなり公的性質が強いから、「フェアである」ことに対して内部に厳しいけれども、企業は、特に法律で定められていること以外の項目については、好きに決めていい*65わけですよ。たとえばの話、「○○教の信者で無ければ採用しない」っていう方針だって、いいわけで。一度採用しちゃったのを「○○教の信者で無いから」昇進させないとか、そういうのはまずいらしいですけど。

ささだ (会社に)入れないのは、いいんだ。

Yugui 入れないのは、いいっぽいんで。まして、まだ、今ほど認知されている状態ではないので。

ささだ 逆にさ、就活の時に自分から言うの? 「自分はそういう者だ」って。

Yugui 日本は、戸籍もありますし、なんだかんだ、どこかで言わないといけませんよね。だから、住民票とか提出する段になって、「外見と(住民票の続柄から演繹される性別とが)一致しないんだけど、どういうこと?」と言われて、選考書類に虚偽があったとか面接のときに虚偽の申告があったため不採用、とかで、裁判になっている事例もありますよ。

ささだ そうなんですか。

Yugui そういうのは見聞きしてたので、そうすると、大学に残って、それでもなんとか研究者やったほうがいいかなーとも思いました。それも修士に進んだ理由の一つではあるんですが、その途中でウェブ業界を覗いてみると、けっこう割となんとでもなって(笑)、それなら、と。

高橋 いいかげんな業界だから(笑)

ウェブ業界へとシフト
yugui04.jpg

ささだ ウェブ業界を選んだきっかけは何だったんですか?

Yugui それは修士のときに学費を稼ぐのに。アルバイトを、たまたま From A で見つけて、ですね。

ささだ ほんとにたまたまなんですね。

Yugui まあ確かに、当時ウェブ業界が伸びていたのは知っていたので、どうせやるなら、と。

ささだ あと、高校のときの HTML Lint の話とか。

Yugui それもあります。で、どうせやるならウェブ業界で、ウェブ業界なら、最近(当時)サーブレットが伸びてるから、Javaの会社で、と思って探しましたけど。

ささだ それで Java のウェブ業界の会社に入って、「これじゃない」感があった。いやいや知らないけど。

Yugui Java の会社に入ったら、意外となんとかなるので、この会社にしがみついて生きようと思った。まだ、「そこでなんとかなった」というだけで、本当になんとかなるとは思ってなかったから、そこにしがみつこうと思って、だんだん仕事もおもしろくなったし、院の方は捨てちゃいました。

ささだ なるほど。で、そっちの方に正式に入って。

Yugui 入って、Java のシステムの設計とかして、それであれ、角谷さんいないや。角谷さんの記事*66で DI というのを知ったので。

松田 呼んできましょうか?

ささだ その頃なんだ。角谷さんの記事って、いつ? ずいぶん昔だよね。

高橋 2004年とか。ブログに書いてたような。

Yugui あれ、角谷さんが、DI をサイトで紹介したのって、二千、何年?

角谷 2003年の秋から2004年の頭くらい。 YRP にいた頃なんで、よく覚えてる。

Yugui で、角谷さんの記事で (DIを) 知ったから、社内のごちゃごちゃしたモジュールの依存関係、これで解けるじゃん! と思って。

角谷 はい?

松田 きっかけは角谷さんだったという。

角谷 またいいことやったな、おれ。(笑)

Yugui それで自前のコンテナというか、フレームワークを書いたりして。

ささだ え、それ、(会社に)入ったばっかりだったんでしょ?

Yugui ええ。

ささだ 入ったばっかりの新人が、DI ですよ! とか言って、通じるものなの?

高橋 時と場合によりけり(笑)

Yugui 入った初日に、「この設計、こうすべきですよね」って提案して、2、3ヶ月後、その設計以外ではにっちもさっちも行かなくなったので、「それみたことか」と。「入ったときに言ったろ!」と言って、なんとなあく設計権限を奪っていきましたよ(笑)。

ささだ すげーー。

高橋 たまにデキるバイトが入ったりするんですよ、これが。

Yugui その会社は、割といろんな人が入って、前、Akasaka.rb *67によく顔を出してた 86 組のfaultier*68 とか。たまに露出する人だったりしますけど。とかとか、あとは、今パンカク*69で面白そうなことやってる塚田さん*70とか。

ささだ いろいろ有名な人がいらっしゃる、と。

Yugui なんか、いろいろそういう不思議な人がいましたね。

ささだ 今は違う、っていうことは、今はいなくなったんですか? (笑)

Yugui 今はその会社はありません。(笑)

ささだ それは、ありがちな話なんですか?

高橋 ありがちな話です。(笑)

ささだ それでウェブ業界というか、プログラミングに自信をつけたというか、そういうことですね。

Yugui まあ、そうですね。

Rubyとの出会い

Yugui で、Ruby は、その一方で趣味では使っていたわけですけども、そうしていると、ある日、ruby-list*71 に Rails、Rails って書かれるようになってですね。

ささだ 高橋さんが犯人。

高橋 いえいえいえ、犯人とかじゃないですよ。

Yugui まあ最初はなんか読み飛ばしていたのですが、なんかやけに Rails っていうのが目に付くから、ちょっと覗いてみると面白そうで。

ささだ ほお。

Yugui で、色々、嫌に結合が密だったり、うさんくさいわけですけど。

ささだ うんうん。

Yugui ここまで思い切ったことをやられると、一応評価してみないわけにはいかないじゃないですか。それでまあ、『Agile Web Development with Rails*72』 はちょうど出た頃にそれを読んでやってみて、なんか意外と Ruby でもまともに Web アプリケーションが書けるんだねえと思って。小さなスクリプトじゃなくて。

ささだ ああ、なるほど。

Yugui 当時 Rails をやる前は、書いた一番大きな Ruby アプリケーションって、私の古いサイト*73のメンテナンスに使っていたコンテンツパブリッシングシステムなので、そんなに大きくはないですね。あれって原稿 HTML を手でマークアップすると、そこからサイト構造定義ファイルと原稿と突き合わせてメタデータを生成したり、マークアップに足したりクロスリンクを張ったりして公開するというスクリプトだったんですよ。

ささだ なるほど。

Yugui なのでまあ、なんかそれほど大きなスクリプトではなくて、それがなんかRailsだと摩訶不思議なフレームワークもできるし、まともにサーバサイドで動いてしまうし。なんか Ruby のパフォーマンスでも、まともにものが書けるんだと思って。

ささだ なるほど。で、Rails でいいな、と。Rails 勉強会*74とか出たのはその頃?

Yugui Rails 勉強会は、第0回*75は欠席者ゼロで素晴らしかったということになっていますが、私は風邪を引いて行けなかったので、事前に連絡して出席予定者から抹消してもらったので欠席者がゼロだっただけで、私は行く予定だったのに行かなかった人ではあります。

ささだ おお。

Yugui で、Rails 勉強会第一回は出席して、そこから結構出てましたねえ。

ささだ それは仕事で Rails をやる前の話?

Yugui 前です。

ささだ で、Rails 勉強会でほかの Rails の話を研究して調べていって、仕事は Rails のほうに行ったという感じ?

Yugui まあだんだんと。

ささだ 会社変わって Rails やるようになったの?

Yuui 会社変わって Rails ですかねえ。いや、変わる前か。変わる前に何か大急ぎでサービスひとつ立ち上げるっていうのを Rails でやってみて。それは Rails 1.0 とかの時代ですねえ。

松田 ちなみに第一回は 2005 年 12 月ですね。1.0 はまだ出てない?

高橋 ここですよね。

ささだ フロア違うけど。

高橋 10F ですね。江渡さんとかが。

Yugui 1.0 とかの時代でまあ、制約も今と比べると大きかったし。また開発のノウハウもたまっていないので、今思うとひどいものを会社に残してきてしまいましたが。

ささだ それは動いている? まだ。

Yugui いやもう動いていませんね。あれがまだ動いていたら、メンテナンスしている人には何かもう本当に謝らなければいけません。

ささだ なるほど。それで Rails のほうに話が行って。

Yugui それで、何だろうなあ。その後会社を移って、そしたらまたそれがひどいシステムで。仕方がないから 1 ヶ月でリプレースして。

高橋 それがさっきの話?

Yugui それが faultier とやったんですね。

ささだ 分からないけど、はい。えっと、何だっけ。あの、前 RubyKaigi でさあ。2008 年くらいだっけ。

Yugui はい、あの発表*76ですよ。

ささだ 全部捨てた、みたいな発表してたじゃないですか。

松田 なんか仕様テストを先に書いて、っていう話でしたっけ。

ささだ 一ヶ月で。それを作り直すと何人分かの給料が出たりするの?

Yugui いや別に。

一同 (笑)

Yugui ただ代わりに発言権を得たので。何かねえ、どこもひどいシステムでしたけど、おかげで改良の余地は色々あって、そこで色んなことを考えて、アーキテクチャを考えて、いくつか試す機会があったりして。

ささだ うん。

Yugui ひたすら本を読んでシステムの改善を試行錯誤して、結構勉強するいい機会になりましたねえ。

ささだ なるほど。まあ、そういうのがあったおかげで今の Yugui さんがある、とか言っちゃってもいいんですかねえ。

Yugui いやあ、今っていうほど何か大したことはやっていませんが。

ささだ 作り方からとか変えるんですか、そういうひどいシステムっていうのは。体制みたいなところから。

Yugui まあそうですよね。

ささだ まあ、私はよく知らないんですけど。チームがあったときに、生産性マイナスな人とかもいるという話を聞くのですが。そういうのとか、どうするの? Yugui さん的には。体制を、こりゃだめだっていうチームがあったときに。

Yugui マイナスの人にうまくやってもらうのは、なかなか当時はなかなかうまくいかなかったですが。まあでも人をターゲットにしてしまうと難しいけど、

ささだ 人はターゲットにしないんだ。

Yugui チームとして、全体として仕事になってないよねと。

ささだ みんな理解しているの?

Yugui まあ、個人が標的でなければちょっとは言いやすいじゃないですか。だから、この開発状況はてんでなってないからこうやろうって言って。

ささだ なるほど。こうやろうって言うのは、アジャイル的なやり方を紹介してみたり?

Yugui そうですそうです。そこで有無を言わさずやってみせる。やってみせて何とかなる規模だからっていうのもありますけどね。

ささだ なるほど。

Yugui やってみせて、ほら効率がいいでしょって言って、全員それに合わせてですね。それでまあ何だろうなあ。1年半かかって開発しても毎日しょうもないバグが出てひたすらその対応をするだけで一歩も前に進まないシステムを 1 ヶ月でリプレースして、前に進めるようにしてですね。

ささだ うん。

Yugui ほら、こうやれば上手くいくでしょって言って。でまあ色々やって、そうこうしているうちにまあ、あの会社も色々あったんです。まあやっぱりビジネスとしてうまく行かなくなって、会社がなくなってしまったので。

ささだ で、無職だった時に山崎さん*77に釣られたの?

Yugui 無職だった時に、無職だから「はじめてのRuby」を書いていたら、山崎さんに釣られて。

ささだ なるほど。

Yugui 前の職場で一回、自社用の広告配信エンジンを書いてですね。そんなに PV なかったので、わりとナイーブな作りでよくなかったんですが、そのときに広告をどういうふうにモデリングして、どういうふうに記録して意味処理するかというのを色々考えたんですね。そこで山崎さんの話を聞いたら、ちょっとその時のことを思い出して、面白そうだったので。

松田 あれ、じゃあ山崎さんのところ(株式会社スケールアウト *78)が3社目ですか。

Yugui 数え方によりますが、3 社目か 4 社目。1 社目は 2 社目と合併したので。で、だからそれを 1 社と数えるか。で、そのあと 1 回移って、その後山崎さんのところです。

ささだ 今度はチームではなくて個人プレーな感じ?

Yugui 今度はわりと個人プレーでしたねえ。

ささだ どうでした。それぞれいいところ、悪いところがあると思いますが。

Yugui まあ、舞波さん*79とディスカッションしたり、っていう場面もあったりして、エキサイティングではありますけどねえ、それはそれで。でもまあ割とチームで、って言うよりは一人ずつそれぞれ担当部分をやっている色彩が強くて。おまけにあの当時やっていたのは、読むと発狂するようなコードをなんとかまともにするお仕事を最初やってましたね。

高橋 最初にそんなにすごいコードがもうすでにあった?

Yugui 毎日がSAN値チェック*80みたいな。

松田 最初のころに山崎さんがエイヤで書いたやつ。動くんだけどね、みたいな。

Yugui 動くんだけどね、みたいなものを一部分だけ見て拡張した結果、全体としては何か。

ささだ なるほど。

Yugui リファクタにあたってその宇宙的恐怖なコードを頭にロードしようとしたらショックで 2 〜 3 ヶ月寝込んで。そうしたら、ちょっと仕事してよって言われてですね。

一同 (笑)

ささだ あなたのコードのせいです、って (笑)

Yugui いやあ、本当にあの時はなんか毎日生産性が上がらなかったですね。

ささだ 普通に Ruby の 1.9.x のメンテナンスって、その頃?

Yugui まあ、その頃です。

ささだ それはなんかこう、まあ駄目なプロジェクトがあって、それを何とかしてやろうという感じで?

Yugui まあ Ruby はちゃんとリリースされないと自分が困るので。

ささだ ああ、なるほど。最初の職分的な感じでやろうとしたの?

Yugui いやあ、全然。趣味です。

高橋 そういう駄目なプロジェクトを見ると、ついつい口を出してしまうという?

Yugui まあ駄目なものはリプレースすればいいですしね。

ささだ でリプレースしたの? リリースマネジメントはリプレースしたの?

Yugui Issue Track Flow も Redmine になったじゃないですか。

ささだ だいぶ変わりました。

Yugui で、Redmine もその後、プラグインを書かずに直接手を入れたらメンテナンス不能になってしまって。

一同 (笑)

Yugui で、ようやっとプラグイン化しましたよね。で、今は CI *81を何とかしようとしていて、2 〜 3 年そう言っているのに一向にできないから、この間から akr さん*82には疑わしげなな目で見られてますけど。

ささだ ほう。

Yugui いやあ、Ruby 会議のときも、CI の話をすると胡散くさげな目で見られてですね。

ささだ まあ、chkbuild *83が色々なところにばらまかれていて、だいたい CI 環境は良くなって来ていると思いますけどね。

Yugui はい、はい。いや、でも Redmine を直す直すって言って 2 年ごしで直してましたし。CI もまあ、そろそろできるわけですよ。いずれ。

松田 話を戻すと、Redmine って Yugui スペシャルは完全にプラグインになっていますか?

Yugui プラグインになっています。

松田 じゃあ、バージョンをいきなり 1.1 とかにするのは可能?

Yugui 今 1.1 ですよ。今 1.2 に上げようとしていますが、まあそれは一日あればできる作業ですね。

松田 おお、素晴らしい。

ささだ 返信に全部最初の issue が来ちゃうのは。あれ何とかして欲しいんだけど。

Yugui はい、はい。その問題はあの、私の Gmail の Inbox で ToDo ってタグを打って、毎日、目には入っていますよ。

一同 (笑)

Yugui まあでも GitHub*84 で公開しているものなので、一番困っている人がパッチをください。

松田 プラグインのバグなんですか?

Yugui そうです。

松田 そうなんだ。

ささだ 最近みんな GitHub ですよね。Git*85 ができて当然、という住みづらい世の中に。

Yugui Google Code も Git をサポートしたし。

ささだ あ、そうなんだ。Hg*86 だけじゃないんだ。

高橋 Mercurial じゃないと辛いですか。

ささだ いえいえ。

松田 Git はともかく GitHub ちょう便利ですよ。使わない理由が特に思いつかない。

ささだ git コマンドが覚えられません。

Yugui まあ確かに git コマンドは割と。

松田 割と体で覚える感じ。

ささだ ちゃんとやろうと思って何回か挑戦したけど、まだできてない。いかんですね。まあそれはいいや。ええと、それでまあスケールアウトを飽きて、また別の会社に行ったと。

Yugui 飽きたというか、何というか。

松田 スケールアウトは 2 年くらいでしたっけ。

Yugui 2 年半から 3 年くらい。やることやったので。

松田 山崎さん的には、Yugui さんがだいたい作ってくださった、と。あ、僕は Yugui さんと入れ替わりくらいに(スケールアウトに)ちょっと入ったんですけど、Yugui さんがだいたい全部作ってくれて、あとはもう(製品が売れて)チャリンチャリンで遊んで暮らすだけ、という感じで Yugui さん含めてみんなで幸せになろうね、ってところで Yugui さんがお辞めになられてしまって。もったいない。

Yugui いやあ、あとチャリンチャリンであとは何か作るだけ儲かるという段階だと、何かやり甲斐がないじゃないですか。

ささだ いいじゃん、それ。

Yugui しかも山崎さん的には、その先にもちょっと野心があるわけでしょ。

松田 まあそうですね。

Yugui でも、その野心を達成する段階までは、しばらくやり甲斐のあることはないから、じゃあなんかしばらく他を見てくるかなあ、と思って。

ささだ なるほど。

Yugui あとは会社で山崎さんと横井さん*87のやりとりとか見ていると、やっぱり大きい会社で色々な人に会うのも面白いなあと思ったので。

ささだ 今までの会社は全部小さかったの?

Yugui そうです。一番大きいので 100 人クラスですね。

ささだ なるほど。

Yugui ええと、それでここまで来たから、そうそう、なんかまあ、そんなこんなで 1.9 のリリースの面倒を見てきましたが、1.9.2 のリリースプロセスの途中で 1.9.1 のメンテナンスが負荷が大きすぎて、わりと力尽き気味で mame さん*88に助けてもらったり、そこで何か 1.9.2 がいい加減になったので、 mame さんが見かねて色々やってくれてですねえ。1.9.3 も同じ感じで、1.9.2 のパッチリリースが大変な間に小崎さん*89が見かねて色々やってくれて。

ささだ やってるね。

Yugui やっぱり、あの、隣り合うブランチを同じ人間がやるのは良くないですね。

ささだ ほう。じゃあこれからは Edge*90 をやる?

Yugui いや、2.0 は mame さんがリリースマネジメントをやってくれると言っているじゃないですか。だからまあそれでめでたしじゃないですか。

ささだ もうメンテはやめる?

Yugui あと 1.9.3 を出したら、

ささだ 1.9.3 は俺に任せろと。

Yugui 1.9.3 を出したら、あとは期限を切って 1.9.2 を捨てて。

ささだ ほう。

Yugui あとは 1.9.3 を頑張って、2.0 を mame さんと Matz が頑張ると。

ささだ ほう。

松田 分けるんですよね、2.0 と 1.9 は。 Yugui さんが 1.9.3 を。

Yugui いやあ、それは Matz が trunk を 2.0 にするよって決断をすればもうすぐにでもなる話ですけど、まだ話がまとまってませんねえ。

ささだ その話はよく分からないですね。

Yugui はい。いやあ、でも割とほら 1.9.3 でロックが改善したり*91とか、ここまでで GC の改善*92も入っているし、わりとまあ落ち着いてきたじゃないですか。ここから、どうせ次のリリースは何かやるとしたら、そろそろ拡張に入る時期なので。MVM*93 を楽しみにしていたり。

ささだ (話をそらして) RiteVM*94 とかどうですかね。

Yugui RiteVM はまた全然違う話なんじゃないですか。だから拡張するんだったら、Matz がいいって言うなら、それを 2.0 と呼ぶのに何ら問題ないですよね。

ささだ いやまあ、よく分からないけど。はい。

Yugui Refinements*95 とか DTrace とか MVM とか。

ささだ DTrace は 1.9 でいいと思うよ。

Yugui 色々入った 2.0 でいいじゃないですか。

ささだ いやだからそうするとまた落ち着かないので。私の案としては Trunk を 2.0 にして、1.9 ブランチを作って、私は 1.9 ブランチの性能向上をしていくのかなーと思っている。

Yugui なるほど。

ささだ 2.0 Trunk の先端のほうの性能改善とかはもうしなくて、機能拡張だけやっといてください、って言って。

Yugui ああ、なるほど。

ささだ そっちは、落ち着いて 2.0 出たら、じゃあ 1.9 でやった性能改善みたいな話を 2.0 に入れましょうかみたいな、そういうふうなプロセスをなんとなく自分の中では考えています。

Yugui ふーん。

ささだ 誰にも言っていないけど。

Yugui じゃあ、いいじゃないですか。この機会に発表ということで。

松田 よさそうですね。

ささだ で、1.9.4 を何事もなかったかのように出す。

Yugui はあ、なるほど。

ささだ 2.0 多分出ないから。

Yugui 出ますよ、いつかは。

松田 出なきゃ困るし。Refinements なんかはめちゃくちゃ欲しいですよ、やっぱり。

ささだ Refinements で行くのかという話も*96

Yugui だって昔はほら、1.8 系統最後のリリースになるはずの、1.8.ん が出ましたとか。そういうネタがあったじゃないですか。

ささだ うん、あったあった。エイプリルフールで。

Yugui 1.8.z、1.8.ん、とか。それが今じゃ 1.9 が立派に出てですね。2.0 もいつか出ますよ。

ささだ いつか、はまずいんじゃないかなあ。

Yugui 3000年までには。

松田 さ来年、って言ってませんでしたっけ。RubyKaigi で。

ささだ うーん、いやあ、俺はあれは信じられないので。いやまあ、出るのかなあ。はい、じゃあそんな感じで。

Yugui そんな感じで。

ささだ 生い立ちでも何でもなかったけど。はい、じゃあそれで。あとなんだっけな。

Yugui Refinements とか MVM とか、生い立ちだったんだ。

一同 (笑)

仕事

ささだ 普段、仕事って何をしているんですか。

Yugui 某社でコードを書いてます。

普段の生活スタイル

ささだ 普段の生活スタイルってどんな感じですか。(通勤に) 2 時間かかるんだったら、何時に起きているの?

Yugui 最近は 5:30 に起きて支度して、出社して。まあでもそうすると 18:00 に帰って、早く寝ると。

一同 ええー。

高橋 もともと早起きだったんですか?

Yugui 15 年くらい夜更かしで暮らしていましたけど。本質的に体質は朝型です。

ささだ 18:00 に会社を出る、と。 9:00〜 17:00 なの? 9:00 〜 18:00 とか?

Yugui まあそんなペースで。

ささだ すごい、ちゃんとした社会人だ。なるほど。

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

ささだ 仕事とプライベートの両立は。

Yugui 仕事とプライベートの両立、というか仕事もプライベートも区別はないので。

ささだ 区別なくコードを書いている、という感じ? なるほど。

趣味

ささだ 普段家では何をしているんですか。って、コードを書いているのか(笑)。いや、ここでは、本とかゲームとか何とか、そういう趣味的な話を。

Yugui 趣味としては、Ruby の開発。みなさんご存知か分かりませんが Ruby というプログラミング言語があって、リリースマネージャーをやっているんですが、そうするとやっぱりブランチのメンテナンスなんかをやらなきゃいけないので、日々そういう活動をやったり、

ささだ じゃあ、本とかは見ないの?

Yugui 本はまあ、外に出たときに読みますかねえ。

ささだ えっ、どういうこと?

Yugui 電車の中とか。

ささだ ああ、その 2 時間を利用して。じゃあむちゃくちゃ読めるじゃないですか。

Yugui 読めますよ。

ささだ 最近は?

Yugui 最近は、Alloy。

ささだ 知らない。

高橋 すみません。

松田 Alloy 本*97ですか。mame さんの。

ささだ ああ、あれか。小説とかじゃなくて、そっちかよ(笑)。技術書が多い?

Yugui まあ技術書が多いですよ。なんか色々読んでたら床が抜けそうになったので、仕方なく。

ささだ 共感している人がここに。

高橋 いやいや。大丈夫ですよ。そんなにないから。

Yugui 仕方なく置き場を確保したり。

ささだ なるほど。

Yugui で、何でしたっけ。

高橋 趣味の時間の使い方。

Yugui 趣味の時間は Ruby のメンテナンスをしているか、自転車に乗っているか。

ささだ 自転車。100g 減らすのに一万円かかるという、自転車?

Yugui そこまで車体の追求はしていませんけど。まあ一応ロードレーサーのエントリーモデルを買ったので、乗って回っています。

高橋 かっこいい。

松田 会社までとか。

Yugui それは無理です。都内に最初住んでいたから、自転車で行こうかなと思っていたんですよ。でもまあ同居していた友達と喧嘩して実家に戻ることになったので、ちょっとその夢はついえました。

ささだ なるほど。何か主張したい趣味とかありますか。

松田 自転車、誰も食いつかなかったですね。Ruby 界隈で自転車の人って居ないんですか?

Yugui shachi さん*98

松田 ああ、確かに。いや、コミッタとかで聞いた覚えがないんですよね。

Yugui プログラマには多い趣味なのに。

ささだ えっ、そうなの?

松田 よくいますよ。

高橋 バイクのほうが多いですかね。

ささだ たださん*99とか。

Yugui プライベートの時間から Ruby を引いて自転車を引くと、あとはアニメを見てますね。でもアニメはあまり見ないから、結局残りはほとんどないということですね。最近見たのも、まどか*100とイカ娘*101だし。まあでもそうか。

高橋 「輪るピングドラム」は見てない?

Yugui 見てません。いやあ、ウテナ*102好きだったので見ようと思っていたのですが、やっぱり新しいアニメを見る気力がなかなか。そこまでどっぷりアニメではないので。でも、あれ、何だっけな。ごく最近イカ娘のおかげで仕事がすごく進んだんだけど。イカ娘がヒントになって。まあなんか色々ありますよね。

松田 Yugui さんは趣味で Rails とか触ったりはしないんですか、最近。

Yugui 趣味でRailsですか? Rails3 にそもそもあまり手を出せてなくてですねえ。最近なんか Rails は Redmine でお腹いっぱいなんですが。Redmine がまだ 3 に行っていないから。

松田 行っていないですねえ。

Yugui さしあたって、自分のサイトを Rails3 にしますかねえ。

松田 早くしないと 4 が出ちゃうので。

ささだ いいですね、ちゃんとバージョンが順調に上がって行っていて。

松田 はい。あちらは極めて順調に。そうですね。

使っているマシン

ささだ えっとまあ、あとあまりないんですけど。使っているマシンのスペックとか。

Yugui 使っているマシンって、どのマシンでしょう。

一同 (笑)

ささだ たくさんあるから、面倒くさい?

Yugui メインは MacBook の、何世代前だあれは。MacBook Pro の 2008 年後半モデルかな。

ささだ なるほど。

とみた OSは?

Yugui Leopard。

松田 NVIDIA チップセットになった最初のやつですね。

ささだ それで大体メインの開発をしている?

Yugui そうですね。だからまあ、Ruby 1.9 は Leopard の対応は割といい感じ。Lion はひどい。

松田 そういうことなのか。

高橋 いえいえ、それはまた別の問題で。

Yugui 私が Leopard がメインなせいで、しばらく x86_64 でだけ発現するバグが気づかなかったり。Leopard は i386 がデフォルトなので。

松田 そろそろ買い換える予定はないんですか。

Yugui いまのところ困っていませんしねえ。

松田 ちょう速いですよ、最近の MacBook。

Yugui そうですか。あとなにか最近の Ruby をいろんな環境でテストしたいというので、ひたすらいろんなマシンを集めてセットアップしています。あ、普段何をやってるか、には、これもありますね。

ささだ 動いているの?

Yugui 少しずつ動いていますよ。だからこの間 Solaris パッチを大量に送ったじゃないですか。

ささだ そんなに動かしていて、電気とか大丈夫?

Yugui 全部同時には動かしていないので。

ささだ ああ、やっぱり。そうだよねえ。古いマシンとかあるじゃん。そうするとすごい電気を食う。

Yugui Itanium とか。

好きな女性のタイプは? という質問はどうよ

ささだ 最後のほうの質問。好きな女性のタイプは、ってなんか書いてあるんですけど。 Rubyist には男性しかいないっていう仮定のもとで。

高橋 今までインタビューで女性はいなかった?

ささだ うん。というので、好きな異性のタイプ。好きな人間のタイプでも何でもいいですけど。

Yugui そこには、ささださんが気づいただけでも複数の問題が含まれていて。 Rubyist は男性なのか、異性のタイプは、と言って、異性というからには自分の性別があるわけだけど、自分の性別って何か、とか。それは性自認をベースに考えるのか、それとも身体的なことなのか。身体(の表現型としての性別)と遺伝子*103は必ずしも一致しないけどどっちが優先なんだとか。あとは異性だとして、そもそも異性が好きなのか、とか。これは全部独立項なので。

ささだ ここで言いたいのは、好きなタイプは、だよね。

Yugui トランスジェンダーでも同性愛者は厳然としているし。私はどうかなあ。最近ときめきがないので分かりませんねえ。

ささだ それは新しいかわし方だねえ。

Yugui 昔はバイセクシャルを自認していたけど、今となってはもう分からないし。

ささだ ほう。

Yugui あれですね。昔二丁目*104でオネエ言葉のマスターに、「惚れた腫れたで騒ぐのもいいけどぉ、結局のところ自分のセクシュアリティなんてもっといろんな相手と寝てみないと分からないわよ」って説教されてですね

ささだ そんなところに行ったんだ。

Yugui ミックスのバーでしたけどね。

ささだ なるほど。

Yugui ミックスって通じてないだろう絶対。

ささだ 分からない。Mixiの仲間?

松田 二丁目の店って、見た目女性だったら入店拒否されたりするんですよ。「××××」呼ばわりされたりして。

Yugui そう。男性オンリーの店とか女性オンリーの店とかあるわけなので、でもミックスっていうのは別に誰でも入っていいよっていう店で。

ささだ そもそも対人の、人がいるけど人の相手してくれる飲み屋に行ったことがほとんどないので。

Yugui で、なんか、見た目渋いけどオネエ言葉のマスターにそう説教されてですね。

ささだ それにはときめかなかったの?

Yugui (聞き流して) なんかもう、そう考えてみるとなんか自分でもよく分からないなあと。結局よく分からないですねえ。最近はときめきがないし。

とみた すごいどうでもいいんですけど、(インタビューのメモをとっているため) 僕の IME がひどいことになっていくんですよ。

一同 (笑)

Yugui 学習切りましょうか、じゃあ。

ささだ 賢くなっていいんじゃないですか(笑) そんなもんでいい?

Yugui あと、オネエ言葉の「オネエ」の部分はカタカナで書くのが慣例なので。でもそうするとオネエって書いたときにそれが候補に出るようになるんですよね。昔、何だっけな、えらくギャルギャルしい会話の打ち込みを何かの仕事でやったときに、やっぱりIMEがひどいことになりましたねえ。

ささだ なるほど。じゃあ次行っていいですか。

Yugui そろそろドラが鳴るのかと思いました (笑)

ささだ いや (笑) 。このへんのことでもっと言いたいことがあればどうぞ。

Yugui まあそんなところで。

ささだ 最近まわりが結婚ばっかりしていて辛い、とかそういう。それは俺の話か。

一同 (笑)

ささだ あまりないですか、そういうまわりが結婚していてうんぬん。

Yugui いや全然。もうあらかた片付くところは片付きましたしねえ。別に自分が結婚したいと思っていないからどうでもいいというのもあるし。

ささだ なるほど。分かりました。じゃあ次。

今後について

今後の展望、将来の夢など

ささだ 今後の展望、将来の夢など。

Yugui いやそれさっきのと重なりませんか。今後の展望は 1.9.3 を何とかして、そのあと。

ささだ DTrace を入れて。

Yugui その後適切な移行期間を設けて、1.9.2 を放棄して、あとそうそう Redmine をかつてのメンテナンス不能状態から何とかするところまでは持ってきたから、そろそろ、あの、ほかのメンテナに任せたい、とか。DTrace を Ruby に入れたいとか。

松田 あ、Redmineのプラグインを誰か引き取らないかという話、是非やれたらいいなと。

一同 おおー。

松田 僕がじゃなくて、 Asakusa.rb で引きとる形でどうでしょう。

一同 おおー。

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

松田 一応、責任を持って、というか見れる範囲僕も見るんですけど。 Asakusa.rb Organization アカウント*105があるんですよ。

Yugui いいんですか。Rails2 ですよ。

松田 とても残念ですけど。まあでも、

Yugui ああそうか、 Asakusa.rb が 3 に port すればいいんですよ。

高橋 素晴らしい。

松田 という形でよければ。

Yugui はい、はい。是非お願いします。Asakusa.rb なら割と継続性もあるし、一人じゃないので安心ですよね。

ささだ それで、ずっと Ruby の仕事をしていくの?あまりそれから先のことは考えていない?

高橋 フルタイムコミッタ?

Yugui あまり先のことは考えていませんねえ。基本的に次の Ruby のリリースまでしか考えていないので。今は 1.9.3 より後はあまり考えていないですね。

ささだ なるほど。

Yugui だから DTrace を入れて、 SystemTap も入れますよ。小崎さんと、なんとか。

ささだ それは何とでもなると思うけど。

Yugui Ruby が速ければ、速くて困るということはそんなにないので、その分幸せかなあと思いますし。とは言え、まあやっぱり良く知られた方法で単純にやって速くなるっていうものじゃないじゃないですか。ささださんが論文を書くくらいだから。

ささだ まぁ、はい。

Yugui 仮にも研究になるような難しさはあるわけじゃないですか。

ささだ はい。そうですね。

高橋 10 年後どうしたいみたいのはないんですか。

Yugui 10 年後ですか。 10 年だとちょっと短いですけど。

ささだ じゃあ 20 年とか。

Yugui 前ブログに書きましたけどねえ。 Web が民間に普及してから 15 年くらいですけど、

ささだ うん。

Yugui その 15 年の間に何か、私がそれまでだったら知るはずもなかったような広い知識を得てですねえ。

ささだ ふむふむ。

Yugui 自己認知を改めて、変な方向に無理をするのをやめることができてですね。個人的には非常に自由になりましたし、世の中も変わりました。

ささだ うん。

Yugui 誰もが当たり前にメールを使っているし、なんか最近読んだニュースでは、検索っていうのが当たり前になって、人間の知識の蓄え方それ自体が変わってきたと。

ささだ ほう。

Yugui そんなに知識を記憶しようとしない傾向が出てきたとか。良いじゃあないですか。世の中これだけ変わって、今までだったら、今までより人間ははるかに自由に安全に生きられるようになったので。それこそ、何だろうなあ。 Amazon があれば家から出なくても暮らせるし。

一同 (笑)

Yugui そうすると、今までだったら生きられなかった人が生きられるようになるんですね。

高橋 うんうん。

Yugui ただ、ブログに昔書いたことそのまんまなんですけど。るびまからはリンクを張っておいてください。えーと何だろうなあ。

ささだ じゃあ Yugui さんあとで勝手に張ってくれる?

Yugui はいはい(笑)。にも関わらず、 Web はまだ貧しくて。

ささだ 何が?表現が、ってこと?まだまだ可能性が活かしきれていないとか、そういう意味で貧しいってこと。

Yugui Web で料理の美味しさを真に体験するとかできないですし。

ささだ はいはい。それって、本で料理の美味しさを体験できるか、って話じゃないの。

Yugui オフラインなら体験できるじゃないですか。その店に行って食べれば。

ささだ ああ。

松田 リアルを伝えきれてはいないですね。

ささだ まだまだいけると。

Yugui まだもっといろんな情報を伝える手段を考えなければいけないし、もっと地理に密着した情報を Web に持ってこなければいけないし。もっと Web でお金が動くようにならなければならない

ささだ 地理の話は両極があると思っていて、そういう情報を活かすという話もあるし、逆にそうじゃないからよくない。インターネットってまさにそれを排除したから良くなったと思うけど。

Yugui いやあ、でもそっちときっちりリンクできてないじゃあないですか。ちゃんと世界中くまなく 1mm ごとに IC タグがなきゃ嘘ですよ。

高橋 ああ、なるほど。

Yugui だから次の 15 年で、オフラインの豊かさと Web の安全性と自由と両立するようになったらいいですね。

ささだ いいですね、じゃなくてそういう風に向かって何かして行くんじゃないの?

Yugui もちろんそのために仕事をしますが。

ささだ そのために仕事をしている、活動している。

Yugui 今は Web にお金を呼び込む、Web における経済のひとつの大きなポイントは広告なので。だから広告をきっちりやりたくて、山崎さんのところに行きましたし。

ささだ はい、なるほど。なんかこう、展望が分かりました。

前のインタビューイとの関係、次のインタビューイ

ささだ 前のインタビューイは小波先生だったんですが、関係は。小波先生はお互いTwitterでフォローしていると書いてありますが。

Yugui はいはいはい。そうです。

一同 (笑)

ささだ 次のインタビューどうましょう。

Yugui まあ sora_h*106 には呼んでくれと言われていますけどね。

ささだ いやあ、栃木まで行きたくない。

一同 (笑)

松田 東京じゃないし。ちょっと彼は今摘んじゃうのはもったいない。

Yugui 確かにね。

松田 もうちょっと寝かせたい。コンテンツとして。

Yugui 確かにね。一晩寝かせてふくらませて、っていうのを焦ると良くないですよね。だから、東京で誰かいないかなあとは思いますが。

松田 舞波さんが存命だったら。

高橋 存命って(笑)

松田 もはや東京でも Ruby でもないという*107

高橋 誰かお願いしようと思っている人っています?考えていた人。ここに来るときに実はこの人に決めていたとか。

Yugui いやあ、過去のインタビューイをちゃんと見て考えようと思っていたのですが、見てくるのを忘れたので。

ささだ インタビューはコミッタに寄っちゃっているんですよね。

松田 えっ。それダメなんですか。

ささだ 何かこう、たまには Ruby の話をしたい。

高橋 たまには Ruby って(笑)

Yugui そうですね。中田さんももう出ていますからねえ。じゃあ、松田さん*108をお願いします。

高橋 おおっと。

松田 元同僚のよしみで?

ささだ じゃあ松田さん、いいですか。

松田 はぁ。別にいいですけど。

ささだ じゃ松田さんで。

松田 ただ、コンテンツとして面白いかどうか。

高橋 いやいや。

ささだ いやいや。みんな聞きたがりますよ、Ruby on Rails の話を。じゃあそれで。

Yugui はい。

ささだ 次のインタビューイへの質問。松田さんに。

Yugui そういえば、あれ質問来なかった?

ささだ うん、なかった(笑)

高橋 なかったんでしたっけ。

ささだ うん。

Yugui 次のインタビューイへの質問。うーん。

ささだ なければいいよ別に。じゃあ、今度考えておいてよ。

Yugui ええと、1.9 は使っていますか。

松田 それって Yes か No で終わっちゃいません?

Yugui そうですね。

ささだ もっと語らせよう。

松田 そこらへんはでもまあ確かに、色々ありますよね。

Yugui じゃあ、そんな感じに。

若手に一言

ささだ 若手に一言。自分より若い人に対して。

Yugui 人間無理をして自分以外の何かになろうとしても無理なものは無理なので。ただ見識は広く、自然体で行きましょうと。

ささだ そうだよね。何か辛いことになると視野狭窄になって、もう駄目だーになっちゃう。もうちょっと遠くから見れば別の出口はあるので。

高橋 何かあったんですか。

ささだ 分かる分かる。

読者に一言

ささだ 読者に一言。

Yugui そう言うわけで、念願のるびまで語る機会を得て非常に嬉しく思うので、次回のインタビューをお楽しみに。

ささだ 何という、きれいにまとめて。じゃあどうもありがとうございました。

一同 (拍手)

ささだ じゃあそんな感じでいいですか。

高橋 はい。

ささだ じゃあ、どうもありがとうございました。

Yugui ありがとうございました。

終わりに

次回の Rubyist Hotlinks は、地域 Ruby コミュニティ Asakusa.rb 発起人であり、日本人としてはトップクラスの Rails Contributor として有名な松田明さんにお話を伺う予定です。お楽しみに。 (インタビュー:Yugui さん、編集:すぎむし、郡司)

Rubyist Hotlinks 連載一覧


*1 東京下町周辺の Ruby 技術者たちが毎週火曜日に集う、地域 Ruby コミュニティ。 http://asakusa.rubyist.net/

*2 http://qwik.jp/asakusarb/hack116.html

*3 私は昔から目立たず何一つ特殊なことはなく生きるのが願いでしたが願いは叶いそうにないので、だったら目立って特殊であるが故になせることを成してやろうじゃないかという心意気です (後日 Yugui 追記) 。

*4 マンガ家。当初は同人作家として活躍したのち商業誌入り。マンガ以外にも『機動戦士ガンダム00』のキャラクターデザインを手がけるなどする。たつねこの妻。1990年代の前半というと『アーシアン』佳境。

*5 『月刊Gファンタジー』のち『コミックZERO-SUM』連載

*6 作家。少女向けジュニア小説でデビュー。広義の「エロス」「性」を一貫したテーマにもち、一般読者向けにも著作を広げて今日に至る。同人誌でも活躍。西澤保彦の小説に同姓同名の主人公がいるが当人がモデル。1990 年代前半といえば『お嬢さま』シリーズ。『耽美なわしら』や『西城秀樹のおかげです』は未出。

*7 Webベースのプロジェクト管理ツール。Ruby on Railsで実装されている。 http://www.redmine.org/

*8 Ruby の不具合報告システムは Redmine をカスタマイズして実装されており、そのカスタマイズ部分。 http://redmine.ruby-lang.org/projects/redmine/wiki

*9 Yugui, オライリー・ジャパン,2008. http://www.oreilly.co.jp/books/9784873113678/

*10 呼び出し元のオブジェクトのコンテキストで、指定した Ruby スクリプトを実行するメソッド。 http://doc.ruby-lang.org/ja/1.9.2/method/Object/i/instance_eval.html

*11 Rational や Complex といった数学関係のクラスを、よりシームレスに利用できるようにするライブラリ。mathn を読み込むと、数値ライブラリの挙動がグローバルで変わってしまう。 http://doc.ruby-lang.org/ja/1.9.2/library/mathn.html

*12 多次元数値配列クラス。 http://narray.rubyforge.org/index.html.ja

*13 http://web.archive.org/web/20110204173715/http://java-house.jp/ml/

*14 http://takagi-hiromitsu.jp/diary/

*15 http://www.asahi-net.or.jp/~jy3k-sm/css1/2003maki/index.html

*16 HTML 文法をチェックするプログラム。 http://lint.brihten.com/html/

*17 Document Type Definition の略。HTML などのマークアップ言語の文書構造を定義するための言語のうちの一つ。

*18 http://www.kent-web.com/pubc/profile/index.html

*19 Perl Compatible Regular Expressions の略。 Perl5 互換の正規表現を C 言語で実装したライブラリ。

*20 プログラミング言語 LISP の一種。

*21 http://jp.rubyist.net/magazine/?0009-Hotlinks

*22 Ruby で多倍長整数を実現する組み込みライブラリ。 http://doc.ruby-lang.org/ja/1.9.2/class/Bignum.html

*23 浮動小数点数演算ライブラリ。 http://doc.ruby-lang.org/ja/1.9.2/library/bigdecimal.html

*24 PC-8801(シリーズ)は、日本電気 (NEC) 社が発売していた、PC/AT 非互換アーキテクチャのパーソナル・コンピューター。初代は 1981 年の発売。以降 1980 年代は、日本国内市場のみではあるが独占的に普及していく。

*25 ここでは、スタンドアロン BASIC 環境の一つである、 PC-8801 用標準プログラミング言語の N-88BASIC を指す。一般には、派生した言語もあわせての総称としても用いられる。

*26 シーモア・パパートによって開発されたプログラミング言語。発達心理学の知見に基づき、児童の使用を想定して作られ、作図を得手とする。‘タートル’に「前進せよ」などの指示を与えてグラフィックを描く。

*27 富士通社が1980年代末〜1990年代中盤に発売していた、 PC/AT 非互換アーキテクチャのパーソナルコンピュータ。マルチメディア指向が強く、当初から CD-ROM ドライブを標準搭載していた。

*28 スタンドアロン BASIC 環境の一つである、 FM TOWNS 用プログラミング言語

*29 前回の小波秀雄さんインタビュー の「生い立ちについて」参照。

*30 講談社が発行している、新書版の自然科学・工学関連一般解説書シリーズ。Perlish Magazine 20060401号の結城浩さんインタビュー参照。 http://web.archive.org/web/20070816191225/http://jp.rubyist.net/PerlMa/wiki.cgi?page=20060401-PerlishHotlinks

*31 マイクロソフト社の、GUI開発環境をともなったBASIC。GUIアプリケーションソフト開発を強力に支援する機能として、後述の「ポトペタ」がある。

*32 フォームやコントロールを GUI で配置する方式の俗称。

*33 自動定理証明をおこなうソフトウェア、システム (系) 。参考: http://ja.wikipedia.org/wiki/%E8%87%AA%E5%8B%95%E5%AE%9A%E7%90%86%E8%A8%BC%E6%98%8E

*34 初版の頃はアジソン・ウェスレイ・パブリッシャーズ・ジャパン(星雲社)から発行。現在は第 4 版で、 Ken Arnold, David Holmes, James Gosling 著、柴田 芳樹 訳、ピアソンエデュケーション、2007

*35 Andy Oram, Greg Wilson 編、 Brian Kernighan, Jon Bentley, まつもとゆきひろ, 他 著、久野禎子、久野靖 訳, オライリー・ジャパン, 2008. http://www.oreilly.co.jp/books/9784873113630/

*36 Software Transactional Memory (Shavi and Touitou, 1995)、略称STM。

*37 ジョセフ・N. ホール、ランドル・L. シュワォーツ 著、 Joseph N. Hall, Randal L. Schwartz 原著、吉川邦夫 訳、アスキー、1999

*38 a <= b => a のようなコード。

*39 Dependency Injection(依存性注入)の略。以前はIoC パターン(Inverse of Control)とも。

*40 関将俊さんインタビューの注釈も参照のこと。

*41 2011 年 9 月 24 日に、RC1 が出たところです。

*42 ダイナミックトレイス。システムを稼動させたままでプログラムの挙動を追跡する機能の表現 = 動的追尾から命名された。

*43 Probe point。プログラムの挙動を動的に(ダイナミックに) 追跡するため、システム内にデータ観測網を構築するという方法を取るのだが、それぞれの観測点を専門用語で「プローブ」と呼ぶ。

*44 Union = 和集合、合併集合。

*45 たこ焼き仮面、こと@tenderlove、こと Aaron Patterson 氏。 CRuby と Rails のコミッタ。

*46 日本Ruby会議2011の講演にて http://rubykaigi.org/2011/ja/schedule/details/16M01

*47 もともとは Linux カーネル内部のトレーシング (ある処理がどの関数等を通って実行されたかを解析すること) やプロファイリング (ある期間にどの処理がどれだけ実行されたかを解析すること) を行うツール。Linux カーネルだけでなく、ユーザアプリケーションの情報取得も可能なため、 DTrace のようにシステムを稼動させたままでプログラムの挙動を追跡するためにも使われる。

*48 増井俊之さんインタビューの「生い立ち」参照。

*49 インターネット利用で人生に充足していることを自認する人が、現実(リアル)の生活が充実している人を他者規定する俗称。

*50 1990年代に学研から出ていた『お嬢さま』シリーズ。

*51 「レズ(ビアン、Lesbian)・ゲイ(Gay)・バイ(セクシャル、Bisexual)・トランス(ジェンダー)」の総称の略語。GLBT順・LBGT順も同意。

*52 Transgender。性自認が社会的生活のなかでの性差処遇や慣例等と一致せず、性別の境を超えたいと願う人の呼称。好きになる人の性別(→性的指向)とは別の概念。

*53 『東京異端者日記』, 森奈津子, 1999, 廣済堂出版

*54 Transphobia。トランスジェンダーらに対する対するさまざまな嫌悪感のことで、表現されることもあれば内面化することもある。同性愛者などに対するホモフォビアと区別される。

*55 精神医学上の診断カテゴリ(すなわち、精神疾患として第三者が規定するもの)の一つであるGender Identity Disorder = GID (ICD-10 F64; DSM-IV-TR 302.85)の訳語。訳語として批判もある(たとえば垂水雄二『悩ましい翻訳語』では「性認識障害」「性意識障害」を推奨しているし、医学用語として「障碍」が適切とする意見もある)。DSM-Vのタイミング(2013年?)で広義の分類(性別違和感: Gender Dysphoria = GD)が採用となる可能性あり。包括的な成書として、山内俊雄(編著)『性同一性障害の基礎と臨床』がある。

*56 和製英語であることに注意。

*57 Yuguiさんのブログよりratio - irrational参照。

*58 IDM: Yugui さんの「古いサイト」(後述)。

*59 性同一性障害について

*60 現代の公開鍵暗号では、素数の性質が本質的に重要である。ブルーバックスの一松信『暗号の数理 作り方と解読の原理』初版(1980年)、改訂新版(2005年)の特に第5章参照。

*61 修士論文。大学院修士課程もしくは博士前期過程の履修者が過程終了時に提出する成果論文の総称。

*62 大成者・高木貞治の著書名どおり『代数的整数論』の一里塚。整数を一般化した「アーベル体」を、素数にあたる素因子の数論的性質で分類・統制する。縦書きの解説として吉田輝義『現代思想』2008年11月号「類体論と現代数学」・同2009年12月号「高木貞治と類体論の謎」がある。

*63 ここでは、修士課程学生の意

*64 「就職活動」の略語。

*65 就職は就職者と企業との私人対私人の関係であり、「私人間の法律関係は私人間の自由な合意や契約で定める」という私的自治の原則を優先し、憲法に定められた基本的人権規定は民法90条などにより間接的に適用されるべきだ、という観点から。三菱樹脂事件の最高裁判決(最大判昭和48年12月12日民集27巻11号1536頁)参照。

*66 Inversion of Control コンテナと Dependency Injection パターン

*67 東京都港区赤坂を中心に活動している (た?) 地域 Ruby コミュニティ。 http://web.archive.org/web/20100924050843/http://akasakarb.org/

*68 http://blog.livedoor.jp/faulist/

*69 株式会社パンカク。 http://www.pankaku.co.jp/

*70 株式会社パンカク取締役副社長の塚田真之介氏

*71 Ruby を使ってプログラムを書く人たちが情報交換を行うためのメーリングリスト。 http://www.ruby-lang.org/ja/community/mailing-lists/

*72 Ruby on Rails の解説書。邦題『RailsによるアジャイルWebアプリケーション開発』。現在は第 3 版で、Sam Ruby, Dave Thomas, David Heinemeier Hansson, et al 著、前田 修吾 監訳、オーム社、2009

*73 http://idm.s9.xrea.com/

*74 http://wiki.fdiary.net/rails/?RailsMeetingTokyo

*75 http://wiki.fdiary.net/rails/?Rails%CA%D9%B6%AF%B2%F1%A1%F7%C5%EC%B5%FE

*76 http://www.slideshare.net/yugui/rspecrailsbdd

*77 山崎大輔氏。詳細は大江戸 Ruby 会議 01 での発表を参照。 http://jp.rubyist.net/magazine/?0034-OoedoRubyKaigi01Report#l11

*78 http://scaleout.jp/

*79 http://wota.jp/ac/

*80 TRPG 「クトゥルフの呼び声」の用語で宇宙的恐怖を前にしたキャラクターが正気を保っているかを問われるゲーム上の過程

*81 継続的統合(Continuous Integration)。ここでは活動を支えるツールの話をしている。

*82 Rubyコミッタとして有名な田中哲氏。インタビューは http://jp.rubyist.net/magazine/?0008-Hotlinks

*83 akr さんの CI ツール http://cvs.m17n.org/viewcvs/ruby/chkbuild/

*84 ソースコードを介したコミュニケーションができる、 プログラマのためのソーシャルコーディングサービス。 https://github.com/

*85 分散型バージョン管理システム。 GitHub は Git により実装されており、本格的に活用するには git コマンドを覚える必要がある。

*86 分散型バージョン管理システム Mercurial のこと。元素記号 Hg は水銀 (mercury) を表すため。

*87 横井勝氏。山崎氏のYahoo!時代の同僚で、スケールアウトの開発に参加している

*88 http://d.hatena.ne.jp/ku-ma-me/

*89 小崎資広氏。参考: http://jibun.atmarkit.co.jp/ljibun01/cs/201009/02/01.html

*90 開発最新版 (Trunk) のこと。

*91 RubyKaigi 2011 の発表「CRuby のロックデザインの解説および改善案について」参照。 http://jp.rubyist.net/magazine/?preRubyKaigi2011-02#l21

*92 Lazy Sweep GC が入りました。 参考: http://rubykaigi.org/2010/ja/events/7

*93 1 つの Ruby インタプリタ上で複数の VM を稼働させる機能。参考: http://www.atmarkit.co.jp/news/200801/10/sun.html

*94 組み込み向けの Ruby 実装。参考: http://el.jibun.atmarkit.co.jp/rails/2011/09/ruby-786d.html

*95 標準のメソッド名などをうっかりユーザーが定義したメソッドで上書きしてしまう「名前衝突の問題」を解決するための仕組みの一つ。

*96 名前衝突問題の解決には、 Refinements の他にも Classboxes や Method Shelters などが提案されている。

*97 『抽象によるソフトウェア設計−Alloyではじめる形式手法』 Daniel Jackson 著、中島 震 監訳、今井健男・酒井政裕・遠藤侑介・片岡欣夫 共訳、オーム社、2011

*98 http://web.archive.org/web/20060217201227/http://www.jong.gr.jp/shachi/tdiary/

*99 http://jp.rubyist.net/magazine/?0004-Hotlinks

*100 「魔法少女 まどか☆マギカ」 http://ja.wikipedia.org/wiki/%E9%AD%94%E6%B3%95%E5%B0%91%E5%A5%B3%E3%81%BE%E3%81%A9%E3%81%8B%E2%98%86%E3%83%9E%E3%82%AE%E3%82%AB

*101 「侵略! イカ娘」 http://ja.wikipedia.org/wiki/%E4%BE%B5%E7%95%A5!%E3%82%A4%E3%82%AB%E5%A8%98

*102 「少女革命ウテナ」。「輪るピングドラム」の幾原邦彦氏が監督を務めた http://ja.wikipedia.org/wiki/%E5%B0%91%E5%A5%B3%E9%9D%A9%E5%91%BD%E3%82%A6%E3%83%86%E3%83%8A

*103 性分化に関わる遺伝子における雌雄の差異

*104 新宿二丁目。日本最大のゲイタウンであり、LGBTが集まる

*105 https://github.com/asakusarb/

*106 最年少の Ruby コミッタ。参考: http://jp.rubyist.net/magazine/?0033-ParallelizeTestAll

*107 http://wota.jp/ac/?date=20100426#p01

*108 野次馬で参加の松田さん。詳細は大江戸 Ruby 会議 01 での発表を参照。 http://jp.rubyist.net/magazine/?0034-OoedoRubyKaigi01Report#l2