Friday, March 28, 2008

Picasa

NTEmacs22.2.50

この blog へスクリーンショットや写真を載せるために Picasa Web Albums を使ってみた。

しかし、どうも Picasa Web Albums は、画像のフォーマットとして JPEG しか使えないみたいだ。
写真を主なターゲットにしているからなんだろうけど、右のスクリーンショットみたいな文字とベタ塗りが主成分な画像の場合は、PNG が使えないとつらいね。PNG ならば可逆圧縮なうえに、こういう画像だと JPEG より小さくなるし。

ところが、Picasa Web Uploader APIPicasa Button API が発表されて、画像のホスト先を Picasa Web Albums にこだわらなければ、Picasa から、Picasa の扱うオリジナルのファイルをアップロードできるようになった。

シンプルな API なので、画像掲示板のような画像をホストするサーバプログラムに、Picasa からアップロードする機能を組み込むのも難しくなさそうだ。個人的には Picasa Web Albums で PNG がサポートされれば、今のところ十分だけど。

Google Code Blog: Add your own buttons to Picasa, upload photos all over the Web
http://google-code-updates.blogspot.com/2008/03/add-your-own-buttons-to-picasa-upload.html

Picasa
http://picasa.google.com/

グーグル、「Picasa」の新APIで写真共有をさらに容易に:ニュース
http://japan.cnet.com/news/media/story/0,2000056023,20370329,00.htm

アドビの無料オンライン画像編集ソフト『Photoshop Express』
http://wiredvision.jp/news/200803/2008032820.html

Thursday, March 27, 2008

Windows Live OneCare

Windows Live OneCare をべたぼめする話。

ひそかに、確実にPCを守るセキュリティ対策ソフト--マイクロソフト 「Windows Live OneCare」:レビュー - CNET Japan

4ページにわたるレビュー。
必要な機能を備えて、控え目で軽くて、安くて、安心ブランド。Microsoft の Live なんとかの中で唯一、ぼくが積極的にお薦めできるプロダクト。

ぼくはこの Windows Live OneCare と Norton Internet Security 2008 を使っていて、語弊を恐れずに言えば、きちんと固めたい PC には NIS2008 を入れ、他はとりあえず Windows Live OneCare をぜんぶ入れとけ的に使っています。

なにしろ使っていていろんな意味で邪魔にならない。無料製品のような不安が無い。90日使える試用版とあわせて優待版を使うことで、3台の PC に 90日 + 1年使えて約 2,500円。

右の Amazon.co.jp の価格とは違うけど(リンク先にいくと割引の価格も見られまス)、発売以降、ほぼずっと割引をやっているのでだいたいこんな値段。

他のセキュリティ製品でもそうだと思いますが、試用版を入れて試用ライセンスが切れたら、優待版のライセンス投入という使い方です。再インストールは不要で、Microsoft Passport で管理されるアクティベーションのみでそのまま使えます。

最低限の機能でえらい軽かった Windows Live OneCare 1.5 から、LAN 内の PC 管理機能などが追加された Windows Live OneCare 2.0 へのバージョンアップで、ゴテゴテの重いソフトになるんじゃないかと懸念していたのですが、これはまったくの杞憂でした。

従来のヘビー級のセキュリティ製品と違って、通信するプログラムごとに設定するパーソナルファイアウォール機能は、許可するか拒否するかしか選択肢がないので、とにかく細かく制御したいというような場合には不向きです。

PC に詳しい人からしたら物足りないと感じるかも知れないけど、こういう製品は他に探しても無いんですよね。

設定を失敗するとにっちもさっちもいかなくなるような危険なオプションも無いから、あまり PC に詳しくない人に使ってもらうときなんかは特にお薦め。ぼくは家族には Windows Live OneCare を使ってもらっています。NIS は軽くなったと言ってもやっぱりヘビーだし、ウィルスバスターは信用してないし、無料製品は論外だし、というぼくの求めていたタイプの製品だった感じです。

Sunday, March 16, 2008

ActivePerl のドキュメントが不完全なときの対処方法

ActivePerl のインストール時に POD や HTML ファイルの生成が中途半端になる問題。

ActivePerl 5.10をLeopardにインストール

PerlはLeopardについてくるから(5.8だけど)それを使えばいいと思っていた。ところが、意外なところでひっかかった。

% perldoc perldoc
No documentation found for "perldoc".
% perldoc perlre
No documentation found for "perlre".
% which perldoc
/usr/bin/perldoc
%

えー。

「Mac OS X の ActivePerl でも同じ現象が出るの?」と早とちりしたけど、どうやら別の話。

ぼくの使っている Windows の ActivePerl は、最近のバージョンではインストール直後からドキュメントがまともに読めなかったりすることがあって、それが困ったちゃんだなぁという話。

不特定の perldoc が読めなかったり、ブラウザで読む User Guide から Core Documentation がごっそり抜け落ちてたりという現象が起きるんです。なんとなくしか覚えていないのですが、ぼくのところでは、この問題は ActivePerl 5.8.8 build 820 で発生しはじめたと思います。なんだか根が深そうに見えるのできちんとは調べられず、以下のようなひどいやりかたで対処しています。

ActivePerl::DocTools::Pod モジュールは、Windows の場合 <ActivePerl のインストールディレクトリ>\lib\ActivePerl\DocTools\Pod.pm です。

$ diff -u Pod.pm~ Pod.pm
--- Pod.pm~     2006-12-06 11:55:20.000000000 +0900
+++ Pod.pm      2008-01-20 20:44:05.415842100 +0900
@@ -144,7 +144,9 @@
     }
     close (TMPFILE) || die "Couldn't write all of $outfile.tmp: $!";
     close (HTMLFILE);
-    unlink($outfile); # bug 61127
+    unlink($outfile) # bug 61127
+      or die "Couldn't unlink $outfile: $!";
+    sleep 0 while (-e $outfile);
     rename("$outfile.tmp", $outfile) || die "Couldn't rename $outfile.tmp back to $outfile: $!";
 }

このあと以下のコマンドを実行すればどのドキュメントも読めるようになるかと思います。

# ap-update-html --force

以下、中途半端な考察。

ActivePerl のインストールプロセスには、User Guide などの HTML ファイルをまとめて生成する処理がある。ここで使われている ActivePerl::DocTools::Pod モジュールの pod2html がうまく処理できずに死んでしまうと、POD ファイルと HTML ドキュメントの生成が中途半端な状態になります。
同様の処理は PPM を使ってモジュールをインストールしたときにも実行されます。

ActivePerl と一緒にインストールされる ap-update-html を実行すると、ActivePerl の基本的な POD ファイルとすべてのモジュールの HTML ドキュメントが生成・更新されます。

> ap-update-html --force --verbose

この修正を加えない場合、なにかの不運なタイミングで unlink したファイルがファイルシステム的にまだ(不完全な状態で?)残っていて rename に失敗することがあります。--force を付けずに繰り返し実行すればそのうち完走しますが。

> ap-update-html --force
Couldn't rename C:\Perl\html/lib/pods/perldos.html.tmp back to C:\Perl\html/lib/
pods/perldos.html: Permission denied at C:/Perl/lib/ActivePerl/DocTools/Pod.pm l
ine 148.

ぼくが調べたときには、どのファイルを処理している時に止まるのかは不定でした。rename できずに die した場合でも、人間の反応速度で確認した限りでは $outfile は既に消えてなくなっていたので、じゃあ消えるまで待ってあげればいいのかなぁという単純な対策です。

この問題が発生するのは OS やそのファイルシステム、はたまた時の運や日頃の行ないに依存するのかも知れません。

Bug #61127 Summary: Table of contents incomplete, non-ap links missing

Pod.pm のコメントからも分かるとおり ActiveState は Bug #61127 を認識しているものの、再現はできないそうで。ぼくの使う Windows + NTFS では 5割に迫る高確率で再現するんですけどね。;-)

でも、これは unlink の仕様を踏んじゃった ActiveState の作りのマズさなんじゃないかと思います。
このケースにあてはまるかは知りませんが、プログラミング Perl 第3版日本語版によれば、unlink が返ってきたからといって必ずしもファイルが削除済みであるわけではないように読みとれますし(unlink の項の脚註)。

 

追記@Sat Sep 06 13:46:08 2008

u-ch: ActivePerl 5.10.0 Build 1004 released

DS 美文字トレーニング

DS美文字トレーニング

テレビの CM でこの美文字トレーニングを見て、任天堂 DS を買おうかと悩みはじめてしまった。
前から脳トレ系のソフトのために、買おうかどうかとちょくちょく軽く悩んではいたんだけど今回はちょっと本気で。

でも DS なんか買ったらきっとゲームもしたくなるわけで。生活パターンやなにかの習慣を変えないことには、ゲームの時間を捻出するのは無理なんだよなあ。

親に使わせるのに辞書系のソフトがどれくらい使えるものなのか見ておきたいっていうのもあるしなあ。

Wi-Fi USB コネクタがあれば、ネットにつないで体験版やお手軽版のソフトをダウンロードするなんてこともできるんですね。しかも安い。いつのまにか進化してるもんだ。

訂正@Sun Mar 23 15:52:54 2008

「体験版やお手軽版のソフトをダウンロード」は、ニンテンドー Wi-Fi USB コネクタ でやるんじゃなくって、DS ステーション へ行ってやるみたいだ。家でダウンロードできるわけじゃないのね。。。