Ok this one right here is a epic fail.
Here is the story… Guy goes into store and buys a pack of cigarettes. Guy gets home and checks his account only to find that he was charged $23,148,855,308,184,500.00 oh ya and a $15 overdraft fee. [Sub Fail: Only $15? My bank charges me $30]
Yes that is a HUGE number and this guy was not the only one. There were over 10,000 visa transactions that had this happen to them.
In the end all the transactions were reversed however the error was caused by a programming glitch.
What is interesting is that the amount charged actually reveals the type of programming error that caused the problem. 23,148,855,308,184,500.00 * 100 (I’m guessing this is how the number is actually stored) is 2314885530818450000. Convert 2314885530818450000 to hexadecimal, and you end up with 20 20 20 20 20 20 12 50. Most C/C++ programmers see the error now … hex 20 is a space. So spaces were stuffed into a field where binary zero should have been.
Yes this is also a fail. I am no programmer but that seems like a major fail in itself that you would put a space rather than a 0. Oh well at least my account didnt get hit by it 😉