過去の日記

2005-04-04

Winny [etc]

http://www.hatena.ne.jp/1109163922
ダウンロードしたファイルをダブルクリックしたところ壁紙が「晒.. - 人力検索はてな

7.の回答に

winnyは違法ではありません!

ってあるけど、まだグレーだよな。
違法なのは(サーバにアップロードするなどして)公衆に晒す行為で、ダウンロードすることは違法じゃない、と言いたかったんだろう。
でも「自分がダウンロードしたファイルが自分のキャッシュに残ってそこからさらにばらまかれる」ことを承知の上で使っているんなら、その人がそのファイルを公衆に晒しているのと同じなわけで、違法となる可能性が残っていると思うんだけど。

iPod shuffleでイントロドン [etc]

イントロのところで大黒摩季の「永遠の夢に向かって」だなと思ってたら(とはいってもその時には曲名までは浮かばなかったけど)、いきなりTHE NINJA WARRIORSのDUDDY MULKが始まって面食らった。

昔の血が騒ぐっやつですか [tech][memo]

http://www.phys.chuo-u.ac.jp/public/tag/kougi/2003/toukei/print.pdf

8ページ目からエドガー=アラン=ポーの「黄金虫」に登場する、暗号へのアタックについてのさわりが書かれている。


まじめに読んでしまいそうなのでメモ。

血液型 [etc]

会社で血液型の話になったので、「血液型と性格を関連づけているのは日本だけだよ」と今日言っちゃったのだが、間違いだった様だ。

http://www.asahi-net.or.jp/~ki4s-nkmr/wabijo84.html

の2004/10/25のエントリ。


番組でやってる実験なんてちっとも科学的とは思えないのに、つまらない実験をして、あたかも科学的といった装いで放送するのは犯罪的だし、オウムを日々生むことになるのに、テレビ屋のバカは気づかないんだね。


ってなこと書いていたら、届いたばかりの日経サイエンス2004年12月号(これ、アインシュタイン特集。相対論から100年だそうです)では、塩谷喜雄氏が連載「いまどき科学世評」で「オカルト復権と科学者の責務」と題して、血液型や超能力者が犯罪捜査するとオカルト番組が最近増えていることに警鐘を鳴らしている。
「オウムの犯罪以来少し下火だったオカルトや心霊現象ものが、またぞろテレビ画面に復帰して、荒唐無稽なうそっぱちを垂れ流している」で始まる記事を読んで、昨今のテレビ番組の異常さを感じているのはおれ一人だけではなかったと、心強く思った。
 記事では、アンケート調査では隣人や同居人として避けたい血液型としてB型とAB型が圧倒的多数を占めたと書いてある。
「こうなると作り話の社会的暴力、典型的なマイノリティー差別ではないか。最近では血液型健康法まであるという。命に直結する健康法にまで根拠のない差別が持ち込まれようとしている」と塩谷氏は憤慨している。そして、科学者はこういう番組の跳梁跋扈を黙っていないで、非難の声を上げるべきと結んでいる。

このあたりを共感して読んでいたら、


一人でも多くの人が、ああいうのはインチキだといい続けないとだめなんだろうが、血液型性格診断を本気で信じているのは、日本だけかと思ったら、塩谷氏の記事によると、日本と韓国だそうだ。

とあって「しまった! 嘘を言ってしまった!」と思ってしまった。


あの手の「自称実験番組」を見るたびに、せめて二重盲検ぐらいはしないと、と呟いてはいるんだけど。


2005-04-02

はじまりの骨の物語 (富士見ファンタジア文庫)(五代 ゆう/米田 仁士) を読んだ [novel]

はじまりの骨の物語 (富士見ファンタジア文庫)

  • 作者: 五代 ゆう
  • 出版社/メーカー: 富士見書房
  • 発売: 1993-03
  • ASIN: 4829124865
  • メディア: 文庫
  • amazon.co.jp詳細へ

ぬうぅ、不覚! こんな面白いファンタジーを読みのがしていたとは!
異形コレクションシリーズでいくつかの短編を読んで、気になる作家の一人となった。デビューはまさに私がライトノベル(とは当時は呼んでなかったけど)を一番読んでいた頃。だから名前を見たときにはこのデビュー作の表紙を思い浮かべることができた。
で、BOの105円棚で見かけたときには迷わず手に取った。


いや、面白い。これは「ファンタジー風」でもなく「ライトファンタジー」でもなく、間違いなくファンタジー小説だった。


氏が女性であることをこの本で初めて知った……。

インプットよりもアウトプット [etc]

最近Perlがらみのをエントリを書くことが多いが、これはインプットよりもアウトプットすることで自分の中の理解が進み、知識が体系化されると思っているからだ。
「習うより慣れよ」の言い換えと思ってもらっても構わない。が、自分はインプット−アウトプットの組み合わせを、2組想定している。


1つは「本を読む,サイトで調べる」というインプットと、「ソースを書いてみる」というアウトプット。
もう1つは「実際に実行して動作を確認する」というインプットと、「どういう書き方をすればどういう動作になるか、ということを記述する」というアウトプットだ。


結局1つめのインプットの材料を自分でアウトプットしていることになる。このループを何回か繰り返すと、自分の中の知識がより強固になると信じている。


(追記:ループというよりは、1つ目のインプットとアウトプットを、自分なりに逆方向に作業している、と考えた方が自然か)


最後のアウトプットは、あるいは、人に言葉や図で説明することで成されるかも知れないが、一人で仕事をしているケースだとこういう場に書き連ねるのがいいのかなぁ、と思ってそうしている。

Rubyでオブジェクト制約言語 [tech]

例えば、頻出するつまらない例「Account(口座)クラスのbalance(残高)が0以上である」をOCLとRuby-OCLで比べてみる。


OCL:
context Account inv: self.balance >= 0


Ruby-OCL:
Account.inv do | context |
0 <= context.balance
end


これってイテレータ(ブロック)そのままじゃないの!


OCLのソース self.balance  からは属性に対する制約のイメージしか沸かないが、Ruby-OCLのソースからは  0 <= context.balance というブロックをEval(評価する)というイメージになる。このイメージの差は大きい。

プログラマの思索: Ruby-OCLの方がずっといい!

が本題なのだけど、むしろ

Rubyの特徴はオブジェクト指向よりも、Lispのように処理そのものをデータのように扱えるブロックにあると思うが、こんな所で出てくるとは。

プログラマの思索: Ruby-OCLの方がずっといい!

こちらの方に同意してしまう。

REDHAT ESの代替 [tech]

すでに質問がキャンセルされてしまって元を辿ることはできないが、

RedHatLinux ES version3 update4でapt-getをインストールしたいのですが、CD-ROM(4枚)内にもhttp://apt.freshrpms.net/にも i386のrpmはないです。ESでは、apt-getは仕様にないのでしょうか。そうだとしたら、apt-getの代わりになるのはなんでしょうか。すいませんが

という質問があった。


apt-getとは違うけど、

http://www.centos.org/

というのがあるということを知った。


サイトのPurposeに

CentOS 2 and 3 are fully compatible rebuilds of RHEL 2 and 3 respectively.

とある。

Perlである程度以上のシステムを書いている [tech][book]

今までPerlは「スクリプトがエディタ1画面で収まる」程度のテキストフィルタぐらいでしか使ったことがなかったけど、今回は「モジュール分割をすべき」と判断する程度のシステムを構築している。
あと、他のモジュール(package)をバックエンドというか、フレームワークとして使用する、というのもほとんど初めて。
で、そのモジュールのソースを読んでも、どう使っていいのかちっとも判らない。どうやらこれはPerlにおけるオブジェクト指向の作法が判っていない所為だと感じたので、書籍を探してみた。


本屋で端から端まで (といってもそう多くはないけど)目次を読んで、これが良さそうだと目星を付けて買ったのがこれ。

実践実用Perl―テキスト処理の基礎から情報ポータル構築まで

  • 作者: 藤岡 和夫
  • 出版社/メーカー: 毎日コミュニケーションズ
  • 発売: 2004-11
  • ASIN: 483991415X
  • メディア: 単行本
  • amazon.co.jp詳細へ

JavaやRubyのオブジェクト指向に慣れて、Perlのソースを読んでも訳判らん人は、この本の 2.21(p147〜p156)を読むととてもよく判るのでないかと。


p147から引用すると

Perlのオブジェクトは次の三つの定義で表せると言われている。

  1. Perlのオブジェクトはリファレンスによって指し示されるものである。
  2. クラスはパッケージである。クラスはオブジェクトを扱うためのメソッドを提供する。
  3. メソッドはサブルーチンである。第1引数としてオブジェクトのリファレンスを取る。

(本当は丸付き数字だが、Webでの公開上、数字付きのリストで示した)


リファレンスというのは値渡しに対する参照渡しのための機構。Cで言うポインタ化演算子の*に近い。
ただし、Perlではリファレンスも普通の変数 $hoge にお構いなく代入できるので、$hoge がスカラー変数なのか何かのリファレンスなのかを注意する必要がある。
もちろんその辺を調べるための演算子*1は存在する。isa や ref がそうだ。


で自分なりの理解を以下に示す。

  1. ざっと見たところ、オブジェクトのインスタンスは連想配列(ハッシュ)のリファレンスで作成することが多い。他の言語で言うオブジェクト内の変数は、連想配列の key=>value の関連づけで扱われることになる。そして value がさらに配列や連想配列のリファレンスであることが多いので、ソースを注意深く見るか、refを取って調べたりしまくったりする。
  2. とはいえ、注意深く設計されたオブジェクトであれば、そのインスタンスがどんな構造のリファレンスであるかを調べなくてもいい様なメソッド群を用意しているだろうし、またするべきである。
  3. パッケージ内のサブルーチンは第1引数としてオブジェクトのリファレンスを取る、と書いたが、これはもう構文上の「約束ごと」と捉えて良い。それは以下に示す。


クラスやインスタンスの作成はもうこんなもんでよい。

package Hoge;

sub new {
   $self = {}; #空の連想配列へのリファレンス。
   :
   :初期化処理
   :
  bless $self;  $selfがpackage Hoge であることを明示する(定義づける)。
  
  #bless の返り値は第1引数そのものなのでこの記述で良いが判りづらければ
  # return bress $self;
  #とか
  # bless $self;
  # retern $self;
  #と書けばよい。
}

sub doHoge {
  $self = shift;  #第1引数はリファレンスなので、shiftして受け取る。
                  #newで作った$selfが代入されるわけだ。
  #続きはただのサブルーチンの要領で書けばよい
}


で呼び出し元は、

$hoge = new Hoge();
$hoge->doHoge(var1, var2);

でよい。この$hoge->doHogeがもうシンタックスシュガーの様なもので、「$hogeがリファレンスで何かのパッケージに結びついてれば*2、そのパッケージのdoHogeを呼び出す。その時に (var1, var2) という表記上の引数の前に$hogeを第1引数として追加してやる。」という構文なわけだ。


以上、自分の理解のメモとして示しておく。
また訳わかんなくなったらここを読むのだ。


あと、自分が持っているPerl本を示しておく。

Perl5 デスクトップリファレンス (Programming tools)

  • 作者: ヨハン ブロマンス
  • 出版社/メーカー: オライリー・ジャパン
  • 発売: 2000-11
  • ASIN: 4873110319
  • メディア: 単行本
  • amazon.co.jp詳細へ

何かのメソッドやサブルーチンでは無さそうな、謎の単語が出てきたらこの索引をまず読む。また演算子の優先度順についてもこの本をまず参照する。


こんなことがしたいんだけど、と思ったら、

プチリファレンスPerl/CGI (プチリファレンスシリーズ)

  • 作者: 清水 康晶
  • 出版社/メーカー: 秀和システム
  • 発売: 2002-07-30
  • ASIN: 4798003662
  • メディア: 単行本
  • amazon.co.jp詳細へ

の目次を参照する。これを読んでも理解が及ばないようなら最初に挙げた 実践実用Perl―テキスト処理の基礎から情報ポータル構築まで(藤岡 和夫) を読む。

Yahoo,集団訴訟を受ける [news]

ヤフオク詐欺被害者がヤフーを集団提訴 | スラッシュドット・ジャパン

幸い私は、sellerとしてもbuyerとしても詐欺にあったことは無いけど、相当数発生しているんだろうし、個別に対応を迫っても何もしてくれないだろうというのは判る。
それで集団訴訟という形をとったのだろう。


裁判が長引けば「ヤフー」ブランドを使用しているYahoo!BBなども多少の影響を受けるかも知れない。

いや、今までYahoo!BBのせいで「ヤフー」ブランドが影響を受けていたのに比べれば全然対したことはないかと……。

*1 言語仕様的には厳密には演算子では無いのだが

*2 その結びつけはnewでやっているblessになる


2005-04-01

ゲームブックと推理小説 [novel][book]

13人目の探偵士 (講談社文庫)

  • 作者: 山口 雅也
  • 出版社/メーカー: 講談社
  • 発売: 2004-02
  • ASIN: 4062739615
  • メディア: 文庫
  • amazon.co.jp詳細へ

読んでいてゲームブックみたいだなぁ、と思ったら元がゲームブックだったのを小説の形にリファインしたとのことで納得。


推理モノのゲームブックといえば、

ツァラトゥストラの翼 (講談社文庫)

  • 作者: 岡嶋 二人
  • 出版社/メーカー: 講談社
  • 発売: 1990-05
  • ASIN: 406184671X
  • メディア: 文庫
  • amazon.co.jp詳細へ

がある。
確保はしておいたもののまだやってない。面白そうなんだけど。
「これを開けると負けを意味する」袋とじがあってすごく気になる……。

グランディア3発売決定 [game]

だそうで。
グランディア2再開しないと……。(DCで)

4月 [etc]

マンションの周りに引っ越し屋のトラックがいっぱい!
異動のシーズンなのね。

はてダでキーワードリンクの解除 [tips]

tipsといってもちゃんとはてダのヘルプに書いてあることだけど。
たとえば http://www.hatena.ne.jp/ とか キーワード とか自動リンクされてしまう内容がある。これを解除するには、

[]http://www.hatena.ne.jp/[]
[]キーワード[]

という様に大括弧の空の括りを前後に入れるといい。


そうすると、http://www.hatena.ne.jp/ キーワード ほら、リンクが無くなった。


例えば文を隠したい時に

<font color="white"> http://www.hatena.ne.jp/ とか キーワード </font>

と書いても、
http://www.hatena.ne.jp/ とか キーワード
となって自動リンクが浮き上がって見えてしまう。


これを避けるには

<font color="white"> []http://www.hatena.ne.jp/[] とか []キーワード[] </font>

と書くと良い。


http://www.hatena.ne.jp/ とか キーワード


ほら見えなくなったでしょ(上の部分を選択してみると判る)。


今日の日記の一番下に不自然な空白があるのは……。

「二番煎じで恥ずかしいと思わないのでしょうか。」のコメントに同意 [news]

DHMOの国内での使用が全面禁止される見込み | スラッシュドット・ジャパン


初めて知ったというひとはgoogleでDHMOを検索してみるといい。

dhmo - Google 検索

結構知れ渡っている話題だ。./Jの人はその辺を知らないで「こりゃ面白い!」とでも思ったのかな?

SHA-1を利用した素因数分解の高速なアルゴリズム [news]

記事に掲載されているリファレンスプログラム Factor.java を動かしてみると、 174桁の整数がすぐに素因数分解されました。かかった時間は、ThinkPadで約47分!

結城浩の日記 2005年4月

このオーダの時間で解かれちゃうとRSAも危険だなぁ。


引用している最中に今日が4/1だということに気が付いた。リンク先を見たらやっぱり……。


2005-03-31

げんしけん 12話を見た [anime]

昨年末にCSチューナーの電源プラグを抜いたせいで撮れなかったげんしけん12話をやっと見た。
最終回、前半が斑目 vs. 咲ちゃんの集大成という感じ。そこで満足してしまって、後半はもう流して見てしまった。

仮面ライダー響鬼テーマソング「少年よ」(布施明/藤林聖子) 届いた [anime]

仮面ライダー響鬼テーマソング「少年よ」

  • アーティスト: 布施明,藤林聖子
  • 出版社/メーカー: エイベックス・トラックス
  • 発売: 2005-03-24
  • ASIN: B0007N36CE
  • メディア: CD
  • amazon.co.jp詳細へ

素で布施明の歌声に惚れて購入。
子供に聞かせる目的もあるので、iTunes上のジャンルはchildren musicに入れさせてもらったけど。


オープニングテーマは私の好みの曲だし。

ナレッジマネジメント [news]

@IT:リアルコムが“暗黙知”を重視したナレッジマネジメント

そもそもナレッジマネジメントって暗黙知を形式知にするためのツール(というかソリューション)と認識してたんだけど、勘違い?


2005-03-30

Perl 配列や連想配列のデリファレンスとそれらの要素へのデリファレンス [tech]

完全に個人的なメモ。今このメモを見ながら(&追記しながら)勉強中。

配列のリファレンス
  @array = ('a', 'b');
  $array_ref = \@array;
デリファレンス
  print @$array_ref; #=> 'ab'
スカラーコンテキストでデリファレンス
  print @$array_ref . ''; #=> '2'
配列の要素のデリファレンス
  print $array_ref->[0]; #=>'a'
  print $array_ref->[1]; #=>'b'
リファレンスでない時(参考)
  print $array[0]; #=>'a'

連想配列のリファレンス
  %hash = ('key0'=>'var0', 'key1'=>'var1');
  $hash_ref = \%hash;
デリファレンス
  print %$hash_ref; #=> 'key0var0key1var1' 順番はこうとは限らない
スカラーコンテキストでデリファレンス
  print %@hash_ref . ''; #=> '2/8'
連想配列の要素をデリファレンス
  print $hash_ref->{'key1'}; #=>'var1'
リファレンスでない時(参考)
  print $hash{'key0'}; #=>'val0'


デリファレンスの範囲を明に指定したい時は {} で括る。
$hash_ref->{hoge} が配列のリファレンスなら @{ $hash_ref->{hoge} } で配列となる。
ただ、デリファレンスと括弧の固まりで訳が判らなくなるぐらいなら
  $array_ref = $hash_ref->{hoge};
  @array = @$array_ref;
の様にいったんリファレンスであることが明に判る変数に代入した方がマシ。


無名の配列は (1,2,3)
無名の配列へのリファレンスは [1,2,3]
無名の連想配列は ('key0'=>'val0', 'key1'=>'val0')  ただし記法は他にもある
無名の連想配列へのリファレンスは {'key0'=>'val0', 'key1'=>'val0'}

答えてみよう [etc][novel]

ライトノベル好きに「初めての○○」10の質問

鍵の壊れた部屋で見る夢

Q.

  1. 初めて読んだ角川スニーカー文庫作品は何ですか?
  2. 初めて読んだ電撃文庫作品は何ですか?
  3. 初めて読んだ富士見ファンタジア文庫作品は何ですか?
  4. 初めて読んだ富士見ミステリー文庫作品は何ですか?
  5. 初めて読んだファミ通文庫(ログアウト文庫)作品は何ですか?
  6. 初めて読んだ集英社スーパーダッシュ文庫(集英社スーパーファンタジー文庫)作品は何ですか?
  7. 初めて読んだMF文庫J作品は何ですか?
  8. 初めて読んだコバルト文庫作品は何ですか?
  9. 初めて読んだティーンズハートorホワイトハート文庫作品は何ですか?
  10. 初めて読んだライトノベル作品(ヤングアダルト/少女小説)のレーベルは何ですか?


A.

  1. ロードス島戦記―灰色の魔女 (角川文庫―スニーカー文庫)(水野 良/出渕 裕/安田 均) か?
  2. ブギーポップは笑わない (電撃文庫 (0231))(上遠野 浩平/緒方 剛志)
  3. 雷(いかづち)の娘シェクティ〈1〉天雷(あまがみ)の剣(つるぎ) (富士見ファンタジア文庫)(嵩峰 龍二/末弥 純) か?
  4. レンテンローズ (富士見ミステリー文庫)(太田 忠司/天広 直人) これは元々太田忠司さんのファンだから。
  5. ふわふわの泉 (ファミ通文庫)(野尻 抱介/御米椎) これも元々野尻抱介さんのファンだから。いや。ログアウト文庫を入れるのなら、暁のビザンティラ〈上〉 (ログアウト冒険文庫)(菅 浩江/斉藤 友子)暁のビザンティラ〈下〉 (ログアウト冒険文庫)(菅 浩江/斉藤 友子) が先になってしまうか。
  6. 狼たちの黄昏 (集英社スーパーファンタジー文庫)(藤原 京/鈴木 雅久) 表紙に惹かれて。藤原京さん、大ファンです。もう戻ってこないのでしょうか?
  7. 読んだ覚えは無い。
  8. いつか猫になる日まで―SFコメディ (集英社文庫―コバルトシリーズ 75A)(新井 素子) 始めて自分の小遣いで買った本(のうちの1冊)。新装版が出るという予告があったけどどうなった?
  9. 読んだ覚えは……無いんだけど、ホワイトハートは何か読んでるのがあるかも?
  10. 上にも書いた通り、コバルト文庫。

それはG4 Cubeの時にも [news][etc]

っと、ここでMac mini本体を取り出した箱の底に鎮座する、やけに大きな物体が気にかかる。そこから出てきたのはACアダプタ。やけにでかくないか、これ。Mac mini本体の4分の1ほどの体積があるのでは?

ITmedia PCUPdate:ボクが初めて触るMac──Windowsユーザーが使うMac mini(その1) (1/2)

それはG4 Cubeの時にも同じだったので、Macファンなら発表時点で当然予想していたことだろう。

SMTP over SSL/TLS [news][memo]

@IT:25番ポートの攻防

「SMTP over SSL/TLS」というキーワードをメモ。
記事自体は最近のISPの、SMTPをどう扱うか? という動向の話。

RSSリーダー [tech]

私は1日に1〜2回程度しか、RSSの自分用ブックマークをチェックしない。チェックには

Address Error

を使っている。


といってもそのまま使っているのではなくて、このソフトを起動すると作成されるhtmlファイルを読んでいる。
つまりRabbit Tickerの起動→ブラウザのブックマークから file:///C:/Progra~1/RabbitTicker/rttemp.html を表示、という手順で読んでいる。
CSSがちょうど読みやすい感じで気に入っている。

あと、Rabbit Tickerは朝一回起動して後は時間が空いた時に読む、というような使い方もしていて、ネットワークトラフィックを発生させないで済む様にしているのでサーバにもやさしいかも。


RSSとトラフィックの問題について提議しているサイトはこちら。

ちょっとしたメモ - RSSとトラフィックの問題

パケットキャプチャしてみると、Rabbit TickerはIf-Modified-Since:のヘッダを付けて送っているので、まだマシな方のリーダだと思う。
ちょっとこの辺は明るくないので「思う」という表現だ。RSSを読む時に「この日付以降のものをちょうだい」という様なリクエストの仕方はできるのだろうか?


(あと、rdfとRSSをごっちゃに考えてしまっているので、その辺で私の勘違いがあるかもしれないが大目に見てほしい。)