portable firefox + sqlite manager

七月に入りさすがに授業準備などの仕込みの負荷が軽くなってきたので、 適当に休息もしつつ、新しいことを試してみたりする。 うだうだXUL周りを調べていたら、 firefoxはページの履歴をplaces.sqliteという SQLiteのデータベースに格納するらしいことがわかる。 このsqliteのデータベースを編集できるadd-onとして、 sqlite managerというものがあり、 これでplaces.sqliteを再構築すると起動が速くなるとかなんとか、 そんなページがわんさと検索すると出てくるのだが、 そんなことはどうでも良い。 うちのゼミの学生がちょうどfirefoxの履歴を使って人工無能がやりたいと言っていたのだが、キャッシュとかごちゃごちゃ漁らなくても、まさにこのplaces.sqliteを使えば良いわけだ。ただしブラウザの履歴の人工無能というのはすでにやっている人がいるらしく(笑)、まあ卒制中間発表会では今のままの方針でいけるかどうかわからんのだけどね。 しかし履歴の可視化はやってみたいよね。 ただ単にリストにしただけじゃ標準機能と同じだからなんか工夫がいるがね。

それでfirefox add-on開発にはportable firefoxというのが便利だとこれもゼミ生に教えてもらい、使ってみる。 大学のネットワークは認証の設定が特殊なので、それ専用に一個portable firefoxを割り当てるという使い方も便利ではある。 ところが、firefox3.5とsqlite manager0.48の組み合わせがなんかうまく動かない。いろんなエラーが出る。 それで、portable firefox3.0.11 + sqlite manager0.47でやってみる。こちらは特に問題ないようだ。

places.sqliteの中にはmoz_historyvisitsと、moz_placesというテーブルがあり、 moz_historyvisitsはいわゆる履歴、 moz_placesは閲覧したページの一覧になっている。 moz_placesの要素にはid、url、title、rev_host、visit_countなどがある。

あるゼミ生にはfirefoxのadd-onとしてフィードリーダーを作ってもらっているが、ローカルなファイルに結果を保存できないといって困っている。しかし、sqliteのデータベースをfirefoxがデフォルトでサポートしているのならそれを使うのが好都合と思われる。というわけでもうすこし調べてみることにする。

ま、しかし、ゼミ生とも話をしたのだが、1995年くらいまでは、 数百万円のSunのワークステーション(あるいはそれ相応のマシン) を持っていないと情報系の研究などできなかった。 インターネットも大学くらいにしかなかった。 だから大学院や大企業の研究所に在籍しているものだけが研究手段を独占していたわけで、 大学院生であればオリジナリティのある研究をやるのは割合たやすかったと思う。 今や、開発環境の価格はほとんどタダ同然になってしまったから、 研究分野への参入障壁などというものはまったく無いに等しい。 研究などというものは世界のどこかで誰か一人でも先にやってしまえば負けであるから、ほんの十年前と比べて競争率が何万倍になったかしれない。 大学で偉そうなことを言っていてもインドか東欧だかの小学生に負けるかもしれない。 ていうかそうなる確率が極めて高い。 しかし、同時に研究ネタが何百万倍に増えているかもしれず、 そのことによってのみ競争率は幾分緩和されるわけだな。