ステップ数

なんとなく現在のsov退避および@検索のソースコード(ライブラリ部分)のステップ数を計算してみた。(両者は同じライブラリ上で実装している)

ファイル名 ファイルサイズ 合計ステップ数 有効ステップ数 コメント 内容
SOV.pm 155049 5174 4317 286 実行クラス
SOV/App.pm 2958 130 89 16 Webアプリケーションの抽象クラス
SOV/Config.pm 26343 850 717 54 設定
SOV/DB.pm 22307 809 592 114 MySQL操作関連
SOV/Exception.pm 3059 126 92 4 エラー処理
SOV/Graph.pm 27897 1156 918 76 キーワード関連マップ用
SOV/Logdata.pm 101671 3717 2722 517 日次の過去ログデータ処理
SOV/Output.pm 1669 75 57 8 出力関連(HTMLテンプレート等)
SOV/Search.pm 1108 61 36 6 全文検索用(未使用)
SOV/URL.pm 71715 2432 2202 189 メモちょう互換URL情報取得処理
SOV/Utility.pm 27481 1158 892 90 汎用関数
SOV/App/Getlog.pm 73515 2533 1915 296 @検索のアプリケーション
合計 514772 18221 14549 1656  

有効ステップ数が14549行というのはなかなかの量であると思われる。
この他にHTML::Template用の*.tmplファイル(約50種類)や、実行用コマンド、PHPのグラフ生成アプリケーション等が入る。
ステップ数の計算にはARCountを使用した。

Google Desktopはファイルの先頭25KBしか検索しない?

Google DesktopのFAQを何気なく眺めていたら、
http://desktop.google.com/support/bin/answer.py?answer=13754&topic=209

E. 含まれる文字数が非常に多いファイルの最後のほうにある文字を検索している。
ファイル自体のインデックスが作成されていれば、ファイル名による検索は実行できます。 ただし、ファイル内の文字を検索する場合、最初の約 5000 語までしか検索できません。 検索インデックスとハード ドライブの容量を節約するため、これより多少減る場合もあります。

ぎゃー。

先頭5000語だとすると、たとえばsov退避で集計しているキーワードの現在の平均バイト数は約5バイトなので、5×5000=先頭25キロバイトしか見ないということになる。

この仕様は用途によっては相当使えないものになってしまいそうですね。
これはもうファイルを分解するしかないかも…。

複数サイト横断検索

実装しました。
http://strangedb.ath.cx/getlog/getlog.cgi

Firefoxの検索窓などから複雑な検索ができるように、検索式の上でさまざまなオプション指定が可能です。

  • 「site:〜」指定:検索式の中に「site:zanzan」などといれることで、サイトを指定して検索することができます。
    • これは「site:zanzan site:qwerty」のように複数指定可能です。
    • 「site=zanzan」「s:zanzan」「s=zanzan」でも可
    • 省略するとすべてのサイトを検索します。
  • 「date:〜」指定:検索式の中に「date:2」と入れると最近二日分を検索、「date:20050807」などと入れるとその日付を検索、「date:20050801-20050807」などと入れるとその期間を検索します。
    • 「date=〜」「d:〜」「d=〜」でも可
    • 省略すると一番新しいログのみを検索します。
  • 検索式の中に「/or」を入れると、複数キーワードをor検索します。
  • テストが不十分なのでバグがあるかもしれません。

たとえば、

郵政 民営化 /or site:honten site:qwerty site:zanzan date:2
(別記法:郵政 民営化 /o s=honten s=qwerty s=zanzan d=2)

という検索式で検索すると、

「郵政または民営化を含む投稿を、本店、qwerty、暫定退避の最近2日分(今日を含む、つまり今日と昨日)のログから検索する」

という式になります。

Sleipnirプラグイン

Sleipnirの検索ボックスに追加する場合は、
以下のように先頭URLに「http://strangedb.ath.cx/getlog/getlog.cgi?q=」を設定し、
エンコードは「URLエンコード」を設定すればOKです。
http://strangedb.ath.cx/www-db/WS000013.JPG

Firefoxプラグイン

Firefoxの場合は、以下のファイルを拡張子.srcで、プラグインディレクトリ「C:\Program Files\Mozilla Firefox\searchplugins」に入れてください。
http://strangedb.ath.cx/www-db/firefox_strange_plugin.src.txt

こくばん

Ajax+PHPだけでできている、お絵かきチャットツール。
http://blackboard.sourceforge.jp/


自サーバーにテスト設置中。

http://strangedb.ath.cx/test/blackboard/blackboard.php
http://strangedb.ath.cx/test/blackboard2/blackboard.php
http://strangedb.ath.cx/test/blackboard3/blackboard.php

スクリプトをいろいろといじって、黒板消し(全消し)に時間制限をつけたりしています。
あと、黒板消しと同時に自動的に画像を保存する(ノートに記帳する)ようにしています。

ちなみに公式サンプルはこちら
http://blackboard.sourceforge.jp/sample/blackboard.php