Rubyist Hotlinks 【第 8 回】 田中哲さん その3

インタビュー(3/3)

[ 1 2 3 ]

興味を持っているテーマ

笹田 今一番興味を持っているテーマは?

田中 今? signal ですかね。

笹田 (笑) また局所的な。

田中 非常に難しいので。

笹田 例外時の処理一般って話になるんですかね?

田中 いや、そういう意味では。あーまあ用法としてはそれも入りますか。一番難しいのは signal と IO が絡んだときですかね。それをどういう風にやったら幸せになれるか。だから、いまちょっと約一人不幸になってるわけで、やはりデフォルトでもっと幸せな挙動がいいと思ってるわけですが。

笹田 えーと、要するに Ruby とかではなくて、そういう問題一般についてですか?

田中 いや、Ruby です。Ruby の signal handling について、いまの 1.9 は、デフォルトではちょっと不幸せなので、もうちょっと幸せになれるといいなあと。ただ幸せになるために、何を捨てられるかってのが問題ですが。何を捨てるかという決断はすごく難しいわけですね。で、何を捨ててどういう仕組みにするとどこまでいけるかを考えています。完璧に直すのが難しすぎるのはわかっていて、完璧に直すためには、さっき話に出ましたが、ユーザースレッドライブラリと同じようなことをしなくちゃいけなくて、nonblocking IO が絶対必要といってもいいので、そうすると他のプロセスに迷惑をかけてしまう。つまり迷惑をかけないという性質を捨てないといけない。それだとちょっとまあ不幸なことが起こるんで、もうちょっと大体において動いてかつ大体において幸せになれる、かつちょっと細工をすれば完全に幸せになれる解がないかなと思ってます。

笹田 なるほど。その辺の模索をされてると。

田中 まあ、常に考えてますね。他はなにかなあ。

思いつきレベルでよければ。しばらく前に SQL1 を使って感動したことがあって考え付いたことがあります。感動したっていうのは、SQL って言語はちょっとなんなんですが、index に感動したんです。SQL で扱うのは要するには表なんですけど、表に index というものを付けられて index を付けるとすごく速くなる。で、そのときにそういう高速化をするときに index を付けても付けなくても SQL の意味が変わらないというのが保障されていて、プログラムが壊れない。そこに感動して、言語のレベルでそういうのが使えるといいなあと思いましたね。

笹田 その index の仕組みがわかんない。あーいや細かいことはいいですけど。

田中 別にそんな難しい話じゃなくて、index っていろいろあるんですけど、まあたとえばテーブルってのが配列の配列だと思うと、あるいは struct の配列だと思うと、何かサーチするときに線形探索しかできないわけです。これは遅いですよね。index というのはそれに対してたとえば横にソートされた tree が付くんですよ。だから「この field の index」っていうとその field でソートした tree が横から付くわけ。

笹田 tree 自体が index っていう……

田中 そうそうそう。線形探索か二分探索かというのは SQL の中には書いてなくてどっちでも動く。そういうデータ構造を変えるのは普通大騒ぎなんだけど、SQL ではそういう高速化っていうのは抽象化されてプログラムの中には入ってなくて、付加的に付けて高速化できるのでそれはすごいと思いました。

それに対して例えば Ruby では配列と Hash を使い分けたり、そういうのを自前でやらないといけないわけじゃないですか。あるいはたまに双方向でこっちからあっちへと、あっちからとあっちっていう両方向の Hash がほしいことがあるけど、それは提供されてなくて Hash を二つ作ってそれをメンテナンスするわけですよね。あっちに代入したらこっちにも代入しなくちゃいけない。めんどくさい。でも SQL だったら、ていうかああいうテーブルみたいな構造だったらいいなあと。で、だからテーブルみたいな構造だったら Hash も Array も全部融合して使ってもいいんじゃないかなあと。

Ruby って基本的なデータ構造は Hash と Array がありますよね。これは Perl も同じなんだけど、別にこうでなければいけないというわけではなくて、例えば Hash だけでもいいわけです。例えば awk はそうで他には Lua もそうかな。

笹田 JavaScript もそう。

田中 それでもいけなくはない。別に逆に配列だけでいけないかっていうと、別にそんなことはなくて、C はそうやってるわけですよね。まあ struct もあるか。あるいは極端な話、配列の長さがすべて 2 であってもいいわけですよね。Lisp のことですけど。Lisp ではそれを cons cell と呼ぶ。でももっと他のものでもいいと思うわけです。例えばいきなりそこに SQL のテーブルがあってもいいと思う。プリミティブなデータ構造としてテーブルを持つと。Hash という index を付けると Hash っぽいスピードになって、両方向でアクセスしたければ Hash を二つ index をつけるとか、まあそういうのもあっていいかなあと。

笹田 全部 ActiveRecord でやりなさいとか。

田中 そういうライブラリレベルの話じゃなくて根本的なところ、全部データ構造がそれだという言語がほしいなあと。でかつ、そういうテーブルはデータベースに入れて persistent に保持できる。そういうのがあったらいいなあと、しばらく前に妄想しました。妄想したからといって作るかっていうと別問題なんだけど (笑)

笹田 そんなことを考えながら生活してると。

田中 うん。いやほんのちょっとした思い付きですが。

江渡 SQLite は標準添付したほうがいいんじゃないかと。

田中 いきなり妄想から現実的な話になりましたが、それはそう思いますね。

江渡 なんか persistent な記憶が、Marshal を write して、PStore 使ってることが多いんだけど、あれ非常に不幸になることが多いような気がしていて。それよりかはなんか persistent な記憶はそういった標準化したスタイルにしちゃって、SQLite がもともと含まれているっていうのが美しいんじゃないかなと。

田中 それがいいと思います。SQLite は幸いなことに public domain でライセンスの問題がないので。それはぜひって感じですね。ただ binding は最近一個出てきたんだけど、あれなんか dl ベースでさぁ。それがちょっと。やっぱ native なのを期待したいところです。

江渡 XML 対応みたいのも言語レベルというか、データ型として持ったほうがいいじゃないかあ。

田中 あー、XML はどうなのかなあ。あ、理論として正規表現型どうこうとか話がありますからねえ。

個人的には pathname 型がほしいわけですけど。

pathname の理念

田中 なぜ Ruby はオブジェクト指向でないのかと。ファイル名に関して。

笹田 pathname ってそんな話ですか?

田中 うん、これは理念の話です。もちろん理念とは別にオブジェクト指向だと便利だというケースはたくさんあるんですが。

IO と File ってクラスメソッドがすごく多いですよね。それがなんでかっていうと、手続き指向で pathname を文字列として扱ってるからで、だいたいあのへんは pathname をオブジェクトとして考えてやると、そのインスタンスメソッドになれるわけですよ。実際 pathname.rb はそうやってるわけですけど。

笹田 あんまり使われてないですよね。

田中 まあ使いにくいからね。それに使わなくても動くし。なんでそれが標準になってほしいかというと、さっきも話に出ましたが VFS で、VFS ってようするにいろんなものをファイルシステムっぽく扱えるということなわけです。例えば普通のファイルシステムがあって FTP があって HTTP があって、まあやりたいものはなんでも。そのために Tcl とかはもう VFS の機構、つまり切り替えのディスパッチを言語に組み込みで持っちゃった。でも、別に OOP であればメソッドディスパッチ機構を VFS のディスパッチ機構として使ってもいいんです。そのためには例えば pathname オブジェクトの open メソッドを呼べばファイルが open できる。あるいは HTTP の URL の open を呼べば HTTP でアクセスできる、ってやればいいじゃん。

これ比較的自然なアイデアだと思うんだけど、そのためには pathname が文字列であると困る。だから pathname オブジェクトがほしくて、もちろんライブラリは実装できて、したわけですけど、Pathname.new とか書いてるのではその文字列に長さで勝てない。だから pathname はリテラルのシンタックスがほしい。リテラルのシンタックスにすると同じような長さで書けるようになる。もうちょっと短かったかな。そうすれば長さで短くなるから勝てて、宣伝しなくても使ってもらえるようになる。

笹田 (笑)

田中 宣伝のコストは非常に高いんで、やりたくない。

笹田 なるほど。

田中 Kernel#URI() を導入してもらったのも同じ理由で、これは 1.8.2 かな。

笹田 あーもう入ったんですかあれ?

田中 えーと、結構前に入れたから、確か 1.8.2 だと思います。

笹田 結局どうなったか知らなかったので。

田中 あれは入れましたよ。入れた結果、URI(文字列) とやると URI オブジェクトになる。URI.parse と書かないでいい。

江渡 知らなかった。

田中 それはまあ、宣伝してないんで (笑)

それはここで宣伝しておきましょう。

URI("http://jp.rubyist.net/").read

とかできるようになった。

これは

open("http://jp.rubyist.net/").read

より 1文字短いし、close を GC に頼らないのでぜひ使いましょう。

田中 これは 1.8.2 で、1.8.3 には readpartial を入れるんだけど、これの宣伝はいっか (笑) 必要なときには見つかるでしょう。なければどうしようもないんで。

だいたいマイナーバージョンあげるごとに一個ぐらいメソッド入れてるんですけど、1.8.1 はたしか Regexp.union ですよね。Regexp.union はたまに使ってる例を見ますね。たくさん使われてるってほどじゃないかな。うん。

田中 じゃあこの調子で一個ずついれるとすると、1.8.3 にはもう入ってるから、1.8.4 には何を入れるか。

笹田 なにかあるの?

田中 なにもないんですが (笑) 1.8.4 がいつ出るんだというのもありますが。それは 1.8.3 もですけれど。

1.8.3 リリース予想

笹田 1.8.3 は 4 月中にでるんじゃなんですか?

田中 4 月? いま 4 月の頭ですよね。

笹田 この号がでるころにはきっとでてるはずだということで2

田中 さあ。どうなんでしょうね。リリースの時期について予測してみますか。

笹田 なんかね、このあいだ、オープンソースカンファレンスのときには 4 月中に出そうみたいな話はされてましたが。

田中 ふーん、まだその気なんだ (笑) だって、予定では 3 月中にプレビューを出すという話で、とうぜんぜんぜん出てないわけですよね。少なくとも 2 週間くらいは。

笹田 もう忘れてるんじゃないかなあ。

田中 そうかもしれないし。きっかけを待ってるのかもしれないし。

笹田 たぶんこどもの日までにでるんじゃなかろうかと私は思うわけですが。予想。

田中 こどもの日、うーん。可能性としてはひとつ飛ばすって可能性がありますよね。つまり 1.8.4 に関しては記念日リリースということで、なんだっけ、むこうのカンファレンスの間に出すという話があって。

笹田 そうなんですか? OSCON ?

田中 そうそう。それの間に出すって話があって。3

笹田 あそうなんですか。8 月ででしたよね確か。

田中 ちょうどでしょ、4 月に出れば。でもこの調子でどんどんずれてけば、

笹田 そこに 1.8.3 が来る?

田中 かもしれない。

笹田 なるほど。

田中 だいたい、最初に言ったらその倍くらいを見込むというのが、普通では。

笹田 まあ 1.8.2 も 8 月でしたからね確か。もうちょっと前でしたっけ。

田中 それは覚えてない。

笹田 田中さんはいつだと、1.8.3 のリリース? 私は 5 月のこどもの日まで。

田中 これは出るのは 6 月でしたっけ?4

笹田 だからえーと、私があってたかどうかの答えは出てます。

田中 だから 4 月にでるか、7 月とか出さないと思うわけですよ。7 月に出すんだったら 8 月に出すんじゃないかと。6 月とか、6 月だったらでるか、うーん。

笹田 (6 月は) 祝日ないし。

田中 いや別に、4 月に出るか 8 月に出るかじゃないですか。じゃあ 8 月にしておくか俺は。

笹田 ちなみに江渡さんは?

江渡 わかりません。

田中 まあこういう場合、金は賭けませんが賭けるとしたらどうしますかね。出そうになったら毎日バグレポートを復活させるとか (笑)

一同 (笑)

笹田 なるほど。

田中 うん。いやあでもバグレポートを出してもクリスマスには勝てない5んで。

笹田 うん。

江渡 確かに。

笹田 ちなみにまだバグ袋みたいなのはあるんですか?

田中 バグ袋ですか。どうだったかな。

笹田 どうだったかなって、探しどころがあるんだ (笑)

田中 再現するやつはないですよ。でも core を吐けそうなネタっていうのはいろいろ集めたので。

笹田 まだあるんだ。

田中 別に、つねに何十個も持ってたわけではなくて、ほんのいくつかしか再現可能なやつはバッファしてないんですよ。再現可能なバグのバッファが空になりそうになったら次を探すという。今は再現可能なやつはないんじゃないかな。もちろんそれは、それ以上深追いしてないという意味以上ではなんだけどさ。

うん、メモに書いてある。たとえば StringValue() で callcc とか num2xxx で callcc とか。リリースされそうになったらどんどん送るか。

笹田 まあお金は賭けないので。

田中 賭けないというかあんまり気にせずに。たぶんそういうめんどくさいことはしませんし。

生活のスタイル

笹田 テーマの話からまたずいぶんと飛びましたね。えと、普段の生活のスタイルは?

田中 昼までには出勤しようと思ってます。実際その目標は達成してます。

笹田 帰るのは?

田中 帰るのは結構遅いですよ。

笹田 このくらいの時間までは結構いる?もう 22 時ですけど。

akr11.jpg 田中 まあ 22時近くまでいることは珍しくないですね。

まあ、それだけかな、朝、とは言いがたい時間から、まあ PC、ノートを机に置いて、ネットワークに繋いで起動して。で login prompt が出るので login して、X を起動して、ssh-agent に鍵を登録して、五月雨を起動して、IRC のログを less で F コマンド 6 で terminal に垂れ流し、それから、mbox も垂れ流しにする自作のコマンド起動して、それから、ここ最近は Gmail を起動するために Mozilla をいきなり起動し。

笹田 Gmail 使ってるんですか

田中 うん。メーリングリスト用ですけど。個人的なやつは Google には送ってない。

で Gmail を起動してメールを片付ける。片付けるっていうかまあ、ML のやつをざっと眺める。それから emacs を起動して、個人宛のメールを読んで、それがまあ、一日のっていうか、職場での始まりかな。IRC もチェックしますよ。まああんまり発言しないのでなんですけど。

笹田 これで一日の終わりですねって言われたらどうしようかと思った。

田中 それで一日が終わりますって?

笹田 そう。

田中 うむ。

まああとは仕事。問題は仕事が何かというのを把握、認識することですね。まあ仕事が把握できていれば、その仕事をする。たとえば今であれば論文を読みまくるという。

笹田 そうなんですか。

田中 LC2005 の査読用に。

笹田 論文の話だとこの間 diff がどうのって言ってた7から。

田中 あれは別に何にもしてませんね。

笹田 出すって言ってたのに。

田中 出したいなーと。でもまあちょっと、良く分からない。

笹田 忙しくなった?

田中 いや論文書くの嫌いなんですよ。

笹田 いやまあ、あまり好きな人いないですよ。

田中 いやまあ、佐藤一郎先生8なんか好きそうですけど。

笹田 そうなんですか。

田中 まあその方はですね、去年度の

  • 海外論文誌採録出版済みが 2 本
  • 採録済みで出版予定が 2 本
  • 国内論文誌が 5 本
    • この中の和文論文誌が 2 本
    • 英文の論文誌が 3 本
  • 国際会議が 6 本

……というような人もいますので。

笹田 なんの人でしたっけ。

田中 Computer Science の。だからまあこの業界、情報の業界ですけど。まあそういう人もいますので。

笹田 いやぁ。凄いですね。

田中 凄いですねえ。ちょっとこの人の日記は読んでると欝になりそうなんだけど。こっちがね。

笹田 書かなきゃなって。

田中 ああこんなに、凄いなあと。それに比べて自分はなんてダメなんだ。

笹田 田中さんでもそういうこと思うんですか。とかいって、これは失礼か。

田中 うーむ。アカデミックなほうに対してあまり出ていないので、そういう意味ではまあいろいろと。考えるというか、ああ自分ってダメだなと思いますけど。

逆に言えばそうではない分野にいくべきではないかという気はしますが。そうではないというか、たとえば今回えーと、Ruby の IO 機構の改善を、一応論文にまとめた9のですけど、これが結構楽しくてですね、「あー、論文書くの、こんなに楽しかったんだ」っていう感覚を覚えたので。まぁ、やっぱり、こういう風に楽しく仕事できないとな、と。やはり楽しく書けるネタを扱うべきであろう、と考えております。そういう意味ではどの辺をネタにするか、という問題ですね。

並行うんぬんってていう論文10を書くとき、楽しいですか?

笹田 あんまり楽しくない (苦笑) とか言ってみる。

いやぁ、楽しいですよ。研究自体は楽しいよ。

田中 YARV の論文、書いたっけ?

笹田 なんだっけプロシンには書いたけれど。カンファレンスだから論文とはいえない。

田中 どっちが楽しかったですか?

笹田 YARV の方がラクでしたね。楽しいよりか、ラク。

田中 ふーん。

笹田 「書く」場合だと、楽しいかどうかはちょっとわからない。

田中 まぁ、楽しい割には今回のは時間がなくて、つめきれなかったんだけど。江渡さん、論文書くの楽しい?

江渡 じぇんっじぇん (笑)

田中 おぉー。

笹田 論文とかよりも、作品っていう感じなんじゃないですか?

江渡 その、産総研的には論文も書かないと。

笹田 あーそうか。

江渡 さっき11言ったように、そうじゃないものと、そうなものと二種類あるからねえ、でもまぁ、難しいよね。役に立つものはそれだけでいいかっていう問題が。

田中 うん、まぁ。でも自然言語で説明しないと分からないところもありますんで。

江渡 ありますね。

田中 まぁ、そういうのは、まぁ今のところ論文、ですかね。

江渡 うんうん。

田中 まぁ、今回のケースで言えば、「なんで stdio は都合悪いんか?」っていうのは、ソースを読んでも分からないと思うので。

笹田 なるほど。

江渡 自然言語で表現するのがいやなのは、テストケースが書けないからですね。

一同 苦笑。

江渡 間違っているところを自動化してほしいんですね。

田中 あぁ、確かに。

江渡 論文読んでさ、間違っているって指摘されるのは全然結構なんだけど、誰かそれを自動化してほしいんですよ。

田中 うん。

笹田 それがあれば、論文投稿というのは、自動化するんじゃないでしょうか? (笑)

江渡 他人がやってるわけですねぇ。それを他人の助けなしでできるようになってほしい。

田中 いきなり話は若い頃に戻りますけど。レポートを書くときに、一時期自動化に凝っていました。自動化っていうかな、実験で計測した値をもとに計算をするわけです。で、計算をした結果を TeX12 で生成するわけ。で、表を生成するのはいいんだけど、どんどんこれが進んでいくと、結果の考察とかにうめこむ「何か平均が xxx で……」なんていう文章内の数値まで生成するんですね。で、ここまでやって分かったことは「こっちの平均が xxx で、こっちが yyy、だからこっちの方が大きい……」とか書いてあるんだけど、データを変えて生成しなおしても日本語は変わらないということです。つまり、データを置き換えれば再利用出来るか?っていうと、データを置き換えて、例えば平均の大小関係が変わっても文章はさすがに変化しないのでだめなわけです。そのことに気づいて、むなしくなってそこまではやらないことにしました。そこまでやるのはあまり意味がないなぁ、という結論に達しまして。

そういうことやると、プログラム書いてんだか、レポート書いてんだか、わかんなくなっちゃう。つまり、プログラムを書いていると、プログラムのデバッグに時間がかかって、いつまでたってもレポート本体が、っていう。

江渡 よぉーく、わかります。

田中 いやー、あの頃は誤差とか有効数字を考慮して計算したりとか、いろいろとやって、なんかバグったりしてさぁ。どの段階であきらめて、日本語を書き始めればいいのか、というのが非常に問題でしたね。

笹田 なるほど。

江渡 僕は昔ね、あちこちのフリーソフトをインストールするってなことをよくやっていたんですよ。netpbm とか、そういったツールがあって、その時授業の TA もやってたから、あちこちのマシンで使えるようにしなくちゃといけないから、いろんなアーキテクチャのマシンでコンパイルしてはインストールしていた。そういうことをしていたけど、凝り性だから、シェルスクリプトを書いて起動すると、自動的に 7 種類のアーキテクチャからそれぞれにリモートシェルで入って。

まずはじめに FTP で自動的に GET したかな。それで、ファイルを 7 種類用に展開して、それぞれのマシンでコンパイルして、自動的にある一カ所のところにインストールして、とりあえずパッチを当てないと動かないから自動的にパッチを当てて。

田中 おぉ。

江渡 で、インストールしてそれで自分自身を消して、消滅する、というようなシェルスクリプトを書いてました。

田中 成功すればいいですよね。失敗した時が大変じゃん。

江渡 あの、自分自身のシェルスクリプトまではやらないで、tar ball の展開をして。

田中 あ、いや、コンパイルとか、何かの拍子に失敗する。

江渡 そう、失敗するんですよ。

田中 いや俺も、アーキテクチャじゃないけど、JAIST で、まだ ssh が学校標準のところに入っていなかった時に、ワークステーションに沢山 ssh を入れましたけど、でもね。これが大変で。失敗したりするわけですよ。なぜか (笑) ssh の場合は鍵の生成に失敗することがあるんですけど。で、そこが部分だけ失敗すると、何かうまくいかないとかありましたね。

あと、そういうので厄介なのは、まぁ、しょうがないんだけど、ログインするときのパスワードの問題があったかな。どっかに書いておかないといけなかったりとか。だって、ログインしないとダメじゃん。それをしかも root で入らないといけなかったりする。

笹田 それを何十台も同様に?

田中 いやー、だから、機械化するためにそれをやるんだけどね。機械化するためには、書いておかないといけないから。

笹田 あー、なるほどね。

田中 だからそのころにまぁ、いろいろと調べて、例えばシェルスクリプトでやってもいいんだけど、機械的にやるために expect とか、あるいは xlax13とかいろいろ試しましたね。えーと、複数のマシンで同じことをやるにはどっかで分岐させればいいんですよ。で、分岐させるシステムって、いろんなレイヤでいろんなものがあって。例えば、X のイベントで分岐させる、というのがあるんです。kterm をいくつか起動して異なるマシンにログインしといいて、xlax というのでキーボードからの入力イベントを複数の kterm に伝えるわけです。ただこれが不安定で。不安定っていうか何か、タイミングとかあって。こっちで成功しているのに、あっちで失敗するとかあって、嫌でした。

まぁ、expect がマシなんだけど。マシっていうかな。でも、tty をベースにすると、やっぱり、何かとトラブルが、起こりますね。

ただ、インストールは今やあまりしないなぁ。

江渡 しないものですねえ。

田中 まぁ、それに、江渡さんは違うかもしれないけど、Debian とかだとだいたいはパッケージで済むし。まぁ、それでももっと試したほうがいいって気はしますが、いろいろヘンなものを。どんなものを試したかな……。

趣味としては、いまは全然やっていないけど、バカバカしいソフトを集めていた、とかありましたね。デスクトップ・アクセサリを一時期、ずいぶんと集めていましたね。有名なやつは、Emi clock とか。あるいは、「みかん星人」はどっかで見ただけで、何か収集しそびれたんだけど。何か動き回るのとか。まぁ、いろいろそういうアクセサリを集めていたことはあります。

仕事とプライベート

笹田 そっちの話にきたので。仕事とプライベートの両立は?

田中 プライベートって、何でしょうね (笑) あるいは、仕事って何でしょうね。って言ってもいいんだけど。ないかな。特に私の場合、独身だから。本当にないかな。

笹田 家と、家でやっていること、全部変わらないですか?

田中 変わんないですね。あ、まぁ、ちょっと違うか。えーと、職場では本やマンガはあまり読まない。

笹田 (笑) 「あまり」なんだ。

田中 あまり。読まないわけではないからなあ。あんまり読まないッすね。

江渡 えーと、家では読まないけど、会社で読むのは「ジャンプ」。

一同 (笑)

笹田 えーと、ふだん家では何をしているんですか?

田中 家で? 眠っていることが多い。

笹田 じゃあ、ほとんどこっちにいるってこと? 起きている時は?

田中 そういうわけでもないけど。あ、まぁ、家で何をやっているか。まぁ、大体布団に入ってますけど。あるいは、出かけることもありますね。大体本屋に出かけるんだけど。それぐらいかな?

笹田 髪は切らないんですか (笑)

田中 髪ですか。あまり切るとか切らないとか気にしない

笹田 散髪行ってます?

田中 行ってない

笹田 ですよね。何年くらい行ってない?大学入ってから?

田中 いや、大学院からですね

笹田 大学院から。Ph.D 取ったら切るっていう噂を聞いたんですが

田中 そういう噂は聞いた事がないですね

笹田 あ、そうなんですか

趣味

笹田 まぁ、じゃあ、えーと、次は趣味の話。本はやっぱ、ラノベ?

田中 ライトノベルとマンガですね。

笹田 何かおすすめとか、いかがですか?

田中 たとえば、ここ 20 時間くらいで読んだのは『マルドゥック・スクランブル』14か。今週だと何だっけ。『さゆリン』15かな。これはマンガだけど。これが月曜くらいでしょ、今週のアタマですね。

で、先週になると、そうか、月初めだから、コバルトかな? 2 冊買ったからな。『マリ見て』16とそれから、『緑のアルダ』17を読みましたね。それと、スニーカー18があって、『ハルヒ』19と、それからもうひとつが、『のえる』 20か。えー、その前になると、もう何か、もう記憶が曖昧。

笹田 特に何が好きっていうのは?

田中 それはヘンな趣味ではないよ。例えばごく普通に、えーと、小川一水とか、野尻抱介とか、好きですよ。小川一水なら『第六大陸』21とか。あるいは野尻抱介なら、えーと、まぁ、『太陽の簒奪者』22みたいな難しいのはちょっと趣味から外れます。別に読まないわけではありませんが。

笹田 なるほど。

田中 あるいは『ハルヒ』とか『のえる』は好きですよ。わかんないか。

笹田 きっと高橋さんがいればいろいろ言ってくれたんでしょうが。

田中 あぁ、そうでしょうか。そうでしょうね。で、じゃあ、『‘ミナミノミナミノ’』って、わかんないか。いや、絶対わかんないよね。えーとこれは、『E.G.コンバット』23 の人ですけど。

笹田 漫画?

田中 いや、違います。秋山瑞人は、電撃文庫の。

で、新作で『ミナミノミナミノ』ってのを書いて、えーと、まぁ『イリヤ』24、みたいなやつですけど。

笹田 ふーん。

田中 これは結構前かな。電撃は結構読みますね。あと、ファンタジア文庫も結構読みます。ファミ通文庫も結構読みますね。で、何というか 角川にやられているって感じですけど。どう考えても。しょうがないから角川でないやつをあげてみますが、コバルトとかだと、2 つのシリーズくらいしか読んでないんですけど。さっき言った『マリ見て』とか『アルダ』ぐらいかな。あとはビーンズ25は『彩雲国物語』26が結構好きかな。あとは、あー、MF 文庫 J とか。

他には何だろう。あぁ、マンガでは、西川魯介27とか好きですよ。

笹田 誰?

田中 メガネフェチとしてよく知られている人です。最近は高専が舞台のを書いてますね。あと、清水文化は好きですよ。これは、マンガじゃなくてファンタジア文庫だけど。他には何かな。あぁ、アンテナに入っている人ってのはあんまり多くはなくて。

笹田 なるほど。アンテナがあるんだ (笑)

田中 だから、五月雨を運用しているわけですよ。公開してませんが。てゆーか、ノートで動かしているから公開しようがないんですが。

笹田 それの作者のホームページですか?

田中 えぇ、作者のホームページ。ホームページとか日記とか。あと新刊情報も。

笹田 なるほど。本の話をしていたら終わらないですね。えー、他、趣味。スポーツはしない?

田中 しない。

笹田 見ない?

田中 見ないね。

笹田 ゲーム。

田中 しない。しないなぁ。あ、いや、手持ちぶさたになると、えーと、hextris をしてしまうというクセはあるなぁ。

笹田 そういうのがあるんですか?

田中 6 角形のテトリスみたいなの。

笹田 音楽。

田中 聞かない。そう、聞かないんですよ。

笹田 おぉー。映画。

田中 映画? たまにアニメを見ますかね。あぁ、実写は最後に見たのは何かな、少林サッカーかな。

笹田 おぉー (笑) アニメだと何?

田中 アニメ。イノセンスは見ましたけど。他にあるかな。その前はもう、ちょっと、よく覚えていないなぁ。

笹田 なるほど。

田中 あぁ、ハウルの動く城見た。でも、全然関係ないっつーか、参考にならないもならない気がする。定番すぎて。

笹田 いや、別に、奇をてらわなくても。ここで。じゃあ、そんな感じで。

田中 うん。

マシンのスペック

笹田 えーと、じゃあ、使っているマシンのスペックを教えて下さい。そのマシンですか?

田中 うん。そろそろ変えようとは思っているんだけど。

笹田 メインマシンですか?

田中 えぇ。メインで使っていますよ ThinkPad X30 ですね。

笹田 次も ThinkPad ですか?

田中 うーん、ですかねぇ。

好きな女性のタイプ

akr32.jpg 笹田 好きな女性のタイプは?

田中 まぁ、そういうのと巡り会えればいいですねぇ。

笹田 いや、ここでね、田中さんが初めて妻帯者でないんですよ。

田中 おぉ。

笹田 だから、面白い答えを期待しているんですよ。

田中 えー、いや、私に聞かれても、っていう感じかなぁ。

笹田 うん。

田中 いや、わかんないんで。

笹田 特にないと。

田中 ないですね。

笹田 気の合う女性がいれば。

田中 うん。まぁ、いればいいですねぇ。

笹田 なるほど。Ruby 使ってないとダメとか。

田中 さぁ、どうなんでしょう?

笹田 プログラムしてる人じゃないとダメ?

田中 いや、わかんないですよ、そんなの。全然考えてない。

笹田 なるほど。他に何かないですか?

田中 ないですね。

一同 えー。(不満)

田中 えー、じゃあ、笹田さんの趣味を書いといて下さいよ。

笹田 えー、だってこれ、インタビューしている人に聞くんだもの。

田中 いいじゃん、別に。インタビュアーとインタビュイーの変更。

笹田 いやいや、それは私がされる時になれば考えますよ。それは。

田中 うん。

笹田 来年の 4 月じゃ、やるかもしれませんけど。

田中 うん、わかりません。

笹田 あぁそうだ、だれも (インタビューに) 行く人がいなくなったらやるんだ。そうそうそう。それでおしまいってことにしたいんで。

田中 ふーん。

笹田 じゃあ、まぁ、好きなタイプはそんな感じで。

田中 うん。

笹田 特にないと。うーん、まぁいいか。好きなタイプをメソッドにたとえると?

田中 無理です、そんなの。

笹田 いや、何でもないです。

今後の展望

笹田 今後の展望とか、将来の夢とかは?

田中 うーん。近視眼的なので、ないですね。

笹田 ふーん。将来なにかこんなの、とか、何か作るぞ、とか、何になるぞ、とか、ない?

田中 まぁ、例えば、えーと、何をって言えばいいんでしょうね。ノーベル賞をとるとか?

笹田 そうそうそう。

田中 ないなー。

笹田 pathname が普通に使われるとか。

田中 まぁ、そうですかね。

笹田 VFS がどうとか。

田中 うーん、うーん、何でしょうねぇ。展望?

WebApp と HTree をつけるとか。

笹田 なかなか近視眼的な気がしますが。まぁ、そんな感じで。

田中 まぁ、特にはない。

Rubyist の輪

笹田 えーと、江渡さんとのご関係は? 同僚ということになるのでしょうか? こういう場合。

田中 まぁ、それで適切なんじゃないですか。別に昔から知っていたわけではないです。

江渡 何か、Ruby/CHISE の時に一方的に何かこう、自然とそういう流れになったのか、UTF-2000 についてちょっと書いてもらって、参考になるなあと。

田中 あれは違いますよ。そうか、言わなかったっけ?あー、言った覚えがないな。あの長いメールですよね? (ruby-dev:11450)

江渡 うん。

田中 アレは別に、UTF-2000 ではないですよ。あれは俺が考えた話で、あれ自身は UTF-2000 ではないです。

江渡 でも、逆の言い方をすると、あの UTF-2000 は何か、さっぱりつかめなかったのが、あのメールを見てから、つまりこっちの方向に進化するといいんだな、っていうことなんだってことを考えて、つまり現状はこうなんだっていうことでようやく理解した。

田中 うん。

江渡 ので参考になりました。

田中 うん。あのメールはねぇ、けっこう苦労してかいたんです。あまり具体的な話にはつながらなかったんですけどね。

江渡 具体性とかはね、また別の問題ですよね。

笹田 何かそういうやりとりがあったと。

田中 これは ruby-list か -dev か忘れましたがどっちかで。まつもとさんがフォローしましたけど。「いや参考になりました」って。いや、いいんですけどね。

で、次は中田さん、ということで。

笹田 中田さんに何か聞きたいことありますか?

田中 うーん。なぜ、俺との比較で言えば、「なぜパッチを作ることに対して情熱を燃やせるのか?情熱をかけられるのか?」

笹田 はい、わかりました。

田中 あと、「パッチ袋はどこにあるんですか?」

笹田 (笑) はい、わかりました。

若い人へ向けて

笹田 えーと、後進の指導は?

田中 えーと、あんまり。多分、へたくそです。あんまりしないです。いや、一応下っていうか、指導すべき立場には一人いるんですが、ほったらかしというか。

笹田 自分でやって?

田中 まぁ、自分でやってね、って感じかな。良くないですね。

笹田 若手の方へ一言。

田中 若手の方? どういう人を想定すればいいのですか? 笹田さんみたいな人?

笹田 それでもいいし、もっと若い人でもいいし。

田中 若い人。そうだなぁ。なんなんだろう。まぁ、やりたいことをやればいいんじゃないですかねぇ。

笹田 はい (笑) えーと、他に何か言いたいこと、ある?

田中 うーん、まぁ、ないですかねぇ。

Rubyist へ一言

笹田 最後に、読者の Rubyist の方へ一言。あれば。

田中 えーうーん。新部さんなら、ハッピーハッキングでしめるんだけど。

笹田 うん、

江渡 あ、それだ。

田中 まねをすればいいんですかね。うーん、じゃあ、読者ねぇ。「るびま」って、だれが読んでいるんですか?

笹田 俺の日記にコメント書く人。

田中 うーん、Ruby 以外のものを使ったらどうでしょうか? いろいろ複数のことを知っているにこしたことはない、と。

笹田 それでいい?

田中 いいんじゃないですか?

笹田 ありがとうございました。また、長々と (笑) いやー、まさか本当にこんな時間になるとは思わなかった。長いことありがとうございました。


[ 1 | 2 | 3 ]

  1. SQL: “Database Language SQL”, ISO/IEC 9075 

  2. 1.8.3: 7月中旬の時点でリリースされていません 

  3. http://www.rubyist.net/~matz/20050302.html#p06 

  4. この号: 7 月になりました 

  5. クリスマス: 1.8.2 は田中さんが毎日バグレポートを敢行しているさなかのクリスマスに粛々とリリースされた。このことから、たとえバグが途切れることなく報告され続けていたとしても、クリスマスには絶対リリースが行われることが明らかになった 

  6. less の F コマンド: EOF に達してもそのまま読み込みを続ける。tail -f の less 版みたいな感じになる 

  7. diff: 田中さんは DP matching に関する、オーダを微妙に改善したアルゴリズムを持っている 

  8. 佐藤一郎氏 現国立情報科学研究所 

  9. http://lc.linux.or.jp/paper/lc2005/ 

  10. 並列: 研究における笹田さんの専門は細粒度並列アーキテクチャ上のシステム構成である 

  11. 二種類: 江渡さんのインタビュー参照 

  12. Donald E. Knuth が作った組版 (くみはん) システム 

  13. comp.sources.x: v16i097: xlax - send keyboard input to multiple windows. http://cvsup.de.openbsd.org/historic/comp/usenet/comp.sources.x/xlax/xlax.tar.gz 

  14. 「マルドゥック・スクランブル」 冲方 丁 ハヤカワ文庫 JA 

  15. 「さゆリン」 弓長九天 芳文社 MANGA TIME COMICS 

  16. 「マリア様が見てる」 今野 緒雪 コバルト文庫 

  17. 「緑のアルダ」 榎木 洋子 コバルト文庫 

  18. 角川スニーカー文庫 

  19. 「涼宮ハルヒの憂鬱」 谷川 流 角川スニーカー文庫 

  20. 「総理大臣のえる」 あすか 正太 角川スニーカー文庫 

  21. 「第六大陸」 小川一水 ハヤカワ文庫 JA 

  22. 「太陽の簒奪者」 野尻抱介 ハヤカワ SF シリーズ J コレクション 

  23. 「E.G コンバット」 秋山瑞人 電撃文庫 

  24. 「イリヤの空、UFO の夏」 秋山瑞人 電撃文庫 

  25. 角川ビーンズ文庫 

  26. 「彩雲国物語」 雪乃紗衣 角川ビーンズ文庫 

  27. 漫画家