首藤さんの日記にもあるように、 松江で開かれているSWoPPに参加中の「Ruby世代別GC」の木山くんと、首藤さんが訪問してくださる。
木山くんからは製本した博士論文をいただいた。 現時点では、彼はRubyをテーマにD論を書いた唯一の人物だろうなあ。 続く強者(つわもの)が出るか、否か。
ところで、昼食はご一緒しなかったんですが、やっぱりラーメンだったのね。
やっと出ました。
関係者の皆さんお疲れさまでした。直前のミスで古いChangeLogがパッケージに含まれていないのですが、 ここに置いておきます。
既に分かっている問題
しばらく休憩してから、ruby_1_8ブランチを作って、開発版1.9に集中しよう。 Riteはそれから。気の長い話だ。
論文のネタのため、数年ぶりにruby_m17nブランチに手を入れる。
しかし、まだ課題も残る。
先は遠い。 ま、とりあえず、これらは論文では扱わないわけだが。
「メールオーガナイザーはどうしたのですか」という声を時々聞く。
実際にはバックエンドはとりあえず動くので、 コマンドラインで「inboxのリスト」とか、 「キーワード検索」とか、「類似メールの取得」とかはできる。
だがしかし、それをEmacsから使う時にどのようなインタフェースが使いやすいのか、 という点でまだ確信が持てない。Gmailのインタフェースはあんまり好きでないのだ。
一番好きなのは、昔のrnのように「日がな一日スペースバーを押し続けるだけでメールを読み続けられる」というものだが、検索ベースのMUAにおいてそれは可能なんだろうか。アーカイブするかどうかをどうやって決めるのか。
大蔵大臣からプリンタ購入の許可が出た。こういう効能が目に見える機器はウケがいいらしい。
で、最近はやりの複合機を購入しようということになったのだが、 なかなか決心ができない。貧乏性の発作が。
候補をCanonのMP710とHPのPSC 2450 Photosmartにまで、絞り込んだのだが、そこから先が膠着してしまった。
機能を考えるとPSC2450、ランタイムのことを考えるとMP710か。 うーむ、決められない。
そういえば、8月1日〆切のを2日になってからあわてて書いたが、 発表資料のページには私のぶんが載っていない。
しばらくしてからハタと気がついた。他の人は自分のサイトに置いていたのだが、 私はpsファイルを圧縮してメールに添付して提出したのだった。なるほど、それでは載らないわけだ。
というわけで、改めて(いつもの方法で)スライドを用意した。ま、たいした内容じゃないんだけど。
_ yuh [HPの方を使っておりますが、単体で写真をプリントしたい人がいる場合は液晶は結構効果的、あとキヤノンの該当機の方と比べ..]
_ Xelloss [統合機の方が越すとパフォーマンスはいいと思いますが、問題はどこまで統合させるか(FAXをつけるかどうか)だと思います..]
_ まつもと [Xellosさん、ありがとうございます。 FAXはすでに持っているので、PSC2450のFAX機能は使いません、きっ..]
_ ま2 [HPの使っています。液晶があって,デジカメのメディアを突っ込んですぐ印刷ができるので,奥さんが自分で印刷するようにな..]
_ koma2 [一般論ですが、Linux でインクジェットプリンターを使うのであれば Epson か HP になるでしょう。 Eps..]
_ imototakashi [わたくしはHPの(ちょっと古い)複合機PSC 2150を使っていますが、プリンタだけでなく、スキャナーとか、メモリー..]
_ A [HP のはインクコストは高いけど、ヘッドも同時に交換できるのがうれしい。 目詰まりしてもインクを買い替えればすぐに..]
_ kita-san [4ヶ月ほど兄弟機(?)の「HPC 2550」を使っています。 不満点が2つ。 (1) 水に濡れると結構インクがにじむ..]
_ yuh [〉kita-san (1)に関してはカラーインクは水性なのでどうしようも無いのでは?HPはドキュメント印刷用な黒だけ..]
_ kita-san [> yuh なるほど、良い情報をありがとうございます。 インクの性質までチェックせず、購入してしまって・・・。 要す..]
OSCONの4日目。普通のセッションが目白押し。見たいものもたくさんあるが、 今日は自分も発表しないといけないのがツラい。ま、ただでOSCONに参加するためだと思えば、 たいしたことない、のかもしれないがやっぱりつらいものはつらい。
japan.linux.comに木曜日のレポートが出ている。
Rubyの作者まつもとがRubyの魅力の秘密のひとつ、ブロックについて語る。
OSCONに申し込んだときには素晴らしいアイディアだと思ったのだが、 準備している間にMartin Fowlerに先を越されてしまう。 腹いせに例題をいただくことにする。いや、腹いせなんてとんでもないです、ほんとは感謝してます。 Martin、いつもありがとうね〜。
苦労しながら発表したスライドはここ。
で、私のプレゼンを見て落ちたウロコの話(ブロックのパワーに気がついた話、英文)。
英語の発表はかなりこなしたので、 私レベルの英語(日常会話は聞き取れる、難しい話はできない)で、 技術プレゼンをする秘訣が身についてきた。万人向けではないかもしれないが、 ちょうどいい機会なので紹介しておく。
えー、上のテクニックはあくまでも「最低レベルを確保する」ためのものなので、 上級の人は馬鹿にしてくださって構いません。ええ、英語できませんとも(開きなおり)。
「JavaプログラマがRubyについて知っておくべき10のこと」。
Javaについて知っている人が間違いやすいRubyとJavaとの性質の違い。
結構面白いと思った。Javaしか知らないなら確かにこの辺に引っかかるだろうなあ。 スライドはこちら。
ただし私は「Objects are Strongly Typed, Not Statically Typed」の辺りで退席せねばならなかった。 次の用事があったのだ。
O'ReillyのAllison Randalの手配でランチ。 彼女はPerl Foundationの会長であると同時に、Perl6のコーディネータでもある。
ランチの参加者は
と豪華。ここに爆弾を仕掛けると...というのは2年前に使ったネタだな。 場所はポートランドダウンタウンのHuber's。
非常に楽しい話がたくさんできたのだが、後悔していることもたくさんある。 出た話題は
などなど。
後悔しているのは
私のミーハー心は満足されたがな。
Why the lucky stiffによるプレゼンテーション。本来は1:45pmからのコマに割り当てられていたのだが、
に変更になった。エレキギターを演奏するし、騒いでも迷惑にならない部屋ということなのだろうが、 たいしたものだ。内容は昨日FOSCONで発表したものとほぼ同じだが、いくつか新作があった。 逆にinstall.rbネタは省略された模様。爆笑の渦だった。
もっとも雰囲気で笑っていたので、冷静に考えると聞き取れなかったジョークもたくさんあった。
家族とSkypeで話す。これは便利だ。ただ、会場でラップトップに向かって日本語で話しかけていると 自分がバカになったような気がするのは欠点だ。今度はマイクつきヘッドフォンを持参しようかな。
で、会場のインターネット接続を利用していると、通りすがりの人に「Receptionはどうだった?」と尋ねられる。「いや、Receptionには出てないんだけど...」と答えると、怪訝な顔をしている。私も混乱気味。
で、辞書を引くとReceptionには「もてなし、歓迎会」などの他に「受信状態」という意味もあるのだった。 知らなかった。勉強になった。
Apple Developer Connection Receptionに顔を出して、食べ物をいただく。ブラジルからきた人たち(ひとりは日系三世)と話をしたり、 Perl5な人々と話をしたり。Perl5ピープルはパーティに誘ってくれたけど、 明日早朝にはもう出発しないといけないので、お断りする。貴重な機会を逃したようにも思うけど。
特に「Perl5をthread safeにしたい」という人とじっくり話がしたかった。 「書き込みだけlockすればなんとかなりそう」といってたけど。 RubyでもまずいのはGCのいくつかとst.cのハッシュテーブルがほとんどを占めるような気がするから、 あの辺をなんとかすることで、なんとかなるのだろうか。
今晩は『Kill Bill vol.1』。こんなブっ飛んだ映画だとは知らなかった。
_ のんべ [PCを2台用意するというのは参考になりました. 日本で発表するスライドは絵が多いのですが,海外で発表する場合,まつも..]
_ まつもと [私は字の方が多いです。要点を書いておくと発音が悪くてもわかってもらえるので。もっと英語が上手な人はそうする必然性はな..]
_ tmiz [Rasmus Lerdorfのつづりが違う気がする…。へぇー、2002年からYahoo!に居るんだ。そうなんだー。し..]
_ まつもと [Rasmusの名前直しておきました。 昨日はBrianなんて呼んでるし(どこから来たんだ、その名前)。 失礼な人です..]
_ むらた [> Harry Potterに言及するGuidoはちょっと意外 http://www.artima.com/we..]
_ KENN [apacheのBrian Behlendorfとごっちゃになってる気が…って"-dorf"しか合ってませんけど。 ..]
書きあげる。今回は「パフォーマンスチューニング(2)」。
前回(2006年5月号)は
という内容であったが、今回はアルゴリズムが見直せない状態で どのくらい高速化できるかを考える、と言うもの。
で、高速化とくれば、実際にチューニングの対象となるプログラムを見つけて こなければならないのだが、なかなかそんなに都合よく落ちてないんだよねえ。
というわけで、『オブジェクト指向スクリプト言語Ruby』の9章でも 使ったマンデルブロ集合計算をテーマにする。ただし、本で使ったものとは くらべると、よりシンプルになっている(本: 102行、今回: 30行)。 本のものは編集の金光さん作であったが、 今回例題に採用したものは<URL:http://severinghaus.org/projects/mandelbrot/>が ベース。ただし、出力は2階調ではなくもうちょっと工夫してある。
さまざまな工夫により30倍以上の高速化を実現した。
Pickaxe2こと『プログラミングRuby』第二版が印刷所に入稿された との連絡を受ける。発行日は8月25日。実際に本屋に並ぶのは28日頃からとのこと。
今回は2分冊。結果的に合計価格が高くなってしまったことは申し訳ない。
もうどの辺がLLなんだかよく分からないけど、 言語好きが集まるイベントは希少だから、 それはそれで構わないと思う。
いや、日本でもOOPLAとかPOPLとかが開催されるようになれば、 いいのかな。でも、あっちはアカデミック色が濃すぎるしな。 発表しようにも、論文査読が通らなそう(トラウマがあるらしい)。
それはともかく、私とLLの位置関係は微妙で、 今回みたいに前日に他のイベントがあって交通費と宿泊費を負担してくれた場合には 気にしなくてすむけど、なんか私の交通費の異様な高さは このような「手弁当」の香りがするイベントには出席しにくいんだよなあ。
かといって、あんまり自分を安売りすると弾さんに怒られちゃうし。
実は地下鉄の出口を間違えて道に迷ってしまい、 和田先生の話が全然聞けなかった。これは後悔が残る。
で、今回は恒例Language Updateとパネル「オレ様言語の作り方」へ参加。
Language Updateは、むしろ他の言語の方が楽しかった。 IoとかLuaとか。多様性は善である。
で、Rubyは私とささだくんでプレゼンしたのだが、 私が思いっきりボケて、ささだくんがツッコむというスタイルにした。 Rubyくらいになると、もう言語の紹介は要らないし、 とはいえ、技術的な変化は些細なことになっちゃうし、 どうしてもウケ狙いになってしまうからだ。
のだが、実際のプレゼンは 当初の予想(期待?)ほどスムーズには行かなかった。 いかんせん8分という持ち時間が短すぎ。せめて15分欲しかった。 まあ、気まぐれな私に振り回されるささだくん、という構図がイメージできれば それで8割は成功な気がする。
が、ボケた内容のうち、一部は本気だったりする(「もしかして」機能とか)。 残りはきっと2.0だな。
「オレ様言語の作り方」は、高橋さんが司会で、 私がゲスト(解説者?)、パネラは
しかし、今思えば、解説者としての立ち位置だったら、 それを徹底すればよかった。
今のこの機能ですが、これはきっと〜の影響ですね。 いい味出してますねえ。
とか。失敗だ。
それをClassicの紹介とかに費やしてしまった。 台無しだ。ちなみに高橋さんからは、古いRubyについても いろいろ質問されて、手元にある一番古い0.49をコンパイルしてみたんだけど、 手を入れないと現在のLinuxではコンパイルできないし(古いglibcに依存してた)、 結構文法が違うし、で戸惑った。当時はまだ引数の括弧が省略できないし。
古いRubyの話は結局パネルでは使わなかったんだけどね。
あと、何人かの人に少し挨拶した後は、 くたびれていたので早々に帰ってしまった。 もうちょっといろんな人と話したかったんだけど、 残念。またの機会に。
今度私を見かけたら積極的に話しかけてくださいね。
このインタビューももう5回目か。
今度はささだくんがYARVにおける最適化について。 前回(M17N)は頑として黙ってたささだくんが、嬉々として語ってますよ。 ほんとにこういうのが好きなんだなあ。
私も嫌いじゃないけど、徹底できない。 だからMRIは遅いんだろうか。
前からやろうと思ってたんだけど、 (また)読者プレゼントを行おうと思う。
今回のプレゼント内容
なお、「オブジェクト指向スクリプト言語Ruby」には 1刷、2刷、3刷がありますが、特に指定はできないこととします。
Dukeがルビーを掲げている柄の「JRuby Tシャツ」はレアモノのUS製(グレー)と 国内製(紺)の2種類がありますが、今回のプレゼントは紺のものです。
希望者は、
をしたためて、e-mailを私のアドレス*1まで。 サブジェクトのどこかに「プレゼント」という単語を含めてください。 いただいた個人情報は配送用以外には使いません。 配送料は私が負担します。
公平を帰すため、(話題の)Array#choiceメソッドを使って当選者を決定します。
8日、金曜日に当選者を発表します(予定)。 特に落選の連絡はしませんのでご了承ください。
なお、在庫処分のため、今後もプレゼントは継続します。 残念ながら当選できなくても今後にご期待ください。
*1 matz あっと ruby-lang.org
This work is licensed under a Creative Commons License.
_ ゆきち [1.8リリースおめでとうございます。最近になって、rubyをはじめたものです。ほかのプログラミング言語もろくに出来な..]