88171.net

Blosxom エントリキャッシュプラグイン

cacheentries

なんだかんだでこのBlosxomには1400超のエントリがあるわけで、これだけのファイルに毎度毎度stat()かけてるとさすがにちょっと重い。特に、試しにabで100並列でアクセスしてみたら悲惨なことになったので、ちょっとどうにかしてみるかと思い立った。

巷にはEntries Cache Pluginというのもあるんだけど、

とか考えると欲しいものとはちょっと違うことがわかったので、車輪の再発明感を覚えつつも自分で書くことにした。

… more

TLS証明書をStartComからLet's Encryptに

ここ88171.netではかれこれ4年以上StartComの無料証明書を使わせてもらってたんだけど、ここ最近の中国WoSign関係のニュースを見て正直うーんという感じだったので、以前から関心があったLet's Encryptに切り替えた。まあStartComが今後どういう動きをするかわからないから、別にまだしばらく様子を見てもよかったけど。

仕組みさえ作ってしまえば証明書の更新が完全自動化できるってのが地味に便利。年一回の作業とはいえ、やれクライアント証明書どれだっけとかやれ鍵長いくつにしてたっけとか、更新のたびに意外とめんどくさかったから。


KangerTech NEBOX

いろいろあってタバコを辞めようかなと思い始めた矢先、友人Jからvape(いわゆる電子タバコ)を始めたという話を聞いて、手を出してみた。結局のところ禁煙には成功してないわけだけど(その話はまた別の機会に)、紙巻タバコはスッパリ辞めてvapeに落ち着いている今日この頃。

で、本格的にvapeをやろうと思った時に買ったのがKangerTechのNEBOX。まあJと飲み屋でビール飲んでる最中に勢いでIYHしたんだけども。

KangerTech NEBOX (Red)

世の中にはそれこそいろんなメーカーからいろんなデバイスが出回っていて、ガジェオタ気質のある自分はあまりの沼の深さにビビってしまい、こだわらずに使えるものが欲しいなと思ったのが理由の一つ。あとはタンク容量が破格の10mlという点も俺的にはポイントだった。同じオールインワンというコンセプトだと実質的な後継機のCUPTIがあるけど、国内では入手性良くないしちょっと高いしで見送った。

… more

Hardware Mulfunction

Windows がハードウェアベンダに全てを丸投げした決定的瞬間。

そんなこんなでバタバタしていて、このサーバの移行作業のモチベーションが上がらず焦ってるところ。

無駄にサーバ2台体制になってしまうので、どんなに遅くとも今月末までにはなんとかしないと…


夕焼け

iPhone 5s, ISO 32, f/2.2, 1/30 sec, 0 EV

こういう空は、ちょっと目を離した隙にガラッと表情を変えるから油断ならない。


Sieve 入れてみた

とかさんざん dis っておきながら、結局 Dovecot の Sieve プラグインを入れてるというこのザマね。

念のため言っておくと、配送時に特定条件で IMAP フラグをいじる方法が現実問題として他になくて、仕方なく入れたんだからね。言語仕様はやっぱりどうしようもなく気持ち悪いし、 implicit な挙動があれこれあって念入りに sieve-test しないと怖くて使えたもんじゃないし、実装毎の独自拡張がざらにあったりする時点でお察しですよ。まぁ syntax の気持ち悪さという点では Procmail も相当だけど、俺的には Procmail の方が全然食える。

… more

rrsync がステキ

必要なディレクトリだけ cpio なりでアーカイブして、 rsync over SSH で吸い出すことにする。 まだ設定してないけど。

88171.net :: FreeNAS 稼働開始

というわけで、この鯖 (さくらの VPS) のクリティカルなデータを自宅の NAS にバックアップしましょう、と、ようやく重い腰を上げた次第。で、前々から目をつけてた rrsync がいざ使ってみたらちょいステキだったので軽く紹介してみようかと。

rrsync とは何ぞや

かの有名な rsync に付属のプログラム、というか 200 行ちょっとの Perl スクリプト。名前の由来は Restricted rsync の略 (のはず) 。

いざインターネット越しでサーバからデータを吸い出す処理を自動化しようと思うと、これが単純に見えて意外とめんどくさい。

… more

第3次カメラブーム

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

第1次: 高校生の頃

天安門広場, Zenit-122

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

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

… more

台北旅行

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

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 だと言われたら、他をあたってください。

… more