いまや「オープンソースの敵」と見なされているSCOであるが、 社長のMcBride氏は日本語が堪能であるらしい。
調べると
関西での宣教の経験があり、関西弁を話す。19歳の息子も日本で宣教師として働いている
だそうだ。どうやら彼もまた末日聖徒ということだ。 うむ、同じ宗教を信じていても社会的な立場が違うこともあるということだな
恒例の温泉解放日。玉造温泉の15件の温泉宿のいずれにも無料で入浴できる。
夏休みに入った子供たちを連れて、今日は「ホテル玉泉」に。 ここは気持ちよかった。
まだ全制覇には遠いな。
温泉に入った後、食事をして、書店に立ち寄ったら、 コンピュータ関係書籍のコーナーで、「まつもとさんですか」、と声をかけられた。
「はあ?」
びっくりしたが、地元の大学生なのだそうだ。以前、島大で講演した時にも来てたそうだ。 おちおち立ち読みもしてられないな(苦笑)。
私のまわりをちょろちょろしている息子を見て、彼は「君のことも日記で読んでるよ」。 私の日記の読者ってあんまり具体的にイメージできてなかったので、ちょっと不思議な感覚。
玉湯町青年部による夏祭りに顔を出す。といっても露店がいくつかでているだけなんだが。
子供たちは金魚すくいに挑戦。息子は結局私が代わりにすくう破目になった。 しかし、驚いたのは次女が私よりも多くつかまえたことだ。隠された才能。
greenteaさんから今年も御中元が届く。 この場を借りてお礼したい。どうもありがとうございます。
オープンソースソフトウェアを開発しているという理由で 御中元をいただいているのは、日本でも私だけのような気がする。
先日の「オープン ソースカンファレンス2005 in Hokkaido」のレポート。
なかなか上手にまとまっている。恥ずかしいが私の写真もあり(あいかわらず正面向いていない)。
今日も市街が混雑しているのは明らかなので、自宅作業にする。
で、しばらく前から1.9に導入していたlocal visibilityにバグがあったのを修正する。 local visibilityとはpublic, private, protectedと同様に、localと指定すると
というものだ。でも、メソッドキャッシュのことを忘れていたよ。
というわけで、修正した
Fri Jul 21 04:17:22 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
とはいえ、これだと普通の関数的メソッド呼び出しと区別がつかないので、 関数的メソッド呼び出しのコストが若干上昇することになる。 いっそ「@methodはローカル関数」のようなルールを導入した方が 実行効率からは喜ばれるだろうな。
タイミングにより挙動が非決定的(non-deterministic)になるスレッドは難しすぎる、 という話、らしい。
ではどうするかというと、適切なデザインパターンの導入により、 決定的なままで並列性を導入することはできるだろうということと、 それを支援する言語についても触れられている。
Guy SteeleのFortressもその辺を意識している(ループを暗黙的に並列実行したり)ようだ。
が、そういう言語ってのは以前からぽつぽつ出ているように思うのだが (OccamとかpSatherとか)、あまりメジャーにならないのはなぜだろう。 まだまだ経験が足りなく、こなれていないからだろうか。 将来のメニーコアを最大限に活用する並列実行環境にふさわしい言語になると思うのだが。
朝の飛行機で東京へ。
まずは品川のソニーで打ち合わせ。 近いうちにソニーの中で講演会をしようという話。
ソニーくらい大きいと社内だけで立派なイベントが開催できるんだねえ。 私の前に呼ばれた講師が世界的なビッグネームたちで(確証が持てないので名前は非公開)、 思わず遠慮しようかと思ったのだけど、そこは説得されてしまった。
で、次に六本木に移動して、午後は楽天技術研究所でのミーティング。
今までのサーベイをもとに今後の方向性について考える。 あまり非現実的で実現できないのも困るが、 かといって「(誰でも)やればできる」というような、 簡単(に見える)ものでも困るということで、悩ましい。
が、方向性は見えてきたかな。
途中はともかく、最終成果はオープンソースにできるように念を押す。 好感触である。
あと、楽天名刺ができたので、名実ともに「楽天の中の人」というイメージが強くなった気がする。
最後に「楽天、システム開発拠点を国内主要5都市に分散化へ」というニュースを受けて、 このあたりの泥臭いことでもお手伝いできそう、という話になる。
で、この辺で「なぜ私が楽天フェローを引き受けたか」についてちゃんと書いとこうと思う。
とはいえ、最大の理由は「縁」なのだが、 より具体的には以下のようなことが理由である。
最初のオファーであった。
楽天は私に対するこの種のオファーの中で最初のものであった。 楽天との契約にはある種の排他条項があるので、 今後、無制限にフェローを引き受けることはできない(しない)。
私の活動を制限する意図がない
もちろん、東京でのミーティングが発生するので まったく制限がないわけではないが、 基本的に私の最優先事項である「Rubyの開発」を疎外する意図が全くない ということを終始明示してくださった。
補完関係が成立した
私が楽天にないもの(プログラミング言語とオープンソースに関する技術と経験、 そっち方面での知名度とコネクション)を提供でき、 逆に楽天も私にないもの(エンタープライズソフトウェア開発の経験と実績、 大規模トラフィックとデータ、ビジネス領域での知名度とコネクション、人材、 あと、お金ww)を持っている。協力により相互に利益が得られることが期待できた。
日本から世界へ
私の方はあんまり気にしてないんだけど、楽天としては「国産言語」という点に 注目してくださったみたい。 私としては尊重してもらえるのはありがたい。
長期間起動したままのRubyプロセスがメモリフラグメンテーションを起こして 大量のメモリを消費してしまうことがある、という話。
RubyのメモリアロケータはOSのmallocに頼りっぱなしでフラグメンテーションを 回避するような工夫はなにもしていないから、そういうこともありえるかもしれない。 ただし、この話には続きがあって、問題はRubyのアロケータのせいというよりも glibcが採用しているptmalloc2に原因があったらしい。
より新しいバージョンであるptmalloc3をリンクしたら、問題は解決したとか。
the amount of good software written in a language is inversely proportional to the elegance of that language.
ある言語で記述される優れたソフトウェアの数は、その言語のエレガントさに反比例する
という仮説。
その根拠はRubyにはDrupalのような良いCMSが見当たらない、というもの。 言語デザイナーの努力はなんなの、と思わせるような仮説である。 世の中はBASICに戻った方がよいんじゃないの、とか毒をはきそうになるけど、 我慢、我慢。
そういえば、Ruby(とRails)で記述されたCMSとかはあんまりたくさんは見かけないよね。 少なくともまだ「定番」といえるようなものは登場していない。 でも、それはRubyのエレガンスさとは無関係で、 みんな、RailsのCRUDで実現できるような「エンタープライズシステム」作成に 夢中でCMSに手が回らないからじゃないかぁ。