I actually teach programming at my university . One really bad bug I had to find some years ago was in a looong C code I inherited from some other guy who was leaving a project . The code worked nearly flawlessly , but once in a while it did the most unreasonable jumps . I had the source code and searched . For about three weeks . And then it hit me , the bug was in the very first line of the code enum true , false . This made the value for true 0 and the value for false 1 . All boolean conditions now depended on whether they were written out like if atrue or not if a . When I finally fixed this bug , several others popped up obviously , this guy working on the code before me had had similar problems and made several workaround fixes like the occasional and very intuitive if atrue afalse which I had to find and eliminate one by one . In the end everything was fine , phew .