Blown To Bits


Sunday, January 3rd, 2010 by Harry Lewis

The problems that were widely feared fro the year 2000 — computers failing to add 1 to 1999 correctly because they had been coded to use only two digits for the “year” field — have actually occurred, 10 years late. There have been two reports of software thinking the day after December 31, 2009 is January 1, 2016.

Some phones are showing 2016 dates on received text messages.

And some retail computer terminals are making the same mistake, causing them to reject customer credit cards with expiration dates prior to 2016.

What’s up? There is some speculation on Slashdot that (a) only the last two digits are being stored (“10” instead of “2010”), and then (b) the “10” is somehow being interpreted as hexadecimal rather than decimal (which would make it decimal 16).

Nothing is truly hard to imagine in the hearts and minds of a corner-cutting coder, but (a), in this day of cheap memory and with the Y2K problem still in our rear view mirrors, would be really dumb, and (b) requires imagining a really perverse data representation (encoding the decimal digits in successive 4-bit “nibbles”, and then forgetting that you’d done that and interpreting the fully 8-bit byte as a binary number).

Comments are closed.