firefox 4.0β1
さっそく firefox 4.0 β版を試してみたのだが、 wibkit transition などは未対応。 ショック。
とりあえず 3.6.6 に戻す。 プラグイン未対応過ぎ。
さっそく firefox 4.0 β版を試してみたのだが、 wibkit transition などは未対応。 ショック。
とりあえず 3.6.6 に戻す。 プラグイン未対応過ぎ。
firefox 3.5.4 ubuntu 9.10 だが、やはり google reader のぬるぬるが治らないので、 速くなったと評判の firefox 3.6b2 を試してみる。 なかなかよろしい。 一部アドオンが使えないのはちと困るが、 google chrome unstable よりはずっとましだということはわかった。
firefoxが3.5.1になり、firefox portableも3.5.1が出たので、 以前不調だった sqlite managerを試してみるが、特に問題ないようだ。 これはなかなか良い感じ。
firefox portableって2000/xp/vista/7限定なんだな。 ふーん。 そういうこともあるかもしれんね。
それはそうと、dellのノートPCをテレビにHDMI接続しただけでは、 映像は自動的に認識されるようだが、 音声は出力されない。 ネットを検索した感じだと、音声出力もできるようなのだが、 サウンドの出力先を設定する必要があるのだろうか。
xulでurlとサイト名を入力してsqliteにデータを格納するところまでは、 まあまあ簡単だった。 一応今回の目標はデータをローカルのHDDに保存することなので、 目的は達したのだが時間的余裕もあったので欲が出た。
リンク集みたいなリストを作ろうと思ったのだが、 HTMLをXULでじか書きしてもダメなのだった(爆)。 アンカータグはdocument.createElement(‘a’)とか、 箇条書きは var ul = document.createElement(‘ul’); とか var li = document.createElement(‘li’); とかやって、 ul.appendChild(li); とかやらんといかんのでした。 ええっと、これはDOMとかDHTMLとかいうやつですか。 全然知らんかった。 でもはるか昔にXlibのウィンドウとかウィジェットとかプログラムしてたときと同じな感覚だった。 Java3Dなんかのscenegraphにも通じるもんがあるような。
でも結局ulとかliとかaとかのタグをXULの中で作ろうとしても全然うまくいかん。 普通のJavaScriptで書けばすかっとうまく行くので必死でネット検索したら、 ちょっとした注意点集 のようなものをみつけまして。
ははあ、XULとHTMLは必ずしも同じではないんで、 document.createElement()ではなく、 HTMLの名前空間指定して document.createElementNS() で要素を作りなさいっつーことですか。 そんなの気づかないですよ普通。 ていうかそのくらい統合して当然じゃねえのかと。 不便だろ。 なんか間違ってますか。
で、なんとかできた。 画像だけ貼ってる書きかけのページ もあります。
DOM InspectorっていうアドオンでXULの階層構造調べたもの見ると、 windowとaでnamespaceが違っているのがわかりますよね。
SQLite Managerっていうアドオンでみると、たしかにsqltestというデータベースの中に siteというテーブルができていて、 idとnameとurlというカラムがあって、 いくつか行が登録されていることがわかりますね。
ソースコードは こちら にあります。sqltest.media.t-kougei.ac.jpというフォルダの名前を sqltest$media.t-kougei.ac.jpという名前に変えて($はほんとは@)、 profileのextensionsのところに入れると動くと思いますがfirefoxのバージョンは3.0.xxのみ (install.rdfを書き換えれば3.5でもたぶん動くけどね)、 動作保証は一切しません(以下略)。
問題は、こんなことうだうだプログラミングして面白がる学生が芸術学部にどのくらいいるかってことなんだが。 いや、別に芸術学部には限らんがナ。 ネットを検索してみた限りではまだあまりはやってはいないネタのようだが。
firefox + sqliteでネット検索してもなかなかうまい文献に当たらないので、問題を整理してみる。 今問題になっていることは、つまり、たとえばフィードリーダーを作るとして、 フィードのURLを入力したとして、そのURLやらタイトルやらをローカルのHDDに保存しておきたいということだ。 ただ単にファイルの入出力をやるんでなく、データベースsqliteでやりたい。 それをjavascriptから簡単にアクセスする「標準的な方法」がすでにあるに違いない。
なるほど。 Storage: Mozilla Developer Center 辺りを読みながらこつこつやれば良いのか。 sqlite自体はfirefox2からあったようだ。 んと、日本語訳がfirefox2に基づいていて少し古いということか。 英語版 を直接読んだほうがよさそうだ。
これができるようになると、firefoxだけで、 SQLとユーザインタフェイス制作の演習ができてしまう。 すごくないか。 SVGや3D APIと組み合わせるともっとすごいことができてしまう予感。 なんかわくわくしてきたな。
firefoxをごちゃごちゃいじってたらmixiに入れなくなってしまった。 firefoxを3.5にしたせいかと思ったのだが、 他のPCでは普通に3.5でもログインできる。
で、ネットで検索してみると、こういう問題は昔からあったらしく、 Firefoxでmixiにログオンできない入れない問題の解決策とは? に書いてあるとおりにやって解決した。
七月に入りさすがに授業準備などの仕込みの負荷が軽くなってきたので、 適当に休息もしつつ、新しいことを試してみたりする。 うだうだ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のワークステーション(あるいはそれ相応のマシン) を持っていないと情報系の研究などできなかった。 インターネットも大学くらいにしかなかった。 だから大学院や大企業の研究所に在籍しているものだけが研究手段を独占していたわけで、 大学院生であればオリジナリティのある研究をやるのは割合たやすかったと思う。 今や、開発環境の価格はほとんどタダ同然になってしまったから、 研究分野への参入障壁などというものはまったく無いに等しい。 研究などというものは世界のどこかで誰か一人でも先にやってしまえば負けであるから、ほんの十年前と比べて競争率が何万倍になったかしれない。 大学で偉そうなことを言っていてもインドか東欧だかの小学生に負けるかもしれない。 ていうかそうなる確率が極めて高い。 しかし、同時に研究ネタが何百万倍に増えているかもしれず、 そのことによってのみ競争率は幾分緩和されるわけだな。
ふと、firefoxのXULに相当するようなものがgoogle chromeにもあるのかな、と思ったのだが、 そういうものはない、というのが結論のようだ。 google chromeは、linux版やmacosx版などが開発中ではあるが、 基本的にはwindowsでjavascriptを高速に動かすために作られたものだから、 xulのように、xmlに基づいたクロスプラットフォームのインターフェイス記述言語という、 明らかに処理が重くなりそうな要素は最初から無いのだろうと思う。 ていうかそこまでgoogleに余裕はないだろうと思う。
かなり遠い将来はともかく、google chromeがインターフェイス記述言語を実装することはなさそうだ。
特に内容無くメモ程度。 うちのゼミはCGやりつつWebもやるという、 興味の赴くまま、ある意味節操なく手を広げていくとこなわけだが、 実際、CGをやり、Webもやるというのでは拡散してしまい手間もかかる。 体力も消耗する。 本来CGをやりながらWebもできるというのがうちの強みのはずで、 そういう意味ではO3DとかCanvas 3Dとかやっていくのが正解なのではないか。 少なくともサーベイはしておかなくては。
Panorama Theme by Themocracy