UnizonでPC間同期

 M200はHDD容量に余裕あるし、デスクトップに匹敵する作業環境が構築するので、自宅の仕事用マシンとのデータ同期をもう少しまじめに考えてみることに。
 そこではたと困ったのは、世の中にバックアップ・同期ソフトは数あれど、双方向のシンクロに対応したものは驚くほど少ない。たいていはどちらかをメインにして、メイン側の更新をサブ側に反映させることしかできない。サブ側での変更がメインに適用されないのだ。かのrsyncですら難しいようだ。単なる片方向の同期では、例えばサブ側でいらなくなったファイルを消去した場合、次の同期時にメイン側から消したファイルが補填されてしまう。これを防止するには、静的にファイルの状態を比較するのではなく、常にファイルの更新内容のログをとっておき、ファイル削除のタイミングが前回の同期よりも後であれば、他方でも同じファイルを削除する、という処理をしなければならない訳だ。
 で、まず見つけたのはAccuSync。機能的にはヨサゲだけど、もともとrsyncでなんとかしようと思っていただけに、\7,000超の出費はちょっと。ヨドバシ店頭で悩んだ挙げ句、買わずに帰宅。
 もう少しネットを漁ってみると、UnizonというGPLなツールがあるでないの。ここにも紹介されている通り、
・双方向同期ができる
・Linux(UNIX)とWindows版がある。
・SSH経由で使える
などの特徴がある。イイヨイイヨ!
 早速セッティング。双方でunizonを起動すれば直接ソケット通信でやりとりもできるらしい。LAN内なのでそれでもいいかと思ったが、やはり片方の操作だけで簡潔したいので、デスクトップ側にsshdを上げて、unizonはそこから自動起動するようにしよう。これが結構苦戦。色々試行錯誤をして数時間かかったんだけど、結果としてやったことだけ。
・デスクトップ側にCygwinを入れてsshdをサービス登録。
・ノート側にはPuTTYに付属のsshクライアントPlinkを入れる。
・もちろん双方にunizonのCUI版をインストール
・上の解説サイトで紹介されているバッチを導入
 Cygwinのsshdをサービスとして動かすのがやたら大変だった。だいぶ昔に入れたのをアップデートして使ったのがマズかったらしく、クリーンインストールしたらOKでした。
 unizonは基本的に1ペアの同期設定しかできないので、上記バッチをペア数だけ増やすのは効率悪い。そこでバッチが最終的にはき出すコマンドラインをパチって、自分でバッチを書く(DOSのバッチなんて何年ぶりだろう…)。サブフォルダを無視するとか特定のファイルのみ対象にする、というオプションがないらしく、逆に全部除外して、そこから特定のファイルを逆除外する、みたいなオプションを書かなければならなくて、正規表現でハマるも、なんとかテンプレートが完成。基本的にはこのバッチにコマンドラインを書き加えていけば、順次同期が実行されます。もちろんDOSバッチなので、普通にエクスプローラやランチャーから1発起動可能な点も、Cygwin上でrsyncなりを使うよりも快適。
 これでHDDのあちこちに分散している色々なアプリケーションの設定をサクっと同期できる環境が整いました。Operaや地図ソフトのブックマーク然り、やよいの青色申告然り。確定申告作業がモバイルでできるのはウレシイかも。
 Cygwinの解説本を買ってしまったので完全無料ではなかったけれど、Accusyncよりは安く、しかも自由度が高い環境が構築できたので良し。

豆知識:MD5ってナニ?

 このブログの(σ(^^)が把握している)読者層のリテラシーは、「MD5チェックサムは常識でしょ」って人達と、下手すると聞いたことすらない人達と両極端っぽいので、いつも書き方に苦労します。
 今回は、最近よくダウンロード用リンクと一緒についてるMD5の意味を解説してみます。むしろ「MD5ってナニ?」って人には読み飛ばされそうな悪寒w。まぁ、聞かれたら「これ読め」って言おう。
 MD5は暗号化なんかに使われる乱数発生アルゴリズムの1つです。ある元データを与えると、固定長(32文字)の乱数(ハッシュ値)を返してくれます。また、
・元データが同じなら常に結果も同じ
・元データがちょっとでも違うと結果が全然違ったものになる
・確率統計的に別データが偶然同じ結果になる可能性は激しく低い
・ハッシュ値から元データを逆算出するのは途方もない計算量が必要
という特徴をもっています。
 例えばパスワードをあるシステム上に保存しておく場合、MD5化してから保存しておくと、もしその保存ファイルが漏洩しても、そこから元パスワードを解析することは事実上不可能だが、ユーザが入力したパスワードの判定はそれもMD5化して比較すればOK、という訳です(MD5ハッシュ化後の値を持っていてもパスワード欄に入れられない)。
 ではどうしてダウンロードのリンクにこれがくっついているかというと、ファイルの改竄検知のためです。送信者と受信者がそれぞれMD5ハッシュ値を計算して比較すれば、途中経路でウィルス感染したり壊れたりしなかったことが保証できるわけです。もちろん、MD5値も改竄されてしまっては元も子もないので、これらは別経路で伝達することが望ましいです。当ブログでもダウンロード用ファイルはブログとは別区画に置き、権限設定を分けてあります。万一このブログがクラックされても、ダウンロードファイルは改変できない訳です。逆に、メールの添付ファイルのMD5値を本文に書いても、改竄防止という観点ではあまり意味がないですね。添付ファイルを改竄できるんなら本文だって改変できたはずですから。まぁ、ファイル破損チェックにはなるので全く無意味だとは言わないですが。
 レジストリファイルはもし壊れたり改竄されていたりすると、システムに深刻なダメージを与えかねないので、こうした予防措置を講じている訳です。ダウンロードしてご利用になる方は、是非落としたファイルのハッシュ比較をしてみて下さい(これくらいのファイルなら一瞬で計算できます)。
 実際にWindowsで手元のファイルのMD5ハッシュ値を計算するには、ElleFileInfo[窓の杜]あたりが良いでしょう。ファイルをドロップするだけです。MD5は元ファイルがちょっとでも違えば結果が大きくかわる性質があるので、32文字全部比較しなくとも、先頭や末尾の数桁だけ比較すれば実用上は充分でしょう。

■余談

 いやぁ、しかし乱数発生アルゴリズムが暗号に使えると気づいた人は偉いよ。目から鱗。今や数学者もIT絡みで大儲けできる時代ですもんね。もうちょっと英語と数学が得意だったら暗号の学会CRYPTO2004とか聴講にいったらエキサイティングだったろうな。ちょっと古いですが、AES/CRYPTO98のの訪問記なんて読んでるとワクワクする。学会発表の質疑応答の場で手が挙がって「解読方法を思いついた」って破られちゃうってどういうことよ?破ったおまえはそれをその場で暗算で解いたんかと問いつめたいw。
 CRYPTO2004の記事も『Sofrware Design』11月号に載ってたが、スゴく楽しそう。「今晩の臨時セッションでなにやらスゴいアルゴリズムが発表されるらしい」みたいな噂が飛び交ったり、スタンディングオベーションが起きたり。そこいらの学術学会にはない興奮とスピード感に溢れてそうな世界ですね。

WindowsMediaPlayer10のチューン

【コラム】Windows XPスマートチューニング 第142回 WMP10のフルスクリーン時に現れるシークバーのタイミングを変更する (MYCOM PC WEB)
 WindowsMediaPlayer10で動画などをフルスクリーン再生する時、シークバーなど上下のコントロール部分が自動的に隠れるますよね?あの時間を高速化するレジストリ設定が載っていたので、regファイルにしてみました。あのコントローラー、視聴中にちょっとマウスを触ってしまうだけで出現するので結構ウザいんですよね。とっとと消えてくれるなら良いことです。
 実際のタイムアウトまでの時間はσ(^^)の好みの値になってますが、よろしければどうぞ。ダウンロードした.regファイルをダブルクリックするだけです。まだ遅い、という人は上記リンクを参考にメモ帳などで数値を書き換えてからご使用ください。ちなみにカーソルのタイムアウトはコントロールが消えた時点からの時間みたいです。カーソルを最速にしてもコントロールより先に消えることはないようです。

WMP10フルスクリーン再生時、コントロールを素早く引っ込める [MD5: E28E972DF37AAB72B08C79003114FFC1]

M200、その後

 サーバー整備そっちのけで、ようやく一通りセットアップが完了しました。

■メモリ

 TC1100と同じPC2700の200pinだったので、あっちに増設した512MBを抜いて移植。1GBに。TC1100は512MBで充分だろう。

■無線LAN

 前にも書いた通り標準では802.11bなので、以前、VAIO TR1に取り付けた802.11a/b/gのEM-500AGというカードを移植。製品サイトが消えていて最新ドライバを探すのに苦労したけど、なんとかぁゃιぃftpサイトで発見。無事認識。東芝独自ツールConfig Freeでも見えてるし、本体横のハードスイッチでのON/OFFも無問題。微妙に11aの感度が悪い気がする。同じアクセスポイントの電波なのに、11b/gよりもレベルが低い。アンテナが11a用じゃないから??てかAtherosのユーティリテイでみると100%なのに、システムのゲージは「中」。なんで?まぁ、元々アクセスポイントの出力を1/4に絞ってあったので、少し上げてみるか。
 ちなみにAtherosチップなのでBIOS起動画面からCentrinoロゴが消滅w。

■液晶

 やっぱ12インチでSXGA+(1400×1050)は文字ちっさいすね。デスク上なら気にならないけど、ソファなんかで腿にのっけて使うと、字の小さめなサイトなんかはちょっと目を細めてしまう。Operaなんで、120%くらいに拡大してみたり。でも、その分、MS Journalなんかで手書きした時の解像度感はGood。

■ACアダプタ

 普通にデカい。てか平均的。→がAmazonのマーケットプレイスで安く出ていたので注文してみた。
後日追記:プラグ形状があわず使えませんでしたorz

■加速度センサー

 縦横の自動検知のために加速度センサーが内蔵されているんですが、これを利用して縦振り、横振りにイベントを割り当てられるユーティリティがついてる。スレート状態で水平に持ち、エイっと向こう->手前に揺するとスタートメニューが開いて愉快。スタートメニューに慣性が働いているカンジ。一見の価値アリ。

■クロスメニュー

 スレート状態でも使える液晶脇に十字ボタンがあり、長押しすると「クロスメニュー」と呼ばれるSONYのXMB(クロスメニューバー)のようなランチャーが出現。これは便利かも。

■Bluetoosh

 海外ではオプション販売されている純正ユニットをオーダー。なかなか海外発送してくれて、在庫もってるショップが見つからなくて、なんとか発見したアメリカのショップは(海外オーダーは)電話かFAXのみ。「Dir Sir,」なんて書き出しの手紙文を書くなんて何年ぶりだろ。ともあれFAXで注文してみた。現地時間の月曜までレスポンスはないだろうな。

■Configfree

 東芝独自のネットワーク・ユーティリティ。VAIOでもお世話になってた同種ソフトと同じく、無線LANのESSIDで各種設定を自動切り替えできるので、
・それぞれの場所で手近なプリンタをデフォルトに
・自宅ではサーバーとのデータ同期スクリプトを起動
・ホットスポットのESSIDならファイアウォールをオン
する、なんてことができる。これは便利。
 P.O.R.的な使い方もできるかも。

■マシン名

天獄 1 (1)
天獄 (1)
あちゃ、白青だ…

 所有台数が多くLANを組んでいる人にとって、マシン名をつけることは最大の楽しみであり、悩みの種でしょう。てか決まんねー。白(シルバー)黒のツートンカラーなので、正当派メイド服着用キャラの系統で考えてるんですがね。ただあんまり長いのや綴りがややこしいのはマイン名としては不向き。「天誅」の砂姫(SAKI)あたりかなぁ。


P.S.
 TC1100は当面naokAに貸しっぱなしになると思うけど、前々から時々あらわれる画面の赤線がウザいので修理に出す。BIOS設定画面から出るのでハード的な問題確定。出たりでなかったりするので証拠写真をプリントして添付。金曜の午後に電話したら土曜午前にはペリカン便がピックアップに来た。完了もこれくらい素早いといいな。

SEED Destiny: PHASE-05 「癒えぬ傷痕」

・シャアとキシリアがw
・シンの妹のケータイ、カメラ画質まで現在と大差なさすぎ(^^;)。
・ディアッカはなんで赤服来てないんだ?格下げw?
・やっぱコアスプレンダー・システムの“効率の良さ”がわからん
・ZAFT艦からの発進で自分から「アスラン・ザラ、ザク、出る」とか言っちゃうアレックス。