HDD レコーダはうまくいきませんでしたが、ついでに購入してきたD出力ケーブルをつかって、CATV の STB とテレビを D 出力でつないでみる。
BSデジタル、地上デジタルがすげーキレイになりました。まあ、まえからキレイだったので単純にプラシーボ効果かもしれませんが。。
最近WOWOWの映画とか CS のプレミア、チャンピオンズリーグとかを録画すると、ふつうのビデオじゃちとやりきれなくなってきていたので、HDDレコーダを購入。
東芝の RD-XS41。週アス別冊いわく実売11万とのことですが 89.800 でした。
CATV なので RD-XS41 についてる iEPG が使えないのは覚悟してたのですが、Panasonic の STB からの連動予約も使えないんすね。DVDレコーダーは Panasonic か パイオニアのみ、かよ。
そうか、あの連動機能はビデオが Panasonic だったから使えてた機能だったんだなー。意識してなかった。
ってことはCSの録画しようとおもったらCATV の EPG で番組予約して、さらに HDD 側で 外部入力1で同じ時刻にマニュアルで録画設定せなあかんってことだね。
ダメすぎ。
引越しまで放置か。
エメルソンが3月にも日本国籍取得申請(スポーツニッポン)
ジーコジャパンに最終兵器が加わる。昨季JリーグMVPのブラジル人FWエメルソン(22)=浦和=が、3月にも日本国籍取得の申請を行うことが分かった。28日、エメルソンの代理人であるテオ・コンスタンチン氏が明らかにしたもの。早ければ11月中に取得できる見込みで、同17日のW杯アジア1次予選最終戦シンガポール戦が"代表デビュー"となりそうだ。
うおーすごいな。何でもありだね。
現在、Bulkfeeds サーバのマスタディスクに read error が発生しています。本日夕方ごろからディスク交換をおこないますので、その間すべてのサービス(Similarity Feed を含む)が停止します。作業自体は15分程度で完了する予定ですが、ご了承ください。
livedoor オークション がオープンしてました。すごい。。ここまでやるか!!
あと地味ですが検索結果のRSSとか、出品者ごとのリストのRSSとかあって便利そげ。
livedoor blog 持ってる人は、出品リストを Blog に表示したりできるとか。
search.cpan.org: Jeffrey Baker / Apache-Session-1.6
Apache::Session A persistence framework for session data
perl のセッション管理モジュール Apache::Session が 2年半ぶりにバージョンアップ。
ことごとくパッチ無視してきた jwb 氏ですが、そもそも2年ぐらい前に、「メンテナンスする気がないなら他の人にゆずれや」という話が出て逆ギレしてたのに、今回は
Therefore I'd be happy and grateful to hand off the maintainership of
Apache::Session to one or a group of you. Proposals welcome.
ちなみに Sledge では Apache::Session は使ってません。(上記の理由とインタフェースがよくないので)
1年ぶりにSledge のメンテナンス。
社内版だけに入ってるモジュールを SF 版に追加したり、バグ修正をいくつかして 1.11 リリース。 SledgeWiki もつくってみた。フルスペックの Wiki にするのはかなりうっとうしいな。。
Tatsuhiko Miyagawa's Publications List : Web アプリケーションと文字コード
キャラクタセットとエンコーディングの違いなど文字コードの基本から、リレーショナルデータベースにおける文字コードなど、Web アプリケーション開発における様々な文字コードの処理方法を解説。また Perl 5.8 での Unicode 処理の Tips もあわせて紹介しています。
WEB+DB PRESS vol.19 に文字コード関係の記事を書きました。Perl 5.8 と Encode の Tips とかもあります。これで連載最後になりますがよければ読んでみてください。
Orkut の invitation メールが届かないという話をよく聞きますが、おそらく理由はこれじゃないかと。
orkut の invitation メールの Envelope From は、送信するユーザのメールアドレスになっています。メールの送信自体は outbound.orkut.com から送信されるため、Envelope From と送信元ドメインが一致しません。
SPAM 対策をしているホストの場合、これを不正中継とみなして reject してしまうのではないかと。Envelope From を member@orkut.com にして Reply-To: ユーザアドレスにすればいいような気がしますが。。
search.cpan.org: Petr mejkal / Win32-CaptureIE-1.10
Win32::CaptureIE Capture web pages or its elements rendered by Internet Explorer
Win32 API を使って IE でキャプチャする perl モジュール。依存してる Win32::Screeenshot は XS でかかれてますね。PPM 配ってないかな。
アイスエイジもWOWOWで鑑賞。子供向けなストーリーですが結構ホロリときます。てかモンスターズインクっぽいですね。
氷河期(アイス・エイジ)の地球を舞台に、仲間から取り残されたナマケモノのシドと、ヘソ曲りのマンモス・マニー、どこか怪しげなサーベルタイガーのディエゴの旅と友情を描いたアニメ。ミュージッククリップ、メイキングなどの映像特典も収録。
ショーシャンクの空に WOWOWでやってたので鑑賞。
感動的なストーリーに爽快なエンディングでいい気分になれました。
最後にアンディかレッドのどっちかが死んだら泣けただろうな ... とか思ってしまうのはあまのじゃくだろうか。
perl.com: Find What You Want with Plucene [Feb. 19, 2004]
For the past few months, my former employers and I have been working on a port of the Java Lucene search engine toolkit.
Simon Cozens 氏による Plucene 記事。
24 - TWENTY FOUR - 見終わりますた。。(追記にネタバレ含む)
10:00-14:00 ぐらいでダレてしまってなんだかなあ、とかおもったけど、最後は見事に踊らされた。というか、22:00 ぐらいから、見ながら演出の裏の裏を読み始めたのでマトモな見方をしてないかも。
終わり方が納得いかずぐぉーっとうなってしまったけど、、これも 2nd Season への布石か。(なんか特典にもうひとつのエンディングがあるんすね)
しかし、こんな簡単に銃で死ぬドラマを放送しているUSAがむしろ恐ろしい。
Hi-Standard の ken 氏の待望!のソロアルバム The Cost Of My Freedom が発売されてました! 何も考えずに即買いです。
今週のヘビーローテーションは lostprophets - Start Something。
ヘビーなギターリフにエモーショナルなヴォーカル、ときにキャッチーなメロディ。なかなか Good です。Finch とか Foo Fighters あたりが好きな人にはオススメできるかな。
なんとなく Class::DBI いくつか Hack。
* inflate のエラーメッセージがおかしい bugfix
* カラム名に first が使えない bugfix
* $obj->mtime(sub { "NOW()" }); とかできるようにしてみる実験
最後のやつは INSERT / UPDATE 文で値に任意の SQL 関数(サブクエリも可能)書けるようになるので相当便利だとおもわれます。が、まだ has_a とのからみでうまく動かない。。 Class::DBI に無理やりメソッド追加とかしてるし。
livedoor blog に Amazon Web Services 連携機能と Atom Feed がつきました。
AWS 連携は、
- ASIN / 製品名から検索して本文中にタグ放り込み
- サイドバーに ASIN 検索からリスト表示
ができます。既存の MT のプラグインでいうと、
- Movable Type 用 Amazon リンク支援プラグイン
- mt-amazon
の2つに相当しますかね。
livedoor Blog 開発日誌:サーバー増強と、新機能追加につきまして
■新機能追加につきまして
本日、新機能として「Amazon Webサービスプラグイン」を追加いたしました。Amazon.co.jpにて販売されている書籍や、CD/DVDをサイドバーで紹介することができます。
This is the Class::DBI wiki, home of all things Class::DBI related. It's rather sparse at present, but you can help change that!
Class::DBI の wiki ができてました。
Who needs to license MPEG-4 AAC patents?
An MPEG-4 AAC patent license is required for manufacturers or developers of complete (or substantially complete) end-user encoder and/or decoder products, or for manufacturers/developers of component encoder and/or decoder products that are provided directly to end-users.
Back to top
Tricksteer で MPEG4 AAC サポートしたいなと思いいろいろ調査。(最近 iTunes ばっかりなのでデフォルト AAC でエンコードしてしまい Trickster で聴けない。。)
getID3 - AAC サポートしている PHP の AudioInfo ライブラリ
Bulkfeeds の Similarity Feed に target パラメータを追加しました。
http://bulkfeeds.net/app/similar.js?url=...&n=5&style=lite&oe=euc-jp&target=_blank
という具合に target パラメータを指定するとリンクの target を設定できます。
ひさびさフットボールネタ。
JSports で放映中のFAカップがアツイですなー。
4回戦の トッテナム - マンチェスターシティ (前半 0-3 で1人少ないシティが4点とって逆転)とかかなり鳥肌モノ。5回戦マンチェスターダービーのニステルローイの後半のハマりっぷりとか。
引き分け再試合ありなのでなんか毎日2試合ずつぐらい見てる気がする ... 今日も2試合やってますが東本氏好きなので地味なサンダーランド - バーミンガムの方を。
hail2u.net - Weblog - Who subscribe my feed?
BloglinesにUser Directoryという機能が加わったようです。現在は、各フィードをsubscribeしている人(publicにしている人だけ)の一覧を参照できる機能のみかな?このblogのRSSをsubscribeしている人はこんな感じで見れるみたい。siteidはBloglines側でユニークに割り当てていて、URLから類推とかは出来ないので、MyBlogsで閲覧している時に出てくる各フィードのヘッダ部分にあるSubscriberというリンクをクリックすると見ることができます。
Bloglines に前からあればいいのになと思っていた subscriber 一覧のページがつきました。この blog のsubscriber 一覧 はこんな感じ。
まあ、Share Your OPML だとか日本でも BlogPeople, MyBlogList なんかで実装されてる機能ではありますが。Bloglines みたいな専用アグリゲータでみれるのは面白い。
小鳥 (a little bird): 僕たちは、果たして本当に「卒業」したのでしょうか?
どうですか? 「そんな馬鹿なことがあるはずがない」と笑い飛ばしますか? そういう人こそ、むしろ一度自分の卒業を疑ってみたほうがいいのではないでしょうか? 以下にチェックシートを用意してみたので、ぜひ自分の心に正直になって、それぞれのチェック項目を検討してみてください。
僕も、4つともチェックできませんでした。学歴詐称だ!
寝てる間にコメントSPAM くらってました。
全記事に対して複数のコメントをポストしている模様で、"MT Comment SPAM filter should be updated frequently" みたいな余計なお世話的内容に、なんとかblog という名前のをいっぱい、それにまぎれて casino online みたいな感じ。手が込んでるなあ。
トータルで 800 コメントぐらいもらってたので これ とか使っても手で消すのはアホくさい。mysql から一括で消しますた。
mysql> delete from mt_comment where comment_ip='196.40.67.43';
アクセスログみてみたら GET で SPAM 送ってるんすね。mt-comment.cgi で GET 拒否しちゃえばいいんじゃないかなあ。ちうことでやってみます。
ping.bloggers.jp: ちょっとした設定変更 [dh's memoranda]
JUGEM につづいて、DiaryNote さんからいきなり ping が送られてくるようになりました。なんか半端でない量です。日本の日記サービスの歴史の深さを改めて思いつつ、サーバ増強しておいてよかったと思いました。
ユーザごとに ping とばすかどうかの設定はできないのですかね? だとしたらちょっとイヤかも。
こちら勝手に取得してる分際で文句は言いにくいのですが、ping.bloggers.jp に ping すると FeedBack や Bulkfeeds に登録されてしまって、今までこっそり Web日記やってた人が、何すかコレ!ということになりかねないんですよね。。。
UPDATE: さっそく DiaryNote 開発者の方 から Trackback もらいまして、個別に ping とばすように仕様変更されるそうです。すばらしい!
まだ新着Blog一覧とかのページはないみたいなんで、Bulkfeeds からのアグリゲートはやめときます。
paperboy の家入さん に確認したところ、某手法で取得したアカウント一覧をインポートしても問題ないっすよとのことなので、とりいそぎ現状のものをDBにぶちこみました。
JUGEM全体の新着記事RSS (or changes.xml) は近日中に対応してくれるそうです。
CD
- Dashboard Confessional - A Mark, A Mission, A Brand, A Scar
- Incubus - Crow Left of the Murder
- ZAZEN BOYS
- lostprophets - Start Something
本
- アイデア×アイデア
- 史上最強科学のムダ知識
JUGEM オープンだそうで。イエイリさんおつかれさまです。
まだ新着Blog一覧とかのページはないみたいなんで、Bulkfeeds からのアグリゲートはやめときます。とある方法でユーザアカウント一覧らしきものがとれたんですが、あまりほめられたやり方ではないとおもうので、オフィシャルな新着エントリが出るまで待つ方向で。
JUGEM が出力してる RSS シブいっすね。。。manifest モジュールってなんすか。。。
まったく同じ人種のようだ。
一度勢いに乗ってしまえば,それを保つことは難しくない。私の多くの日常は,こんな感じで構成されている……(1)仕事に取り掛かる (2)メールをチェックしたり,ウェブを眺めたりする (3)仕事を始める,と,その前に,昼飯を食うことにする (4)昼飯から戻ってくる (5)メールをチェックしたり,ウェブを眺めたりする (6)いよいよ仕事を始める準備が出来たぞと意気込む (7)メールをチェックしたり,ウェブを眺めたりする (8)今度こそ本当に仕事するぞと決心する (9)忌々しいエディタを立ち上げる (10)ノンストップでコードを書き続けて,いつの間にか7:30になっている
最近はそうでもないんですが、wanderlust に navi2ch, emacs-w3m なんて使っていると、(9) の後にもさらにメール、ウェブ、2ch なんていう逃避が発生するわけで。。。
こういうのの回避にもペアプログラミングは有効、と。相互監視が、お互いの弱さを補完しあうのかも。
Bulkfeeds Similarity Search に以下の機能を追加予定。しかしちっと時間がとれない。
url の前方マッチ機能
- url パラメータを前方マッチさせて最新 n 記事で similarity 検索。tDiary などの日記ツールで日付のURLを渡したり、Blog 全体で最近の記事とかにマッチさせたりできる。
URL フィルタ
- js フィードに表示しないドメインを指定。AdSense にもあるやつですな。個人情報でログインとかメンドくさいのでどうやって実現するかな。
This is a simple Web service to convert Atom 0.3 XML feeds into RSS 1.0 ones. To perform the transformation enter the URI of your Atom 0.3 file in the box below.
Atom 0.3 から RSS 1.0 に変換する Web サービスです。livedoor blog では先日から Atom フィードを出力しているんですが、試してみたらうまくいったみたいです。
IT業界の 5~10年後について議論しようという場で、「ソフトウェアのコモディティ化が進み、オープンソースのソフトウェアを使って低コスト開発が進む」というような意見が出たので、そうでもないかも、と、以前に Wiki に書いた 駄文の話をした。
今日は 20代後半のハイテクエンジニア / ジャーナリストなどなどあつまって楽しい会がありました。そこで 高林さんがムチャクチャおもしろい話してたのでメモ。星新一的ですな、続き読みたい。。
Doblog の RSS ではすべての記事がはいった RSS
を出力するようになっており、Bulkfeeds のアグリゲートなどで時間がかかっていて困っていたのですが、
blog.bulknews.net: Doblog の RSS について要望
NTTデータの藤村です。
Blog of the Yeah!以来ですね。ご無沙汰しております。さて、内山さんと相談してお騒がせしていたRSSの件対応しました。(全部出をやめて最新15件にするコマンドを用意しましたのでそちらで取得してみてください。)それからRSS Auto-Discovery も付加しました。
のように NTT データ様に対応していただきました。これにあわせ、Bulkfeeds 内のデータベースで Doblog の RSS URL を CMD=ALL から CMD=LATEST に強制変換しました。またアグリゲートして新規追加されるRSSフィードについてははじめから CMD=LATEST となるようにしてあります。
NTT データ藤村さん、HottoLink 内山さん対応ありがとうございました。
UNIX USER 2004年3月号 の特集記事「RSS 事始め」の Pt.3 P "Perl でつくるオンラインRSSリーダー" という記事を執筆しました。
ソースコードは上記サイトからダウンロードできるとおもいます。
私の publications サイトにも エントリ つくっておきました。
オンラインRSSリーダーってかっこよく書いてますが紙面の都合上、そんなたいそうなものではなく、RSS のリストを巡回してマージして HTML と RSS で再フォーマット、みたいなシンプルなものになっていますが、エッセンスはつかんでもらえるとおもいます。
他の Part を書かれてる2人もみなさんご存知の著名な方々なので、ぜひ見てみてください。
# あえて Trackback はしない、Similarity でつながるから! ↓ほらね
NDO::Weblog: 噂のソーシャルネットワーキング Orkut
Google の社員が作った、噂のソーシャルネットワーキングOrkutにお誘いをもらったので参加。ありがとうございます。
Orkut 誘ってもらってやってみました。
すでに登録されている人から招待されないと登録できないのが、なんかウレシイ。これが登録するモチベーションを上げますね。そして入って友達をどんどん増やしていくんですが、どこかで行き詰るので、Orkut に登録してない人を招待するしかない。
ここがうまくできてますなー。バイラルでどんどん広がっていきます。
僕は早速 perl 関係で ML とかIRCでよく話している人たちをどんどん友達にしてみました。そして写真をみんなUPしているので、ちと昔のバンドやってたときの写真だしてみたり(やらしー)。
... と、一通り友達リストつくってなんか満足しちゃったんですけど。。。
はてなダイアリー外のアプリケーションにおいて、はてなダイアリー内と同じく、キーワードの自動リンクを可能とするためのAPIを試験公開しました。
以下のURLから、はてなダイアリー内のキーワードにマッチする正規表現パターンを、EUC-JP文字コードにより取得頂けます。(通常のブラウザで閲覧するとエラーとなる場合がございます。ご注意ください)
昨日チャットとかで話していたのが現実になっている!(盗聴されてたか?)
このエントリ も実装できますね。
Bulkfeeds の方では Permalink から特徴単語上位10語を出す REST API を試験的に用意してあります。
URL: http://bulkfeeds.net/app/similar.xml
パラメータ: url
サンプル: http://bulkfeeds.net/app/similar.xml?url=http%3A//blog.bulknews.net/mt/archives/000775.html
これで単語を Bulkfeeds にリンクするもよし、はてなダイアリー好きな人はさらに上記ダイアリー単語リストAPIを組み合わせて、特徴語をはてなのキーワードリンク、なんてのも可能ですね。
いや、面白い。
Bulkfeeds の検索結果の HTML を若干変更しました。(対象は search2 と similarity です)
- 検索結果のタイトルは、今までは RSS のタイトルで Feed Info ページへのリンクでしたが、記事のタイトルを表示して、リンクも直接記事にとばすように変更しました。
- Feed Info へのリンクは本文概要の上部に "Feed: blog.bulknews.net" のような形で記載しています。
# [perl:5193] に触発されて ...
まあこのBlogの読者の皆様には当たり前すぎることだとはおもうんですが、
このサイトは情報を読み出したり書き込んだりするために、「CGIプログラム」と呼ばれる汎用(はんよう)プログラムが使われていた。河合容疑者はこのプログラムの欠陥を突き、サーバー内の非公開の領域に保存されている情報を引き出したという。
まるで CGI という汎用的な規格そのものに脆弱性があるような書き方はカンベン。「ほら、CGI はセキュアじゃないから JSP にしましょう!」なんていいだす人でてきたらマジ萎えます。。
この辺りが、US/欧米の開発者が「RSS ステ、やっぱ Atom でしょ」となっている根本なのかもしれませんな。
Bulkfeeds 管理者としてできるべきことを、と考えて、とりあえず更新情報取得などで問題があるRSSについては、管理者の方とコンタクトをとりはじめました。
具体的には、サイト全体の新着情報といいながら dc:date がないもの、また item の link がリダイレクトURLとなっていて permalink と異なるもの、などです。
ほんとは名前を出して対応して!といいたいところなのですが (Doblog のときはやっておいてナンですが)、やはり相手には相手なりの事情があるだろうと。(リダイレクトURLなんかはマーケとからみますから、こうしろ!なんて外からいうのはスマートじゃない) セキュリティホールを公開するのとはまた違うんでしょうが、相手の事情を省みずに指摘するのはしたくないんですね。
やっぱりビジネスでやってる限りはそこに費用対効果がどんだけあるか、てのは絶対頭にありますからね。content:encoded いれてよ!っていってもページビュー落ちるからヤダっていわれたらダメだし。
その辺りはもう善意と理想と、現実解とのトレードオフになっていくんだろうなあとは思いつつ。
RSSはバージョンがいくつか存在することにより混乱しているのは周知の事実なわけですが、日本では一気にRSS配信ブームになったということもあり(多分)、仕様のちょっとした解釈の違いなどにより、パッと見には間違ってなさそうに見えるけど、実はRSSリーダーで解釈しにくいRSSが結構あったりするというような混乱もありますね。というようなことがNDO::Weblogでエントリされていたので、僕もそこらへんのことに関する雑感を書いてみようかと。
この辺りが、US/欧米の開発者が「RSS ステ、やっぱ Atom でしょ」となっている根本なのかもしれませんな。
こういうのを権威を持った団体がやるのか、はたまたコミュニティベースでやるのか。Dave Winer の例を出すまでもなく、エゴの張り合いみたいなことにならないような場が必要になってきているのかもしれません。
sub token_re { qr/ \p{InCJKSymbolsAndPunctuation}+| \p{InHiragana}+| \p{InKatakana}+| \p{InKatakanaPhoneticExtensions}+| \p{InCJKUnifiedIdeographs}+| \p{InHalfwidthAndFullwidthForms}+| \w+ /x; }漢字とかカタカナとかの境界で区切るだけのプリミティブなパーサですが、まあとりあえず動きます、ということで。 詳細は Perl5.8 の Unicode サポートなんぞ。
Bulkfeeds の search2 の RSS を一部変更しました。(Bloglines では全部新着になってしまうハズ。すいません)
* item の title 要素をサイトタイトルではなく記事タイトルにしました。(サイトタイトルは ag:source にいれています)
* channel の rdf:about を link と同一にしました。
* description は先頭 128 文字にしました。
* content:encoded 対応しました。
BlogpediaはWikipedia(キーワード化されていたぜ)の真似でWikiによる百科事典である.
何が違うかというと,WikiTokenをキーワードとしてgoogleやBulkfeedsで検索を行い,検索結果を画面下に表示する.要するにはてなダイアリーのキーワード機能のオープン版である.
これはtarosite さんの Bulkfeedsサーチではてなダイアリーのキーワードみたいに…できないか。 に近いかもしれませんね。
similarity の REST API を実は作成済みなので、そこに permalink を投げて特徴語をゲット、本文の単語を Bulkfees (や FeedBack や はてなダイアリ) リンクにマークアップ、ってのは MT のプラグインつくればできそうではあります。
もうひとひねりほしいな、なんて。
ITmedia エンタープライズ:オープンソースの導師、エリック・レイモンド氏に聞く
Open Source Initiativeの会長、エリック・レイモンド氏に、現在のプログラミングや技術について聞いた。
カリスマ Hacker (fetchmail や bogofilter の作者でもある) Eric Raymond 氏のインタビュー。SOAP と XML-RPC を C と C++ の関係にたとえていたりして面白い。
インターネットサイトから昨年11月、利用者約1200人分の個人情報が引き出され、一部が公表された問題で、警視庁は4日、京都大学知的財産企画室の研究員河合一穂容疑者(40)=京都市南区唐橋赤金町=を不正アクセス禁止法違反と威力業務妨害の疑いで逮捕した。河合容疑者は調べに「サーバー内に侵入して情報を引き出した」と話しているが、不正行為と認識していたかについては供述していないという。
データ自体を引き出しちゃったのはまずかったんでしょうけど、逮捕はやりすぎな気はします。。。
Why your Movable Type blog must die || kuro5hin.org
In the past, blogging was an interesting pastime. Now, with the advent of the ridiculously popular weblog package Movable Type, the Web is in risk of drowning under a tidal wave of morons who throttle search engines with writing that has no purpose and such PageRank-destroying features as "TrackBack".
MovableType のデザインがダメだ、とかSPAMに弱い、などなどというドキュメント。(via Chitatopops)
そこからたどって FloodMT なんてツールも。
スラッシュドット ジャパン | Friend or Foeシステム 名称募集中
"現在Oliver日記ではFriend or Foeシステムの日本語訳を募集しています。初夏を目標にスラッシュコードがアップデートされるのに伴い導入される予定のようですが、これは投稿されているコメントにIDを基にして「Friend 」と「Foe」というカテゴリを設定して、個別IDに対して個人が加点・減点を行えるようにするものです。簡単に言えば、好きなIDの発言は全て読み、嫌いなIDの発言は全て無視するみたいな事ができる様になります。
スラド独自のFOAFっぽいしくみ?
やはり FOAF でもなんでもこういう仕組みをスコアリングとかフィルタリングに使うというのが面白いよなあ。
use Perl | Perl port of Lucene search engine
arakan writes "Simon Cozens and Marc Kerr have been very busy at Kasei: they have been porting the Lucene search engine from Java to Perl. The result has just been released to a CPAN mirror near you."
Java製全文検索エンジン Lucene の perl port!
kasei さすがです。
ちなみに kasei には Class::DBI の Tony Bowden 氏とかいます。
Permalink から、特徴的単語を持つ似たエントリを検索します。
Bulkfeeds で「似たBlog記事を検索」する Similarity Search をリリースしました。
わかりやすく言うと、「おとなり Blog」とか呼ばれるようなものです。Blog エントリに含まれる文章を形態素解析し、特徴的単語を抜き出して、それらの単語で Bulkfeeds の RSS Item 全文検索します。結果、話題の関連性が高いエントリが検索できます。また、Blog ツールの permalink (Individual Entries) に javascript を使って関連記事の見出しを埋め込むこともできます(「くっつきおとなり Blog」みたいなもの)。
Similarity Search に permalink の URL をいれれば、類似記事が検索できます。
Similarity Search のページに Bookmarklet がおいてあります。これはブラウズ中のページの URL を /app/similar のクエリに付加するものです。 URL をわざわざ入力する手間がはぶけて便利かと。
Blog のエントリ Permalink に javascript をつかって、関連記事を埋め込むことができます。Movable Type の場合を例にすると、以下のようなコードを Individual Entries のテンプレートの好きな箇所に埋め込むと、関連記事一覧を出力できます。
<script language="JavaScript"> var url ='<$MTEntryPermalink$>'; var n = 10; var oe = 'euc-jp'; var style = 'mt-comments'; // or 'lite' document.write('<scr' + 'ipt language="JavaScript" src="http://bulkfeeds.net/app/similar.js?url=' + escape(url) + '&n=' + n + '&style=' + style + '&oe=' + oe + '"></scr' + 'ipt>'); </script>
上級者な人は、もっとカンタンに
<script language="JavaScript" src="http://bulkfeeds.net/app/similar.js?url=<$MTEntryPermalink encode_url="1"$>&n=5&style=lite&oe=euc-jp&noheader=1"></script>
でもよいでしょう。
パラメータの意味は以下のとおり
style=lite, style=mt-comments とも div で class 指定を埋め込んでいます。サンプルのスタイルシートを Demo Page におきましたので、ソースを参照してみてください。
また blosxom の場合に permalink に埋め込む用の plugin を hail2u の kyo さんが作ってくれました。
tDiary などの段落アンカー系ツールでは、1つの日付単位がHTML になるので、複数記事があった場合に js が複数となり Bulkfeeds 側の負荷が高くなってしまいます。この解決方法は、js をつかって1つの script で埋め込めるような仕様を現在検討しています。
javascript で埋め込まず、リンクだけしたい場合には、単純に以下のようにすればOK です。
<a href="http://bulkfeeds.net/app/similar?url=<$MTEntryPermalink encode_url="1"$>">Bulkfeeds で関連記事検索</a>
Permalink の形態素解析は、Bulkfeeds の全文検索インデクス作成と同時に行っていますので、Bulkfeeds で巡回していないサイトは検索対象外です。また、インデクス作成が追いついてない場合(最大で1時間くらい)、検索対象外となります。時間がたてば検索できるようになるはずです。
また Similarity Feed (埋め込み用 js)の生成は、初回アクセスのみ動的に行い、2回目以降はキャッシュから吐き出すようにしています(ので初回だけは出力が遅くなる場合があります)。以後サーバ側でキャッシュは定期的に最新に保たれますが、結果を強制的に最新にしたい場合は強制リロード (WinIE なら Ctrl+F5) を使用してみてください。
どの単語がそのエントリの特徴語に選ばれたかは、Bulkfeeds の Similarity Search 画面に表示されます。特徴語は、Bulkfeeds の直近 100,000 エントリから idf を作成(1日1回のバッチ)して、エントリの単語の tf の平方根(正規化)とかけあわせ (tf*idf)、上位4語を抜き出して適当にペアをつくって検索しています。分かち書きに kakasi を使用しているため、おかしなところできれることがありますが、実験した限りでは MeCab などよりよい精度を示したため kakasi にしました。
ベータ版なので、出力されるHTMLなどが随時変更になる可能性があります。 その辺はご容赦を。逆にこうしてほしいといった要望があれば(作者にやる気がある)今がチャンスです。
検索後の表示画面で「特徴的単語」という部分にもBulkfeedsで検索した単語にリンクを張るようにしたらどうでしょう?
てなわけなので対応しました。こんな感じ 抽出したキーワード1個1個に検索結果のリンクがつくようになります。
Bulkfeeds Similarity Search用Javascriptをちょっと変更(utf-8以外のサイト用)
BulkfeedsのSimilarity Search設定用のjavascriptの方法だとShift_JISのサイトでの表示にIEだと表示されていたがFirebirdだとちょっと文字化けしてしまったのでcharasetでの強引な表示にしたところIEでもFirebirdでも文字化けなしで設定できたのでこれにする。
これは oe パラメータをいれても Content-Type が charset=utf-8 なままのせいだと思います。script タグで charset をいれてもらえばとりあえず対策になりますが、サーバ側で oe パラメータによってきちんと charset を変更するようにしました。
similar.js にパラメータ noheader を追加しました。style=lite の場合に bulkfeedsSimilarityHeader を出力せず、代わりに bulkfeedsSimilarityFooter というセクションで "powered by Bulkfeeds" というリンク文字列をフッタ表示します。独自にブロックなどつくって入れている方はこちらの方が便利かもしれません。Demo Page にも UP してますので参考まで。
hail2u.net で公開されている blosxom 用プラグイン にリンクしました。
上級者用の javascript に記述していたパラメータ num を n に修正しました。
tDiary などの段落アンカーによる Blog ツールでの対応について追記しました。(現状ではサポート、推奨していません)
出力するHTMLのリンク target を指定するパラメータを新設しました。
Bulkfeeds: Home - RSS Directory & Search
Excite ブログ (ベータ版だそうですが)と BLOCKBLOG のアグリゲートを開始しました。
Excite は RSS 2.0。シブー。
どちらも RSS Auto-Discovery, Trackback Auto-Discovery に対応している模様。
blog.bulknews.net: Bulkfeeds: Search v2.0 のベータ版公開中 にて公開した v2.0 のベータテストを終了します。URL はそのままあけておきますが。
現在 search2b 向けのインデクスが70万件ちかくになってきましたが、やはりドメイン別/サイト内検索の実装に難があり、実運用に耐えられる時間内で検索を終了させるのはちと困難みたいです。(ふつうにドメイン検索すると15秒程度かかってしまいます)
より現実的な速度で検索できる方法をさらに模索するとします。
Yahoo!ニュース - スポーツ - スポーツ報知ホームページ
猪木が指示!藤波社長クビ エンセンら6人新日本プロレスの坂口征二CEO(61、最高経営責任者)は28日、社長の藤波辰爾(50)を含む6選手との契約を解除したことを発表した。実質的オーナーのアントニオ猪木(60)の指示で15日から契約更改を開始し、この日で終了。レフェリー4人と34選手の計38人と契約を交わし、昨年比で総年俸の20%減に成功したことを明かした。平成大不況の逆風の中でマット界の盟主があえいでいる。
おおお、ドラゴンクビかよ!