How Not To Implement Card-Shuffling Software
This one is a classic, from 1999. I like it. It illustrates the value in openly publishing critical sections of highly important code:
Poker is a card game that many people around the world enjoy. Poker is played at kitchen tables, in casinos, and cardrooms -- and more recently, the Web. A few of us here at Reliable Software Technologies play poker. Since many of us spend a good amount of our days online, it was only a matter of time before some of us put the two interests together. This is the story of how our interest in online poker and software security mixed to create a spectacular security exploit.