www.donaldharper.com/posts/2009/02/11/odds-and-ends-2.md