88171.net

第3次カメラブーム

人生で3度目のカメラブームが来てる。俺の中で。

第1次: 高校生の頃

天安門広場, Zenit-122

カメラ欲しいなと思い立ったものの、当時重度なマニアック志向と金欠を拗らせていたために、 カメラ雑誌の通販広告か何かで見かけて安かった Zenit-122 に飛び付いた。 既に根っからのメガネ野郎だったので、ファインダーとの隙間から入る光のせいで露出計 (そんな立派な機構でもなかったけど) が全っ然アテにならず、電池抜いてフルマニュアルでバシバシ撮ってた。 修学旅行で普通に中国に持って行って、クラスの連中から軽く引かれたりもした。

結果的に写真の (というか露出の) イロハをこの Zenit-122 に教えてもらったわけだけど、 今になって思い返せば、最初に使うカメラのチョイスとしては如何なものか、と我ながら思う。

第2次: 大学生の頃

我が母校, たしか SMENA 8M

現役の Zenit 使い、しかもフルマニュアルに抵抗がない人間の興味がいわゆるソビエトカメラ全般に向かうのは最早必然で、 結果的に SMENA 8M に Zarya 、 Zorki を入手した。 中でも Zarya は、 FED-2 からレンジファインダーを取っ払ってピント目測、 という至極漢気溢れる仕様だった割に、一番扱いやすくて好きなカメラだった。 シャッターリボン切れちゃって以来、修理にも出さずに放置しちゃってるけど。

ちなみに、ダークレス使ってモノクロネガの自家現像とか手を出してたのもこの頃。 まぁ深く追い求める気にはならなかったけど。

第3次: なう

EOS M + EF28mm F2.8

デジタルな時代の流れには抗えず、 IXY DIGITAL 25 IS とか何となくメインで使ってたものの、 型落ちのさらに販売終了目前で安くなってたのに釣られて (ついでに M2 の新機能に全く魅力を感じなかったので) EOS M のダブルレンズキットを衝動買いしたのが去年の秋。

台湾に持って行って久しぶりに街角スナップとかしてて気付いたのは、 やっぱ AF 遅いなぁ、ということ。 図ったかのようなタイミングで AF 性能がガチ強化された EOS M3 が発表された のは見なかったことにして、 MF で満足に使えるレンズとして EF28mm F2.8 を中古で入手。 AF は言うほど遅くない代わりに (ホントに) ジーコジーコうるさくてビックリしたけど、 どうせ MF でしか使わないからいいかな、と。

まぁ今日 CP+ 2015 で M3 の実機触らせてもらったら、 AF めっちゃ速いしダイヤル操作楽だしグリップ快適だしで正直ちょっとだけ いいな なんて思っちゃったんだけど、 まぁ買いませんよ。 M を使い潰しますよ。

台北旅行

先週ちょっくら台北に行ってきたので、その写真を何枚か。

Canon EOS M, EF-M18-55mm F3.5-5.6 IS STM, ISO 100, f/5.6, 1/320 sec, 1/3 EV

Canon EOS M, EF-M18-55mm F3.5-5.6 IS STM, ISO 250, f/5.6, 1/100 sec, 1/3 EV

Canon EOS M, EF-M18-55mm F3.5-5.6 IS STM, ISO 160, f/5.6, 1/30 sec, 0.7 EV

Canon EOS M, EF-M18-55mm F3.5-5.6 IS STM, ISO 6400, f/5.6, 1/30 sec, -1 EV

また行きたい。

git-svn で loose object が corrupt した時のヒント

git svn rebase の最中とかにたとえばマシンがお亡くなりになって、もっかい叩いたら

fatal: loose object b2460997f61ed75f4025ea7177f96afe54e5d3bc (stored in /some/where/.git/objects/b2/460997f61ed75f4025ea7177f96afe54e5d3bc) is corrupt
could not detach HEAD
rebase refs/remotes/git-svn: command returned error: 1

とか言われて身動き取れなくて泣きそうな時のヒント、というか自分用のメモ。 前提として、 git-svn しか想定してない。 そもそも全 revision を Subversion リポジトリから最悪引っ張り直さないといけないから泣きそうなのであって、 リモートも Git だったり、 Subversion だけど小規模だってんなら黙って clone し直した方がきっと早い。

まず、 git fsck をかけて corrupt だと言われるオブジェクトファイルを除けていく。 最終的に missing な blob が絞り込めれば、そいつらを作り直せばいいだけ。 ここでもし blob 以外が missing だと言われたら、他をあたってください。

$ git fsck --full
*snip*
broken link from    tree 0b69d49c2b28cd44ab9dd117953c69898dab54ca
              to    blob b2460997f61ed75f4025ea7177f96afe54e5d3bc
broken link from    tree 0b69d49c2b28cd44ab9dd117953c69898dab54ca
              to    blob 6d987d2a105d4e1a1b6e1a0bd245bda6da1e4845
missing blob b2460997f61ed75f4025ea7177f96afe54e5d3bc
missing blob 6d987d2a105d4e1a1b6e1a0bd245bda6da1e4845

次に、既に fetch までは終わってるはずなので、リモートブランチのログを raw フォーマットで眺める。 ハッシュで引っかければ、問題の blob の元がどのリビジョンのどのファイルなのかがわかる。

$ git log --raw remotes/git-svn
*snip*
    git-svn-id: some_repository@rev
*snip*
:100644 100644 d311938... b246099... M  path/to/one
:100644 100644 2c19eff... 6d987d2... M  path/to/another

元ファイルを svn checkout して git hash-object に食わせれば正常かつハッシュの一致する blob が手に入るはず。 それを書き戻してあげれば、オブジェクトファイルに関しては解決。

あとはワーキングコピーが中途半端に rebase されてる可能性があるので、 ちゃんと clean な状態に戻してあげれば晴れて OK なはず。

FOSTEX GX100

Canon EOS M, EF-M22mm F2 STM, ISO 1600, f/2.0, 1/40 sec, 0 EV

親父から「スピーカー処分しようと思うけど要るか?」とメールが来たので、ホイホイもらってきた。

そこそこお高いだけあって、すごくいい。2000円ちょいの中華アンプで鳴らすのが申し訳なくなるくらい。

既存のテキストを Git 管理下に置くスクリプト

ちょっと前に書いた、既存の blosxom 用テキスト群から Git リポジトリを作るスクリプト。 git init したワーキングコピーにドバッとテキストを置いて叩くと、各ファイルの mtime を元にコミット日時を設定して個別にコミットしてくれる。

#!/bin/bash
find . -name \*.txt | sort | while read file; do
    time="`stat --format=%Y $file` +0900"
    git add $file
    env GIT_AUTHOR_DATE="$time" GIT_COMMITTER_DATE="$time" \
        git commit -m 'initial revision' $file
done

まぁ、これを書いたきっかけは「テキストを Git 管理できたらナウいんじゃね?」という単なる思いつきで、生の .git を直接データとして見にいく blosxom プラグインもちょっと書いてはみたんだけど、

とか考え始めたらいろいろめんどくさくなったので、きっとこのままお蔵入りだろうな。