Android端末とのファイル同期。

Xperiaとの同期を取るのに、メールとかケーブル繋いでとかがめんどかった。
今日とてもいいものを見つけたのでメモ。


ServersManというアプリで、要はhttp(というかWebDAV)経由でファイル操作をしちゃおうという。
端末にアプリをインストールしたら、あとはそれを起動するだけ。
初回にユーザー登録があるけど、それ以降は起動→接続とすればもう準備が整う。


serversman自体がWebインターフェースを用意してて、
DropBoxのサイトみたいなインターフェースでファイルのI/Oができる。
端末のファイルシステムはログイン状態でしか見えない状態で、それ以外にpublicな領域が自動的に作られる。


それともうひとつ、リバースHTTP(だと思う)を使ったURLが提供されるので、ローカルにmountすることもできる。
これがすごい便利。
mountしようとしたときに301(Moved Permanently)が出るときは、一度wgetとかでリダイレクト先を追って、
最後に401で返ってくるURLを指定してmountしてみるといい。
欠点はhttpなのでそれほど早くはないことと、2GB以上のファイルを端末に送れないこと。


起動時に自動mountしようとしたけどネットワークが繋がる方が後っぽくてダメだった。
残念だけど常時mountしとく必要もないのでまぁいいか。



ちなみにiPhone版もあるらしい。

next, lastの裏芸。

うわ、こんなことできたんだ。

my $res = 0;

{
  if (scalar(@ARGV) == 0) {
    $res = 1;
    last;
  }
  
  if ($ARGV[0] == 1) {
    $res = 2;
    next;
  }
  
  $res = 3;
}

print $res . "\n";


これをtest.plとする。

$ perl test.pl
1

$ perl test.pl 1
2

$ perl test.pl foo
3


驚くことにsyntax errorにはならない。
next, lastはbreak的に使うこともできるのか!


まぁnextを使うと意味が通らないからbad practiceっぽいけど、
lastだと「無名ブロックをlast(終了する)」と読めていい感じ。

Xperia OSアップデート。

なんか17時くらいから盛り上がってたような盛り上がってないような。


unbound版のSkypeアプリが2.1から使えるっぽかったので、
兄貴を人柱にしつつXperiaをアップデート。



(こういうとき"BraveHeart"が脳内で流れる)



Sony Ericson Update ServiceをサイトからダウンロードしてWindows機にインストール
・Update Serviceを起動して機種を選択(SO-01B)
・画面の指示に従ってアップデート
Xperia起動


でおk。



・起動後にデスクトップアイコンがずれてた(というか下に一列領域が増えた)
・入力インターフェースがノーマルに戻ってた
Google Appsの自動同期がOffになってた


気付いた変更点はそのくらい。


Skypeは普通に入った。
インターフェースがPCのより好きかもしれない。


あとはなんだか描画が遅い。
メインメニューのスライドがめっちゃガリっとしてる。


なんかデバイス内の走査でパワー使ってるらしいけどよくわからん。
とりあえず一晩寝かせて様子見る。

隠れ職人芸。

いや、なんか、すごいなぁって思うんだけど。


コンビニでお釣りをキレーに渡してくれる店員。







レジから小銭をチャリンチャリン片手に放り込んでたと思ったのに、
それを渡されるときには親指と人差し指でキッチリ挟んでる。

小銭の額が順番に並んでるし、重なり方にブレがない。


しかも手が触れそうなプレッシャーがないもんだから、こっちとしても楽。



店員すげー

Androidマーケットからダウンロードできなくなったとき。

なんか気がついたらマーケットからのダウンロードが毎回失敗するようになってた。
「ダウンロードを開始中」でしばらく止まったあと、「ダウンロードできませんでした」となる。


いろいろぐぐって解決したのでメモ。

設定>アプリケーション>アプリケーションの管理

でアプリケーションの一覧を表示させる。

「マーケット」を選択して「アップデートのアンインストール」でおk。
その後マーケットを起動するとアカウントの設定から始まるので、ガイドに従ってログイン。


ちゃんと購入履歴やダウンロード履歴も残ってたし、ダウンロードできるようになった。


よかったよかった。

.cgiにて、

#!/usr/bin/perl -d:DProf

と、インタプリタの指定にオプションを付けて、
cgiファイルの存在するディレクトリをApacheから書き込み可能にする。


そうすると、アクセス時にプロファイル結果のファイル(tmon.out)ができているので、
同じディレクトリでdprofppすればおk。