«前の日(05-25) 最新 次の日(05-27)» 追記

Matzにっき


2003年05月26日

_ [本]Amazonおすすめの本

葛藤を感じつつも、利用しているAmazonだが、 やはり機能的には一番充実している。

中でも「おすすめの本」という機能は、なかなか面白い。 自分が買ったり興味を示した本から連想される本を紹介してくれるというものだ。 誰がどの本とどの本を買ったというような売り上げデータベースの一部を見せてくれているようだ。 やはり、実際のデータは強く、なかなか面白い本を紹介してくれる。

しかし、中には変な紹介もある。 先日勧められたのは「デッド オア アライブ エクストリーム ビーチ バレーボール ベスト・ショット」

「ワタシはゲームには興味がないのに」と思い、「おすすめの理由」を見ると,

この商品が購入または評価されていたからです…
Garbage Collection: Algorithms for Automatic Dynamic Memory Management

なんじゃそら。なんでガーベージコレクションの本との関連づけが。 共通点は...マニアックなところ、とか。

_ [Ruby]Block/Proc分離

懸案のBlockとProcの分離をコミットしました。 かなり大きな変更なので非互換が出るかもしれません。当面は要注意。

変更の要旨は以下の通り。

  • ブロックをオブジェクト化したものがBlock
  • そのサブクラスで無名クラスを表現したものがProc
  • Blockはブロック引数またはBlock.newで得られる
  • Procはlambda, proc, Proc.newで得られる
  • Block#callの引数チェックはゆるい
  • Proc#callは厳密に引数の数をチェックする
  • Blockからのbreakは例外
  • Procからのbreakは実行終了

それに伴い、以下の変更も行いました。

  • Blockを得るメソッドはto_block(前はto_proc)
  • Block#arityは{|a|..}の場合、1を返す(以前は-1)
  • Method#to_blockでできたブロックは正しいarityを返す(以前は-1)

使ってみてくださいませ。

これが落ち着いたら、1.8.0のインタプリタ本体には大きな変更は行わないと思います。 ただ、<=>の例外の扱いとか、まだ考えなくてはいけない点もいくつか残ってますが、 まあ、些細な修正で終わるでしょう。

_ [本]Amazonのおすすめ(その2)

その本を買って、さらにゲームの本を買った人がいたのでしょう」というのは まさにその通りなのでしょうけど、

  • 自信たっぷりに理由として述べてしまうAmazonが可笑しい
  • いや、意外と関連が有るかも、ど邪推してしまう自分が可笑しい

という点をことさらに取り上げて、笑い飛ばそうという意図だったわけで。

まあ、説明が必要という時点で外してますな。

とはいえ、こういう現象が出るってことは、まだまだサンプル数が少ないってことなんですかねえ。 日本最大のオンライン書店のはずなのに。

いや、待てよ。

特定の分野の書籍の数には限界があるわけで(たとえばRuby関連書籍は20冊強しかない)、 買った本、興味を示した本と強い相関を持つ本だけを「おすすめの本」とするならば、 そのリストに登場する書籍も非常に限られてくる、偏ってくる可能性がでてきます。

これでは「書店店舗でたまたま目に入り、興味をもって購入した」という購買行動に相当する行為が、 Amazonでは発生しにくくなります。売り上げという点からは、 事前に買おうと思ってなかった本を思わず買ってしまったというパターンはぜひ欲しいでしょう。

そこで、 少ないサンプルを強調して、ときどきこうして全然関係ない書籍を「おすすめリスト」に加えることにより、 思わぬ売り上げを期待しているのではないでしょうか。恐るべしAmazon。

いやいや、考えすぎに違いない(このパターンは3度目か)。


2004年05月26日

_ [特許]権利者との妥協

おくじさんに突っ込まれた

matzさんの意見を読んで、思わず考えてしまったのは「なんでmatzさんが、政策決定をするわけでもないのに、権利者側との妥協を熱心に考えるのだろう?」ってことなんですけど... 実はmatzさんは特許でがっぽり儲けているとか?(笑)

いや、儲けてたらこんなことしてませんってば。

で、私がなんで「妥協」を模索するかというと、社会を変化させたいから。 単なる理念だけでなく実現させたいからこそ妥協点を探っているわけです。

個人的には「特許なんてなくていい」とか、私も思っていますが、 そういうことを主張してくれる人は他にもいるし、 どうもそれを繰り返していても社会は変わりそうにないので、 少しでも「改善」するとっかかりを模索したいというか。

と、思っているので、特許の問題点を指摘するだけでなく、 現行制度から漸近的に変化できる対策を考えたいわけ。

訴えられた側が証明しなければならないようなやり方は、「持たざる者」の負担が十分に軽くならないので、同意しかねます。

んー、そうだよなあ。でも、ここはたぶん簡単には変えられないと思います。 ここ100年以上そうやってきたわけだし。 これは「証明」の方法を広げることで対応できるんじゃないかなあ。 それこそインターネットアーカイブを使うとか。

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

昨年までの「情報化・全国月間高校生・専門学校生プログラミングコンテスト」が、 今年からは「U-20 プログラミングコンテスト」として模様替えが予定されている。

今までの

  • 高校生、専門学校生対象
  • 学校参加
  • プログラミング部門とコンテンツ部門の区別

などを廃し、

  • 今後のIT社会に貢献する人材の育成・奨励
  • 新しい技術に挑戦する若々しい意欲と努力の発掘

を目的としたプログラミングコンテストである。日本国内に居住する、 平成17年3月31日時点で満20歳以下の人なら誰でも参加できる。

今年は、実行委員(審査員)にも

も加わっている(石田晴久委員長をはじめ総勢9名)。

内情をばらすと、昨年の「セキュリティ甲子園」の騒動から、 昨年度検討委員会が開かれ(私も委員だった)、 セキュリティ合宿とプログラミングコンテストのふたつを実施することになったというもの。

セキュリティ合宿についてもたぶん別のチームが検討しているのだろう、よく知らないけど。

で、このコンテストの〆切は8月上旬ということで、 今からモノを作るのでは難しいだろうけど、 「これは独創的だ」というモノを持っている若い人は、 ぜひ応募を考えてみてほしい。 バグが残ってても、あるいは場合によっては未完成でも発想に光るものがあれば、 少なくとも私は高く評価するつもりだ。

_ 電車男

アニメオタクに偶然訪れた恋の行方は。

本当かよ、と思うような展開だが、 これをフィクションで書けるなら、それはそれですごい才能だと思う。

東京からの帰りの飛行機の中で読んでいたわけだが、 ノートPCに向かって、読んでる途中吹き出したり、くすくす笑ったりしていて、 近くに座っていたアテンダントのお姉さんに怪訝そうな顔で見られてしまった。

しかし、読み終わって、冷静になって考えると、 はるかな昔のウブで奥手の言語オタクの恋物語(ノンフィクション)を思い出して、 恥ずかしいやら、情けないやら。

そんな私でも今では3人の子供のお父さんです。


2005年05月26日

_ 主夫4日目

朝、息子が起こしにくる。時計を見ると学校に出る時間ぎりぎり。 子供たちに朝ごはんを食べさせてやれなかった。ダメ主夫だ。

いくつか買いものなど。赤ん坊を連れて移動するのは結構大変だ。 車に乗るたびにチャイルドシートにくくり付けないといけないし、 降りたら降りたで、それなりに重たいもの(8Kg弱)を持ち歩かないといけないし。 粗末には扱えないし。放っておくわけにもいかないし。

が、4日目にもなるとだいぶ慣れてきて、手際よくできるようになってきたものもある。 ミルクも作るし、散歩もするし、夕食も作るし、おむつも替えるし。

今日は日経Linuxのゲラ修正があったので、夜のうちに印刷しておいたゲラを 子供を背中にしょいながら赤ペン持ってチェック。二宮金次郎か。 学校から帰ってきた次女に末娘を見てもらってる間に修正内容をメール。

それ以外の仕事は全然できなかった。

まあ、それでもこの時期というのはラッキーだったかもしれない(look at the bright side)。

入院したのが月の前半だったら、各種原稿の〆切があってパニックになってたろうし、 論文の〆切が近かったら、同じようにパニックだし、 来週のように出張が入ってたら、あちこちに迷惑をかけてたろうし、 子供がもう少し大きくて這ったり歩いたりしてたら、少しも目が離せなくてしんどかったろうし。

昨年10月に子供が生まれて以来、夜眠れなかった妻は病院でぐっすり眠れたらしいので、 それなりに休養が取れたようだ。まあ、よかった、よかった。

_ なでしこ開発日記 - IPAX2005に出展

「なでしこ」のクジラ飛行机さんのMYCOM PCの連載の第19回。

こんにちは。なでしこ作者のクジラ飛行机です。私事ですが、IPAX 2005(5/18〜5/20)に出展しました。これは、情報処理推進機構(IPA)の事業成果等の総合展示会です。なでしこのブースでは、パンフレットを配ったり、実際にプログラムを作るところを見せたりしました。イベントは、皆様から素直な意見が聞ける絶好の機会です。今回も来場の皆さんからたくさんの意見を頂きましたので、今後の開発に反映させようと思います。

基本的にプログラミング言語ってのは地味で、展示会とかプレゼンとかでは困ってしまうことが多いのです。 私はいつもそんな目に遭っていますから、展示会とかはあまり好きじゃないんです。 今回のIPAXでもYARVが同じような目に遭ってました。

ところが、「なでしこ」のブースはいつも人だかりができていました。 山本さんの人徳もあるのでしょうが、やはり「日本語プログラミング」の魅力なのでしょうか。 正直、以前は「日本(語)限定なんて」と思っていたのですが、 今回、いろいろな意味で「なでしこ」を見直しました。

また、嬉しいことに、日本発のスクリプト言語"Ruby"の作者のまつもとゆきひろさんとお話することもできました。会話にあふれるユーモアとヒゲが印象的な方で、ヒゲについて伺うと「成功するプログラミング言語の作者(の多く)はヒゲを生やしている」とのことでした。それを聞いて、私もヒゲを伸ばさなければ、と密かに思っているところです。

やっぱり、ヒゲはインパクトがあるようですね。 今回IPAXで私をはじめて見た人は、以前の「コンタクト+ヒゲなし」の私に戻ったら、 識別できないんじゃないでしょうか。

しかし、「クジラ飛行机」というからにはクジラのような人かと思ってたら、 温厚そうな普通の人でした。名前の由来も尋ねたのだが「覚えていない」とのこと。


2006年05月26日

_ [特許] 欧州委員会:「ソフトウェア特許を共同体特許法の適用対象とせず」

えーと、結局どっちになるんだろう。傍観者にはよく分からない。

しかし、もし、ヨーロッパがソフトウェア特許を認めない方向になったとすると、 ヨーロッパ諸国は、近い将来「オープンソース開発のメッカ」になる可能性はあるな。

もともとオープンソースに熱心な人は多いし、 英語が障害にならない人が多いみたいだし、 これでソフトウェア特許を心配せずに開発できるとなれば、 わざわざヨーロッパに引っ越して開発するという人も出てくるような気がする。

話に聞くとアメリカからヨーロッパへの引っ越しってのは、 それなりにあるようだし。

あと「メッカ」になりそうな土地としては南アメリカがある。 あそこもオープンソースに熱心な土地柄らしい。 一回行ってみたい気がするなあ。

遠いけど。

_ [Ruby]Rails on NaCl

しばらく前から出来てたけど、紹介するのを忘れてた。 うちの会社のRailsポータル。

発展途上中、ということにしておいて欲しい。


2007年05月26日

_ [言語] Ruby-Like Syntax in C# 3.0

Javaでは

new Date(new Date().getTime() - 20 * 60 * 1000);

とかくものが、Ruby (with ActiveSupport) では

20.minutes.ago

と書ける。簡潔でよろしい。では、C#ではどうするか。 C# 3.0なら、既存のクラスにextentionという形でメソッドが追加できるので、 オープンクラスのようなことができ、結果として

20.Minutes().Ago();

と書ける。括弧が省略できないので惜しいな。

_ [言語] 4chan BBS - Evolution of a Python programmer

いろいろなレベルのPythonプログラマによる階乗プログラム。

っていうか、個人的には英語で運営されている4chan.orgが まるっきり2ちゃんねるなところの方が驚いた。

ちなみにRubyなら、こんな感じ(1.9限定)。

1.upto(6).inject(:*)

_ [言語] 体験! JavaFXの世界 - Javaが放つRIAプラットフォームの魅力を徹底解説 (1) あらゆるデバイスで実行可能なリッチなアプリケーションUIを実現

JavaFX Scriptによるプログラミングの紹介。

なんど読み返してもJavaFXが魅力ある言語には思えない。 functionとoperationの奇妙な分離といい、 宣言的なんだけど、結局制限の多い記述とか、 よく動作が理解しにくいlazyとか。

もうちょっと言語そのものがわかれば、使いやすいと感じるようになるのかなぁ。

_ メール破産 | Okumura's Blog

メールがたまりすぎちゃうと処理できなっちゃって、「破産」するしかなくなる、という話。

スパムはまあある程度機械的に処理できるので別としても、 確かにメールはたまる一方である。 私のinboxには処理待ちのメールが残っているのだが、 すでに500通を越えている。

古いものはもうフォローしきれないのでアーカイブ行きになるべきだろうな。

_ [言語] Chi Parla ? a little SmallTalk version 3 derivate.

Timothy BuddのLittle Smalltalk ver.3 からの派生。

まだはじまったばかりだが、GCが単純なリファレンスカウントから マークアンドスイープによって循環参照に対応したり、 残っていたバグをつぶしたり、今後が期待できる、かも。

_ [言語] 404 Blog Not Found:perl - Tie::Array::Lazy

LazyなArrayを、と書いたら、弾さんがあっという間にPerlで実装してしまったという話。

こういう時にtieというのは強力だよね。 言語機能としてはあまり好きではないんだけど。

RubyだとArrayの機能をそのまま流用とは行かず、 元々のエントリにあったLazyListのように別のクラスとして再実装する形になるだろう。

Rubiniusとかなら配列もRubyで記述されることになるから、 Arrayをサブクラス化して、いくつかのメソッドをオーバーライドすることで 簡単に目的が達せられるかもしれない。

_ [言語] 404 Blog Not Found:新ゲーム - ランゲッジメーカー

blogで公開されている以上、「こっそり」とは呼べないのではないでしょうか。

どなたかがコメントされていたが、 「こっそり」の主体はあくまでも観察者である私であって、 作者の石橋さんではない。

アドバイスする「おじさんやおばさん」の価値をまったく否定するものではないが(そういえば、この業界、おばさん/おねえさんは、ほとんど見かけないなあ、少なくとも日本では)、 多すぎるリクエストやコメントが集中するにはまだ早いと私は考えていた。

たまたま見かけた「おじさん」がコメントするのならともかく、 1日数千PVの「Matzにっき」や、恐らく万を越えるPVを持つ「404 Blog Not Found」から リンクされると影響力が大きすぎるんではないかと。

杞憂かもしれないけど。

まあ、でも、しょうがない。 杞憂であることを祈りつつ、正常な成長が促されるように これからも見守ることにしよう。

言語設計ってのはねぇ、ソフトウェアの多くの領域とは違って 正解というものがほとんどないので、 難しいのだ。アドバイスしたがる人は多いけど、 本当に役に立つアドバイスができる経験者がどれだけいるかと考えると、 すべてのアドバイスは眉に唾をつけて聞くべきだ。

たぶん、「日本で一番言語設計にうるさい男」だろう私だって、 Rubyじゃない言語に対するアドバイスは当てにならない。


2009年05月26日

_コードの世界』増刷

おかげさまであっという間に増刷が決まった。 ありがたいことである。

というわけで、そろそろ市中に在庫が減って入手しにくくなるかもしれない。 ご入手はお早めに。

「もし間違いがあれば今週中であれば増刷分で訂正できます」と 編集の人から言われているんだけど、自分ではなかなか見付けられない。 思いこみと言うのは恐ろしいものだ。

メールやコメントなどでの指摘は歓迎します。


«前の日(05-25) 最新 次の日(05-27)» 追記