The other day, I came across an amusing story on the KNRS Website. It involved an IT worker named Droogie who thought it would be fun to prank the DMV by buying the vanity license plate “NULL”. It was, he thought, if nothing else a nice little joke for the in-crowd and, who knows, maybe it would confuse the software that issues parking violations.
Of course, things starting going wrong right away. First, the DMV software wouldn’t allow him to register his car and he had to resort to manual means to get NULL entered into the system. Then it turned out that the company handling violations were both smarter and dumber than he imagined. On the one hand, the system didn’t care if his plate was NULL so he still got parking tickets.
On the other hand, the system entered the plate number “NULL” whenever there wasn’t enough information to correctly identify the vehicle. You can guess what happened next. Droogie got all those incomplete violations as well for a total of over \$12,000 in fines. He got that straightened out but, sadly, the violations people kept using the same system and now he has another \$6,000 in fines he has to deal with.
Who’s to blame for this tragicomedy? It’s tempting, depending on your political outlook, to blame either Droogie for being an annoying twit or the DMV and their violations contractor for being incompetent clowns. The truth, I submit, is otherwise. The real villain is the programmer who failed to consider what would happen if someone had the plate NULL. It’s not as if the problem is without precedent. Every few years we read a story about some poor soul with the name NULL and the difficulties he’s encountered at the hands of this problem. XKCD even has a cartoon about it.
You may think that your special word for an empty or invalid field will never be encountered in real life. As this story demonstrates once again, you’d be wrong.