最新 追記

Matzにっき


2006年08月01日 [長年日記]

_ [OSS] 「Rubyのメッカに」と松江市長,研究・交流拠点「オープンソースラボ」開設

ITProの高橋さんに記事としてとりあげていただいている。

実際にメッカになるかどうかは、まだまだ未知数だが、 この空間を積極的に活用したいと思う。

たとえば、東京や関西でやっているような勉強会(Rubyに限らず)を開催したら どのくらい集まるのかなあ。目安にしたいので、

  • 定期的に(たとえば毎週とか、毎月とか)参加したい人
  • 不定期にはなるだろうが参加してみたい人
  • 山陰への旅行がてらに1回だけなら参加したい人

など、ここにコメントしてくださるか、私にメールをくださるとありがたいです。

私が常駐するようになるのは来週くらいからかなあ。 まだ、本棚もないものなあ。

_ U-20プロコン作品応募数

〆切も終わり応募数の集計が出た。

個人 32件
団体 51件
計  83件

実際の作品を見せていただくのが楽しみだ。

_ 第39回情報科学若手の会

ささだくんから宣伝して欲しいとの依頼。

第39回情報科学若手の会開催のご案内

情報科学若手の会は,情報科学に携わる学生,若手研究者,社会人の
ディスカッションと交流の会です.幅広い分野から参加者を募り,互い
の交流を深めることで新たな発想が生まれることを目指しています.
インフォーマルな雰囲気ですので.これから研究を始めるという方も是
非ご参加下さい.

  詳細は,情報科学若手の会のWeb ページをご覧ください.

        http://wakate.aitea.net/

  限られた時間ですが,この会が有意義なものになるよう,皆様のご参
加をお待ちしております.

 なお,今年度の招待講演は筑波大学の前田敦司先生をお迎えする予定
です.


    招待講演者:
        筑波大学 大学院
        システム情報工学研究科 コンピュータサイエンス専攻 助教授
        前田敦司先生

    日時:
        2006年9月16日(土)〜18日(月)
        二日間のみの参加も可能です.参加申込みの際に併せてご連絡
        ください.

    会場:
        富士CALM (山梨県富士吉田市)
        http://www.mfi.or.jp/fujicalm/index.htm
        (無線Lanなど利用可能です)

    定員:
        30 名

    参加費(食費・宿泊費込):
        学生15,000 円,社会人18,000 円
        (遠方からの参加者には交通費補助をする予定です)

    参加申込み:
        参加希望の方は下記の情報を参加申込みアドレスにお送り下さい.
            - 氏名,性別,所属(学生の場合学年も),メールアドレス,
              出発都道府県
            - 参加者として氏名・所属をWeb 上に掲載してもよいか
              (運営の都合,参加者に配布される名簿には名前・所属に
              関しては必ず掲載させていただきます.)
            - 宿泊の部屋割りにあたって,喫煙の考慮が必要な方はその旨
            - 食事にあたってアレルギー等がある方はその旨
            - 発表をしていただける方はその旨(可能であれば題目,要旨)

    参加申込み先アドレス:
        attend2006@wakate.aitea.net

    申込み締切り:
        一週間延期しました:
        2006年8月8日 (火)
        (締切り前でも定員になり次第,締切らせていただきます)

    主催:
        プログラミングシンポジウム委員会

    情報科学若手の会幹事:
        上坂明未(フェリス女学院大学)
        笹田耕一(東京大学)
        鈴木宏哉(慶應義塾大学)
        松浦知史(奈良先端科学技術大学院大学)
        松田耕史(東京工業大学)
        三輪誠(東京大学)

2006年08月02日 [長年日記]

_ [Ruby] Ruby Book Sales Pass Perl

Ruby関連本の売り上げがとうとうPerlを越えたという話。

あと、JavaScript、C#は伸びている。Java, PHP, Pythonは停滞。 これらは「安定してる」と読み取るべきかも。

Rails効果恐るべし。が、原作者はあんまり売り上げの恩恵は浴してないな。 自分で本を書けよってことなのかもしれない。

でもなあ、本を書くのってすごい大変なんだよなあ。 特に書き下ろしは。そんな暇があったら開発してたいし。

あるいはPayPalやメルマネで寄付を受けるとか。 でも「乞食呼ばわり」はされたくない。

_ 「自分だけは大丈夫」,セキュリティ対策を妨げる「正常化の偏見」

良いことは起きる(起きて欲しい)、悪いことは起こらない(起こらないで欲しい) と思うのは、人間の性だろうか。

「自分にとって都合の悪い情報を無視したり,過小評価してしまう人の特性」を「正常化の偏見(normalcy bias)」と呼ぶそうだ。

講演では具体例の一つとして,交通事故と宝くじのそれぞれに対して抱く,期待(不安)の違いが挙げられた。交通事故に遭って死亡する確率は,宝くじの1 等に当選するより高い。にもかかわらず,会社からの帰りに車にはねられると考えている人はほとんどいない。一方で,宝くじには当選を期待して,多くの人々が人気の売り場に行列を作る。

...

「もし大地震が起きたら,どのように対応するか」と尋ねると,「机の下に避難する」「建物の外に避難する」「瓦礫の下敷きになっている人を助ける」---といった答えばかりで,自分が被害に遭うことを想定した答えは,一切ないという。

プログラマの見積もりがいつも甘いのも同じ心理かもしれない。


2006年08月03日 [長年日記]

_ svk(1:21:41)

少なくとも最新のVCPを使えば、:ext:プロトコルのCVSもsvkで使えるらしいということが分かったので、 取り込んでみた。

が、遅い。

結局HEADとruby_1_8ブランチを取り込むのに 1日と21時間41分かかった。途中、移動のためサスペンドした時間があることを 考えにいれても長すぎ。勘弁して欲しい。

で、改めてsvkを使ってみたが、これはなかなか使いやすい バージョン管理ツールである。操作も(UNIXコマンドラインに馴れた人には)直感的で使いやすい。すばらしい、この機会に移行しようかしら。

と、思ったのもつかの間、CVSにはpushできないことが明らかになる。 pushしようとすると「VCPはmergeをサポートしてない」というエラーになる。

がっかり。

さて、どうするべきか。

  • RubyのメインリポジトリがCVSなのが間違いである。 これをたとえばSubversionに移行する。 (そしたらtailorやsvkが使える)
  • 現状で唯一動く組み合わせである、pull=tailor、 push=git-cvsexportcommitを使って、 同期を自動化するツールを書く。

前者は影響が大きいし(そもそも誰がやるかという問題もある)、 後者は少々面倒だ。

うーむ。


2006年08月04日 [長年日記]

_ [原稿] 日経Linux 2006年10月号

書きあげる。今回は「パフォーマンスチューニング(2)」。

前回(2006年5月号)は

  • ちゃんと計測しろ
  • ボトルネックを見つけろ
  • まずアルゴリズムを見直せ

という内容であったが、今回はアルゴリズムが見直せない状態で どのくらい高速化できるかを考える、と言うもの。

で、高速化とくれば、実際にチューニングの対象となるプログラムを見つけて こなければならないのだが、なかなかそんなに都合よく落ちてないんだよねえ。

というわけで、『オブジェクト指向スクリプト言語Ruby』の9章でも 使ったマンデルブロ集合計算をテーマにする。ただし、本で使ったものとは くらべると、よりシンプルになっている(本: 102行、今回: 30行)。 本のものは編集の金光さん作であったが、 今回例題に採用したものは<URL:http://severinghaus.org/projects/mandelbrot/>が ベース。ただし、出力は2階調ではなくもうちょっと工夫してある。

さまざまな工夫により30倍以上の高速化を実現した。

_ [Ruby] Pickaxe2 8/25発行

Pickaxe2こと『プログラミングRuby』第二版が印刷所に入稿された との連絡を受ける。発行日は8月25日。実際に本屋に並ぶのは28日頃からとのこと。

今回は2分冊。結果的に合計価格が高くなってしまったことは申し訳ない。

_ [Ruby] SciRubyInterviews/BilKlebAndBillWood

NASAでRubyを使うふたりのBillへのインタビュー。

本気で使ってるよ、この人たち。


2006年08月05日 [長年日記]

_ [教会] 岡山

子供たちを米子の実家に預けて、妻と岡山へ。

教会の訓練集会があったためだが、 このような規模のものが開かれるのは大変珍しい。 私たち夫婦にとっても末娘が生まれてから、 二人だけで出かけたのは、はじめてになる。 思わぬデートである。

いろいろな事を聞いて、大変勉強になったのだが、 「パレートの法則(80:20則)」が登場したり、 地方のコミュニティの現状が冷静かつ正確に分析されていたりしたのが 大変感心した。

夕食はハピータウンとなりの中華料理店で。 おいしかった。

_ 「しばらく待て」

これも岡山の集会で聞いた話。

なにか事があったとき、私はすぐにでも事態を収拾しようと あわてて行動を起こしてしまう。 しかし、そのような対応はしばしばアドホックなハックに終わってしまい、 根本的な問題が解決されないまま残ってしまいがちである。

そのようなときこそ、「stand still(しばらく待て)」と自分に言い聞かせて、 冷静に適切な対応を心がけるべきであろう。

_ 「there must be a reason」

これもその時に聞いた話。

よく「どうして」と思うことはあるものだ。 客に理不尽な要求されたり、 隣人の納得の行かない言動に悩まされたり。 家族の中でも「どうして」、「なんで」はよく聞かれる言葉だ。

しかし、そう思ったときに代わりに「理由があるはずだ」と自分に語りかけるように、 というアドバイスであった。「どうして」と「理由があるはず」は 文の持つ意味はほとんど同じはずなのに、 精神への作用は全然違う。

「結構です」と「よろしいです」と同じくらい違う...、いや、これはちょっと違うか。


2006年08月06日 [長年日記]

_ 日曜

寝坊した。あやうく遅刻しそうなタイミングで教会へ。

ごく普通の日曜。日曜学校の時間は託児クラスの補助に入る。 が、ここ子供たちは手がかからないので(一人は末娘だし)、 苦労はなかった。

集会終了後、人待ちがあったり、いろいろで遅くなる。 先に帰った妻がすっかりくたびれている。 幼い子供がえらくにぎやかだったらしい。

それはそれは。


2006年08月07日 [長年日記]

_ 早朝、ラジオ体操

朝、4時前に末娘に起こされる。「あそぼーっ」

おいおい。勘弁してよ。

結局、寝かしつけたのは5時半頃であった。 今日は地区のラジオ体操の当番で、 6時すぎにはでかけないといけない。

結局、あんまり寝れなかったなあ。 こんなことは珍しいが、たまにあるとしんどい。

_ [原稿] オープンソースマガジン 2006年10月号

先月は英語学習についてだったので、 今月は国語についてとか、 文型と理系の対比について考えようかとも思ったのだが、 生産性と「ゾーン」の話にした。国語とかについてはまた今度。

しかし、ゾーンの話とかはJoel on Softwareに似てしまったかなあ。

_ [OSS] オープンソースは自由に使えると勘違いしていませんか?

センセーショナルなタイトルであるが、内容は正直、薄い。 子供じゃないんだから無制限な自由は存在しえないことくらい理解してると思いたかった。

できれば「自由」について語る前に、 「ソフトウェアの自由」についてもうちょっと押さえて欲しいような。

_ [Ruby] RUBY ROUC

「Ruby Rest of us conference」なんだそうだ。 いまいち実態が見えないんだけど、RubyConfに参加できない人を中心に デンバーで開催されるより緩やかなカンファレンス、なのかな?

FooCampに対抗したBarCampとかをイメージすればよいのかなあ。

_ 一般人はプログラマなんて目指しちゃいけない、死ぬことになる

煽ったエントリなんで普通なら取りあげないんだけど、 どういうワケか私が登場してたので(だからエゴサーチで見つかった)。

まつもと氏と結城氏がなぜあそこまで闘えるのか。それは彼らが信仰を持ち、妻と子があるからだ。いってみれば無限エリクサーを持っているようなものだ。

あんまり「闘ってる」自覚はないんだけど...。

でも、あんまり人生をプログラミングに「最適化」しちゃってたら ずっと前に生活破綻してたかも、という自覚はある。 そういう意味では信仰と妻子は「人生の碇」であったかもしれない。


2006年08月08日 [長年日記]

_ [Ruby] 1.8.5 preview3

昨日出すはずだったpreview3が遅れている。 で、いろいろ最終作業を行っているのだった。

が、なぜか直前にバグレポートが来たりして。 うーむ。

_ 神々の失墜、崩壊するコピーワンス

コピーワンスが取り消しになるかも、という話題。

気になるのはEPNで録画したものがLinuxで見れるのか、という点。 どうも見れないような気がする。

別にHDクオリティじゃなくてもいいんだけどな。

_ 平和

平和がほしい、と妻は言った。


2006年08月09日 [長年日記]

_ [Ruby] 1.8.5 preview3

結局、8日中には出せなかった。

_ [morq] Rastデータベース壊れる

先週、morqで使ってるRastのデータベースが壊れてしまった。 で、土曜日からこれを再構築しようと思っていたのだが、 何時間経っても、何日経ってもちっとも終わる気配がない。

もうそろそろイヤになってきた。

Rastの性能改善については、話が進んでいるんはずなんだけど、 ちょっと最近音沙汰がない。このまま停滞してると 他のに乗り換えちゃいたい気分になるなあ。

裏切り者気分だけど。


2006年08月10日 [長年日記]

_ 会議

長いぞ。無駄な時間だったとは思わないけど。

_ [morq] HyperEstraier対応

やっちゃった。文書登録はRastの10倍以上速そうだ。

本当はRastを速くするハックというのをやりたいんだがなあ。 どうも能力と気力がついて行かない感じ。


2006年08月11日 [長年日記]

_ 論文

PROの論文申込締切日。

が、論文書きをなめてはいけない。 とうとう、なんにも思いつかなかった。やばいなあ。

_ 帰省

山口に行きます。火曜日まではネットからも消失。

_ おばあちゃんち

なぜ、子供たちは両親の実家を「おばあちゃんち」と呼ぶのだろう。 おじいちゃんの立場は?

「敏感にボスを見分けてるんじゃない?」という説がある。 うちの孫たちも「おばあちゃんち」と呼ぶようになるのだろうか。


2006年08月12日 [長年日記]

_ [morq] morqメンテ

山口にいるあいだはネットアクセスがなく、メールの読み書きができないので、 この機会にmorq(のデータベースを)メンテする。 全文検索エンジンをHyperEstraierにしたのだが、 その時にほかのデータベースを壊してしまったのだ。

また、バグもいくつか見つけてしまった。 いままで「なんか変だな」と思っても放置してたんだけど、 ちゃんと調べたらやっぱりバグだった。

しかし、H.E.に満足というワケではない。

良い点

  • 登録が速い
  • DBが小さい
  • 必要な機能はある

悪い点

  • 検索速度にムラがある
  • 属性検索がRastより遅い

予定されている(はずの)Rastの性能改善が実現されたら、 またRastに戻るかも。 H.E.に負けない登録速度とDBサイズはかなり難しいチャレンジではあるのだが。


2006年08月13日 [長年日記]

_ [教会] 山口支部

久々の山口支部訪問。山口に帰っても日曜日を外すことが多かったしね。

が、お盆の時期なのでいない人があったりして、 結局会えない人もいた。

とはいえ、懐かしい人にも会えたのでまあ満足すべきか。


2006年08月14日 [長年日記]

_ [Ruby] Ruby on Rails will ship with OS X 10.5 (Leopard)

LeopardにはRailsやらRubyGemsやらが標準添付されるという話。

OSXはますますRuby(Rails)的開発環境になるなあ。

そろそろMac OS Xを入手して、Rubyの主要開発環境とすべきか。 とはいえ、先立つモノが...。

_ Segmented Garbage Collection

夕べ、布団に入ってつらつらと考えていると、 (また)GCの新しいアイディアが湧いてきた。 で、その場でメモしておいたのだが、 一晩寝てから考えると、そんなに性能は出ないような気がしてきたなあ。

実際に実装してみないとわからないけど、批判的モードの目で見ると、 ライトバリアのコストと、 リメンバードセットの(空間)コストが馬鹿にならないような気がしてきた。

まあ、時間作ってダメもとで実装してみるかなあ。

_ XMLのメリット、デメリット

XMLのメリット・デメリットについて改めてまとめてある。

問題はメリットの方。ここであげられているのは以下のもの。

XMLとその関連技術をひととおり学んだら、XMLを使用する際のメリットとデメリットを自分なりにあらためて整理しておくことをお勧めする。
  • データ公開の容易さ

    XML はHTMLと同様にWebとの親和性が高く、データをWeb上に公開することが容易である。そして公開されたXMLデータに対しては、URLの入力により簡単にアクセスできる。データを利用する側では、公開されたXMLデータをいつでも取り込み、有効に活用することができる。

  • データの再利用性

    XML をアプリケーションやシステム連携の際の共通フォーマットとして利用すれば、データの再利用性が高まる。例えば企業内の既存システムには、さまざまなデータが蓄積されているが、XMLフォーマットを活用することで、社内ネットワークを通じてイントラネット上でデータを表示することができる。つまり、データの2次利用が容易にできる。

  • データの拡張性

    現在公開されている RSSデータに対して、既存の要素とともに、これまで使用されていない新しい要素を追加することができる。既存のアプリケーションでは既存の要素のみを処理し、新しく作成されるアプリケーションでは、既存の要素とともに新しい要素も処理できる。このようにXMLフォーマットには拡張性がある。

  • データの長期保存性

    XML データはテキストで記述することができ、特定のOSやアプリケーションに依存せず、データを長期保存する際に適している。また前述のようにデータに拡張性があることは今後長期にわたってデータを扱ううえでの運用上のメリットであり、データの長期保存性を向上させる。

さて、このメリットのいずれも「XMLならでは」ではない。 プレーンテキスト、S式、YAMLなどでいけない理由はない。

この記事は一応は「XMLのプロ」による記事なのだと思うのだが、 それで改めてメリットを紹介するのに、この程度のメリットしか出てこない というのはどういうことなんだか。

XMLの「本当のメリット」ってなに?

(追記)

いろいろと反応があって嬉しい。 「XMLの本当のメリット」について、いろいろな意見をいただいた。 せっかくだからまとめておこう。

なお、独断と偏見によってあらかじめ分類している。

  • 非技術的(政治的)なもの

    頭から否定するわけではないが、あまり感心はしないものが多い。

    • 捺印ナビリティ(zundaさん)
    • 仕様が決まっていること。スタンダードであるという事(takahashimさん、苺さん)
    • 頭文字が"X"なのが格好いい(ほるほるさん) - 意外と重要なことかも
    • 標準と思われていて皆が使うから(MMXさん)
    • とりあえず流行っちゃってること(uruさん)
    • namespaceの仕様が標準化されている(るとさん)
    • API(DOM)が標準化されていて普及しているのが大きなメリット(ikemoさん)
  • XML独自の利点ではないもの

    そういう利点はあるかもしれないけど、別にXMLでなくてもいいよね、というもの。

    • 構造のあるデータが書けること(すずきひろのぶさん)

      別にS式でもYAMLでも書けますよね。拡張性のあるテキストのマークアップという意味(テキストが主、マークアップが従)ならSGMLの系譜を否定しませんが、データ記述や設定ファイルにまでとなると話は別です。

    • プログラミング言語に依存しない(maedaさん)

      YAMLもJSONも依存しませんね。

  • その他
    • タグの意味が標準化されている(maedaさん)

      XMLのタグの意味はごく一部(preludeとか)以外は標準化されていないんじゃないでしょうか。標準化されているのはXML文法を利用した規格(SVGとか)ですよね。それでは「野良XML」を説明できません。

    • 誤り訂正に強い?(tamotoさん)

      そういう話はありますね。でも、デメリットを上回るメリットかどうかは疑問です。

マインドシェアと標準化について

「XMLは流行ってるから」とかいう理由を否定するつもりはない。 けど、技術者としては(この「Matzにっき」のような場所では)、政治的な思惑を離れて本音ベースで「これこれこういう技術的メリットがあります」というような話がしたい。

その点、「標準化されている」というのは、 実際には「流行ってる」と同じようなことを表現していても、 技術者的に納得しやすい(よく使われているからこそ標準化されるわけで)。 もっとも、「標準化されていないと使えない」という話になれば、 RubyもPHPもPythonも使えないわけで。 Javaもちょっとだけ怪しい(最終的には私企業の仕様だから)。 その点ECMAに提出されたC#は意外にも安心だ。

逆にこれらが使えるという環境であれば、 ある程度安定していれば「標準化されているかどうかは関係ない」とも言えるかもしれない。

namespaceとDOMについて指摘してくださった方もいらっしゃるが、 「野良XML」のほとんどはnamespaceを使ってないような気がするし、 DOMも結局はそのフォーマットに対するアクセスAPIがあるかどうか というだけのような気もする。

言うほどそんなに人は言語やライブラリを渡り歩かないし。


2006年08月15日 敗戦記念日 [長年日記]

_ 帰宅

山口から玉造に帰還。

途中、妻と娘が気に入っている浜田の「トライアル」という店に寄ったりしたので、 ずいぶん時間がかかった。くたびれた。

_ 7400/1200

金曜日の午後から火曜日の午後までまる4日間ネットにアクセスしなかったことになるのだが、 帰宅してからメールを取り込むと、7400通以上のメールがたまっていた。

スパムフィルタを使ってフィルタリングしてもまだ1200通以上の「読むべきメール」が残っている。途方に暮れそうだ。

とりあえず仕事関係の急ぐものだけ、ピックアップする。 それでもかなりの量だ。げんなり。

_ [Ruby] ハラショーハラショー2.6: Ruby City MATSUEの底力

吹き出しそうになった。恐るべし、Ruby City MATSUE。


2006年08月16日 [長年日記]

_ 米子の実家

普段山口にいる弟が帰省でこちらに帰ってきている。 今回、すれちがいだったのだが、一日ずれているので会えないか、とのこと。

というわけで、米子へ。

午前中、少々買い物などした後、実家へ。

すると父が長電話をしながら、なにかパソコンをいじっている。 母によるともう2時間近く話しているらしい。

どうやら、ネット接続を光に変更したのだが、 無線LANの設定がわからないのだとか。 昼食も食べずに何をやってるんだか。

手を出したいところだが、サポートのお姉さんの邪魔をするわけにもいかず静観。

しばらくすると、お姉さんもあきらめたらしく、 「こちら側の設定も見直します」ということで、一旦中断。

そこで、改めて調べてみる。

  • 有線接続はできる
  • だが、PPPoEの設定がされていない(認証はしないのか)
  • 無線LANポートが「アダプタ」モードになっている。DHCPモードに変更。
  • これで私のPC(Thinkpad Linux)では接続できるようになった
  • 父のノートPCからはつながらない
  • ノートPCのドライバは設定されている
  • 無線apも見えるようだ
  • なぜかアドレスとDNSが手動設定の固定になっていた
  • DHCPから取得するように
  • ついでにwepキーの設定も

これでつながるようになった。Windowsの設定なんてしたくないぞ。

せっかく実家によったのにほとんどの時間をPCサポートに使ってしまった。 なんてもったいない。

_ [言語] Microsoft、.NETに動的言語サポートを段階導入

動的言語の地位が向上することは良いことだ。IronPythonの影響も大きそう。


2006年08月17日 [長年日記]

_ U-20プログラミングコンテスト審査会

一次審査を突破した16作品(個人8作品、団体8作品)から選考する。

公表前なので詳細は避けるが、 印象に残ったのは中学生による作品である。 規模や複雑さはさほどでもないけれども、 なかなか光るものがある作品があった。

あと、言語処理系(を含むもの)が二作品もあった。 完成度はともかく若いうちから言語について考える人がいるという事実が 嬉しくもあり、頼もしくもあり。

さんざん悩んだが、最終選考(9/2)に進む作品をいくつか選んだ。 ここからは本人たちによるプレゼンテーションで大賞や佳作が選ばれることになる。

_ Rubyが公的プロジェクトの成果だったら

Rubyのことを気に入ってくださっていたという元東京大教授の渕一博さん死去に関連して、高橋さんの『思っているよりもずっとずっと人生は短い。』より。

例えば、経産省が50億円くらいを費やして、「21世紀の情報産業をリードするプログラミング言語を開発する」と音頭をとり、10年かけてできた言語がRubyだとしたら、プロジェクトとしては成功したことになるのだろうか。

なるのだろうか。

10年50億もかけてれば、もうちょっとマシな言語になっているような気もするし、 逆に総覧的で結局一般受けはしなかったような気もする。


2006年08月18日 [長年日記]

_ 会議

打ち合わせ。米澤先生をはじめとするエラい人に会って緊張する。

面白い話がいろいろと聞けた。 東大の学生は頭がいいなあ(or 頭がいいことを期待されてるなあ)。

米澤先生の運転で場所を移動。 東京の道はさっぱりわからない。 道はまっすぐじゃないし、どこがどこにつながっているのかすぐにわからなくなる。 城下町だからか。

松江も城下町で道はややこしいのだが、 東京に比べると規模が小さいのと 普段から運転しているから慣れているのがあるのだろう。 それに松江の旧市街はやっぱり難しいし。

それよりなにより東京の道路をわからなくしてるのは、 公共交通機関が発達しているから、道路を把握しようという動機がゼロだからだろう。 動機は重要だ。

会議はけっこう面白いネタがいくつも登場した。 話だけなら誰でもできるので、これを現実化するのが次の大きな課題だ。

_ パンダパン

会議の場所から駅まで移動する途中のパン屋でパンダの形をしたパンが売っていた。 アイシングとチョコで完全にパンダ型。感動したのでおみやげに買って帰った。

_ [Ruby] Can Ruby Live Without Rails?

Bruce Tateのインタビュー。 いくら昨今のRuby人気がRailsのおかげだからといって 「Railsなしで生きていけるか」と思われるほど依存してはいないと思うな。 もっともそう言っているのはBruceではなくインタビュアーなのだが。


2006年08月19日 [長年日記]

_ 子守り

今週はどたばたしたし、 出張もあったので、 妻にストレスがたまったらしい。

「一人になりたい」とのことだったので、子守り。

ちょっとくたびれた。

_ [Ruby] 『プログラミングRuby 第二版』

4274066436 4274066428

著者献本が届く。正式な情報。

『プログラミングRuby 第2版 言語編』
http://ssl.ohmsha.co.jp/cgi-bin/menu.cgi?ISBN=4-274-06642-8
Dave Thomas with Chad Fowler and Andy Hunt著 まつもとゆきひろ監訳 田和勝訳
定価:3990円(本体3800円+税) B5変形判 434ページ

『プログラミングRuby 第2版 ライブラリ編』
http://ssl.ohmsha.co.jp/cgi-bin/menu.cgi?ISBN=4-274-06643-6
Dave Thomas with Chad Fowler and Andy Hunt著 まつもとゆきひろ監訳 田和勝訳
定価:4410円(本体4200円+税) B5変形判 416ページ

_ 1.8.5スケジュール

16日に出すとかいってたけど、駆け込みのバグがあったり、 見落としがあったり。

ギリギリだから次のリリースまで待つ、という選択肢もあるのだが、 検証もほとんどいらないような簡単なものなら入れてしまいたいというのも人情だ。

その辺、割り切れないから、リリースマネジメントが下手くそなんだろうな。

_ rast様に好意を持ってる女性がお待ちです。

今日届いたスパム。

そうか、Rastに興味を持ってくれているのか。そうか、そうか。


2006年08月20日 [長年日記]

_ [教会] レッスン

司会。託児のお手伝い。

神権会でレッスン。神殿について。

しかし、個人的にはとうてい満足できる出来ではなかった。 聞いてくださった方に申し訳ない。

ピントは明確になってないし、 話の流れはデザインされてないし、 参加を促すきっかけは不足しているし、 質問は練られてないし、 まとめは曖昧だし、 時間配分は雑だし。

しばらく教えることから離れていたとはいえ、 これでは全然ダメダメだ。

もうちょっと精進しよう。


2006年08月21日 [長年日記]

_ [Ruby] RubyOptimization

Rubyプログラムを高速化しようとするときのヒント。

なんか開発者も意図してないようなものもある。 まあ、参考にはなるだろう。

_ 手を移動させずに、指先でキーボードもマウスも操作可能な新キーボード

個人的にはこういう変なデバイスを見るのは大好きなのだが、 自分で使うとなると結構尻込みしてしまう保守派でもある。

実際使ってみて使いやすいんだろうか。

_ ITの「発明おじさん」--産業技術総合研究所・増井俊之さん

「発明おじさん」だって。その表現、似合ってるな。

しかし、日本には「愛される発明おじさん」は希薄な気がする。 アメリカ映画にはしょっちゅう出てくるのに、 日本映画にはほとんど登場しないよね。

『ジュブナイル』には出てたか(香取くんがおじさんかどうかは置いといて)。 あと、未見だけど『サマータイムマシンブルース』にも出てるのかな。


2006年08月22日 [長年日記]

_ [Ruby] Rails勉強会

オープンソースラボでの初の勉強会。

前田くんが講師でRails入門について。 結構な人数が集まっていた。25人?

中には「市職員です、なにも分かりません」というような サクラっぽい人もいたのだが、 一方では「市職員です。得意技はEmacs Lispです」というような人もいて 油断ならない。

お初にお目にかかる人もたくさん。 で、私もRails勉強しようか、と思っていたのだが、 preview5に向けて内職することがたくさんあって、 結局「いるだけ」で終わってしまった。

まつもとさん、内職しすぎです。

_ 404 Blog Not Found:傑物2.0

「世界で通用する人」は、日本でも、あるいは世界中のどこでも発生しうる。 別にどこでなければならないということは(あまり)ない。

しかし、...という話。

「世界に通用する人」がどこで暮らす必要があるか、だ。

かつて「世界で通用」するためには、最も大きな市場に自らをおかねばならなかった。テニスならウィンブルドン、そして工業製品では合州国、というわけである。場合によっては人だけではなく工場すらそうする必要があった。車がその典型で、今や日本車は日本以外の国で作られる台数の方が多い。

ところが、今や「世界で通用する人物」は、自分の好きな「田舎」にいながらにして、「ウィンブルドン」に出向く事なく勝負できる時代が来ている。前に紹介してここでもう一度紹介している"The World is Flat"の指摘で最も重要なのは、この一点なのである。

ま、それはそうだよな。もう空間的位置はさほど関係なくなってきている。

と、思っていたら

その点、Matzさんはまさに傑物2.0なのだろう。

Matzにっき(2006-07-15)

私の周辺(ちょっと下の世代かな)は、アメリカ留学したがる人が多くて、 実際に行った人もたくさんいるのだけど、 私自身は今までの人生で一度も、アメリカで勉強したいとか、 仕事したいとか、考えたこともなかった。

Matzさんは、合州国どころか東京に「進出」することすら考えていない。考えていなくてもちゃんと世界に通用している。なぜそうなのかと考えると、Matzさんにとって島根が充分「ゆたかな」場所だったからだろう。なんといってもNaClという職場があるのは大きい。

私が登場してしまう。

私のようなのが例になってしまうってのは、 結局そういう生活をしている人の層がまだまだ薄いってことなんだろうな。

田舎暮らしも悪くないっすよ。

_ 叱る時、やってはいけない10か条

「感情的になってしまう」ってのは時々あるな。

他の分野で自分を制御するのはそれほどでもないのだが 子育てではどうにも難しい。 私がかかわってきた他のあらゆる活動と一線を画しているような気がする。

それだけ子育てを通じていろいろなことを学ぶことができるということなのだろう。

いっぱいいるしな。


2006年08月23日 [長年日記]

_ [OSS] しまねOSS協議会 OS4

オープンソースラボ運営母体となるはずの団体、しまねOSS協議会の Webページが用意できたそうな。

「Open Source Software Society Shimane」で通称「OS4」というのを考えておられる そうな。たぶん、OS/2とはまったく関係がない。

9月3日には設立記念イベントが開催される。 京大の末松教授による講演もあるとか(無料、申込制)。 あいにく私は出席できないが、ビデオメッセージを用意するとか。

マジですか。

_ [言語] ついにJavaにもクロージャ?

個人的には、今さら私がJavaを使わなくちゃいけない局面は想像できないので、 「別にどうでもいい」という感じもしないでもないけど、 無名関数、高階関数、そしてクロージャの便利さ加減は日々実感しているので、 世間に数多くいらっしゃるJavaプログラマの皆さんが、 それによってより幸福になるなら、それはそれで素晴らしいことだと思う。

そして、世界はLisp化していく。


2006年08月24日 [長年日記]

_ [Ruby] 1.8.5 リリースエンジニアリング

preview3で終わるはずだったのに、こんなに長引いちゃったよ。

preview5に含まれていたいくつかのバグを修正し、1.8.5最終リリースに備える。

で、リリースについていろいろな意見があったが、結局こんなふうに考えることにした。

  • 8月半ばにリリースしようと決めたのは私だが、 「キリがいい」という以上の理由はなかった。 ので、遅れても困る人はいない
  • フリーズするはずのpreview3後にバグレポートが来たりして弱ったが、 ここで取り込まないと何ヶ月も放置されることになるので、 互換性に大きな問題がない限り、できるだけ取り込みたい。 「きりがない」というのも確かだが。
  • 本気なのはコミッタやアクティブユーザのうち ごく一部で、残りは本気でないというのが原因だと思う。 この辺をどう徹底させるか。 コミッタ全員が参加しているbasecampはある程度役には立っているが、 それでも、一度もログインしていない人もいる 今後のことを考えると、全員が進行状況が分かる手段が必要 Wikiか? BTSか? それともグループウェアか?
  • とりあえず、明日1.8.5リリースしよう。もう問題はないだろう

いやあ、リリースはめんどくさい。

1.9では周辺ライブラリは全部RubyGemsなどに追い出して、 リリースはコアだけにするというのはどうだろうなあ。


2006年08月25日 [長年日記]

_ [Ruby] 1.8.5

出張で東京へ移動。が、本来、今晩あるはずだった予定は 深夜2時にキャンセルになってしまう。

で、少々時間に余裕ができたので東京オフィスで1.8.5のリリース作業。 作業そのものは手順通り(スクリプトも作ってるし)なんだが、 失敗しちゃいけないと思うと、確認とか、精神的プレッシャーとか。

お金をもらっているわけでもない、 誰が喜んでくれるわけでもないのにやってらんない。 むしろ、アレだ。開発側は淡々と開発を行い、 ディストリビュータが適当なタイミングでパッケージにするというので、 どうだろうか。

どうだろうか、っていっても、きっと誰も賛成してくれないし、 手をあげてもくれないに決まってるんだけど。

などと、不毛なことばかりを考えながらリリース。

リリース後、サイボウズラボへ移動。LL Ring前夜祭というかたちで おしゃべり会に参加。

_ [原稿] プログラミング言語最前線

オープンソースマガジン10月号の第二特集のpart 1を仰せつかった。 しかし、「最前線」とはおおげさなタイトルだ。

LispとかMLとか、あまり知られてない言語を中心に、 そこからどう技術移転が行われてきたか、とかいうような話。 私の文章をウォッチしている人なら「どこかで読んだな」と思うかもしれない。

こういう趣味に走れる文章は、楽しいけど、それでも締切はしんどい。 特に次の日のLL Ringのスライドを用意する必要がある場合にはなおさらだ。

_ well-formedでさえないXML

サイボウズラボで竹迫さんたちと話していたネタ。

RSSとかだとdescriptionにHTMLが埋めこまれるので、 well-formedでないXMLが日々大量に生成されている。 最近のPerl業界ではそのようなwell-formedでさえないXML(のようなもの)を ハンドリングすることが話題になっている、と。

それだと先日の「XMLのメリット」全否定のような気がする。

とはいえ、HTMLだからdescriptionの内容全部エスケープするわけにもいかないような気もするし。 「いっそ、コメントに入れるか」という話も出たが、 それだと少なくともRSSではないよね。次世代RSSはそうするべきか。

そういえば、XMLにはTeXのverbのようなものはないよね。


2006年08月26日 [長年日記]

_ LL Ring

朝から新木場へ移動。

ちょっと迷ったが、新木場1st Ringへ。 それらしい場所で、「日本Rubyの会会長」が矢印を持って立っていた。

他数名と「1.8.5リリースお疲れさま」とかいうような話をしてから、 控え室へ。

会場を覗いてみると、すげえ、ほんとうにリングだよ。

Language Updateは会場に陣取って、 いろいろ聞いていた。 言語ごとにいろいろ「熱さ」が違っているのが面白い。 毎年参加してる言語とか、あんまり「Update」ないんだよね。

印象に残ったのは

  • 「馬」。いや、ホントはラクダなんだって。OCamlだから。 でも、O'ReillyのOCaml本の表紙は馬だったような...。
  • 「ハワイから生中継」。かっこいい。 私もこれやろうかな。そしたら、大変な思いをして海外へ移動しなくてすむかも。 だんだん括弧が薄くなるウィットは尊敬しちゃう
  • 「パイプ椅子」。乱入かと思った。しかし、あいかわらずSqueakはデモが素晴らしい。 Rubyも爪の垢を煎じないとな。
  • 「Matz引退?(1.8系から)」。昨日の今日だからな。 スライドを書いてた時点では90%以上本気。 今でも割とその気だったりする。

一方、会場でボーッと聞いてたら呼び出しをくらってしまったので、 私の発表の直前のPythonなどは聞けなかった。残念。 Pythonってのは毎年初心に返って「言語紹介」をしてる気がする。 真面目というか、継続こそ力なりというか。

ちゅーか、そろそろLanguage Updateは止めたほうがよいのではないか。 あるいは1年交代とか。

発表が終わって昼食食べて。関数型言語のパネルを聞こうと思ってたのだが、 うちに電話したら家人が具合が悪いのがいるということで、早めに帰ることにした。

その後のプログラム、あれやこれや見たかったんだけどな。 まあ、ホントに知らないこと、調べられないことは少ないんだけど、 face to faceで生まれることってのあるしな。

_ [Ruby] Are Ruby's Open Classes a Poor Fit for Large Projects?

「Rubyのオープンクラスってば大規模ソフトウェアに不向きじゃない?」という話。

誰も協調しない環境ではその通り。

でも、誰も協調しないで大規模ソフトウェアってのは難しいんじゃないかなあ。

で、おそらくプロジェクトメンバが問題を引き起こすことは(協調が起きるから)滅多になくて、 になるのは独立して開発されているライブラリ同士が それぞれ独立に既存のクラスにメソッドを追加して、 それらの名前が重なってしまったとかじゃないかなあ。

で、そういうこと(ライブラリ矛盾)が起きてしまうと、 可能な対策はかなり限られていて、現状では

  • どちらかのライブラリ(または両方)をあきらめる
  • どちらかのライブラリ(または両方)に手を入れる

くらいしかない。ほとんどのライブラリは自分の管理下にはないから、 手を入れる(結果的にフォークする)のは面倒だし、 ライブラリを使うことで達成できたはずの生産性をあきらめるのも悔しい。

当面は

  • 一般に公開するライブラリはあまりオープンクラスを活用しない
  • 活用する時には名前をできるだけ明確にし重複を避ける

ことを徹底するくらいしか対策がない。 とはいえ、全面禁止にしちゃうと 中にはActiveSupportのようにオープンクラスを活用して 違う言語みたいにしちゃう可能性を否定しちゃうことになるし。

将来的にはクラスボックス(のような機能)で、この辺を住み分けできる 名前空間管理を導入したい。けど、きっと導入されるのは(1.9ではなく)2.0になることだろう。


2006年08月27日 [長年日記]

_ [教会] 南極の氷

先週のことになるが、松江の教会員の人の知人という方が、 「息子のおみやげ」ということで南極の氷をもってきてくださる。

「しらせ」が定期的に持って返ってくれるもののおすそわけだそうだ。 教会では有効な使いみちを思いつかない(オン・ザ・ロックにするとおいしいそうだ)ので、 県教育委員会で教材にしていただけるように手配する。

しかし、なかなか引渡には手間がかかりそうで、実はまだ教会の冷凍庫に鎮座しているのであった。

_ [教会] バプテスマ会

新しい人が教会に入る式である「バプテスマ会」が開かれる。

非常によい雰囲気の会であった。今年はこれで7人目か。


2006年08月28日 [長年日記]

_ [教会] 投石

朝から電話連絡。 日曜の深夜から月曜の早朝にかけて、どなたかが教会の建物に投石したのだそうだ。 ポストがひしゃげ、窓ガラスがいくつか割れ、建物が傷つけられた。

誰がなにを思っての行動かさっぱりわからないけれども、悲しいことだ。

_ 会社が“PC音痴”を見捨てる日

NaClは、会社設立当初から 「自分のPCは自分で購入する」(機種選定どころかお金も自分で払う)という かなり大胆なルールを採用している。 ほとんどの人は環境も自分で選択し、インストールも自分でやる。 で、給与と一緒に少しずつ「機器購入手当て」が支払われていて、 それを機器購入にあてる。あるいは無利子の貸し付けも用意されている。

いろんな環境があって困らないかという説もあるが、 どうせうちのプロダクトが使われる環境は様々だし、 いっそ多様性があった方がありがたいことも多い。 「誰かがやってくれるから」という甘えも減るしね。

「自分のことは自分で責任をとる」という点で、 変わっているけど、まあ、ありがたい制度であると思っていたのだが、 どうやら世間が追いついてきたらしい。

_ 自転車購入

次女の自転車が調子が悪くなったので、 小学生のころから乗っていて小さくなったこともあるので 新しい自転車を購入しにいく。

三件ほどはしごしていろいろ見てみるが、 なかなか気に入らない。 結局、次女は色とか形とかが気に入ったという比較的安い自転車に決定。 父親が、こちらの方がこんな機能が、これが便利だ、とか言っても 耳を貸さない。結構頑固かも。


2006年08月29日 [長年日記]

_ [Ruby] String embedding

ちょっと手が空いたので、ハックしようという気分が盛り上がる。

で、なにに手をつけようかと考えたのだが、 アイディア袋からSymbolをStringのサブクラスにする、というものを選ぼう ...と思ったのだが、 そのためにはStringの消費するメモリ消費量を削減する必要があると考えた。

で、以前akrさんがStructとembedded化した時の方針を参考に、 Stringも埋めこんだ。

しかし、

  • StringはStructと違い、大きさが頻繁に変更される
  • しかも使われている局面が極端に多い

ので、偉い苦労した。コンパイルが通っても、 ちょっと実行させるとすぐに落ちちゃうし。

_ 夜更かし

中学生は8月30日から2学期が始まるそうだ。

で、例によって宿題が終わらないといういかにもありそうな理由で 娘たちが夜更かしをしている。 割と早いうちから宿題をしてたみたいだが、 やはりやり残りや見落としがあったようだ。

次女は1時くらいには布団に入ったようだが、 後で聞いたら長女は4時まで起きてたのだそうだ。

自分の締切前の行動を考えると あまり強いことは言えないのだが、 中学生は4時まで起きてるべきではないのではないか。

いや、新聞を読んでから寝るのは人としてどうかと思う。 自分自身、しょっちゅうやってるんだけど。


2006年08月30日 [長年日記]

_ [Ruby] String embedding(2)

StringってのはRuby全体のあちこちで利用されているので ごくわずかな問題が悲惨な状況を引き起こす。 もっとも、Rubyに関していえば、世界中のユーザが予想もしない使い方をしてくれるんで、 Stringじゃなくてもほぼあらゆるバグが悲惨な状況になるんだけど。

再現しないものも多いしね。

で、日がな一日テスト実行してはバグとり。繰り返し。

なんて幸せな日だ。

_ [Ruby] Euruko06

ヨーロッパ・Rubyカンファレンス。

今年は11月4日、5日。場所はミュンヘン。 今までは学校の敷地を借りたりしてたようだが、 今年はホテルでやるらしい。

「来て、話して欲しい」と依頼されたけど、 RubyConf 2006の直後なのでちょっと無理。 代わりにSkype Videoでどうだろうか、と打診しておいた。

ただなあ、Skype on Linuxはカメラ使えないんだよなあ。 奥さんのPCを借りればなんとかなるか。 PCカメラを買わないとなあ。


2006年08月31日 [長年日記]

_ [Ruby] Array embedding

Stringの埋め込み化対応はほぼ完成。一通り動作するようなのでコミット。

次はArrayに手を入れる。 方針はStringと同じなので簡単、簡単。 ArrayにはSTR_ASSOCがないぶんより難易度は低そう。

とはいえ、やっぱり見落としがあって、 一発で動作するとは行かないのだった。

と、この時点で埋め込み化はnative threadと相性がとても悪そうだという 事実に気がついたのだが、まあ、どうせ他のところでGILが必要だろうし、 並列環境での性能を追求するなら、どうせStringもArrayも(Hashも)実装を置き換えないと いけないだろうから当面は気にしないことにする。

見えない、見えない。

性能は数%程度向上したような気がする。

_ [OSS] GPLにまつわる10個の誤解

ほんとにそんなに誤解があるのだろうか、という疑問もあるが、 人間の誤解する能力をあまり低く見積もってはいけない、のかもしれない。

  1. GPLにはウイルス的性質がある
  2. GPLに強制力はない
  3. GPLソフトウェアに対しては課金できない
  4. 「自由か死かの選択」条項は無制限に適用される
  5. ディストリビューションには変更したコード部のみを同梱しておけばよい
  6. 頒布時に必要なのはソースコードの提供のみで、それらの使用手段まで用意する必要はない
  7. 頒布時にソースコード提供の用意があることを明記しておく必要はない
  8. 頒布時のソースコード提供は、直接のカスタマーに対してのみ行えばよい
  9. 頒布時にはライセンス条項へのテキストリンクを張っておけばよい
  10. 条文の解釈は読む人間ごとに異なる

GPLはやや難しげな単語が 登場するものの、言われているほど難解でも、曖昧でもない。 一度は(できれば二度、三度くらい)呼んで読んでおいても損はないだろう。

_ [Ruby] Things You Shouldn't Be Doing In Rails

Railsを使ってる時にしちゃいけないコト。

正直、わかんないものがいくつかあって、 自分はRailsについてなんにも理解していないと思い知らされる。


最新 追記