Home

日記
似たようなサービスをやっているところに載せて欲しい機能 (16:59)Edit

最近似たようなサービスをやっているところが増えているみたいだし、みんなで同じことをやってもしょうがないんで、独自にやる意味がなさそうな状況になったら、blogmapはやめて別のことをはじめようと思っている。んで、その他のサービスで、blogmapで持っているこの機能も持たせて欲しいなー、という要望をなんとなく書いてみる。

類似ページを自動判別し、グルーピングする機能

blogmapではURLからタイトル等の情報を取得するときに、HTMLドキュメントに含まれるテキスト部分を形態素解析し、URLごとの特徴語群を取得している。で、その特徴語を使って、似たような話題(である可能性が高い)URLを自動判別している。

たとえば「『MacへのIntel製CPU搭載をジョブズCEOが宣言』のネットでの評判 - blogmap」の一番下にある「関連する話題」とかみたいな感じ。

あんまり精度が良くない(十分な語彙が取得できればそれなりの結果が出るけど、ほとんど語彙がない(Flash中心とかの)ページはうまく判別できない)んで、現状では参考情報的にこういう形で掲載しているんだけど、もうちょっと精度を高めることができれば、「同じ話題を扱っているURL群」を自動的にグルーピングして扱うことができるようになる。要は、Google Newsがやっているような感じね。

trackbackセンターとしての機能

自動収集と手動(trackback)収集を透過的に扱うことで、「ある話題に関する情報」に関するポータルを自動的に生成することができる。別にtrackbackじゃなくてもいいんだけど(blogmapでは昔BBSもつけていたし)、現状で一番手軽なインターフェースはtrackbackでしょう。できれば、前に書いた「同じ話題をグルーピングする」機能を持たせた上で、「話題」単位でtrackbackセンターの機能を持っていると一番いいな。

フリーワードによる検索機能

RSSサーチエンジン的な機能なんだけど、検索結果の順位を「話題順」でソートできるというのがポイントになるんで、フリーワードによる検索機能も用意して欲しい。というか、それがないと(現在)ランキング入りしていない話題にたどり着くことができないし。

URL、ASIN以外のキーを使えるように

一番手軽なURL、ASINをキーにデータを収集しているところがほとんどだけど、個人的にはさまざまな店舗に関する情報や、Amazonでは取り扱っていない商品に関する情報に関しても、整理された形で見えるようにして欲しい。

位置情報に関しては、MM/Memoでちょっとテストしてみたけれども、やっぱりむき出しの緯度・経度情報をそのまま使ったんじゃいまいちだ。店舗やイベント会場なんかに対して手軽に使えるIDを振って、それをベースに情報を収集できるようになると便利。

商品情報データベースは、はてなみたいにむき出しのJANコードとかじゃ使いづらいし、やっぱりもうちょっとユーザーフレンドリーな感じのIDがあるといいな。企業コード-商品ID(-オプションコード)とかの形式だったりすると使い勝手がいいだろうか。現在のデファクトスタンダードであるASINとのリンク情報も管理できるとさらに便利。

そういやMM/Memoで実験しているテレビ番組(IEPG)情報もうまく使えるようになると便利だろうな。地方による差異をどう吸収するか、とか、IEPGに含まれている情報はさほど信頼性が高くない、とかの問題があったりするんだけど、この辺をうまく扱える仕組みができたら、現状のテキトーな視聴率データなんか目じゃない、きちんとしたテレビ番組の試聴情報が収集できるようになって、その辺のぬるま湯が一気に沸騰するでしょうね。

なんて独自のID系を広めるためには、そのIDをいろんなblog等で使ってもらえるような利便性(Amazonの「商品情報がわかる」「商品が買える」「Webサービスで自動取得できる」という利便性のように)を提供するところからはじめないといけないけど、その辺は企業パワーで何とかしてけろ。

Published At2005-06-08 00:00Updated At2005-06-08 00:00

日記
HTMLArea 3.0-rc1のFirefox 1.0.4での挙動 (20:18)Edit

テキストエリアが空の状態でテキストモードに切り替えると、テキスト化された内容が「<br />」になっていて、実際にその状態でsubmitすると「<br />」がPOSTされる。要は、不要な改行が自動挿入され、それがHTMLタグとして解釈されてしまっている。確認画面とかを作って行ったり来たりしていると、どんどん頭に空行(=<br />タグ)が付与されていってしまい、さらにひどいことになる。IEで同じことをやっても、空のテキストエリアは空のまま保持される。

HTMLArea.getHTMLの処理が怪しいんだけど、どの辺が原因なのかよくわからない。ひとまず最低の対症療法として、HTMLArea.getHTMLのreturn html;する前に、

   html = html.replace(/^(<br \/>\n?)+/, '');

とかしてみたけど、副作用も大きいし、よろしくないよなー。

Published At2005-06-08 00:00Updated At2005-06-08 00:00

日記
携帯電話のアドレス帳が共有できるサービス (14:31)Edit

Life is beautiful: 『恋はブックマーク』−ブックマーク・コメントはシャイな日本人向け?」あたりが元ネタ。というか、ここをブックマークしてコメントを書こうと思ったけど、長くなりすぎたんでこっちにまとめる。

ブックマークするためにはURLに相当するユニークなIDが必要。(ネット以外の)社会生活において、ある人を特定するためのURLに相当するものとしては、現代の日本ならば携帯電話の番号なんかが有望。要は「携帯のアドレス帳に登録」=「ソーシャルブックマークサービスにブックマークする」というアナロジー。アドレス帳に写真とかコメントとかを登録できる携帯もあるし。

ただ、ふつうの携帯電話のアドレス帳は共有はできないから、ソーシャルじゃないわけだけど、もちろんソーシャルにしたっていいわけだ。ってことで、そのうち友達同士で携帯電話のアドレス帳を共有できるサービスをはじめるところが出てくるとみた。キャリアが動けば端末自体にそういう機能を載せられるし、キャリアが動かなければWebベースになるだろうな。

要は、携帯電話向けのSNSなんだけど、「携帯電話のアドレス帳を共有する」「ソーシャルブックマーク的に人をブックマークしていく」というシステムを取ることによって、出会い系臭さを減らし、利便性方面から攻めていくわけだね。どこかのキャリアに持ち込めば結構通りそうな企画な気がしてきたな。ちなみに、セキュリティ対策に自信がないところは手を出さない方がよろしいですよ。

Published At2005-06-09 00:00Updated At2005-06-09 00:00

日記
qmail+spamdで (20:26)Edit

ちょっと多めのメールを受信したときに、spamdのプロセスがある程度多くなると、すぐにスラッシングが起きてしまうような場合、tcpwrapper -cでsmtpの接続数を制限するのがいいのかなー。というかひとまずそうしてみた。

というわけで、大量のspam対策でサーバー負荷がかかって、今日は断続的にあちこち死んでいました。なんか最近アフィリエイト系blog spam(同一の宣伝エントリーを大量のblogに投稿しまくる)が激しいな。

Published At2005-06-14 00:00Updated At2005-06-14 00:00

日記
今からゲームボーイアドバンス用ゲームを買う場合って (21:09)Edit

子供の誕生日に『』を買おうと思ったんだけど、うちにはゲームボーイ系はない。んで、中古のゲームボーイアドバンスでも買おうと思っていたら、オクサンに「誕生日に中古はやめろ」とつっこまれた。でも新品のゲームボーイアドバンスってSPよりも高いのね。なんとなく子供が壊しにくそうだから無印アドバンスにしようと思っていたんだけど、高いんだったらSPにした方がましかなー。

と思ったら、ニンテンドーDSってゲームボーイアドバンスのソフトが動くのか。通信周りに互換性がないらしいけど、まあどうせ通信機能なんて使わないだろう。ついでにやってみたかった『』 も買ってみるか。ningendogsもやってみたかったんだけど、どの犬種を選ぶか決めきれなかったんでやめ。

と、いつのまにかニンテンドーDSとソフトを買ってしまっていたわけだけど、これは見事に任天堂様の見えない手に操られているってことでよろしいでしょうか。

Published At2005-06-14 00:00Updated At2005-06-14 00:00

日記
またDBエラーが出ていました (11:58)Edit

今まで何度か起こったキャッシュ用テーブルのインデックスが壊れるという症状。このテーブル以外はMySQLのテーブルが壊れたことって(更新プロセスを強制終了したとき以外)ないんだけどなー。

で、ひとまずインデックスをmyisamchk -rで修復し、さらにキャッシュ用テーブルを別DBに分けていたのをやめ、メインのDBに統合してみました。あと結構複雑なインデックスを張っていたのをやめて、最低限のインデックスのみに変更。これで(実体としての)ファイルの保存場所も変わるし、他のアプリケーションで共用している部分もなくなるし、インデックス更新負荷も低減されるんで、状況が改善されることを期待。

これでもダメなら、テーブル構造とそれにアクセスするライブラリ部分から見直そう。そういや昨日はいつもの倍近いアクセス数があったみたいだけど、何か絨毯爆撃でも食らっていたのかな? まだ細かいログは見てない。というか見ている暇がねー。

Published At2005-06-15 00:00Updated At2005-06-15 00:00

日記
絨毯爆撃 (12:08)Edit

どうやら昨日は、「Mozilla/4.0 (compatible; MSIE 6.0; Windows 98)」を名乗るクローラーっぽいものに絨毯爆撃を食らっていたんだな。接続元IPアドレスは複数あるみたいだけど、UAは統一されている。これってなんだろうなー。

Published At2005-06-15 00:00Updated At2005-06-15 00:00

日記
default_modifiersが実行される順序 (15:09)Edit

default_modifiersで指定した修正子が実行される順序は、(直接テンプレートで指定した修正子よりも)後だといいなーと思っていたんだけど、

if (!empty($this->default_modifiers) && !preg_match('~(^|\|)smarty:nodefaults($|\|)~',$modifiers)) {
$_default_mod_string = implode('|',(array)$this->default_modifiers);
$modifiers = empty($modifiers) ? $_default_mod_string : $_default_mod_string . '|' . $modifiers;
}

あたり を見る限りは最初に挿入されるみたいだなー。

ってことは、default_modifiersにescapeを設定して、自動でエスケープされるようにしておきつつも、ちょっとだけ加工(たとえば文字数切りつめとか)したい場合なんかには、「{$var|smarty:nodefaults|truncate|escape}」みたいなうざいことをしないといけないのか。default_modifiersは一番最後にかかるようにしておいた方が便利なシチュエーションが多い気がするんだけどなー。

Published At2005-06-15 00:00Updated At2005-06-15 00:00

日記
うげ (15:45)Edit

default_modifiersって、出力する変数だけでなく、各種関数のパラメータとして使用する変数にも自動的にかかるわけ。それはちょっとつかえねーよ。

Published At2005-06-15 00:00Updated At2005-06-15 00:00

日記
絨毯爆撃再来 (13:25)Edit

昨日の「Mozilla/4.0 (compatible; MSIE 6.0; Windows 98)」なUAの絨毯爆撃機が今日も来ているんで、ひとまずIPアドレスでdeny。本日は222.149.250.10から来られているようです。リアルタイムのURLをたどっているわけじゃなさそうだな。かつてクロールしたときに集めたURLデータベースを使ってアクセスしているのか?

Published At2005-06-16 00:00Updated At2005-06-16 00:00