www.donaldharper.com/posts/2009/02/13/odds-and-ends-4.md