2008年1月22日

データを全てファイル名に!?

カテゴリー: [ソフトウェア] [プログラミング]

スラドで見つけたんで、知っている人も多いでしょうけど。

スラッシュドット ジャパン | データをすべてファイル名扱いにして高速検索を実現?
HOWS「ISSEI(イッセイ)」:ITpro

既存のRDBの限界を超える、高速検索が出来るようにデータの全てをファイル名に入れる事にした検索技術を作ったというものです。OSの機能で高速検索できると主張しているわけですが。

最初は、何か利点になるポイントがあるんだと思って読んでいったんですが...
つっこみどころが満載で、どこからつっこんでいいやら困ってしまいます。ジョーク記事かと思いました。

すくなくとも、解説を読む限りはつっこみどころ満載です。
世の中、解説だけがでたらめということはあるので。(これがそれだけの話とは正直思えないですが)

とりあえず、他の人たちもつっこんでいるように、「ストップウオッチ片手に高速化を追求」というところは、つっこんでおかないといけないでしょうね。なぜストップウオッチ…

OSの基本機能であるファイル名の検索機能を用いることで、ハードディスク内のファイル本体にアクセスせず高速に検索できるのが特徴だ

HOWS「ISSEI(イッセイ)」:ITpro

ファイル名の情報も、ハードディスク上にあると思うのは私の勘違いなのでしょうか?
なにか、ファイル名を取ってくるのは、どんなときでも高速であるという思いこみがあるような気がします。

そもそもファイル検索機能というのが何をさすのか、よくわからないのですが、Windowsのファイル検索のことなんでしょうか。
あれだって高速化するには、インデックスつけたりするわけでDBと同じ事なんですが。
つまり、結局、Windowsのファイル検索は速いよ、ということですか。

検索対象は、このファイル名の集合体。この方法によって、ハードディスクに保存されているファイル本体にアクセスすることなく、メモリーにキャッシュされたファイル名群を検索することで高速化を図っている。

なるほど。メモリに持っておくから速いんですね。
でも、ファイル名としてデータを保存するから速いんではなかったんでしたっけ?
結局、ファイル検索ってなに…?キャッシュとは普通のディスクキャッシュのことなんでしょうか?
それこそ、単にOSの機能では?

従来のDBは、

「ファイルの入出力にかかる時間がボトルネックで、検索速度が上がらないとの問題を抱えていた」
というんですが、そこから、なぜ、ファイルの中身を読まずにファイル名だけ読めばよいという発想に至るのかよくわかりません。ファイル作成や、ファイル名の取得はボトルネックにならないと思ったのでしょうか?
そもそも、そのボトルネックはどうやって調べたんでしょうか。(ストップウオッチ?)

次はOSメーカーと共同開発し、ISSEIをOSの標準機能として盛り込みたい。最終的にはISSEI専用チップをメーカーと開発するのが目標だ

OSの機能をそのまま借りるのが利点だという主張なのに、なぜ専用チップですか。
これは、他と比べて、非常にわかりやすいつっこみどころですね。

このままつっこみ続けると、全文引用してしまいそうなのでこの辺で。
「ゼロベースで発想」したそうですが、どういう意味でゼロだったのか…

ファイル名にプログラムから利用される何らかの情報を持たせるということは、普通にあります。有効な場面もあるでしょう。
でも、そういうのは、62進数で全部のデータをファイル名に入れるとか言う話とは違う話ですし、新技術とか言うものではありません。

とにかく、この技術がたとえ本当に速かったとしても、すごいのはMicrosoftなわけです。
ファイルシステム、ファイル検索といった、「既存のDB」を使っているだけなのですから。

書くべきか迷いましたが、あんまりな話なので書かずにいられなかったです。
なんというか、トホホな話です…

追記:
改めて、何に違和感があるのか考えてみると、引っかかっているのは単に技術的に変とかいうことではないんですよね。
自分はそこに着目しがちですが、記事だけでは詳細まではわかりませんし。
まあ、記事の書き方自体がなにか変なのは確かですが…
用途は限られるでしょうけど、ファイル検索機能に検索させるということ自体は、(もしかしたら)状況によっては意味があるかもしれない。
(Google Desktop Searchとかの方がいい気はしますが)
でも、新技術とか、既存のDB技術と一線を画すとか、革新的とかいう話じゃない。(一番大事なところが借り物)
そこのところに引っかかるんでしょう。

投稿者 shingo : 01:16 | コメント (2) | トラックバック

2006年7月21日

Becky用のベイズ理論ベースの学習型スパムフィルタが登場

カテゴリー: [ソフトウェア] [ニュース] [プログラミング]

Becky! Internet Mail にベイズ理論ベースの学習型スパムフィルタを追加するプラグインが出てきました.

窓の杜 - 【NEWS】「Becky!」に“ベイズ理論”を用いた学習型のスパムメールフィルターを追加

Beckyのプラグインで,この種のフィルタは,私が欲しいと思った数年前には無かったので,自分で作ってずっと使っています.公開はしてませんが.
誰かが作るだろうから,いつか出てくると思っていましたが,ついにでてきましたね.

私の作ったフィルタは,形態素解析にmecab,データベースにBerkeley DB,文字コード変換にICU(International Components for Unicode)と,外部ライブラリやプログラムをいろいろ使っています.その上,STL実装にSTLportを使ってみたりしてますので,依存するDLLはさらに増えてます.
ちゃんとインストーラを作らないとお世辞にもインストールしやすいとは言えず,配布できたものではありません.

また,初期状態では何も学習していないので役に立ちません.なので,あらかじめ,スパムのサンプルを持たない人には全く使えなかったりします.かといって,私宛のメールの断片を含んだ,スパムメールとクリーンメールのデータベースを標準添付するわけにもいきません.
公開するなら,最初からある程度フィルタ出来るだけの学習データが必要です.

というわけで,ちょっとは公開することも考えましたが,公開するのがあまりにも面倒なので,やめました.
そのかわり,自分好みに作り込んでます.
性能は他と比較してみたことは無いのでよくわかりませんが,まあ,使えているので良しとしています.

Beckyユーザのスパムフィルタの選択肢はそんなに無かったと思うので,選択肢が広がったのは良いことです.

追記)
どうやら少し前から,ベイズフィルタのBecky!のプラグインはあったようです.いやあ,自分で作って満足してたから,全く知らなかった(^^;

投稿者 shingo : 23:49 | コメント (2) | トラックバック

2005年12月15日

bloglines

カテゴリー: [ソフトウェア]

最近,RSSリーダーとして,bloglinesを使っています.

一度RSSリーダーを使い始めたことがあったんですが,いくつかの理由で使わなくなってしまいました.

1.データが分散する

複数のPCで読むので,読んでいるRSSのリストだけでなく,未読,既読情報も同期してくれないと,使い物になりません.

2.ブラウザとRSSリーダーが2つで面倒

タブブラウザとしてSleipnirを使っていますが,それとは別にRSSリーダーを起動しておかないといけないので,同じWebを見るという行為なのに,2つのアプリケーションの間を行ったり来たりする作業が加わってしまいます.
また,RSSリーダーの持っているブラウザのタブの機能が,Sleipnirと全く感覚が違うので,ユーザインタフェースの違いでいらいらしました.


というわけで,Web上で管理できるbloglinesを使い始めたわけです.
スタンドアロンのものより格段にいいです.Webブラウザの中で動くので,インタフェースの違いにいらいらすることもありません.データも完全に同期されます.
Webアプリケーションですから当たり前ですが.

ただ,一部の日本語で化けるとか,未読の検出をミスして未読のものが出てこなかったり,既読のものが出てきたりするところが,ちょっと困りますが.

あと,私が本当にほしいのはRSSリーダー+ブックマークなんですよね.Wikiをブックマークの代わりにしてみたこともありますが,はっきりいって面倒.
ソーシャルブックマークがありますが,私が欲しいのは,ソーシャルブックマークじゃないんですよ.別に共有したいわけじゃないんで.

そういうのは,なさそうですよね.となれば,自分で作りますか...

投稿者 shingo : 17:46 | コメント (0) | トラックバック

2005年12月 9日

WinCVSのハングアップ

カテゴリー: [ソフトウェア]

昨日の夜,WinCVSが,起動直後にハングアップしたり,落ちたりするようになってしまっていることに気づきました.

cygwinのパッケージを更新したり,新しいものを入れたりしていたあとだったので,それが原因のはずだとは思ったんですが,いろいろいれたので直接の原因が何か分からない.
結局その日はあきらめて,次の日,Googleさまにお伺いを立てたら,あっさり原因が分かりました.

WinCVSはTclがあるとシェルが使えます.で,起動時にTclを探すわけですが,そこで,Cygwin版Tclを見つけてロードしようすると,ハングアップして固まるか,落ちてしまうそうです.
具体的にはtcl84.dll を探しますが,見つけたtcl84.dllがCygwin版だとだめです.

で,いろいろ入れた中には,Tclが確かに入ってました.私は,C:\cygwin\bin をPATHに入れてますので,Cygwin版tcl84.dllを先に見つけるようになってしまったわけです.
とりあえず,PATHを変更して,Active Tclが先に見つかるようにして対処しました.

結構よけいな時間を食ってしまいました.さっさとぐぐればよかった...
ずいぶん有名な問題だったようです.大きな落とし穴なので,はまる人は多いみたい.

投稿者 shingo : 23:41 | コメント (0) | トラックバック

2005年11月 2日

東証のシステムダウン

カテゴリー: [ソフトウェア]

昨日(11/1),東京証券取引所がシステムダウンしましたが,どうもソフトウェアの欠陥だったようで.
あちこちで,月の変わり目が原因なんじゃない?というような話が出ていましたが,どうも,その通りのようです.
月末にやる処理があるそうですが,10月の初めにシステムの入れ替えがあった後,最初の月末で初めてバグが露見したんでしょう.つまり,前の日にすでにおかしくて,次の日,月のはじめの日に起動しなかったと.

ITmediaニュース:「ソフトは二重化できない」――東証の取引停止、原因はプログラムミス

「ソフトは二重化できない」.当たり前といえば当たり前なんですが,この記事のタイトルを見て,妙に納得したのです.

ダウンすることが許されないシステムは,ハードウェアを二重化することで故障しても止まらないようにします.でも,入っているソフトウェアは同じなわけで.
最初から壊れているか,後から壊れるかの違いですかね.設計に欠陥があるから異常を起こすか,経年劣化等で異常を起こすかの違いといってもいいでしょうか.最初から壊れているものをいくつ並べても,やっぱり壊れているわけですから意味がないです.
ハードウェアは(設計に間違いが無ければ)大抵は後で壊れます.しかし,ソフトウェアは大抵は最初から壊れている(間違っている)んです.

ソフトウェアに関わる者としては,人ごとじゃないです.今後ソフトウェアの重要性があがっていき,その分,問題になることも増えていくでしょう.

投稿者 shingo : 17:21 | コメント (1) | トラックバック

2005年4月25日

ウィルスバスターの障害の原因

カテゴリー: [ソフトウェア]

ウィルスバスバーの障害について続報がでてきていますが,結局原因は検索エンジンの不具合と,テストの人為的ミスということのようです.

メディア・JRなどLAN障害、ウイルス対策で不具合 (セキュリティホール memo)

原因は二重のミスで,

1.WindowsXP SP2 でのテストが行われなかったこと.
2.テスト時の検索エンジン本体のバージョンの問題で,古いバージョンを使ったテストをしてしまったこと.そのため,新機能である Ultra Protect の圧縮・解凍に関する部分のテストが行われなかった.

ということだそうです.

ちょっと,あり得ない,というかあってはいけない状況です.

技術的な原因は,UltraProtect で圧縮されているか判定する部分で,ある条件がそろったファイルを判定しようとすると無限ループになる,ということだそうです.

【会見速報】「トレンドのリソースを100%使い対処」,ネギCFOが大規模障害を陳謝 : IT Pro ニュース

なぜパターンファイルだけで無限ループに陥るのか謎だったのですが,どうやら,まずUltra Protect に対応させるための検索エンジンの更新が 1月24日にあり,その後,4月23日にその機能を使ったパターンファイル 2.594.00 を公開したとき,問題が表面化したということです.つまり,パターンファイルが引き金になって,検索エンジンに眠っていたバグが表にでてきたということでしょう.
古い検索エンジンでテストしていたから,新機能は使われず,問題が表面化しないという事態になったというわけです.

Windows XP SP2 で問題が起きるわけは,Windows XP SP2 には,判定で引っかかるファイルが多いからだそうです.

ウィルスバスターは,デフォルトの設定でパターンファイルのみならず検索エンジン等のプログラム本体も自動更新されるようになっています(再起動が必要ですが).今では,いろんなアプリケーションで当たり前となった自動更新ですが,一歩間違えばどういうことになるのか,そのいい実例となるでしょうね.
今回,間違えたのは一歩どころじゃない気がしますが...

この手の障害は,ウィルス対策ソフトでなくてもあり得るわけです.自動更新と不十分なテストがくみ合わさったら,これほど強力な爆弾はないでしょうね.情報技術が社会の重要な部分を支えるようになっている現代,ソフトウェアベンダーにはもっと大きな責任が問われるようになるんでしょうね.


投稿者 shingo : 14:23 | コメント (0) | トラックバック

2005年4月23日

ウィルスバスターのパターンファイルの不具合で高負荷がかかる

カテゴリー: [ソフトウェア]

23日午前7半ごろ配信されたパターンファイルに不具合があって,パターンファイルを更新したコンピュータで,CPU使用率が100%になるという問題が起きたそうです.

ウイルスパターンファイル2.594.00(日本時間:AM7:33頃公開)へのアップデートにおける、コンピュータのCPUが100%になる現象に関して

「ウイルスバスター」のパターン・ファイルに不具合、大規模パソコン障害が発生 : IT Pro ニュース

Sankei Web 社会 トレンドマイクロ社が謝罪会見 ウイルス対策ソフト不具合(04/23 20:06)

JR東日本,新聞社などにも影響を出したようです.まあ,パターンファイルは世界中に広がったんですから,当然ですか.
原因は調査中ということですが,いったいどういう理屈でそんなことになったんでしょうね.

不具合が起きるのは,Windows XP SP2 がインストールされたPCなので,私のところでは何の問題もありませんでした.Let's note CF-Y2 だけは,Windows XP SP2 ですが,そのとき電源が入ってなかったので.

私は,ウィルスバスター98のころから,ずっとウィルスバスターを使っています.
98の頃は,まだユーザインタフェースのあたりの作りがだめでした.
例えば,メッセージループと通信が同じスレッドで,なおかつソケットがブロッキングモードになっているようで,パターンファイルの更新の途中で通信エラーが起きると,ウィルスバスターのウィンドウが丸ごと固まって強制終了しかなくなるという,どうしようもない作りでした.

一時は乗り換えようかと思っていたのですが,2000からかなり改良され,今まで使い続けています.機能が揃っていて,比較的動作が軽いですからね.
今使っている2005は,パーソナルファイアウォールが改良されていて,私の満足行くものになっています.

ただ,最近,誤検出するときがあるんですよね.2件ほどありました.

今回の不具合はとんでもないですが,でも,大学で使っているノートンのClient Firewallも,たまにCPU使用率が,100%になって応答しなくなるんですよね^^;
P4 で HyperThreading のPCだと,もう1つのスレッドが生き残るので,なんだか重くて変だなあ,と思うだけのことが多いのですが,そうじゃないPCだと,文字通り利用率100%になって,ほとんど応答しなくなります.
Client Firewall をいったん無効にしてやると直るのですが,使用率100%だとそれも難しい.

そういえば,学部の指定ノートPCに標準で入っているウイルス対策ソフトは,パターンファイルの不具合かなにかで,Windowsのシステムファイルを削除して,「Windowsを駆除」してしまうって不具合を出したことがありましたねえ.

この手のソフトウェアは,どうしても必要なものですから,致命的な不具合はあってほしくないものです.
そう思う一方で,かなりシステムよりの事をやっているので,トラブルを全く起こさないのは難しいのかな,とも思います.
最近は,ウィルス以外にも,悪意のあるプログラムの種類が増えてきて,対処も大変でしょうね.誤検出が増えるのは,検出対象のバリエーションの増加と無関係ではないでしょう.

投稿者 shingo : 23:47 | コメント (0) | トラックバック

2005年3月 3日

ck(cygwin用ターミナルエミュレータ)

カテゴリー: [ソフトウェア]

よさげな,cygwin用の端末エミュレータを見つけました.

ck - terminal emulator

私は仕事上,コマンドラインインタフェース(CLI)を使うことがおおいわけですが,Windows上でも cygwin をよく使います.

cygwin は,Windows のコマンドプロンプトから使うわけですが,この Windows 標準のコマンドプロンプトという奴は,お世辞にも使いやすいとはいえません.
たとえば,ウィンドウの大きさが自由にならない.縦にはのびますが,横にはのびません.また,ウィンドウとしても特別扱いされている物らしく,メッセージフックがかからないようで,仮想デスクトップツールや,キーマップ変更ツールなども,コマンドプロンプトのウィンドウには,効果が及ばないことがあります.

そこで,cygwinに入っている rxvt などの他の端末エミュレータを試したりしていたのですが,いまいちしっくりこなかったんです.

今回見つけた ck というのは,その点十分に満足がいく物でした.ついに見つけたっていう感じですかね.作った人に感謝です.
ちなみに,これは半透明のウィンドウが使えます.これもなかなかいいです.

投稿者 shingo : 13:42 | コメント (0) | トラックバック