Forgot your password?

typodupeerror
Bug Technology

2016 Bug Hits Text Messages, Payment Processing 340

Posted by Soulskill
from the y2k16-has-more-characters-than-2016 dept.
An anonymous reader writes "It seems some systems are suffering from a Y2K16 bug. When 2009 ticked over to 2010, some Australian EFTPOS machines skipped to the year 2016. Coincidentally, some Windows Mobile users are also having issues with their new year SMSes coming from 2016. What function could cause this kind of error?"
This discussion has been archived. No new comments can be posted.

2016 Bug Hits Text Messages, Payment Processing

Comments Filter:
  • Some kind of... (Score:5, Insightful)

    by msauve (701917) on Sunday January 03 2010, @10:06AM (#30631394)
    BCD/binary mismatch?

    0x09 = 9 decimal when interpreted as either binary or BCD.

    0x10 = 10 decimal when interpreted as BCD, as 16 when interpreted as binary.
  • 4-bit years? (Score:2, Insightful)

    by Anonymous Coward on Sunday January 03 2010, @10:07AM (#30631398)

    A 4-bit year field? Wrapping from 9 to 0 (16) ?

  • by Anonymous Coward on Sunday January 03 2010, @10:28AM (#30631516)

    nycguy gets 100 points. Thread closed.

  • Re:Some kind of... (Score:1, Insightful)

    by Anonymous Coward on Sunday January 03 2010, @10:30AM (#30631528)

    It's almost as if you're supposed to have some idea about what you're talking about before you publish.

    Still, at least people like you subsidize Twitter and blogger.com.

  • Re:Some kind of... (Score:4, Insightful)

    by clone53421 (1310749) on Sunday January 03 2010, @11:02AM (#30631694) Journal

    0x10 is 16 in hexadecimal, not binary

    0x10 is still 16 in binary.

    (0x10 always means 0001 0000 in binary. The question is whether that number is interpreted in BCD, i.e. 10, or as a binary integer, i.e. 16.)

  • by Anonymous Coward on Sunday January 03 2010, @11:29AM (#30631842)

    That may be an attempt to distinguish the BCD values from normal binary numbers. The only value for which swapped nibble encoding equals binary encoding is 0, so a test-case would catch a misinterpretation easily. I've seen a unit test which tests the algorithms with 2005 for the year. That test will not catch an error in a single-byte-year algorithm which mistakes non-swapped BCD for binary or vice versa.

  • Re:Some kind of... (Score:3, Insightful)

    by Mikkeles (698461) on Sunday January 03 2010, @11:40AM (#30631904)

    Er, the "11" was in unary!

  • by daveime (1253762) on Sunday January 03 2010, @12:16PM (#30632094)

    Yes, but that's just the point isn't it ?

    There are 10 types of people ...

    1. Those who will make a solution that will work for perhaps 30 or 35 years, because it is "good enough" for the foreseeable future, ala Y2K, 2032 for linux etc ...

    2. Those who will want to do unit tests to see if the date function still works in the year 9500, and won't pass it through QA until it does.

    Now, consider the PHB, when you tell him that solution 1 will be up and running in 5 minutes, whereas solution 2 will be up and running in about 5 years, once the specification has been formalized and ratified by the UN security council.

    Which solution will the PHB choose I wonder ? Programming has always been a compromise, no one *really* expects that something they code today will still be around in 35 or 40 years, it's only occasionally that something *does* survive that long (COBOL legacy systems etc), and come and bite us in the ass when the new millenia arrives.

    Having said that, I wonder how many of the "buzzword" languages we see today will still be around in the next 40 years ? The concept of longevity might have been relevant in the 60's, these days it's more a case of a complete rewrite every year or so.

  • by ub3r n3u7r4l1st (1388939) * on Sunday January 03 2010, @12:49PM (#30632302)

    This is an indication that the human race will survive 2012! Rejoice!

  • by Dimitrii (958525) on Sunday January 03 2010, @01:19PM (#30632486)

    Mod points, I wish I had them.

  • by osu-neko (2604) on Sunday January 03 2010, @03:30PM (#30633570)

    Any EE will tell you that 2k16 means 2.16k or 2160. How does this garbage continue making it to the front page?

    Actually, most EE's I know are smarter than that. The fact that X means Y in some contexts does not mean X means Y in all contexts. Most competent speakers of the language have no trouble determining meaning, taking context into account. It's rare that someone manages to get an EE while lacking the level of intelligence required to do that.

Fun Facts, #14: In table tennis, whoever gets 21 points first wins. That's how it once was in baseball -- whoever got 21 runs first won.

Working...