To add to the above, if you're going to link to this site, Bryan has helpfully provided code and graphics.