2006-09-01 (Fri) [長年日記]
_ 楽々ERDレッスン (CodeZine BOOKS)
だいぶ前に買ったけど、ようやく少しずつ読んでいたり。
まるでRailsに合わせて書かれたかのような内容(ストアドプロシージャとかの話は別だけど)。IDの話とかももちろんだけど、とくに交差エンティティを抽出することの重要性を説いているところなどは、最近のRailsのトレンドとリンクしてて面白い。
Rails本と合わせて買うDB本はこれで決まりじゃないかな。
2006-09-03 (Sun) [長年日記]
_ しまねOSS協議会設立総会・記念イベント
参加してきた。 といっても机や椅子を運んだりしただけだけど。
これで枠組が出来たので、どんどん勉強会や講習会を開いていきたいと思う。 集まった会費で講師を招くという話もあるけど、とりあえずは、なるべくお金のかからない方向で。
末松先生のトランザクションコストの話も面白かったけど、経営側の視点の話だったので、やっぱりまつもとさんに参加していただけなかったのがちょっと残念。 まあ、そういうのはこれからやっていけばいいのでしょうが。
そういえば、懇親会では角谷さんとはじめてまともに話せた。 kdmsnrさんが高橋さんのとこに行っちゃってから、相手してくれなくて寂しいとか何とか言ってましたよ?
2006-09-08 (Fri) [長年日記]
_ www.ruby-lang.orgリプレース
会社にマシンを買ってもらえたので、念願のwww.ruby-lang.orgのマシンをリプレース。ロードアベレージがかなり下がった。
来週にはコンテンツもリニューアルできるんじゃないかと。
2006-09-14 (Thu) [長年日記]
_ HDD換装
PCG-Z1R/PのHDDを換装した。
新しいHDDはFUJITSUのMHV2120AH(120GB)で、Crastから12,000円弱で購入。 注文日の翌日にはもう届いていた。すばらしい。
<URL:http://www.iodata.jp/support/service/hd/sony/vaioz/vaioz.html>
を参考に作業したけど、「本体カバーをずらします。」という作業の前にネジを2つ外す必要があった。微妙にモデルが違うんだろうか。
で、無事換装が終ったのだが、一つだけ問題が。 HDDのケースの形状が微妙に違っていて、新しいHDDはコネクタ部分まで 張り出す形になっているため、タッチパッドのユニットと干渉して、本体カバーがちゃんと閉まらないのだ(写真じゃわかりにくいけど本体の手前側にすき間がある)。 うーむ。
2006-09-20 (Wed) [長年日記]
_ 「なんでも RSS」で RSS が無いサイトから RSS を生成
以下のサイトは、RSS がなかった頃は時々見に行っていたサイトたち。その後、更新チェックに手間がかかるので見に行かなくなってしまった。
しかし、なんでも RSS を使って RSS を生成すれば、Bloglines などの RSS リーダーで簡単に更新チェックできる。これぞなんでも RSS の真骨頂。
[「なんでも RSS」で RSS が無いサイトから RSS を生成より引用]
これはいいな。
さっそく首藤さんの日記を登録したら、最初にlivedoor readerで見た時に死ぬほど画像がロードされてあせったけど。 タイトルもそれっぽく見えるのは、日記のスタイルのせいかな。
2006-09-21 (Thu) [長年日記]
_ C++
嫌いな人が「しーぷらぷら」って読むのかもと、るびまのessaさんのインタビューを読んでふと思ったり。 「しーぷらぷら」という呼び方にはC++に対する尊敬の念が感じられない気がする。 言語のRubyを「ルビー」と表記しちゃうみたいな。
まつもとさんがC++を悪く言うのはリップサービスもあると思う(過去の苦い経験とかもあるでしょうが)。 C++の設計と進化とか読むと結構思想的には似たところもあるし。 組み込みデータ型とユーザ定義データ型を同じように扱うところとか。
目指すところが似ててもぜんぜん違う進化を遂げているところがおもしろい。 最終的に開発効率と実行効率のどちらを重視するかがぜんぜん違うけど、 ファクタはそれだけじゃないよね。 具体的に何かが違うかっていうとすぐに言語化できないけど。
_ 文字列リテラルのメッセージカタログ対応
まつもとさんが、メッセージカタログを標準にして、文字列リテラルそのものを(_("foo")みたいに書かせることなく)メッセージカタログに対応させたらどうか、というのでびっくり。
他人の書いたライブラリを使うようなケースを想定されているらしいけど、デフォルトでそういう挙動はやりすぎなんじゃないかなあ。 フラグを用意するとか、文字列リテラルでStringオブジェクトのコピー を生成する部分をCレベルでフックできるようにして、拡張ライブラリ でどうにかするとか、そういう方向の方がいいんじゃないですかねえ、 と言ってみたけど、どうなるかなあ。
2006-09-22 (Fri) [長年日記]
_ Visiterパターンとブロック
確かにブロックを持つRubyではVisitorパターンや、Iteratorパターンは もはやパターンとは呼べないレベルだし
[Matzにっき(2006-09-15)より引用]
Visitorパターンの肝は、ダブルディスパッチを使って、visit対象の型による分岐(eval.cみたいなの)をメソッドディスパッチに置き換えるところにあると思うのですが、これってブロックで代替できるんでしょうか。 たんに各ノードを辿るだけならブロックでいいと思うんですが。
Visitorパターンに対応する言語機能はブロックというよりはマルチメソッドじゃないのかなあ。 Iteratorパターンを使いたくないような時に、Visitorパターンはよく使う ので気になるところ。
2006-09-26 (Tue) [長年日記]
_ My Job Went To India オフショア時代のソフトウェア開発者サバイバルガイド
My Job Went To India オフショア時代のソフトウェア開発者サバイバルガイド
この本の邦訳が読めるとは思わなかった。 最近のオーム社の勢いはすごいなあ。
この本が出た時に、「へー、今インドで仕事してるんだ」と勘違いしたのは内緒。 ほんとは、インド人に仕事を取られないための52の方法が書いてある本らしい(間違ってたらごめん)。
日本の場合はやっぱり日本語の壁とか文化的な違いによって守られてる面が大きいんだろうなあ(と、編集後の確認画面のないRadiant CMSを見てあらためて思う)。
_ 「GPLv3は危険」〜複数のLinuxカーネル開発者が共同声明した件と、RubyへのGPLv3適用について
記事の内容も興味深いけど、
なぜなら、Linuxカーネルは、ほとんどのプロジェクト(特にFSFによって管理されているもの)と同様に「以降のどのバージョンでも」条項なしのGPLv2の下でライセンスされているからだ。
[Open Tech Press | 「GPLv3は危険」〜複数のLinuxカーネル開発者が共同声明より引用]
ここって訳がおかしくない?
原文は、
The Linux kernel is licensed under the GPLv2, without the "any future version" clause that most projects (particularly those managed by the FSF) use
[Kernel developers declare GPLv3 dangerousより引用]
だから、『ほとんどのプロジェクト(特にFSFによって管理されているもの)と異なり「以降のどのバージョンでも」条項なしのGPLv2の下でライセンスされているからだ。』といったところじゃないかと。
Linuxのカーネルのライセンスに"any future version"条項がないというのは知らなかったので、勉強になった。
ふと、Rubyのライセンスを見ると、
Ruby is copyrighted free software by Yukihiro Matsumoto
. You can redistribute it and/or modify it under either the terms of the GPL version 2 (see the file GPL), or the conditions below:
とGPLv2しか指定していないように見える。 ってことは、RubyにGPLv3を適用するのは難しいという理解でよい?
まつもとさん自身は"any future version"条項には好意的だった気がする。
_ MySQL/RubyじゃなくてCPP on Windows
MySQL/Rubyをビルドしたけど、色々はまった。 とりあえず、パッチ。
これで、
> ruby extconf.rb --with-opt-include=../mysql-4.1.21-win32/include \ --with-opt-lib=../mysql-4.1.21-win32/lib/opt
とかでビルドできるはず。
で、そんなことはどうでもよくて、mswin32のrbconfig.rbでConfig::CONFIG["CPP"]が"cl -E"ではなく"cl"になっていることに気付いた。 *1 うささんに報告して直してもらったのだが、それもわりとどうでもよくて、問題はそのバグの原因。
MakefileでCPPのデフォルト定義が使われていたんだけど、何でデフォルト定義がclなんてことになっていたかというと、
<URL:http://msdn2.microsoft.com/ja-jp/library/d7ahf12s.aspx>
CPPはC++ Compilerだから定義がclなんだそうです。 何それ。マジですか。
*1 MySQL/Rubyのextconf.rbでCPPを使って定数を抽出していたので。
_ まつもと [数年前までChadはインドに住んでましたよ。]
_ kdmsnr [インドでは裸の子供とYahooの看板が同居してるとか書いてました。]
_ shugo [あ、インドに行ってたのはほんとなんですね...。]
_ まつもと [私はany further optionは妥当な態度だと思ってましたが、実際に出てきたGPLv3が(1st draf..]
_ shugo [cvsを見るかぎりでは前からany further versionという記述はなかったようですが、意図的に外している..]
_ まつもと [あれ? そうだったっけ。前は付けてたように思ってました。 記憶と違ってCVSは嘘をつかないので、「明示するようになっ..]
_ masuidrive [chadの本買いました。って買ってからChadだって気がついたんだけど。]
_ shugo [そういえば、RailsConfの会場のホテルの請求がまだ来ないんですが、Chadが払ってくれてたりするのかなあ。]
_ mazurkja [description fZOurBDyB3pC http://tinyurl.co.uk/foks]
_ かくたに [夢のようなひとときでございました。楽しかったです。]
_ shugo [こちらこそありがとうございました。 でも今思うとRubyの話ぜんぜんしなかったですね…。]