Y2.01K 269
After our recent discussion of decimal/hexadecimal confusion at the turn of 2010, alphadogg writes in with a Network World survey of wider problems caused by the date change. "A decade after the Y2K crisis, date changes still pose technology problems, making some security software upgrades difficult and locking millions of bank ATM users out of their accounts. Chips used in bank cards to identify account numbers could not read the year 2010 properly, making it impossible for ATMs and point of sale machines in Germany to read debit cards of 30 million people since New Year's Day, according to published reports. The workaround is to reprogram the machines so the chips don't have to deal with the number. In Australia, point-of-sales machines skipped ahead to 2016 rather than 2010 at midnight Dec. 31, rendering them unusable by retailers, some of whom reported thousands of dollars in lost sales. Meanwhile Symantec's network-access control software that is supposed to check whether spam and virus definitions have been updated recently enough fails because of this 2010 problem."
Have I not heard this before? (Score:2)
Does anyone remember this well enough to dig up the article?
Thanks (and lazy),
Todd
Re: (Score:3, Funny)
Didn't I hear this before? I remember people talking about scamming banking systems via the confusion caused by 2010.
Wait a second... isn't that the plot from Superman IV?
idiocy? Incompetence? (Score:5, Insightful)
not anticipate and extensively test for future dates?
Is this sheer utter incompetence, or just a total lack of intelligence?
Yee Gods!
Re: (Score:3, Insightful)
Because everybody forgot about Y2K on Jan 1 2000. Planes didn't fall from the sky, remember (well not immediately, anyway).
Re:idiocy? Incompetence? (Score:5, Funny)
Hmmm so the 9/11 hijackers were Y2K bugs then? We better keep an eye out for more aircraft bugs on Sept 11 2011 .... holy shit there is an 11 in 2011 AND 9/11! ZOMG!
Re:idiocy? Incompetence? (Score:5, Funny)
Re: (Score:2)
I know, we need more of them. It was traumatic when it happened, but seriously - it's been nearly a decade at this point. It's no longer too soon.
Re:idiocy? Incompetence? (Score:5, Funny)
Because everybody forgot about Y2K on Jan 1 2000. Planes didn't fall from the sky, remember (well not immediately, anyway).
Yes. I anticipated this. I now store all my dates much like the Unix epoch, except I store it in a 1 gigabit integer field (f*ck 64-bit integers) that counts the number of seconds since midnight January 1st, 50,000,000,000^1024 years ago.
We should be safe from now until the universe collapses, Jesus comes back, Allah blows us all up, or the Great Green Arkleseizure wipes his nose.
Oh--and you do have that new holographic storage tech in your laptop, right? You'll need a few exobytes just to store the timestamps on all your files...
Re: (Score:2)
Re: (Score:3, Insightful)
I've been confronted with the idiot at dinner(s) who says "what about that Y2K bug - what a load of crap that was, nothing happened". I gently remind them that a lot of people worked pretty hard to make sure nothing happened. Maybe this time around there won't be any budget to handle it. Guess we may find out on the 10/10/2010.
Re:idiocy? Incompetence? (Score:5, Informative)
Amen this this sentiment. The effort to make sure that the Y2K bug didn't cause more havoc and mayhem is precisely due to the herculean effort on the part of hundreds of thousands of programmers who worked overtime to see that it didn't happen.
I had the cell phone for my company to receive the complaints from customers seeking an engineering solution to fixing any potential problems on the night of December 31st, 1999. The company CEO had this number on speed dial for some very high end clients. That I got through the night with some excellent sleep is a testament to the work that did happen was well done.
It turned out for the company I worked for, there was a Y2K bug that did get missed, but it was relatively minor and only impacted the error logging system. Even funnier was that particular system had only been developed six months earlier, by a programmer who clearly should have known better. The date being logged was recorded as the year "19100" instead of 2000.
I'm far more worried about the 2038 Unix overflow bug, which is a much harder bug to try and root out of systems. We have 18 years to fix that bug, but I'm mainly worried that legacy applications on archaic computers used in situations that has no budget is where it will be the largest problem. Unix boxes in particular are known as workhorse computers that can be neglected and ignored... unlike a Windows computer that will most certainly be in the recycling bin within 18 years.
Also, one of the typical "fixes" for the Y2K bug was to set an arbitrary "century window" on the software.... with sometimes random intervals for when this window actually falls. Instead of Y2K biting you all on the same day, it will happen as a class of failures on random dates when some major epoch happens.... such as 2010. So for me, this isn't even news as this is something I'm expecting. 2020 is going to be another year to watch for similar bugs, and 2040 is going to be a particularly ugly year as 1940 was set as a common century epoch point for a great many companies. 1970 was more common, but I hope that the Y2K bug is finally fixed by 2070.
Re: (Score:3, Insightful)
Actually, some early problems would have been discovered two years ago (think: 30-year loans). In all likelihood, there are plenty of bugs out there going unnoticed because some database table is silently capping the value at the signed int limit rather than throwing some sort of overflow error. Come 2038, there may be plenty of people who get a bill for an unexpected balloon payment in the tens or hundreds of thousands of dollars. Or on the flip side, bills will stop being sent out and some bank ends up lo
Re: (Score:3, Insightful)
This is because they let people that shouldn't be anywhere near a production system write software.
Almost all of these issues can be attributed to developers rolling their own date handling functions or misusing built-in functions.
I'd blame some of it on retarded user interfaces that accept two digit year values.
DO NOT REINVENT THE WHEEL!!
Re: (Score:3, Insightful)
Re: (Score:2)
Exactly.
Re: (Score:2)
"If it's old code it's good code" is a half-decent catchphrase. "No code is good code" is better. (Or less code, if you really must code).
Re: (Score:2)
If you have ever worked with bloated or corrupted libraries, there certainly is a reason to "reinvent the wheel" from time to time.
Then again, it takes a very competent developer to know the difference between what is a bad library function and what is simply poor design that doesn't take into account all of the potential variables and what their valid ranges might be. Thinking that your program or software will only be used for x years is what caused most of the Y2K bugs in the first place, and similar bu
Re:idiocy? Incompetence? (Score:4, Insightful)
This is precisely why Windows no longer even fits on a DVD disc any more, and they are moving on to Blu-ray discs for distribution.
Says someone who has no clue what their talking about.
Windows OS code is not bloated because of inefficient libraries, it is bloated because, with the exception of Vista, MS bends over backwards to include hacks for legacy software. Essentially they make sure people whose code relied on some bug or quirk in a previous version of Windows still works in the next version of windows, even though the bug itself was fixed.
One example was SimCity 2000 back in the Windows 95 days. Microsoft actually put in a SC2000 specific hack just so that program would work on the next version of Windows, because they had relied on some odd behavior of Windows at the time, and there was no way to update all the copies of SC2000.
They do that kind of thing for thousands of companies with each new version of Windows, just to maintain compatibility.
Combine that with all of the new features each new upgrade brings, and you have your size increase right there. And I predict the next one will be even larger, for these very reasons. ;)
Re: (Score:2)
Re: (Score:2)
Alright everyone, listen up! The only good code is 3735929054, Monsieur F. said so!
Re: (Score:3, Funny)
Wait until Dec. 31, 9999. Watch as people panic about there being 5 digits in the year and how programs were only written to accommodate 4 digit years for the past 8000 years!
Re:idiocy? Incompetence? (Score:5, Funny)
Wait until Dec. 31, 9999. Watch as people panic about there being 5 digits in the year and how programs were only written to accommodate 4 digit years for the past 8000 years!
They are going to have thaw out a lot of old cobol programmers.
Re:idiocy? Incompetence? (Score:5, Funny)
True.
We should start freezing them now, just to be sure.
Re: (Score:2)
Shhhh.
I need a new air conditioner.
Re:idiocy? Incompetence? (Score:5, Funny)
They are going to have thaw out a lot of old cobol programmers.
I, for one, welcome the Lords of Cobol.
/All this has happened before, and all of it will happen again.
Re: (Score:2)
Aaah, I always wondered, that if Galactica was an infinite loop, then how did it all start. NOW I know.
I wonder if Cylons crash on round date values. ;)
Re: (Score:2)
Re:idiocy? Incompetence? (Score:4, Funny)
Re: (Score:2)
Is this sheer utter incompetence, or just a total lack of intelligence?
you phrase that question as if it can't be both...
Re:idiocy? Incompetence? (Score:5, Insightful)
100% incompetence.
I would bet all the money I have that 99.99% of these problems are caused by people not taking the time to learn the standard library of whatever programming language they're using. For some reason there's a gut instinct among programmers that they have to write all date processing code themselves. I can think of 4 separate occasions, off the top of my head, where I've replaced dozens of lines of sketchy, hand roled, date formatting code with a single call to strftime. [freebsd.org]
Re: (Score:2)
How do you explain this bug from spamassassin?
X-Spam-Status: Yes, score=6.1 required=4.0 tests=AWL,FH_DATE_PAST_20XX,
HTML_MESSAGE,HTML_MIME_NO_HTML_TAG,MIME_HTML_ONLY autolearn=disabled
version=3.2.5
X-Spam-Report:
* 3.4 FH_DATE_PAST_20XX The date is grossly in the future.
Re: (Score:2)
Re: (Score:2)
That’s more of a C programmer’s disease. Because it came with next to no libraries. I mean, the environment is not even developed to a point where basic memory management has a sensible abstraction from hardware. (No, you don’t need to hand-roll that. You just need to think harder, on how to generalize that thing.)
Re: (Score:2, Funny)
There are reasons of business and budget that trump incompetence, but your post reminded me of a story.
Technical background: I worked in VAX/VMS, where dates were stored as binary but commonly displayed as dd-mmm-yyyy, such as "01-Jan-2000".
Once upon a time, there was an Oracle DBA, whose primary claim to fame was being female and good looking in a line of work where such attributes were uncommon. She applied for a job in my IT department and we interviewed her. Although we found her visually refreshing,
Re: (Score:3, Insightful)
Its neither. It's ROI and worrying about this quarter's earnings over anything else, pure and simple. Because there isn't any primary returns from finding date errors in the future, businesses just won't plunk down funds to fix them, and will reactively fix problems when they happen. I see this a lot in businesses, and not just the big boys. Plenty of SMBs also are not interested in hearing about anything they need to spend their money on, but stuff that has a positive return. They would rather forget
Re:idiocy? Incompetence? (Score:5, Funny)
Re: (Score:3, Interesting)
> At the Bank of Germany, we're not happy until you're not happy.
Indeed. They even said if the cache machine in your branch did not work and you had to get money from a competitor, you will not get the fee reimbursed at most banks. So far only one bank has promised to pay them back.
Re: (Score:3, Funny)
Indeed. They even said if the cache machine in your branch did not work ...
Well, this works actually very well. The machine is caching all the money ...
Re:idiocy? Incompetence? (Score:5, Interesting)
We have actually had TWO different Y2K10 problems at our job. One was related to someone setting certain rules to expire in 2010, because, you know, it was so far off in the future they wouldn't be working here anymore.
The other bug qualifies as complete incompetence on the developer. We contracted another company to write some software to print barcode labels. They encoded pipe delimited values including a date. In order to save digits and thus reduce the size of the barcode they decided to take the year and append the Julian day. For example Jan, 6th of this year would be stored as 2010006. The problem was that they didn't feel that it was necessary to use four digits for the year. Which is understandable, but apparently TWO digits for the year was too much as well. So the end product was a one digit year ex. "0006". The code that reads the label was:
year = 2000 + barcode.left(1);
What's really scary, is that this code had to have been written post Y2K.
The worst part of the whole thing is that we have to go back to the contractor to fix the problem which is going to cost us $$$ beyond the lost revenue of downtime.
Now both of these problems have nothing to do with 2010 specifically, but it just shows how short sighted developers can be.
Re:idiocy? Incompetence? (Score:4, Insightful)
Since the contractor is going to be paid a second time, I would say it demonstrates their forward planning.
Re: (Score:2)
That will actually be a problem in 2017 in code I wrote.
I needed to implement 3-digit inventory taking IDs in 2007, whit about 20-30 inventories taken each year. So I have a one-digit year in those IDs, and in 2017 I will have to either delete the old ones or find a new approach.
But since a few weeks all our barcode scanners also can handle letter barcodes, so I can probably push the real problem into 2043, when I'm retired. ;-P
Re: (Score:2)
Yup. At a conference I heard somebody say that "the only smart code is a dumb code" - I've been convinced this is right ever since. EVERY smart coding system I've run into at work has caused untold pain when something that would "never" happen, happened...
Me Too (Score:2)
Re: (Score:2)
The worst part of the whole thing is that we have to go back to the contractor to fix the problem which is going to cost us $$$ beyond the lost revenue of downtime.
Do you not have legal recourse against the contractor who sold you obviously broken software?
Re: (Score:3, Funny)
How on earth could this happen? This is shear blistering incompetence that no one thought to include any more days past this point.
Re:idiocy? Incompetence? (Score:4, Informative)
Two reasons
Re: (Score:2)
Dates are really, really horrible. If you have not had the privilege of writing an international application, worrying about different date and time representations, simultaneity across different time-zones (and the date line) - well, it's an adventure, and even careful testing may not catch everything. Gratuitous real-world example: WinXP allows users to set date-separators and the like in a way that makes unambiguous date/time parsing impossible.
Which is why you don't do that. You let standard library functions (which were mostly written years ago and have been tested far more extensively than any of your code is likely to be) handle it.
And where this is impossible, you don't even attempt to parse dates. You work purely on something like "number of seconds since the epoch" and only turn it into a human-readable date just before you show it to a human.
Really, the cases in which you're likely to need to parse a date in the real world are few and fa
Re: (Score:3, Insightful)
What I am talking about is mentoring and code reviews, two things that seem to have gone the way of the dodo. "Catch errors early" has always been a good coder's maxim; but there really is no excuse to have a newbie's code go
Re:idiocy? Incompetence? (Score:4, Funny)
Re: (Score:3, Informative)
It's not the Excel language that breaks stuff as far as I recall, but Windows' regional settings. Set your windows regional settings to France or whatever, and it should work.
At least, that is the case for csv files in Excel.
Re: (Score:2)
Actually, no. In Excel, formula names are localized, so SUM becomes SUMA in spanish. And it's not automatically converted when you open a foreign document.
Re: (Score:3, Informative)
Similarly, a .xls file created with a non-english excel (we often receive such files from clients who use excel in french) uses commas as the float separator and is unreadable in another version of excel.
That’s not even true. Maybe you meant .csv files.
I’ve created .xls files on a computer with German regional settings (comma for the decimal point, dot for the thousands separator) and moved it onto a computer with normal US regional settings. It worked perfectly fine.
It even converted all my formula cells... on the German settings, semicolons are used to delimit function arguments, and commas are used for hard-coded floats. E.g. if with the US settings you’d use
=IF(A1>0.5, 0.5, A1)
with
Re: (Score:3)
Re: (Score:2)
I think it's because the code was created here [slashdot.org]
Re: (Score:2)
Because people still insist in using their old and silly date format everywhere. dd.mm.yy, dd/mm/yy, mm/dd/yy.
There's an international format called ISO 8601, which is accepted in almost every country around the world. yyyy-mm-dd with 4 digits for the year.
If such a date format would be common, nobody would even think about using only 2 digits (or less) to save a date. And no, 2010 wouldn't be interpreted as 2016. It would be wrong from the very beginning if somebody wants to interpret a BCD number as a
Re: (Score:2)
How on earth can things like this happen? After the Y2K debacle how can anyone
not anticipate and extensively test for future dates?
We'll worry about that when we get to it.
Re: (Score:2)
How on earth can things like this happen? After the Y2K debacle how can anyone
not anticipate and extensively test for future dates?
We'll worry about that when we get to it.
True story
Re: (Score:2)
These coders are morons. (Score:2)
Several years ago - might've even been last decade - I wrote a flash movie that checks the version number of the flash player and informs you if you need an update. And guess what? It still works fine.
That was Flash 4, I believe. Somehow due to my great forethought it was able to cope with Flash 10 without spazzing out.
Whenever I do dates, and am not using long (for miliseconds), I usually put the year in as int. I guess that means I should be set until 2 billion years or so?
Well, to be fair to the morons t
Re:These coders are morons. (Score:4, Funny)
For instance, I'm doubtful there will be anything in existence in 2 billion years that will be capable of reading your code...
That's probably what the Ancients thought when they built the Stargates. Never underestimate the need future species may have for a plot generation device.
Windows Mobile (Score:5, Funny)
http://news.cnet.com/8301-13860_3-10425455-56.html [cnet.com]
this is affecting me and the other 3 guys on the planet with a Windows Mobile phone, too. :(
Re: (Score:2)
Uhm, I am one of those other three guys but my phone (Touch HD, WM6.5 build 21896.5.0.82) is not affected.
Re: (Score:2)
Re: (Score:3, Informative)
MMX Technology (Score:4, Funny)
Geez! Intel introduced MMX Technology [wikipedia.org] to take care of this problem in 1996! Get with the times!
We got hit by Y2.01k (Score:3, Funny)
Re: (Score:2)
January 1st our 15 year old security badge system started marking all badges as invalid. Couldn't fix it until we rolled back the system date.
That's strange. If 10 is misrepresented as 0x10, you'd think that 0x95 would be even worse. Did it not start working until 2000?
the eternal curse of the software developer (Score:5, Insightful)
Programmer: "I want to take some time to refactor some of the older code."
MBA: "What's the ROI on that?"
Programmer: "DIAF."
Re: (Score:3, Informative)
Re: (Score:2)
does the wii has a minor 2010 issue? (Score:3, Interesting)
Playing wii new years eve. The thing hard crashed exactly as the year changed (it was in the menu not a game). After a reboot it was fine.
Re:does the wii has a minor 2010 issue? (Score:5, Funny)
Endpoint Protection (Score:2)
Re: (Score:2)
All I know about Symantec and updates is that Norton Antivirus Corporate Edition had a bug where it would occasionally refuse to pull updates unless you were running their magical server product. You fixed it by uninstalling and reinstalling. This bug persisted at least from Norton 7 to Symantec AV 9.
Spamassassin (Score:4, Informative)
Spamassassin in Kerio Mailserver has a bug that flags all messages dated 2010 as spam. I think it affects the normal spamassassin as well.
Good. (Score:5, Insightful)
Though, if anyone could tell me why my power went out at exactly midnight on that night, I'd love to know. The Preston Hollow neighborhood in Dallas did have a power failure right at midnight. And I never could figure out what happened. But all the equipment I was responsible worked flawlessly.
Re: (Score:2)
``Though, if anyone could tell me why my power went out at exactly midnight on that night, I'd love to know.''
Same here. Why would the system supplying the power be dependent on the time? For navigation systems, I can sort of see a case ... not that it would be a good idea, but I can imagine how it could work (that is, fail). But this?
Re: (Score:2)
Power requirements fluctuate. You get spikes caused by things like lots of people cooking breakfast at the same time (a 2kW electric kettle by itself draws more power than most of the other stuff in the house put together; if your country has a lot of electric showers then lots of people turning the shower on at the same time would be even worse); lots of people making drinks (those kettles again) during the ad breaks in popular TV shows; etc. Power generation needs to be ramped up in anticipation of these
Re: (Score:2)
(silly? Military jets had all navigation crash when crossing the date line, and if not for a tanker with them and that communications worked when navigation failed, they would have crashed).
If avionics failed, they would have crashed. But if these fucks can't land planes on basic instrumentation then they probably shouldn't be piloting military hardware.
Re: (Score:2)
Well, much of the international dateline is over the Pacific Ocean where land masses tend to be really small, few, and very far between. Depending upon where the jets were when the incident happened, I can see where a navigational systems crash may have meant attempting a water landing in an aircraft not exactly designed for it.
Amelia Earhart isn't the only one to end up in the drink, after all.
Weird (Score:2)
Re: (Score:2)
I live in Germany and on monday stood in line at the local bank when it opened behind about a dozen people who had their cards eaten by the ATM.
It's Y2K01 (Score:3, Interesting)
I think the proper way to denote year 2010 is Y2K01, just like 14K4 was used for 14400.
Of course writing Y2K01 or Y2.01K is more difficult than Y2010, so why bother using that arcane notation.
Re: (Score:3, Informative)
In electronics and many engineering situations decimal points are not used. Usually because they can be lost in copying due to small imperfections etc.
So 1.2kOhm would be written as 1k2 ohm.
10.2 ohm would be 10r2. You can see this in a lot of older schematics. I think some confuse this standard where you would write 2010 as 2k010, the last zero can of course be dropped.
Not sure which one I would prefer, just throwing in the information as it seems to be the 'solution' of sorts to the confusion?
Do people never learn? (Score:2)
With all the hype of y2k, you'd think that would be enough to push people into action and learn how to handle dates correctly... Instead, some people "fixed" y2k problems with another series of short sighted dirty hacks that are now starting to break again after only 10 years.
What the hell? (Score:2)
Is this some kind of job security feature?
I mean, what idiot programs a number field to be ambiguously hexadecimal or decimal? Of course you'll be screwed as soon as you leave the single digits.
Another bug (Score:2)
All the parking ticket dispensers in copenhagen also bugged out. http://translate.google.com/translate?js=y&prev=_t&hl=en&ie=UTF-8&layout=1&eotf=1&u=http%3A%2F%2Fwww.berlingske.dk%2Fkoebenhavn%2Fparkeringsautomater-afviser-dankort&sl=da&tl=en [google.com]
Quick fixes from 1999 (Score:2)
Re: (Score:2)
the year is 10
Less than 10, damn /.'s filtering.
I can certainly vouch for this. (Score:4, Interesting)
Got hit by this one myself (Score:3, Interesting)
SunPCi cards are essentially x86 PC blades designed to be plugged into a PCI slot on a Sun SPARC machine. I use a SunPCi III in the Sun Blade 1500 (SPARC desktop) I have on my desk to run software I have to run that requires Windows. This Monday, I fired it up and got told by the driver software that my system date was in the future because "I can't believe it's really" 2010 (the exact words of the error message!). Looking at the Sun forum message traffic, apparently *everybody* with a SunPCi III card is getting this. Sun's supposed to be working on a patch now. Right now the only workaround is to set your system clock back to 2009 when you fire up the SunPCi card (you can set it back to correct after it starts).
Symantec has a minor but annoying bug (Score:2)
SEP11 has a rather stupid bug that causes it to not update its virus-definition datestamp past 20091231. The definitions continue to be updated, but the program complains to the user that it's out of date, and so they panic and bother us until the dumbass Symantec engineers get around to fixing whatever the bug is.
Re: (Score:2)
Crisis? There was a crisis? Other than one invented by scam artists and the media?
Yes, exactly that crisis. And that was crisis enough
Us programmers always get the negative press.
Re: (Score:2)
Yes there was a crisis. If the effort that was put in, hadn't been put in a huge number of important systems would have failed in Y2K.
The UK emergency services number (999) was one that would not have worked had we not spent the time upgrading and patch the systems and software it depended on.
Sadly, because there was no disaster, because the work was done to prevent it, people think there wasn't a problem. I suppose we should have left the 999 service. People would have died and we could have pointed to it
Re:My ThinkPad had some trouble too. (Score:5, Funny)
[..] I manually the hardware clock [..]
Did you accidentally the whole clock?
2038 (Score:2)
Re: (Score:2)
How about MMX? I like confusing other people by reusing acronyms. Even better if I could walk around with a slot 1 Pentium and wave it in front of IT staff while mentioning it...
You'd certainly confuse people doing that. Early Pentium IIs used a slot, Pentiums used sockets.
Re: (Score:2)
An apparent requirement was to squeeze the year into a single byte. They just did it very badly by choosing BCD format for the last 2 digits of the year, and assuming every new CS grad would know what that means, and would understand by examining the existing data field where 0x03 was present for 2003 and 0x04 was present for 2004 that it must be in BCD. Since BCD and plain binary share the same values for 2000 through 2009, it fully depended on the programmer reading AND UNDERSTANDING the documentation t
Re: (Score:2)
Re: (Score:2)