Rhodesが出力するbuild.xmlの
iphone: configuration: Debug sdk: iphonesimulator3.0
ここを
iphone: configuration: Debug sdk: iphonesimulator4.0
にするだけで動作した。
Popularity: 1% [?]
iPhoneで撮影した画像(おもに赤ん坊)をここにたくさん掲載していたが、同僚がExif ViewerというFirefoxのプラグインを見つけて画像情報を見たら、撮影場所の位置情報が見れたというので驚いた。スクリーンショットを保存したつもりができていなかったようで見せられないが、GoogleMapにリンクまで作成してくれるので見事に自宅の場所までわかる。
iPhoneの仕様ではメールでの送信などではGPS情報を削除しているようだが、iPhotoで同期した画像からは消えないので、そのままブログに掲載すると予期していない情報を公開してしまう可能性がある。
というわけで、jheadを使ってデータを修正した。
#!/bin/sh
FIND=/usr/bin/find
EXIFTOOL=/usr/bin/exiftool
JHEAD=/usr/bin/jhead
PATH=$1
$FIND $PATH -type f | while read FILE
do
RESULT=`$EXIFTOOL -gps:GPSLatitude $FILE`
if test -n "$RESULT"
then
$JHEAD -purejpg $FILE
echo $FILE
fi
done
WordPressのアップロード用ディレクトリにある画像ファイルに一括でjhead -purejpg path/to/file.jpgを実行してExifデータを削除しておけば間違いはない。元の画像は別にあるので問題ないだろう。今後もアップロードしてしまうことがあるだろうから、とりあえずcronでチェックすることにする。
Popularity: 87% [?]
iPhoneを見せびらかしに来た人物がWordPress用プラグインの出来がいいというので試してみたのだが。
一覧ページ:

抜粋だけ見る:

エントリの詳細:

出来がいいので腹が立つ。iPhoneを横にすると画像がリサイズされる。
しかも、テンプレートに埋め込んだJavascriptで強制的に回転させる技が通じない。
Popularity: 2% [?]
前のエントリで紹介したCouchDBだが、そこに「The hour pillars of data management」という言葉があって、何のことかわからないのでリンク先をみたら面白かったのでこれまた訳出。
4つの柱
ずっとCouchDBの実装にのめり込んでいたので、今のいままでパッケージ全体の技術的なビジョンについてはっきりさせるよう説明する時間がなかった。CouchDBは小さなものではない。完全な分散データベースであり、データ管理におけるさまざまな難しいエリアを取り扱うものだ。しかし、些細な設計上の決定や、どうやってそれらが一緒に動作するのかといったことを含め全てのパートを説明するのは難しい。特に、それが作成途中であれば、始まったときと同じままであることは滅多になく、先に進むにつれてそれは変化し、進化していく。だが今やCouchDBは十分に前進したので、幅広い層の人たちにどうやってこれを紹介し説明するのかをじっくり考えることが出来る。
二日ほど前にシンプルな用語の変更を決断した。「computed tables」を「views」にすることにした(Nedのおかげ)のだ。この変更はあまりに当然のことなので、どうしてもっと前にやらなかったのかと自分を責めたくなる。computed tablesと名付けた理由はもともとあったのだが、この名前はみんなを混乱させていた。「virtual tables」という名前にしようかとも思ったが、viewsの方がバックグランドの異なるさまざまな開発者にも理解しやすい。
さて、これからCouchDBシステムのコアの概要に取りかかるわけだが、その最も深い基礎となるところについて説明するやり方として、『データ管理の4つの柱』というのを思いついた。すなわち
保存…データを保存して確実に取り出したい。
閲覧…データベースにはデータの興味深いところを集めて体系化し、閲覧できてほしい。
共有…複数の人間やマシンがデータにアクセスする必要がある、しかもオフラインでも。
セキュリティ…プライベートなことはプライベートのままにして、重要なデータを他の人から変更されないようにしたい。
わかりやすい柱でしょ?4つの柱というのを思いついた架空の数学者をねつ造してWikipediaにページを作ってやろうかな。全部が「S」で始まるのもなかなかいいと思う。どれだけかはまだわからないが。ひょっとしたら柱じゃなくて「データ方式のファンタスティック・フォー」とか「データ黙示録の四騎士」とかの方がよかったのかもしれない。とにかく、データ管理の4なんとかだ。
とりあえず4つの柱を建ててその非常な重要性について説明したので、CouchDBにはその全てがあるというのをご覧に入れよう。
保存…ローバストでACID対応のストレージエンジン
閲覧…データを効果的にフィルター、フォーマット、体系化するViewエンジン
共有…効率のいい、インクリメンタルで双方向的なレプリケーション
セキュリティ…分散セキュリティとバリデーションモデル
というわけで、みんな「俺のデータベースには4本中2本の柱しかないぞ、CouchDBを使おう」となるわけだ。
いずれにせよ、まあ柱のことはさておき、コミュニケーションの問題があるのはわかっている。特に自分が、この件について上手に説明できないこと。だからみんなになんとか説明しようと努力しているから、しばらく新しくコードを書いていない。アーキテクチャーとバックエンドのコンポーネントについての詳しい説明はできていて、それぞれのパートの説明やどうやってそれらがシームレスかつ信頼できる動作をするよう設計されているのかについて説明する。もうすぐできあがるので、チャンネルはそのままで。
用語がいくつか前のエントリと違っているのはご愛嬌。
Popularity: 3% [?]
SoftBankのサポートページのPDFファイルにはこんな記述がある。
・専用USIMカードはSoftBank3Gに挿しても使用することはできません。
・SoftBank3Gへ戻す場合には、USIMカード交換(有償)が必要となります。
確かに実機で検証するとこんなエラー画面になる。
ここまではSoftBankの説明どおりである。
実にけしからん。iPhoneなんかやめた、と思い切って他の端末を友達から安く買ったという人はいったいどうすればいいのか。消費者の見地からこれは実に見過ごせない由々しき問題である。
ところで、SoftBankといえばその前身はVodafoneである。
SoftBank3Gではだめだというなら、ではVodafoneならどうなのだろう。誰もがそんなことを思うことには疑いの余地はない。
というわけでさっそく実験。iPhone 3GのUSIMカードを取り出して適当なVodafone 3Gの端末に入れて起動してみる。
起動した。となりの黒い箱は犠牲となったiPhone。
起動しただけかもしれないのでさっそく電話する。
通話できた。
ちなみにSIMロックが解除されたヤクザな携帯端末もちゃんと起動する。
もちろん、iPhone 3GのSIMロックを解除したわけではないので、念のため。第一、iPhone 3G専用をうたっているあのSIMカードは、そもそもiPhone 3Gを買った人じゃないと手に入らないので、何かの犯罪を教唆しているわけでもない。
あ、パケット通信はできないよ。
あと、番外編としての豆知識。
1 iPhone3Gは電源が入ったままSIMカードを抜いても大丈夫だった。
2 SIMカードをドックの口に挿す人間は必ずいる。
3 iPhone 3GとかSIMロック解除とかいうキーワードはすさまじくSEO効果が高い。
何かを勘違いしてアクセスしてきた人たちにはサービス画像。
iPhone実機が買えなかったので想像して描いたiPhone。
Popularity: 100% [?]
iPhoneでアクセスしてきたら、とりあえず先に90度回転しておいて、縦にしても横にしてもずっと画面が傾いたままにしてしまえばいい。(参照)
Safariでアクセスして動いてたからたぶんこれで大丈夫だ。
iPhone専用ページ
update: 実機を借りたので試してみたらだめだった。畜生め。
update2: いちおう動いていた。
update3: くそっ!Windowの幅や高さが変わったら回転するというのはできなかった。画面をフリップさせてもwindow.outerWidthやwindow.outerHeightの値は変わらないらしい。
function flipYou(){
document.body.style['-webkit-transform']='rotate(90deg)';
height = window.outerHeight;
base = 90;
setInterval(function(){
if(height != window,outerHeight){
base += 90;
com = 'rotate(' + base + 'deg)';
document.body.style['-webkit-transform']=com;
height = window.outerHeight;
}
}, 5000);
}
これではちゃんと検知しない。heightをwidthにしてもダメ。
Popularity: 3% [?]
フランスに行きたしと思へどもフランスはあまりに遠し、せめて新しき背広でも着て出かけちゃおう、というのが萩原朔太郎なら、iPhoneがほしいけど毎月8千円も払えない貧しいわたしはどうすればいいのでしょうか。
そうです。想像力を使えばいいのです。マッチ売りの少女だって、空想の世界では幸せいっぱいです。そして空想の中のパーティーに着て行く服がないと泣くのです。
というわけで、昨晩並んで買おうとするのをかみさんに止められ、同僚がいま姑息な手段でまさに手に入れつつあるiPhoneとやらを、初期不良と年内のモデルチェンジを祈念しつつ、想像上のiPhoneを思い描いておのれを慰める。
買ったけど飽きた、そんな人がいたら連絡ください。
Popularity: 2% [?]
息子の保育園の同級生に、アレックスという子がいた。太っちょで元気な、甘たれでやさしい子だった。かみさんにもよくなついていたし、息子とも仲良くしてくれていた。
次男が生まれて名前を考えていたとき、アレックスのことを思い出した。アレックスっていい名前だよな。王の名前だもん。しかもただの王じゃない。アレキサンダー大王は東欧からインドの手前までを版図とする大帝国を築き上げ、インドの手前で引き返したのが今でも謎といわれるくらいのとんでもない大王で、ずっと後世までその名を冠した都市アレクサンドリアはローマ帝国が燃やすまで巨大な図書館があったりしてずっと栄えていたし、家庭教師ときたらなんとアリストテレスだもん。
町山智浩の「ツォツィ」の映画評でずっと心に残っていた一言がある。
何の希望もないツォッツィはその赤ん坊に自分の本当の名前をつける。
デイヴィッド。
今はクズ同然の彼も、王の名を持って生まれてきたのだ。
こうして取り出してみると、本当になんでもないような言葉かもしれないが、これを読んだときから、なぜかずっと心に引っかかっていた。息子に王の名前をつけるって、どういうことなんだろう、とか。
アレックスも、日本人ばっかりの普通の小学校に進学したと思うから、きっと今頃は周囲の子たちと違うってことでいろいろ苦労しているんだろうな。でも、お前の名前は大王の名前だし、他にもアレックス・ラミレスとかアレックス・カブレラとかアレックス・ロドリゲスとか野球のスーパースターたちと同じ名前でもあるんだから、そんなのに負けないでがんばれといいたい。
だいたい、コスモポリタンって言葉もアレクサンダー大王時代に成立した概念だったはずだ。アレクサンダーの巨大な帝国が、当時、ヨーロッパと地中海沿岸地方と小アジア、西アジア、南アジアに至るまでの広い地域が突然ひとつの国となって交流が盛んになり、民族とか人種という小さな枠では収まりきらない新たな世界観を人間が手にする契機になったという話だったとはずだが、それを考えると、やっぱりまわりの連中とちょっとばかし違うなんてどうでもいいことは吹き飛ばして元気にやっていてくれたらいいなと切に思う。
Popularity: 3% [?]









