http://www.projectuseful.org/stories/26 halfway there ...