Google サービスのヘルプページを一括ダウンロードするには

Gmail や Google ドキュメント, Google デスクトップのヘルプをオフラインで読みたい、そう思った方は必見です。
 
Google のヘルプセンターのあるサービスではどれも &fulldump=1 をつけると保存しやすいように1ページにまとまった形でヘルプを表示できます。
 
Gmail ヘルプ – http://mail.google.com/support/?hl=ja&fulldump=1
Google カレンダーヘルプ – http://www.google.com/support/calendar/?hl=ja&fulldump=1
Google ドキュメントヘルプ(翻訳中のようで2008年11月現在は英語が混ざっています)
  文書 – http://docs.google.com/support/?hl=ja&fulldump=1
  スプレッドシート – http://docs.google.com/support/spreadsheets/?hl=ja&fulldump=1
  プレゼンテーション – http://docs.google.com/support/presentations/?hl=ja&fulldump=1
Google リーダーヘルプ – http://www.google.com/support/reader/?hl=ja&fulldump=1
Google AdSense ヘルプ – https://www.google.com/adsense/support/?hl=ja&fulldump=1
Google Analytics ヘルプ – http://www.google.com/support/googleanalytics?hl=ja&fulldump=1
Google デスクトップヘルプ – http://desktop.google.com/support/?hl=ja&fulldump=1
Google Picasa ヘルプ(2008年11月現在,一部英語) – http://picasa.google.com/support/?hl=ja&fulldump=1
Google ツールバーヘルプ
  IE – http://www.google.com/support/toolbar/?hl=ja&fulldump=1
  firefox – http://www.google.com/support/firefox/?hl=ja&fulldump=1

Sandboxie – Windows 用サンドボックス実行環境

Sandboxie – http://www.sandboxie.com/
 
プログラムのハードディスクへの書き込みを仮想化してくれる簡易サンドボックス。
Windows XP/2003/Vista 対応。
 
使い方は公式サイトや参考サイトを参照してください。
 
Sandoboxie を使ってサンドボックス化して実行したプログラムはファイル/レジストリの読み込みは仮想領域内参照+なければ実際の情報参照で行い、書き込みは仮想領域内にしかできなくなります。追加書き込みにしても実環境からコピー後に仮想環境に追加になるのでファイルの改ざん対策として抜群の効果があります。また、実行したプログラムがどのファイルを作成/変更するかを調べるのにも便利です。
 
ちなみに仮想領域は c:\Sandbox\(Windowsユーザアカウント名)\(DefaultBoxなどサンドボックス名\ 内に作られます。drive が C: ドライブ、 D: ドライブなどハードディスク構成を仮想化した領域で、user が Application Data や Local Settings, デスクトップなどユーザーのホームディレクトリ内の情報として利用されます。
 
なお、 Sandboxie ではネットワーク通信はそのまま流れるため情報流出は防げませんので、サンドボックスだからといって Winny など P2P を実行しても大丈夫なんだ、とは決して思わないように。
サンドボックスフォルダを削除するだけで確実に駆除できるため、事後対応は楽ですが…。
 
参考:
ヤバげなファイルは「Sandboxie」の仮想領域で実行せよ(教えて君.net)

MJL – Web 制作会社が汎用 JavaScript ライブラリを公開

MJL
 
JavaScript の知識なしで使える汎用JavaScriptライブラリ。

    * 画像のロールオーバー
    * Adobe Flashオブジェクト埋め込みの機能拡張
    * 新規ウインドウの作成
    * スタイルスイッチャの実装
    * タブインターフェイスの実装
    * 要素の高さ揃え

のような機能があります。
JavaScript ライブラリといっても利用にあたって JavaScript を触る必要が一切ありません。

<script src=”mjl.js”>
<script src=”run.js”>

の二つを参照するだけで, あとは既存の HTML タグに class=”〜” を追加指定すれば、クラス名に応じて上記のようなさまざまな動作をしてくれるようになります。
 
ライセンスは GPL3 なので商用利用も可能です。
jQuery や Prototype.js などの既存のライブラリと衝突しないように作られているため、既存の環境への組み込みがしやすいのもいいですね。
 
参考:
Web制作会社が作った!超使えるJavaScriptライブラリ(ASCII.jp)

ダウンロードしたファイルのチェックサムを確認できるエクスプローラ拡張 HashTab

hashtab SS
開発者ならおなじみのファイルチェックサム。Apache や Linux 関係などで本体ダウンロードと一緒に時々ちょこんと併記されている CRC32 や MD5、SHA1などハッシュ値のことで、ダウンロードしたファイルが壊れていないか検証するためのものです。
 
Windows でチェックサムを計算するには、以下のようなエクスプローラ拡張を入れるのが便利です。
 
HashTab(窓の杜)
 
インストールするとファイルのプロパティに「ハッシュ値」タブが追加されます(冒頭の画像参照)。海外のフリーソフトですが、日本語表示にも対応しています。
 
参考:
開発元サイト

tput – 端末入力で遊ぶ

wget のプログレスバーや, lynx, w3m などの CUI ブラウザ、NetHack などの CUI ゲームなどのように、CUI 画面内の一部だけを動的に書き換える、という処理を実装する方法をメモしておきます。
 
基本として、CUI の描画方法を制御するには特定のキーコードに割り当てられている画面描画の処理命令を利用します。
標準出力に出力された時点で命令が実行されるので、制御コードを知ってさえいれば echo だけで画面描画が実現できてしまいます。次のように入力すると画面をクリアします。

$ echo \

capname については man terminfo の Cap-Name を参照。
例:

% zmodload zsh/terminfo
% echoti setaf 2
% echo Hello,world
Hello,world

参考: http://d.hatena.ne.jp/lurker/20061121
 
・tput
zsh 以外のシェルからでも使える汎用プログラム。Curses や NCurses に含まれています。なお、FreeBSD に最初から含まれている /usr/bin/tput は Curses 版です。
Curses 版の書式 (FreeBSDなど):

$ tput <TCapCode> [ 引数… ]

TCapCode については man termcap の TCapCode を参照。
 
NCurses 版の書式 (FreeBSD ports や Linux など):

$ tput <CapName>

CapName については man terminfo の Cap-Name を参照。
curses よりこちらのほうが一般的です。

curses tput の例:
15 行 20 文字目に文字列 OK を書き込む。

$ tput sc; tput cm 20 15; tput al;echo OK; tput rc

文字に下線を入れる

$ tput us ; echo hello; tput ue

Ncurses tput の例:
文字の色を赤に。

$ tput setaf 1

白に戻す。

$ tput setaf 9

参考: http://www.ibm.com/developerworks/jp/linux/aix/library/au-learningtput/index.html

pkgdb – Segmentation fault

portupgrade をやろうとしたら

# portversion -vl”<"
—> Checking the package registry database
[Updating the pkgdb <format:dbm_hash> in /var/db/pkg … ** Database file locked. Waiting.
** Stale lock file was found. Removed.
– 635 packages found (-2 +1) (…)/usr/local/lib/ruby/site_ruby/1.8/pkgdb.rb:431: [BUG] Segmentation fault
ruby 1.8.6 (2008-08-11) [i386-freebsd7]

といわれてしまったので

# mv /var/db/pkg/pkgdb.db /tmp/pkgdb.db.bak
# pkgdb -F

で pkgdb.db を再構築して対応した。

Ubiquity – 任意のテキストの QR コードを表示する

Firefox アドオンの Ubiquity が便利!ということで、Ubiquity で使える QR コード表示コマンドを作ってみました(Ubiquity 0.1.1 で動作確認)。

// text to QR code
const QRCODE_WIDTH = 150;
const QRCODE_HEIGHT = 150;
const QRCODE_URI = ‘http://chart.apis.google.com/chart?chs=’+QRCODE_WIDTH+’x’+QRCODE_HEIGHT+’&cht=qr&choe=Shift_JIS&chl=’;
CmdUtils.CreateCommand({
name: “qrcode”,
takes: {“Any text(URL, email..)”: noun_arb_text},
preview: function(pblock, arg){
    pblock.innerHTML = ‘Inserts qrcode: <i>’+arg.text+
‘<br><img width=”‘+QRCODE_WIDTH+'” height=”‘+QRCODE_HEIGHT+'” src=”‘ + QRCODE_URI + encodeURIComponent(arg.text) + ‘”>’;
},
execute: function(arg) {
  if(arg.text != “”){
    CmdUtils.setSelection(‘<img src=”‘ + QRCODE_URI + encodeURIComponent(arg.text) + ‘”>’);
  }
}
});

導入方法:
1. Ctrl+Space キーを押して command-editor と入力して改行キーで実行。
2.上のスクリプトをテキスト領域にコピー&ペースト。
 
これで qrcode コマンドが使えるようになります。
 
利用方法:
ページ内の適当な文字列を選択したあと Ctrl+Space を押して qrcode と入力。
または、qrcode コマンドの引数として適当な文字列を入力。
 
例:

qrcode http://google.co.jp/

Ubiquity qrcode command screenshot

 
参考:
Labs/Ubiquity(mozilla.org)
 
Google Chart API(google.com)

Microsoft から Windows 版 GUI フォルダ同期ツールが出た

http://journal.mycom.co.jp/news/2008/08/19/044/index.html

SyncToyは、フォルダの内容を同期するWindows用フリーウェア。同期する1対のフォルダ (フォルダペア) を登録しておくと、サブフォルダを含めるかどうか、コピーは片方向か双方向かなど、あらかじめ設定した条件に従い同期処理が実行される。ローカル / ネットワークを問わず利用できるため、ノートPCとデスクトップPCを同期させる目的などに使用できる。

 
だそうで。
フォルダの同期は Linux 同様 rsync (Cygwin 版) を使うスクリプトを書いて自動化していましたが、SyncToy は GUI ということで手軽に利用できそうです。
 
参考:
米MS、Windows用フォルダ同期ツール「SyncToy 2.0」を無償公開
SyncToy v2.0(Microsoft)

ブラウザを HTML 開発環境にするツール

Firefox (Firefox2, Firefox3)の場合:
– Firebug
HTML/CSS/JavaScript の調査、編集を動的に行えるアドオン。
インストールすると「ツール(T) -> Firebug」メニューが追加されます。
 
– Web Developer 日本語版(本家: Web Developer)
最近は Firebug に水をあけられていますが Firefox 1 の時代からあるアドオン。
HTML/CSS の調査、CSS の編集ができます。
また、CSS, JavaScript や一部HTML要素の無効化、FORM の GET <-> POST 変換など痒いところに手が届く機能があります。一般ユーザ向けには Firebug よりこちらのほうがよさそうです。
 
– Live HTTP Headers
HTTP リクエストヘッダ、レスポンスヘッダの閲覧ができるようになるアドオン。
インストールすると「ツール(T) -> Live HTTP headers」メニューが追加されます。


Internet Explorer (IE6,IE7) の場合:
Internet Explorer Developer Toolbar(Microsoft 公式)
インストールすると「表示(V) -> エクスプローラバー(E) -> IE Developer Toolbar 」を選択することで HTML/CSS の調査ができるようになります。
編集は Attribute: の項目からの各タグの属性(name=”” や id=””, style=””, onClick=”” など)の変更のみに限られているようです。
ちなみに、IE8 では開発ツールが標準搭載されていて Shift+F12 を押すと起動できるとのことです(参考)。
 
– ieHTTPHeaders
Live HTTP headers の IE 版。HTTP リクエストヘッダ、レスポンスヘッダの閲覧ができます。
インストールすると「表示(V) -> エクスプローラバー(E) -> ieHTTPHeaders 」メニューが追加されます。


参考:
http://labs.unoh.net/2008/08/introduction-of-css-coding-tools.html

CPAN の IO/Uncompress/RawInflate.pm でエラー

CPAN を更新しようとしたら次のようなエラーが出た。

# cpan
cpan> install CPAN
..中略..
can’t call method “value” on an undefined value at /usr/local/lib/perl5/5.8.8/IO/Uncompress/RawInflate.pm line 64.

どうも展開に失敗しているようで、パッケージのインストール、更新ができなくなってしまっていた。
調べたところ, perl 用の Raw-Zlib 圧縮ライブラリに問題があるようだったので

pkg_deinstall p5-Compress-Raw-Zlib bsdpan-Compress-Raw-Zlib

で削除し、その後通常通り cpan コマンドを走らせたところ無事動作しました(*)。
Ubuntu なら libcompress-raw-zlib-perl を削除すればいいとのこと。
 


(*)実際には

# pkg_deinstall p5-Compress-Raw-Zlib

だけでは途中でエラーになったため

pkg_deinstall bsdpan-Compress-Raw-Zlib bsdpan-Compress-Zlib bsdpan-IO-Compress-Zlib bsdpan-IO-Zlib

で関係ありそうな port をいったん全て削除しました。
参考:
– yclog: Can’t call method “value” on an undefined value at /usr/share/perl5/IO/Uncompress/RawInflate.pm line 64