Image 01 Image 02

0
Posted on 29th 3月 2007 by y

そうだったの?

きっこのブログ: お知らせです。:
選挙期間中には、「○○候補に投票します」「○○候補を応援しています」ということだけ書いてはいけないのかと思っていたのですが、それ以外でも、候補者に関する事柄は書いてはいけないということを知りました。

こちらのニュースをみてサイトを開いたら上記のメッセージに差し替えられていた。アサノも嫌いだけれども、慎太郎もしょうがねえなあ。

Ishiharadie-3

何年か前にこちらのサイトにあったGIFアニメ。今も大事に持ってます。

Popularity: 2% [?]

0
Posted on 27th 3月 2007 by y

都知事選の看板が家の前にも立てられた。東京都以外の人にも割と注目されている泡沫候補、外山恒一氏の政見放送を見たが、onion.comにまた現実が近づいたんだなあ、と思わないでもなかった。

Popularity: 2% [?]

0
Posted on 25th 3月 2007 by y

ヨウスコウイルカが人類救済キャンペーンを終えて帰ってしまったようだ

ところで、この書評は、少なくともとてもブッ飛んでいるとは思う。

Popularity: 2% [?]

2
Posted on 25th 3月 2007 by y

インターネットラジオの雄、Pandora.comの創設者、Tim Westergrenのインタビュー。今、Pandora.comはある意味、存亡の危機に直面している。

Download Squad Interview: Tim Westergren of Pandora – Download Squad:
But a ruling from an obscure, 3-person panel from the Library of Congress threatens the existence of Pandora, and every other internet radio service out there. The plan from the Copyright Royalty Board is to increase the fees to internet radio operators so high that they will effectively be out of business. Paying $.0008 a song might not sound much, but if you consider the millions of songs per day served up by Pandora alone, it becomes a very large bill indeed.

インターネットラジオへの課金を引き上げるというのは、いろんな意味で得策ではないと思う。ひとりの消費者として、筆者はPandora.comで聞いたからという理由でCDやその他デジタルフォーマットの楽曲を購入したことはたくさんある。これはたかが一人のユーザの生活世界でのお話しだが、でも些細な個人的経験として切り捨てるわけにはいかないところも含まれている。というのも、普通は人は耳にしたことがある曲がいい曲だと思うものなのだ。インタビューや何かの記事で読んだ、聞いたこともないような音楽をわざわざ探して購入するのはいわゆる音楽好き、あるいは音楽マニアという人種であって、一般的な消費者はそういうものだということを忘れてはいけない。

そして、音楽業界がここまで巨大であるのは、音楽マニアではない普通の人たちの消費活動がそれを下支えしているからであって、CDの売り上げが減少している今、レコード会社がやらなければいけないのは、ユーザからの課金という先細りするビジネルモデルから、いかにして多くの人たちの耳目を引き寄せてそれを広告だのなんだのの付随する商品の売り上げを確保する商法への進出であり、さらには下らない「今週のトップ10」や「今週発売された新曲(カラオケでさっそく披露してね!)」以外のいわゆるロングテールの部分をプロモートすることではないのか。

つまり、好きな曲やアーティストなどのキーワードを入力すると、バックエンドに待ち受ける音楽マニアたちが作り上げたデータベースから次々とお勧めの音楽をストリーミング再生し続けるPandora.comは本来音楽をプロモートする側であるレコードレーベルや既存の小売店が、どこかの巨大なページビューを誇るポータルと組んでとっくに始めていなければならなかったサービスなのだ。

Popularity: 3% [?]

0
Posted on 25th 3月 2007 by y

思い立って仕事の合間にブラウザから閲覧する社内文書の全文検索システムを作っている。

【ざっとした要件】

■PDF、Word、Excel、PowerPointのファイルに対応

wvWarepdftotextxlhtmlが使える。

■検索エンジンはSennaを利用

Hyper EstraierNamazuが候補だった。

前者は付属のCGIが便利だけど改造するのが面倒で、後者は珍しさと真新しさに欠けるので。

技術的な優位性とかは考慮せず。

ludiaが使えるので。

■ファイルをアップロードするとその場でインデックスを更新

PDFはludiaのマニュアル通りに、他はテキストに変換してINSERT。

■アップロード処理中はプログレスバーを出す

カッチョイイ!

■検索クエリはGETで渡す

外部サービスと結合しやすいし。

■追加されたファイルの情報を表示

トップページに更新情報として最近追加されたファイルを表示してあげる。

非同期通信で定期更新。

■検索結果にスニペットを表示

ludiaの関数が使える。

誤検出があってもファイルを開く前にユーザが見て判断できる。

■SennaのバインディングはPostgreSQL

MySQLだと本体にパッチを当てないといけないのでPostgreSQLに。

【いろいろ環境設定】

ExcelファイルをHTMLに変換するツールはxlhtml。Mac OS X 10.4.9でxlhtml-0.5をビルドしたら「cole/Makefile.am: required file `./depcomp’ not found」というエラーが出て失敗した。下のようにやってみた。

$ aclocal
$ autoconf
$ automake --add-missing
$ make
$ sudo make install

これで通った。

wv2がfinkに入っていたのでインストールしてみたが、wvWareの使い方の方がウェブでたくさん見つかるのにwv2だといろんなコマンド群が入らないのでwv1系をインストール。途中でlibgsfのバージョンが低いと怒られたが、finkだとlibgsfじゃなくてlibgsf1.114という名前になっていたので、いったんlibgsfを外して入れ替える。このパッケージ構成はよくわからない。

コピー禁止のPDFファイルをインデックス化するために、こちらを参考にxpdfをちょっと変更。まあ、自分だけで使うツールだし、いいよね。ね?ね?

SennaとludiaのインストールはThinkITの記事マニュアルを参考に。今回はMecabを使うことにした。

DBはPostgreSQL。createdbの際、エンコーディングはUTF-8を指定した。

テーブルとファンクション、インデックスの作成はこんな感じ。ウェブからアップロードされたファイルは新しくユニークなファイル名を付与されて適当なパス上に保存される。元の名前はDBに格納されて、検索結果ページでクリックされるとattachmentとして元のファイル名でインライン表示されるようにした。ええ、SQLもDBもあんまり得意じゃありません。

CREATE OR REPLACE FUNCTION
	pgs2pdftotext1(TEXT)
RETURNS TEXT AS '$libdir/pgsenna2', 'pgs2pdftotext1'
LANGUAGE 'C' STRICT IMMUTABLE;

CREATE TABLE search (
	search_id serial PRIMARY KEY,
	filename text NOT NULL DEFAULT '', --元のファイル名
	filepath text NOT NULL DEFAULT '', --新たに付与したファイル名
	regist_date timestamp without time zone
		NOT NULL DEFAULT '2007-01-01 00:00:00'
);

CREATE INDEX
	idx_search_filepath
ON search
USING fulltextb(pgs2pdftotext1(filepath));

PDFファイルのデータをINSERTする場合、こんなSQLでインデックスが作成される。

INSERT INTO search
	(
		filename,
		filepath,
		filetext,
		regist_date
	)
VALUES
	(
		'元のファイル名',
		'新しいファイルへのパス',
		pgs2pdftotext1('新しいファイルへのパス'),
		now()
	);

PowerPointやExcel、Wordのファイルもそれぞれ => テキスト => PDFと変換してINSERTは常に同じコマンドを使うようにしてもいいんだけれど、それも不健康な感じなのでテキストとして普通に処理することにした。now関数を使うけど、別にDBのレプリケーションはしないからいいや。

【実装しないもの】

今回の作業で実装しない機能は:

  • クローラ(Window環境用も作りたくなるから)
  • ファイル形式の自動判定(無理!拡張子で判定)
  • 検索結果にタグ付けして次に簡単に呼び出せるようにする(時間が…)

クローラはないけど、特定のディレクトリ内のファイルを一気に処理するバッチファイルは作っておいた。最初のデータ入力が面倒だし。

もしかしたら実装しちゃうかも:

  • 検索語のサジェスチョン(インクリメンタルサーチで今までに入力されたデータから引っ張ってくる)

こんなもんかな。さて、作業開始。

Popularity: 7% [?]

0
Posted on 22nd 3月 2007 by y

Mac OS X 10.4.9でxlhtml-0.5をビルドしたら「cole/Makefile.am: required file `./depcomp’ not found」というエラーが出て失敗した。下のようにやってみた。

$ aclocal
$ autoconf
$ automake --add-missing
$ make
$ sudo make install

これで通った。

Popularity: 2% [?]

0
Posted on 22nd 3月 2007 by y

コメント欄がないのでここに。otusne遍在説によれば、ネットワーク上にさえあれば必ず見つけてもらえるはずなので問題ないだろう。

はてなブックマーク – ポール・マッカートニー取調室 / 20070322:
Oracle でセッション管理するならどうする? :: Drk7jp

「おらくるってベンチマーク取って公表しちゃいけない契約があるとか聞いた気がしたけど都市伝説だったか」

これ、聞いたところではLinux版が出た当初のEULAには本当にこんなことが書かれていたらしい。Windows版のパフォーマンスとあまりにも差が大きい(Linux版の方が圧倒的に速い)のでこんな処置がとられたと噂されていた。時代的にはOracle7か8くらいの頃かな。

当時の話としてはこのリンクがホットだったと思う。

Popularity: 2% [?]

0
Posted on 22nd 3月 2007 by y

というわけで、The Cureがフジロックに出る。

The Cure : Official Site:
OFFICIAL!WE ARE HEADLINING THE FUJI FESTIVAL ON FRIDAY 27TH JULY 2007

イギー&ザ・ストゥージズのベースはまだマイク・ワットなんだろうか。ブロンド・レッドヘッドも来る。

ところで、ジョナサン・リッチマンってまだ生きてたの?

Popularity: 2% [?]

0
Posted on 22nd 3月 2007 by y

結局、人面魚とは一体何だったのか。人の顔のような模様をした魚が、突如として注目を浴び、人々の視線が認識する対象が変化することによってさらなる人面魚の出現を呼ぶ。これまで無視されてきた存在が突如として視線を引き寄せるこのメカニズムは、一体何なのか。

それを実証的に検証すべく、われわれ取材班はOpenCVによる顔検出機能を利用した人面魚判定を実施してみた。画像ソースはこちら

結果:
200510 Img 30
成功例。しかし左側の小さな枠については十分に説明できない。ひょっとして、この技術は心霊写真の判定にも応用可能なのではないだろうか。

Big1
もう一つの成功例。これは自分でも大笑いした。

Dscf0403.Jpg

失敗例。なにをもってこれを人面魚とするのか、筆者にはわからなかった。

総括すると、テクノロジーを駆使した調査によれば人面魚は実在し、それは確かに人間の顔として認識される。そして、同じ技術は心霊写真探しにも応用可能である。
Onion News3141-1

おまけ。深い意味はなくても不吉な写真。

Popularity: 3% [?]

0
Posted on 19th 3月 2007 by y

2006/08/19を最後に更新されていなかったmhattaのPodCastが復活していた。

mhattaのPodCast:
復活スペシャル

久しぶりということもあり、内容の充実ぶりたるや目を見張るものがあった。笑いあり、涙あり、怪奇現象あり。一言でいえば、遠距離の罵り合い。

ふと気になったのでMac OS XでSkypeを録音する方法を調べてみた。とりあえず無料で作る場合は、SkypeとGarageBand、それからSoundFlowerLineInでなんとか環境を構築出来るみたいだ。SoundFlowerはAudio Hijackみたいにアプリケーションからのオーディオ出力を別のアプリケーションのオーディオ入力に食わせるものらしい。インストール時に再起動が必要。LineInはAudio Hijackに入力を渡すために作られたものらしく、ライン入力をアプリケーションの入力に引き渡す。この組み合わせを使っている人のサイトによれば、設定はこんな感じ:

GarageBand:
Audio output: Built in Audio
Audio Input: Soundflower (2ch)

Skype:
Audio output: Soundflower (2ch)
Audio input: Soundflower (2ch)

System Preferences/Sound:
Output: Built-in Audio
Input: Audio line in (I am using a Mic)

LineIn Application:
Input from: Built-in Audio: Line In (ie the Mic)
Output to SoundFlower (2ch)

Dont forget to click the ‘Pass Thru’ Button in LineIn.

ということなので、試してみる人、結果を教えて下さい。

Popularity: 3% [?]