Preventative Programming Techniques by Brian M. Hawkins