片手入力時のイライラ
片手で文字入力してると親指の付け根部分が画面に触れちゃう問題だけど、
売り上げランキング: 12098
これ買ったら、親指部分が少し浮くせいか、付け根部分が画面に触れなくなって快適になった!
しかしこのカバー、摩擦係数が高いのでiPhoneをポケットに滑り込ませられなくなってちょっと不便。
OSXの.dmgファイルをLinuxでごにょるの法
dmg2img というのがよくできてる。
dmg2img xcode.dmg xcode.img
とすると xcode.img という HFS+ のイメージファイルにしてくれる。
で、
mount -t hfsplus -o loop xcode.img /mnt
とかでマウントできる。
その中のpkgファイルの中身を取り出すには
xar -xf /mnt/Packages/MacOSX10.5.pkg Payload
mv Payload Payload.gz
gunzip Payload.gz
mkdir dump
cd dump
cat ../Payload | cpio -i -d
とかするとdumpディレクトリ以下にpkgが展開されるという感じ。
iPhoneでも片手入力できる
とか言ってるやつは死ねばいいと思う。
僕はかなりがんばらないと無理だなー><
テンキー入力でバックスペース押そうとして親指のばすと親指の付け根付近が画面左下のほうを押してしまい入力モードが切り替わってしまってイライラするし、メールだと送信ボタンが上のほうにありすぎてそもそも片手だと押せないし。
手が小さいのかなぁーともおもうけど、女性だったら僕より手の小さい人はいっぱいいるだろうしなー。
レンズゲッツ
こないだ言ってたやつがamazonで在庫で出したので即注文した!
使いやすいズームがほしかったんだけどやっぱり使ってみたら想像通りよかった。満足。
What are you coding?
いいねいいね。
TheSchwartzのテストが通らなくてあせった件
TheSchwartzをインストールしようとしたらテストが通らなかった。
テストが通らなくても、原因を見ると失敗していても影響ないような失敗をしていることが多いので気軽にソースをのぞいて見たところどうもそんな気楽な感じでもなくて普通にエラーっててどうしたもんかと思った。
具体的には
$ prove -bv t/unique.t
t/unique....
1..12
ok 1 - made first feed major job
ok 2 - The object isa TheSchwartz::JobHandle
ok 3 - made another feed major job
ok 4 - no handle
ok 5 - made scratch major job
not ok 6 - The object isa TheSchwartz::JobHandle
# Failed test 'The object isa TheSchwartz::JobHandle'
# at t/unique.t line 44.
# The object isn't defined
ok 7 - made first feed major job
ok 8 - The object isa TheSchwartz::JobHandle
ok 9 - made another feed major job
ok 10 - no handle
ok 11 - made scratch major job
ok 12 - The object isa TheSchwartz::JobHandle
# Looks like you failed 1 test of 12.
Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/12 subtests
Test Summary Report
-------------------
t/unique (Wstat: 256 Tests: 12 Failed: 1)
Failed test: 6
Non-zero exit status: 1
Files=1, Tests=12, 0 wallclock secs ( 0.02 usr 0.01 sys + 0.14 cusr 0.03 csys = 0.20 CPU)
Result: FAIL
こんな感じ。
$client->insert が正しく JobHandle オブジェクトを返していないということは job を insert できてないってことなのでこれは問題である。
しょうがないのでもう少し追うと、このテストは3回 insert をしていて2回目の insert はわざと失敗させている。TheSchwartz はこの失敗した場合にエラーコード 1062 だけを特別扱いし、それ以外の場合はそのDBが死んだと判断して mark_as_dead する。
Data::ObjectDriver::Driver::DBI の last_error とか Data::ObjectDriver::Driver::DBD::mysql の map_error_code あたりを参照のこと。
1062 というのはこの DOD::DBD::mysql にハードコードされていて、MySQL の Duplicate entry '%s' for key %d とかいうエラー。
この辺の実装もどうかと思うが、ここで僕の環境では 1582 というエラーコードが帰ってきていたため、DBが mark_as_dead されてしまい、次のinsertも失敗するということになっていたようだ。
ちなみにエラーコードは違ったけれども Duplicate entry '1-major' for key 'funcid_2' という期待するエラーが返ってきていた。
この環境の MySQL はずいぶん前に入れた 5.1beta (5.1.18-beta) で、ほかの5.0なマシンではテストとおるので、5.1 になってエラーコード変わったのかなぁと思ってマニュアル見てみたけど変わってないので、よくわからないけどとりあえずMySQLを最新(5.1rc)にしてみたらテストとおるようになってしまった。
古い5.1は罠だということかなー。
早起き
しようとしてるせいで体調が悪い。そして眠い。
意味あんのかこれ。
