error messages can be in the wrong places there can be fewer errors than the number of error messages having someone else read your code can be useful coming back to your code the next day can be helpful error messages can be misleading. the most important thing is that they occur, not what they say Debugging: printing out values divide and conquer Tricks using stubs copying from another piece of code Maxims DRY KISS constants are expressions too Change the way formats are displayed, removing and using colors All formats should be followed by examples