Entries from 2013-02-01 to 1 month

LTSV のもうひとつのメリット、あるいは、プログラムでログを出力する際に気をつけるべきこと

Labeled Tab-separated Values (LTSV) がブームのようです。LTSV については、ラベルをつけることで柔軟に拡張できるという点が、その特徴として取り上げられますが、もう一点、タブをセパレータに使うことでログのパースが簡単になった、という点を忘れるべ…

Mac OS Xで、再起動せずにスワップを解放する方法

Mac を使っていて、だんだん動きがもっさりしてきたなー*1と思って /private/var/vm/ 下を見ると、案の定スワップファイルが溜まっていることがある。こういうケースでの対策としては、・スワップ禁止にする、・/usr/sbin/purgeする、・再起動する、といった…

__restrict__とインライン展開を用いてCコンパイラのalias analysisを回避する方法

コンパイラ依存ですが、__restrict__ とインライン展開を組み合わせることで、単一の値から派生したふたつのポインタを、互いに相互作用がないかのように最適化させることができます。たとえば以下のコードをコンパイルすると、 extern void f(int* sp); ext…

git で特定のファイルの変更を追う方法

git log -p!GUI ほしいけど、とりあえずは、 (for i in `git log --pretty="format:%h" ファイル名` ; do git show $i ファイル名 ; done)で読むとだいたいわかる。

git branch の結果を時間順にソート

ブランチが大量にあると、git branch の結果を最終更新時間でソートして表示したくなりますよね。以下のワンライナーでできます。 (for i in `git branch | colrm 1 2` ; do echo `git log --date=iso8601 -n 1 --pretty="format:[%ai] %h" $i` $i ; done) |…