米子の実家で花火を見た。妹夫婦、弟夫婦も来ていたのだが、妹のダンナは具合が悪くなってしまったので (働き過ぎか)、途中で帰ることに。
子供たちはしっかり遊んですっかりくたびれて帰った。楽しんだようだ。
えー、 オープンソース関係者はひらがなの名前が多いという指摘ですが、実際のところどうなんでしょう。Rubyコミュニティでは明らかに目立ちますが。 私とか「わたなべひろふみ」さんとか「やまだあきら」さんとか。
私の場合は単純な理由で、「松本」なんてありふれた名前を差別化したいというものです。 それとひらがな表記が気に入っているというのもあります。
最初のきっかけは小学生のときです。授業に使う算盤を注文することになって、 裏に名前を入れてもらうので注文書に名前を書くことになっていました。 当時から少々ひねくれていた私は、
書いたのです(バカ)。
数週間後、届けられた算盤にはひらがなの名前が刻まれていました。
たぶん、小学校3年か4年ころのことだと思うのですが、その時改めてひらがなの自分の名前を見た私は、 「この文字は丸みを帯びて美しい」と感じました。私の名前の漢字は直線ばかりですが、 ひらがなのほうはどれをとっても丸いものばかりです。
それ以降、私はひらがなの名前を多用するようになりました。
というわけで、 私がひらがなの名前を使うのは、冗談ではなく小学生のころからだというお話でした。
10月にPickaxe本こと『Programming Ruby』の第二版が出ることが決定した。 第一版も充実した内容の本だったが、今回はさらにさまざまな領域をカバーした本になりそうだ。 原稿はほぼ仕上がっていて、あとは校正のレベルなので、きっと予定通り出ることだろう。
今日はこの第二版への前書きを書いた。英語の文章はつらいわ。
で、このPickaxe2だが、[ruby-talk:108190]によると、 今年10月頭にアメリカ・バージニア州で開催される Ruby Conference 2004の出席者には先着50名に無料でプレゼントが決まったそうだ。 これは印刷屋から直接カンファレンス会場に送られるもので、 なんと世界で最初にPickaxe2を入手する特権となる。
条件は
だそうだ。
気になるプログラムだが、現時点での内容はこちら。笹田さんのYARVにご注目。
残念ながら、今年は私は欠席。アメリカ行ってる間に子供が産まれてもいかんからなあ。 3週間くらい前なのできっと大丈夫だと思うんだけど。
かずひこくん入社を口実にして祝って、中華料理店で新人歓迎会。
だんだん会社が大きくなって、サイズ的な問題から新人歓迎会は毎回ここでやっている。
25名以上が一度に宴会できるサイズの店が松江にはなかなかないらしい。
大半の連中は近くのボーリング場に移動。これも新人歓迎会恒例になっている。 私は先においとまさせてもらった。
月曜と火曜はチュートリアルであったので、 実質的には今日からいわゆるOSCONと言っても良いと思う。 朝からキーノートが開かれていたのだが、スロースターターの私は参加できなかった。 OSCONレポーターにもなろうとおもってたのにこんなことじゃダメじゃん。
しかし、私の代わりに聞いてくれている人はちゃんといるわけで、 MYCOM PCのレポートを 参考にされたい。japan.linux.comにも記事がある。
Tim O'Reillyのキーノートでは「Ruby」とか「Rails」とかいう単語も聞こえたらしい。 やっぱぐずぐずしてないで会場に行けば良かった。
基本的にDamian Conwayがプレゼンテーションをして、Larry Wallが手助けをするというセッション。 Perl6の仕様の具体化が進んでいないわけではない(婉曲な表現)ということを意味する内容であった。 また、知らない機能やら演算子やらが増えていて、驚嘆するわけだが。
驚くべきはさらに新しい演算子が導入されて、Perl6の演算子優先順位のレベルは22であること。 さらにそれはPerl5よりも2少ないこと。うーむ。でも、今調べたらRubyでも23レベルあるなひとつは使われていないけど。
新しく聞いた演算子
こんな調子で本当にPerl6は実現できるのか、たとえ実現できても使いこなせる人はいるのか。 なかなか難しい謎だ。
Brian IngersonがPerl6の実装(Pugs)について解説したもの。 Perl6はエンジン部であるParrotは多少進んだものの、フロントエンドはいつになることやら、 という感じだったのだが、Autrijus TangがHaskellでコンパイラを書いたことによって 一気に現実化した。Pugsがどこまで動くかというような話。
Autrijus自身は政治的な事情から「アメリカには来れない(来たくない)」とのことだったので、 Brianが代わりに発表ということに。途中で紹介されたビデオは爆笑ものだった。Ruby界にもこういう才能が欲しいと思ったら、 実はすでにいたことが後に明らかになるのであった。
その後、昼食。今日はRich Kilmer、Nicolas Cannasse, Glenn VanderburgとOCCのカフェテリアでピザとスープ。
午後は聞きたいセッションがたくさんあったのだが、時差ボケと寝不足で体調がすっかり悪くなってしまったので、ホテルに戻って寝ることにする。とても残念だ。
結局、聞きたかったのに聞けなかったセッションは以下の通り。 見ればわかるがめちゃめちゃ重複しているので全部聞くのは最初から無理だったんだけど。
1:45pm - 2:30pm; PHPのセキュリティモデルについて聞いてみようかなと思って。 ま、ネットで調べられるけどね。
2:35pm - 3:20pm; 弾さんのプレゼンは聞いておきたかった。 技術的な内容はともかくとして(失礼)、今回聞き逃していちばん残念だったセッション。
4:30pm - 5:15pm; PHPの創始者、BrianRasmus*1 Lerdorfの話。
Rasmusは今Yahooに勤めているそうだ。
Extracting Rails from Basecamp
5:20pm - 6:05pm; the best hacker of the yearの話を聞いておきたい、とか。 実際にはこれとほぼ同じ話を後で聞くことになる。
5:20pm - 6:05pm; Guido van Rossum。 このあたりでやや体力が回復して会場に復帰。 おしまいの辺りちょっとだけ聞いた。私が会場に着いたときは、最近のPEPについて解説していた。 例外PEP(PEP344)とかの話をしていた。Rubyの例外にちょっと似てるなあ。
Design and Implementation of the Perl 6 Compiler
5:20pm - 6:05pm; Pugsの話じゃないみたい。
*1 PHP作者の名前間違ってました。なんでBrianだと思ったんだろう。Rasmusというのは北欧系の名前、らしい
OCC (Oregon Convention Center)で開かれているのは O'Reilly Open Source Convention。こちらはFree/Open Source Conference。
OSCONは結構な参加費を取る。700ドルだったか。スピーカーじゃなきゃとても参加できない。 そこでポートランド近辺に住んでいるがOSCONに参加するほど(経済的・時間的な)余裕がないギークたちが集まって開かれたのがこのFOSCONである。今回はRubyをテーマに結構な人数が集まった。 なんか寄付箱が置いてあるが、それ以外は無料らしい。
発表者は
だった(他にもいたっけ?)。それぞれOSCONでの発表をそのまま(だと思う)。 なかなか興味深い。
一番面白かったのはやっぱり_why。Chanky BaconやLeast Surprisedのアニメもぶっとんでいたが、 エレキギターを持ち出して熱唱しはじめたときには会場爆笑。
♪ インスタンス変数は〜アットマークで始まる〜 ♪ クラス変数は〜アットマークがふたつ〜
とか、
♪ install.rbとsetup.rb〜 ♪ install.rbはみっつのステップでインストール完了〜 ♪ setup.rbはなにをやってるかわからない〜 ♪ 使ってないから〜
とか。アニメについてはここから BitTorrentでダウンロードできる(らしい、Torrent使ってないから)。
FOCONの写真はflickrで見ることができる。
少なくとも最新のVCPを使えば、:ext:プロトコルのCVSもsvkで使えるらしいということが分かったので、 取り込んでみた。
が、遅い。
結局HEADとruby_1_8ブランチを取り込むのに 1日と21時間41分かかった。途中、移動のためサスペンドした時間があることを 考えにいれても長すぎ。勘弁して欲しい。
で、改めてsvkを使ってみたが、これはなかなか使いやすい バージョン管理ツールである。操作も(UNIXコマンドラインに馴れた人には)直感的で使いやすい。すばらしい、この機会に移行しようかしら。
と、思ったのもつかの間、CVSにはpushできないことが明らかになる。 pushしようとすると「VCPはmergeをサポートしてない」というエラーになる。
がっかり。
さて、どうするべきか。
前者は影響が大きいし(そもそも誰がやるかという問題もある)、 後者は少々面倒だ。
うーむ。
なんか今までに話したことのないテーマだったが、 これはこれで自分でも興味が持てたのでチャレンジしてみた。
オープンソースの定義やフリーソフトウェアとの関連など、 基本的なことを押さえた後は、 ネットの発達やバザールモデルの普及、開発者の意識向上などにより、 ソフトウェア開発に関して地理的な制約は少なくなってきている現状を紹介し、 その上で、「どこに住むか」ということについて改めて考察する、というような話。
また、仕事上の地理的制約がなくなる時、 地域がどのように特色を出し、開発者をひきつけるか、 それには個別のアプローチが存在するだろうというような話。
「田舎である」、「住環境がまとも」というのは島根が私に提供してくれている環境であり、 また、別の人は別の環境を選ぶだろう。真に魅力的な地域はどこか、 それはひとつのモノサシだけでは測れないだろうと思う。
なんだかまったりとRubyについて語るセッション。
ある意味「Rubyという藁をつかむ」ような島根県(失礼!)にくらべて、 横浜という「都会」の立ち位置をつかみかねる私。 あまりにも東京に近いという印象があるが、 住人にとっては東京とは違う微妙な距離があるようだ。
いや、もちろんRubyを活用した地域発展を目指すのに、 田舎だから良いとか、都会はダメとかそんなのはないんだけど。
会場のカフェですっかりおしゃべりをした後で、夕食。 もう中華街に移動してもかなりの店が閉まってしまっている。 不夜城というわけじゃないのね。
要するに「間違ってるよ」という話。
このような結果となる原因はPerlもRubyも共通で、巨大な浮動小数点数リテラルを処理するのに(内部的な有効桁数分の整数)×10nとして計算しているためです。「内部的な有効桁数分の整数」が計算途中で一度IEEE64bit浮動小数点数として保存されてしまうと仮数部の53bitでは10進17桁や18桁はカバーできず、この時点で丸められてしまうのです。丸められた結果を後から10n倍しても、本来の数を丸めた結果とは異なってしまいます。
なるほど。また、コメント欄ではshiroさんが、「How to Read Floating Point Numbers Accurately (1990)」 by William D. Clingerという論文を紹介していた。
せっかくもらった情報なんで、Rubyでもちゃんと実装したいんだが、 私がやっても(算数的素養の無さから)グダグダに してしまいそうなんで、だれか手をあげてくれるとうれしいなあ。他力本願モード。
しかし、PHPのstrtod()がこの論文をベースにしているとは驚いた。 ちょっと見直したっていうか、なんていうか。
一昔前に比べてプログラミング雑誌は減っていて、 それは(出版側にしてみれば)由々しき事態である、という話。
同じ日経BPの雑誌に連載を持つ身としては、看過できない内容である。 私が記事を書いたことのある雑誌も次々と休刊してしまい(Linux Magazine, Unix User, Opensource Magazine, 日経バイトなどなど)、影響も馬鹿にできない。
では、現在、プログラミング領域で紙の媒体に未来があるのか、と問われると、 なかなか難しい問題だ。似たような内容がWebでも入手できるからだ。 一応、私はお金をもらって書く記事と、この「にっき」のように自発的に書く記事との間では 「差別化」を行っているつもりだが、それでも、私が過去に書いた記事ががんがんWebで 公開されちゃうわけだし。悪いことではないけど。
とすると、Webでない紙の利点とは、読者にとって
くらいか。いまいちインパクトが弱いと言われてもしょうがない。
一方、記事を提供する側がウリにできる点としては
ではないだろうか。つまり、「編集」と「企画」という編集者の役割が ますます重要になる。
問題は、その編集者が生み出す違い(と、そこから生まれる価値)を 読者が理解できるか、という点だ。読者が雑誌に幾許かの価値(それこそ月に千何百円も) 見いださなければ、雑誌に未来はない。