Safari で開いているページのリンクを Evernote クライアントに送る
最近、プログラミング関係のまとめやインストール手順の記録といったものには Evernote を利用している(ちなみに、公開しているノートブックは Programming Notes)。
画像中の手書き文字認識や「脳を拡張する」といった誇大広告ばかりが取り沙汰されるサービスだが、単純にメモツールとして優れており、特に Mac クライアントと iPhone クライアントの出来がすばらしい。
Python でプロパティリストを読み込む
Python でプロパティリストを読み込み、オブジェクトに変換するライブラリ plist_parser を書いた。GitHub で公開している。Python 2.4 以降で動作確認済み。ただし、対応するフォーマットは XML のみで、書き込みにも対応していない。
Mac の Python をビルドするときに GNU Readline ライブラリを有効にする
Mac OS X では GNU の Readline ライブラリがインストールには含まれておらず、Readline 互換の Libedit というライブラリへのシンボリックリンクとなっている(こうなっている理由はライセンス上の問題からだと思われる。GNU の Readline ライブラリは GPL で、Libedit は BSD ライセンスだ)。
しかし、これが原因で Readline 対応のプログラムがコンパイルできない、コンパイルできてもヒストリ機能などが使えない、といった問題がしばしば起こる。
Python は後者の例で、configure スクリプトはちゃんと readline ライブラリを認識し make も問題なく通るのだが、実際には Readline ライブラリが無効になったバイナリがインストールされてしまう。
Apple によるロケール周りの変更点を Python 2.5.2 にも適用する
最近 Python を 2.5.2 にアップデートして同じ作業を繰り返したことと、Apple によるロケール周りの変更点を Python 2.5.1 にも適用するのときはパッチの適用方法について言及がなかったこともあり、そのへんも含めて手順をまとめておく。