Subsequently, they've turned it into a book , and a website.
If you program in Java, you must read this book. It covers the kind of traps in your code you wouldn't even imagine could be there.
I can guarantee you have written at least one of these issues into your code. And QA never caught it. And it is out in the wild RIGHT NOW. Arrgh!!
These days, I think (and hope) that most professional developers are relatively atuned to coding security issues and the rise of opinionated testing methodologies (Unit testing, TDD, BDD etc). But this book is a real eye-opener to the range of issues that you wouldn't even think worthy of a unit test case.
public static boolean isOdd(int i) {Seems like a reasonable test for odd numbers? Except it is wrong a quarter of the time.
return i % 2 == 1;
}
And that is just puzzle #1.
The book takes you through issues with strings, loops, classes, libraries, all the way to puzzle #95, where you learn why you shouldn't program like your brother.
Java Puzzlers by me