LEAP MOTION (2) – ちょっと使ってみた印象

LEAP MOTIONが手を認識する範囲は本体上方の40cm位まで、左右は本体から離れて10cm位まで。
追従速度は十分で割と速く手を動かしても追ってくる。
けれど、画面上の何か小さい物、例えばウィンドウの閉じるボタンだとかを狙ってカーソルをポイントするのはかなり難しい。
狙った物をクリックする、ダブルクリックするのはさらに難しく、相当練習しても無理だと思う。
クリックは手を前に突き出す動作で行うのだけれど、手を突き出す動きによって指がぶれてポインタがずれる。
ウィンドウをポイントしてアクティブに切り替える程度(それなら大雑把なポイント操作とクリックで構わないから)が限界で、それでもかなり神経を集中して行う必要がある。
PCを操作するポインティングディバイス、つまりマウスやトラックパッド、タッチパネルの代わりにはならないと思う。

leap-motion

WindowsクライアントからUNIXサーバのファイルを編集する方法を考える

ウェブ開発で、ローカルのWindowsマシンでファイルを編集してインターネット上のUNIXサーバにファイルをアップロードして、これを繰り返して作業する。
が、いちいちファイルをアップロードするのは面倒なので、UNIXサーバ上のファイルを直接編集したい。
もしくはアップロードを自動化したい。
その方法を考える。

● Samba
Samaba(Windows共有)やNFSはLAN内での使用を想定しており、インターネット越しでは非常に遅い。
セキュリティ的に出来ればSambaのポートを開けたくないというのもある。
あまり良い方法ではない。

● SSHFS
SSHだけで接続出来るのは手軽で良いが、SambaよりマシだがSSHFSも速いとは言えない。
接続が不安定というのもマイナス点。
UNIXサーバの管理者権限を持ってない場合は良い方法かもしれない。

● WebDAV
Samba/SSHFSより速くて安定してる。
けれど、WindowsのWebDAVクライアント環境はイマイチで、アクセス制御やSSLでの運用が難しい。
WebDAVサイト用にSSLのデジタル証明書を取得するコストを確保出来るのならこれでいいかも。

以上見てきたように、UNIXサーバでファイル公開してWindowsマシンでマウントしてファイルを直接編集するのはあまりいい方法がない。
次にアップロードを自動化する方法を考える。

● lsyncd
まずWindowsマシンに仮想OSソフトをインストールし、仮想Linuxサーバを起動する。(あるいはLAN内にLinuxサーバを用意する。)
Linuxサーバにlsyncdをインストールして、インターネット上のUNIXサーバとRsync+SSHで同期を取るように設定する。
さらにLinuxサーバにSambaをインストールして、Windowsでマウントする。
仕組みが面倒なのは我慢するとして、問題なのはlsyncdによる同期は結構ラグがある。
ファイル更新してからサーバにミラーリングが反映されるまでに5秒は掛かる。
ひょっとするとlsyncdの設定次第ではもっとラグを短く出来るかも。
また、lysncdはバージョンアップで互換性が無くなったり、サポート体制に不安を感じる。

● WinSCPのKeep remote directory up to date
WinSCPには指定したフォルダを監視して、フォルダ内のファイルが更新されたら、接続先のサーバに自動でアップロードする機能がある。
監視するフォルダの数が多くなると動作が重くなるが、WinSCPはGUIのソフトで設定しやすいので、その日の開発で対象になりそうなフォルダを絞り込んでおけば良い。
面倒なセットアップが不要で、動作を目で確かめやすいのが良い。

● Dropbox
Dropboxはファイル更新のラグが数秒でlsyncdよりも速いくらい。
当然Dropboxの履歴機能等も使えるのでバックアップにもなる。
DropboxはLinux以外のUNIXにはインストール出来ないので環境が限られるし、Dropboxのような外部サービスを使うのはコンプライアンス的にどうか?という所もあるが、それがクリア出来るなら結構いい。
lsyncdを使うより全然手軽。

というわけで、自分なりに色々検討した結果、WinSCPかDropboxを推奨します。

Xmarksのコンフリクト対策

Xmarksというブックマーク共有サービスを使ってます。
ChromeやFirefoxのようなブラウザにはブックマーク共有の為の機能が備わってますが、WindowsもMacもAndroidもiPhoneもWindowsPhoneを所有していて、それらデバイス上で様々なブラウザを使っていると、ブックマークを共有するにはXmarksしか方法がないと思います。

ところでXmarksは大変便利ですが、たまにブックマークがコンフリクトを起こします。
同じブックマークが登録されてしまったり、ブックマーク名がおかしくなったり。
多分しばらく使ってなかったPCを起動した際に、そのPCの古いブックマークとXmarksのサーバ上の新しいブックマークがコンフリクトを起こすのだと思います。
こういう場合、Xmarksのウェブサイトにアクセスしてマイページから過去のブックマークをリストアすればいいのですが、このリストア機能はあまり使いやすくない。
そこで、私の場合、Windows 8のファイル履歴機能を使ってリストアします。
Windows 8のファイル履歴は7以前のボリュームシャドウコピーのような機能で、指定したフォルダを自動的にバックアップされ、必要に応じて、任意の日時のバックアップを参照できます。
8のファイル履歴は設定がより細かく簡単になりましたので、便利です。

具体的には以下のようにしてXmarksのコンフリクトを解消します。
・普段使っているPCにログインします。
・エクスプローラーでユーザプロファイル以下の「お気に入り」フォルダを開きます。
・このフォルダ内にあるすべてのお気に入りファイルを一旦削除します。
・(ただし、ごく最近このPCを使って追加したブックマークはデスクトップ等にコピーして退避しておきます。)
・エクスプローラーのリボンメニューの「履歴」ボタンを押下します。
・最初に直近のバックアップが表示されるので、コンフリクトのないバックアップまで遡って探します。
・コンフリクトのないバックアップが見つかったら、「復元」ボタンを押下します。
・(退避しておいたブックマークがある場合はコピーして手動で戻します。)
・タスクトレイからXmarks for IEを起動します。
・「Advanced」ボタンを押下します。
・「Upload」ボタンを押下して、ローカルのPCのブックマークでXmarksサーバ上のブックマークを差し替えます。

Xmarksって一度潰れかかった事がありますが、代替サービスが他になく、同じようなサービスを提供する別の会社があってもいいのになと思います。

Stack Overflow

プログラミングしてて分からない事があって、そういう時にネットで調べるけど、今だとGoogleみたいな普通の検索エンジンで調べるよりもStack Overflowで検索した方が絶対効率いい。
Stack Overflowで調べて、おおよその感じを掴んで、そこで出てきたキーワードをGoogleとかの普通の検索エンジンで調べると良い。