See http://www.namazu.org/~satoru/diary/20040923.html#p01