〜2013年3月上旬〜
Xにはなぜ2つクリップボード的なものがあるのか知らないけど、これは正直うっとうしい。
たとえばブラウザでリンクをコピーしても端末で中クリックじゃペーストできないし。
1個にまとめて欲しい。というわけでautocutselを入れてみたが、どうにも同期してくれない。
autocutsel -f; autocutsel -f -s PRIMARYと2つ起動すればいけるようだけど、それはなんか納得いかない。
いろいろぐぐったらparcelliteというのがいいというので試した。
設定でプライマリ・セクション(選択)を使用(P)とクリップボード同士を同期(Y)をチェックすればOK。
これでどちらも同じ内容になる。そうそうこれだよ。
履歴もさかのぼれるし地味に便利だ。
ここでは&&=を使うのがぴったり。
str["perl"] &&= "ruby"
&&=は
str["perl"] = str["perl"] && "ruby"
ではなく
str["perl"] && str["perl"] = "ruby"
の構文糖であることに注意。これで"perl"が含まれてなくてもエラーにならない。
ということはそれをPNGに適用すればスキャン画像も10%ぐらい小さくなるわけで。
これは結構いいかもしれない。時間は100倍近くかかるが。
ImageOptimが使えればよさげではあるがどう見てもMac用だ。
hexdump, fold, head, sedを使っているが、hexdumpだけで十分。
hexdump -v -e '"%u"' </dev/urandom|fold -60|head -n 30|sed 's/\(.\{2\}\)/\1 /g'
は
hexdump -n900 -e '30/1 "%02x ""\n"' /dev/urandom
と書ける。
本格的に花粉のシーズンになったようだが症状が軽い。モーニングアタックもない。
ここ数年だんだん軽くなってる気がする。毎日食べてるヨーグルトか?
なぜかlighttpdだけ仲間外れになってるので作った。まあほとんどApacheと同じだけど。
accesslog.format = "host:%h ident:%l user:%u time:%t req:%r status:%>s size:%b referer:%{Referer}i ua:%{User-Agent}i"
\tだとほんとに\tと表示されてしまう。エスケープはできないようだ。
3進数で2を含まないものを列挙しろという問題。
素直に取ればそうなんだけど、2を含まないということは0と1しか残らないわけで、それは2進数なのだ。
だから2進数を3進数だと見做して10進数に変換しろという問題でもある。
% ruby -e '10.times.reject{|i|/2/=~(x=i.to_s(3))||printf("%04d\n", x)}' 0000 0001 0010 0011 0100
だからi.to_s(2).to_i(3)でいいわけだ。これを短くすると("%b"%i).to_i 3になる。
zshに移植するとこうなる
repeat 105 a=$[[#2]i++]&&echo $[${a/2/3}]
わざわざ何のためにmp3をmp4へ変換するのかというと、PS3で1.5速で聴くため。
背景は何もないとさびしいのでついでに。最初は
% avconv -y -loop 1 -r 1 -shortest -i foo.jpg -i podcast.mp3 -ac 1 -acodec copy podcast.mp4
でいいと思ったんだけど、なぜかPS3では音が出ず。いろいろ試行錯誤の結果こうなった。
% avconv -y -loop 1 -r 1 -shortest -i foo.jpg -i podcast.mp3 -ac 1 -acodec libvo_aacenc -ar 44100 -b:a 64k podcast.mp4
音声はAACにした。どうせ元は64kなのでその指定も。-shortestをつけないとなぜか終了しない。