2009/02/26

Gmail Tasks

PC用
https://mail.google.com/tasks/ig
モバイル用
https://mail.google.com/tasks
PCでモバイル用
https://mail.google.com/tasks/m

Firefoxだとブックマークして「サイドバーに読み込む」でサイドバーガジェットに。ただfaviconが、Chromeだと透過されるのに、Firefox3.*だと透過されませんでした。

これとカレンダーのオフライン化が無料版で出来ればChromeがオフラインOfficeスイートに。

2009/02/25

FirefoxのProfileを縮小

ついでにプロファイルを作り直してみた。 どれだけゴミが溜まっていたのか、プロファイルのサイズが76MB→38MBまで小さくなった。

これを見て、思い出しました。FirefoxのProfile配下にはsqliteのDBファイルが幾つかあります。sqliteは一度拡張すると、データを消しても小さくならないようです(デフォルトでは)。

そこで、sqliteにはvacuumという余分な空白を圧縮してファイルを縮小する機能があるそうです。他のDB(PostgreSQL等)にもあるみたいですが。

どのファイルがどういう役目なのかはググればいいとして、圧縮にはコマンドラインのsqlite以外にFirefoxのアドオンsqlite-manager - Google Codeも使えるそうです。

  1. SQLite Managerをインストール
  2. profile下の適当に大きい*.sqliteファイルを探す
  3. SQLite Managerを開く
  4. [Database] > [Connect Database]で当該ファイルを開く
  5. [Database] > [Compact Database]で圧縮

なぜか"vacuum"ではなく"Compact Database"です。その方が直感的ですが、関連付けがあれば尚解りやすい。"Compact Database(vacuum)"など。

SQLite Managerでは他にも、profileディレクトリにあるsqliiteファイルを一覧してくれるプルダウンもありますが、なぜか私の環境ではこのプルダウンをでファイルを選択->Compact Databaseではうまく機能せず、ファイルが圧縮されませんでした。

ちなみに、ファイルサイズですが

urlclassifier3.sqlite
50数MB->15MB強
urlclassifier2.sqlite
15MB前後->6MB強

程度の圧縮率だった気がします(記録忘れ)。これらのファイルは危険なサイトのブラックリストらしいので、警告機能をONにしている限り肥大化していきます。profileごと作り直すと当然小さくなります。

警告をOFFにすることでディスクアクセスも減らせるようですが、その辺は危険度と速度のトレードオフになるようです。

ほかにplaces.sqliteなども履歴ファイルなので肥大化するようです。私はUSBで持ち運ぶ前提でキャッシュのサイズや履歴の日数を少なくしていたので、それほど大きくなっていませんでした。

2009/02/24

Google Chromeのポータブル化

Google配布のGoogle ChromeとPortable Google Chrome 2.0.164.0 - Caschys Blog配布のPortable Google Chrome(以下Portable Chrome)の違いをテスト。手動ポータブル化時に勝手に生成されるようなレジストリキーがProtable Chromeでは作成されないのかを確認。

結論から言うと、作成されます。

起動後に以下のレジストリキーが追加された。

[HKEY_CURRENT_USER\Software\Google\Update\ClientState\{8A69D345-D564-463c-AFF1-A69D9E530F96}] "dr"="(値省略)"

タブを開いたり、閉じたりすこし作業した後にChromeを終了。終了後に以下のレジストリキーが追加された。

[HKEY_CURRENT_USER\Software\Google\Common\Rlz\Events\C] "C1I"=dword:(値省略) "C2I"=dword:(値省略) "C1S"=dword:(値省略) [HKEY_CURRENT_USER\Software\Google\Common\Rlz\PTimes] "C"=hex(b):(値省略)

ほぼ、同じです。Portable ChromeとGoogle Chromeの違いというより、その時の操作に依存しそうです。

API Hookなどでレジストリの書き込みを抑制している(そういう事が出来るというのを今回知りました)のかと思ったのですが、そういうわけでも無いようです。Portable Chromeでも「レジストリ汚染されない為に」という目的は達成されません。

Portable Chromeでは、手動ポータブル化の際に事前に追加したキーは、無くても起動できました。ただし、

  1. 一回目:当該キーが自動生成
  2. (終了後、当該キーを手動で削除)
  3. 二回目:当該キーが無いまま起動

と、当該キーの必要性がいまいちわかりません。(1回目の自動生成が見間違いの可能性もあり)

Portable Chromeでは以後、当該キーが無いまま起動・終了できますが、手動でポータブル化したGoogle Chromeでは当該キーが無いと絶対に起動できませんでした。

2009/02/23

Google Chromeのポータブル化

Google配布のChromeインストーラを一度も実行していないオフライン端末(XP SP2)にファイルコピーだけで動くかのテスト。

インストール済み端末のデフォルトのインストールフォルダから、必要ファイルを以下にコピー

D:\home\hoge\.google\Chrome\User Data
D:\usr\local\opt\Google\Chrome\Application

下記ショートカットで起動

D:\usr\local\opt\Google\Chrome\Application\chrome.exe --user-data-dir "D:\home\hoge\.google\Chrome\User Data"

うんともすんとも言わない
起動時に必要なレジストリキーがあるらしい。ぽっとの陽だまり研究室 : Google Chrome をUSBメモリで起動する試み

Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Software\Google] [HKEY_CURRENT_USER\Software\Google\Update] [HKEY_CURRENT_USER\Software\Google\Update\Clients] [HKEY_CURRENT_USER\Software\Google\Update\Clients\{8A69D345-D564-463c-AFF1-A69D9E530F96}] "name"="Chrome" "pv"="1.0.154.48"

前述のショートカットで起動->成功

--user-data-dirで指定したフォルダの下に"Default"フォルダを(無ければ)自動作成する。Defaultまで指定してしまうと、D:\home\hoge\.google\Chrome\User Data\Default\Default\というフォルダが作成されてしまう。

起動後に以下のレジストリキーが追加された。

[HKEY_CURRENT_USER\Software\Google\Update\ClientState\{00058422-BABE-4310-9B8B-B8DEB5D0B68A}] "dr"="(値省略)" [HKEY_CURRENT_USER\Software\Google\Update\ClientState\{8A69D345-D564-463c-AFF1-A69D9E530F96}] "dr"="(値省略)"

タブを開いたり、閉じたりすこし作業した後にChromeを終了。終了後に以下のレジストリキーが追加された。

[HKEY_CURRENT_USER\Software\Google\Common\Rlz\Events\C] "C1F"=dword:(値省略) "C1I"=dword:(値省略) "C2I"=dword:(値省略) "C1S"=dword:(値省略) [HKEY_CURRENT_USER\Software\Google\Common\Rlz\PTimes] "C"=hex(b):(値省略)

これらの、レジストリキーを生成・削除する起動スクリプトを作らないと、完全ポータブル化とは行かないようです。 ただ、作ったり、作られなかったり、キーによってまちまちなので、網羅するのは面倒そうです。

2009/02/22

".NET Framework Assistant 1.0"の削除の仕方。

2009-07-15 追記

現在、より簡単に削除する方法が提供されているそうです。

Mozilla Re-Mix: Firefoxから[Microsoft .NET Framework Assistant]を簡単に削除する方法。

マイクロソフトのテロ行為に対する対処法。背景は後述。

レジストリキーの削除
HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\Firefox\extensions\{20a82645-c095-46ed-80e3-08825760534b}
未確認:レジストリを削除しただけだと、実体ファイルは残る?ディスクスペースの無駄にならないか。
実体ファイルの削除
C:\WINDOWS\Microsoft.NET\Framework\v3.5\Windows Presentation Foundation\DotNetAssistantExtension
未確認:実体ファイルを削除しただけだと、毎回起動時にレジストリキーを参照する?起動時間が遅延しないか。
prefsの修正
general.useragent.extra.microsoftdotnet
インストールされた状態で、一度でも起動したprofileはprefs.jsかabout:configでキーを削除。about:configの場合、キーの設定値をリセットして再起動すると消える。

以下、背景。

Microsfot Updateを行うと、.NET Framework 3.5 SP1がインストールされる。

.NET Framework 3.5 SP1がインストールされると、FirefoxにMicrosoft .NET Framework Assistant 1.0というアドオンがインストールされる。

このアドオンが最悪な点は、以下の4つ。

  • インストールに関して、事前の説明がない。
  • インストールに関して、ユーザの同意を得ない。
  • デフォルトの削除手段が提供されていない。
  • ユーザエージェントが改竄される。

ユーザエージェントの後ろに"(.NET CLR 3.5.30729)"なんて文字列が追加されるのは、まるで「馬鹿」と書かれた紙を背中に張られる類の胸糞の悪い悪戯だ。正直吐き気がする。

なぜ、このアドオンが「悪意あるソフトウェアの削除ツール」で削除されないのか不思議でならない。

マルウェアの定義 : FAQ - Microsoft Technet
http://technet.microsoft.com/ja-jp/library/dd362857.aspx

Q. マルウェアの問題を防ぐ方法の要約はありますか?

はい、以下をご覧ください。

現在、コンピュータユーザーにとっての最大の問題は、ウイルスおよびスパイウェアの 2 つです。これらはいずれも問題ですが、以下のような対策を計画的に行うことにより、容易にコンピュータを保護することができます。

* コンピュータのソフトウェアに常に修正プログラムを適応し、最新の状態にしておきます。オペレーティングシステムおよびウイルス対策ソフトウェアを定期的に更新する必要があります。

* 信頼できるソースからの修正プログラムのみをダウンロードします。Windows オペレーティングシステム向けには、常に Windows Update を訪問し、そのほかのソフトウェアは常に、製造元の会社または人物の正規の Web サイトを使用してください。

* 何かをインストールする前には常に考え、リスクと利益を秤にかけてください。長期使用許諾契約は読むのが嫌になりますが、その中にスパイウェアがインストールされる警告が隠されていませんか?

2009/02/08

Google Chrome ポータブル化

コンマンドラインオプションに以下を指定するだけでいいらしい。

--user-data-dir

本体(chrome.exe)のインストール先がProgram Filesではなくprofileフォルダなのは、移行の容易さを考慮してなのか、ベータだからなのか知りませんが、便利なことは確かです。profileフォルダを移動していなければ、chrome.exeからの相対パスで指定するのが楽です。

Gmailがオフライン対応したことで、Gmail、Reader、Docsのオフライン用ブラウザとして持ち歩く選択肢が出来ました。実際、持ち歩くと仕事サボりまくりでしょうが。

起動オプション - Google Chrome まとめWiki http://chrome.half-moon.org/43.html#p2661204 “遊び用ちょろめ”と“仕事用Chrome”を使い分ける http://www.itmedia.co.jp/bizid/articles/0809/10/news109.html

ただ、ブログ投稿用としては、Snap linksやCopy URL+が使えないと不便です。