Math::Random::MT benchmark

randのばらつき方が均等になる、という理由でMath::Random::MTが使われているようです。(身近で
macにXS版を入れようとすると
In file included from _mt.c:1:
mt.h:17: error: expected specifier-qualifier-list before ‘uint32_t’
mt.h:21: error: expected ‘)’ before ‘seed’
mt.h:22: error: expected ‘)’ before ‘*’ token
_mt.c:17: error: expected declaration specifiers or ‘…’ before ‘uint32_t’
_mt.c: In function ‘mt_init_seed’:
_mt.c:20: error: ‘uint32_t’ undeclared (first use in this function)
_mt.c:20: error: (Each undeclared identifier is reported only once
_mt.c:20: error: for each function it appears in.)
_mt.c:20: […]

iTunesの重複曲を削除する - perl

家のPCのWindowsを入れなおすついでに家のiTunesとmacbookのiTunesの中身を同期しようと思い、何も考えずにiTunesのホームネットワークに追加して曲をコピペしたら大量に重複曲ができていっこいっこ手で削除するなんてめんどくさくてできない場合の話。
iTunesには「重複する項目を表示」って機能はあるのに重複してる曲を削除する、っていう便利機能は無い。
ただし、同じアーティスト名、同じアルバム名(つまり同じディレクトリ)の同名曲は、
ファイル名の末尾に数字をつけてincrementしていく、ってルールでコピーしてきたファイルを置くようだ。
そこで、perlで重複曲を削除してみる

% perl remove-duplicate.pl /Users/mash/Music/iTunes/iTunes\ Media/Music/

って実行すると重複してるっぽい曲だけ消してくれる
その後、実体が無いけど曲のリストがあるiTunesを開き、上から順に →カーソルキー を押しっぱなしにしたりすると

のようにびっくりマークがつくので、表示項目に「追加日」を追加して、
びっくりマークを目印に、複数選択しながら消していくとまあ許容できるめんどくささになった
Term::Prompt がなんか楽しくて意味もなく “really?” とか聞くちょっとしたスクリプトを書く今日このごろ
PS. iTunes Music Library.xml をいっしょに編集したりすればもっと簡単なのかもしれない