A Little Knowledge Can Be a Felonious Thing
Not understanding some basic rules of mathematics or logic can be a problem if you are a computer programmer. It can stand in the way of a good solution to a problem, or worse yet, can cause you to spend a lot of time working on a dead end.
In the case of New Zealand developer Philip Whitley, not understanding the Pigeonhole Principle led to a $NZ 5.3M fine, and up to five years in jail.
For roughly the past ten years or so, Whitley had been raising money to fund a company that was to use his revolutionary data compression algorithm. This algorithm purported to be able to compress every file by 92.5%.
Readers of this space know quite well that it is provably impossible to compress every file. And anyone with some experience in data compression knows that the notion that all files could be compressed by a large, fixed amount is patently ludicrous.
But to the man on the street, this sort of thing isn’t entirely obvious, and that fact allowed Whitley to raise millions from investors in New Zealand.
Fortunately, the prosecutors didn’t have to hang their case on testimony from academics about abstract mathematical proofs - Whitley lied to his investors about having patented the technology, and that was enough for the Kiwi Serious Fraud Office to garner a conviction.
Not the First, Not the Last
Whitley isn’t the first compression con artist, and he won’t be the last. A few years back I served as a witness for a man who ran afoul of the US Department of Justice for a similar compression scheme. His work resulted in substantial losses for a number of people, as disparate as a dentist from my suburban home of Plano, Texas, and Swiss musician of note Deiter Meier. Neither the defendant nor his victims had much knowledge of algorithmic law in that case, either.
What does this mean to us? Well, the next time you hear someone arguing that a CS degree doesn’t do the average programmer any good, you might remember that at a minimum it can help keep you out of jail. Surely that’s worth something.