Defensive programming is much like defensive driving. In a world where we have different developers collaborating on a single project, whether closed or open source, different ways of coding can impact on the end product. Defensive programming is a practice where one anticipates failures in coding and adds supporting code to detect, isolate and in some cases, recover from the ainticipated failure. In this presentation we illustrate a number of defensive programming techniques, along with a few generally bad programming examples you'll want to avoid.