ImageMagick – 画像から EXIF 情報や余分なコメント領域を削除するには

ImageMagick の convert では画像を加工しても基本的にコメント領域など付属的なデータを維持してくれます。
 
これはこれで便利なのですが画像サイズを削減したい場合はアプリケーション固有の情報(JPEG の Exif など)やコメントなどは極力取り除きたいものです。
 
ImageMagick でこれを実現するには -strip オプションを使います。
ImageMagick Command-line Options – -thumbnail

-strip
strip the image of any profiles or comments.

 
用例は次のとおりです。
 
– in.jpg から EXIF 情報等を除去し、out.jpg として保存する。

convert in.jpg -strip out.jpg

 
他の方法としては
-profile,+profile (任意のプロファイルを削除/追加する。-profile * で全てのプロファイルを削除)や,
-thumbnail (-thumbnail 320×240 は -strip と -resize 320×240 を指定するのとほぼ同じ) といったものがあります。

rsync – file has vanished

Cygwin 版 rsync を使っていると、日本語ファイル周りで

rsync: opendir “/cygdrive/c/path/to/source/フォルダ?” failed: No such file or directory (2)

とか

file has vanished: “/cygdrive/c/path/to/source/ファイル?.xls”

のようなエラーが出ることがあります。
 
これはファイル名の文字コード変換(Unicode < -> UTF8)に失敗しているために起こるエラーで、cygwin1.dll をこちらの UTF-8 Cygwinに差し替えれば直ります。
 
参考:
hebrew characters(samba.org: rsync user list)
UTF-8 Cygwin
日本語での Cygwin の仕様説明ページ。

[Linux] sysstat – HISTORY=28 以上だと sa ログが2重書き込みされる不具合

sysstat 7.1.2 以前で HISTORY=28 以上の設定を行うと、閏年以外の2月のログが削除されず、3月分が上書きされてしまいます。具体的には次のようなログになります。

$ date
Mon Mar 30 13:46:45 JST 2009
$ ls -l /var/log/sa/sa*28
-rw-r–r– 1 root root 474864 Mar 28 23:50 /var/log/sa/sa28
-rw-r–r– 1 root root 539834 Mar 28 23:53 /var/log/sa/sar28
$ ls -l /var/log/sa/sa*29
-rw-r–r– 1 root root 237552 Mar 29 23:50 /var/log/sa/sa29
-rw-r–r– 1 root root 270539 Mar 29 23:53 /var/log/sa/sar29
 
$ sar -c -f /var/log/sa/sar28
Linux 2.6.18-53.1.14.el5 (example.com) 02/28/09
 
00:00:01 proc/s
00:10:01 0.03
00:20:01 0.03
00:30:01 0.03
00:40:01 0.03
00:50:01 0.03
01:00:01 0.03
#### 略 ####
23:00:01 0.03
23:10:01 0.03
23:20:01 0.03
23:30:01 0.03
23:40:01 0.03
23:50:01 0.03
00:00:01 0.14
00:10:01 0.03
00:20:01 0.03
00:30:01 0.03
00:40:01 0.03
00:50:01 0.03
01:00:01 0.03
#### 略 ###
22:20:01 0.03
22:30:01 0.03
22:40:01 0.03
22:50:01 0.03
23:00:01 0.03
23:10:01 0.04
23:20:01 0.03
23:30:01 0.03
23:40:01 0.03
23:50:01 0.03
Average: 0.13

3月のログが2月のログの後に追加で書き込まれるためヘッダは2月扱いになり、2/28の23:59 の後に3/28 の 00:00:00 のログが始まります。
 
この不具合は下記のとおり sysstat 7.1.3 で修正されたようですが、CentOS 5.2 など最新版のディストリビューションでも 7.0.2-1 が最新だったりするので、HISTORY=27 として対応するなど注意が必要です。

2007/03/27: Version 7.1.3 – Sebastien Godard (sysstat <at> wanadoo.fr)
 * Better support for keeping sar logfiles for more than one month
  (several bugs fixed in sa1 and sa2 scripts).

 
sysstat 7.1.3 以降は保存形式が変わって HISTORY=28 の制限がなくなり、一年以上でも保存できるようになったようです。
 
参考:
SYSSTAT utilities home page(公式)

OpenSSH のsshで接続が切れる時の対策

OpenSSH をクライアントで使っていて, 放置していると

Connection Reset By Peer

と言われてしまった場合, クライアント側の ssh_config で

ServerAliveInterval 20
# ServerAliveCountMax 3

とすると生存確認パケットを送ってくれるようになります。
この二つのオプションは OpenSSH 3.8 からの追加機能で、
 
ServerAliveInterval は、指定秒ごとに生存確認パケットを送る。0なら無効(デフォルト0)。
ServerAliveCountMax は、サーバから返答がない時の最大再試行回数(デフォルト3)
 
となっています。
 
参考:
http://www.unixuser.org/~haruyama/security/openssh/henkouten/henkouten_3.8.txt

FlashDevelop – Flash/Flex フリー開発環境

FlashDevelop.org
 
無料で使える Flash/Flex 開発環境です。
*.as を *.swf へビルドできるのはもちろんのこと、デバッガつきでの実行やアクションスクリプトの文法チェッカ、コードアシストのような開発者にはなくてはならない機能まで充実しています。
 
基本英語ですが、設定により日本語も使えます(日本語設定については参考サイトを参照)。
AS3.0 にも対応しているので、コードベース開発なら本家 Adobe よりも FlashDevelop のほうが断然使い勝手がいいですね。
 
参考:
7つのステップで完成!FlashDevelopカスタマイズの奥義(_level0.CAYAC)

Zinnia – 手書き文字入力エンジン

Zinnia
http://zinnia.sourceforge.net/index-ja.html
 
書き順と座標のデータから一致する候補の文字を取得するライブラリ。
特徴はフィードバックすることで精度が上がる機械学習を採用している点と、
汎用性を持たせるためにあえて描画周りの実装を一切していないという点。
 
参考:
Flash との連携例 – http://blog.isocchi.com/2009/01/flexair-zinnia.html

Apache httpd でリクエストにかかった時間をログ出力する

Apache モジュール mod_log_config

カスタムログ書式(抜粋):
%D リクエストを処理するのにかかった時間、マイクロ秒単位
%X 応答が完了したときの接続ステータス:
        X = 応答が完了する前に接続が異常終了
        + = 応答が送られた後に接続を持続することが可能
        – = 応答が送られた後に接続が切られる

自前でプロセスの所要時間を計算してログ出力したりしていました。
httpd 1.3 から 秒単位出力(%T オプション)は存在したのですね…。
灯台下暗しとはまさにこのこと。

[Linux] sar の結果からグラフレポートを作成する

kSar(http://ksar.atomique.net/) が便利。
sar のテキスト出力を GUI インターフェイスでレポート形式に変換し、PDF や画像ファイルで保存できます。
 
sysstat で性能管理
kSar 公式(English)
kSarでsarデータをグラフにする
kSarによるsarのグラフ化について

Linuxで間違って削除したファイルを復元する

Sleuth kit というフォレンジックツールを使うとよさそうです。Autopsy という別ツールを組み合わせれば web ベース GUI が利用できます。
 
対象ファイルシステムは: NTFS, FAT, UFS1, UFS2, EXT2FS, EXT3FS, ISO9660 です。
 
Windows 系ファイルシステムや CD などメディアのデータ復旧にも使えるのがいいですね。
 
なお, FreeBSD ports は sysutils/sleuthkit, sysutils/autopsy にあります。
参考:
http://www.gentoo.org/news/ja/gmn/20080728-newsletter.xml