SA Explorer 8000SD/HD Experiences Y2K-like Bug 39
An anonymous reader writes "According to an article at Audioholics, a firmware bug was just discovered in the Scientific Atlanta 8000SD and 8000HD DVRs (Digital Video Recorders) which renders them unable to record. This firmware bug was discovered when the units attempted to recognize February 29th on the programming guide. The units are apparently unable to recognize this date, and as a result, shut down all record functions. All other aspects of the 8000 will continue to work. So far, it looks like no previously recorded material was lost.
Scientific Atlanta is apparently in "Emergency Session" working on a software patch. The problem began occuring on the 23rd when the 7-day program guide first began to encounter the February 29th programming."
BOOO (Score:1)
Graceful Error Handling? (Score:4, Interesting)
"Well-written applications include error-handling code that allows them to recover gracefully from unexpected errors. When an error occurs, the application may need to request user intervention, or it may be able to recover on its own. In extreme cases, the application may log the user off or shut down the system."
Now, I figure encountering a nonexistent date may well qualify as an "extreme case." Still, a developer might want to at least think a bit about calendars before qualifying February 29th as nonexistent.
(* It's from a Microsoft Developer Guideline. I put that as a note, since if I started with it, I'd be suspected of troling).
Re:Graceful Error Handling? (Score:1)
Leap Year
Else
Not Leap Year
Very simple in my opinion.
Re:Graceful Error Handling? (Score:4, Insightful)
Simple, and wrong. The full rules are as follows:
if year % 400 == 0: leap year
else if year % 100 == 0: not leap year
else if year % 4 == 0: leap year
else: not leap year
Re:Graceful Error Handling? (Score:3, Funny)
Re:Graceful Error Handling? (Score:5, Insightful)
Please stop programmer if you are unable to think about the results of your actions.
Re:Graceful Error Handling? (Score:2)
I guess getting a project done in a timely manner is important to my company. Plus our data specs in my primary field change every 5-10 years so we have no choice but to rewrite. Forced obsolescence is a good thing.
Re:Graceful Error Handling? (Score:2)
I thought you were joking until I read your follow-up.
It's not a problem if your function will never be called with anything but the current year. However, how can you guarantee that no other programmer would ever call your function with some other year, and get the wrong answer?
You ca
Re:That's some shitty coding you did there hoss (Score:1)
Sure you could write the code slightly more efficiently by testing the primary case first and the exceptions inside that. On most runs you would avoid 3 failed cmp ops and the pipeline flush that comes with it, but most developers don't care and don't need to care about that sort of thing. By the time you throw
Re:Graceful Error Handling? (Score:4, Informative)
if ((year % 4 == 0) && ((year % 100 != 0) || (year % 400 == 0))
LeapYear()
else
NotLeapYear()
Re:Graceful Error Handling? (Score:1)
Um, I doubt he'll be the one having problems...
Re:Graceful Error Handling? (Score:2, Insightful)
SARA VS Pioneer Passport (Score:4, Informative)
No word on if they're going to fix that for the Passport models as well.
getting the splinter and missing the 2x4? (Score:5, Insightful)
I recall I had a whole discussion with my friends about whether 2000 had a leap year. Most of those who got it wrong weren't the most computer literate, but it took about 5 minutes to figure it out from the internet.
It's needless bugs like this, which give programmers a bad name.
Re:getting the splinter and missing the 2x4? (Score:5, Interesting)
In order of complexity leap year algorithims are:
0. No year is a leap year (2000 is wrong)
1. All years where n%4==0 are leap years (2000 is right)
2. Except when n%100==0 (2000 is wrong)
3. Except when n%400==0 (2000 is right)
For some reason a huge number of people are at aware of the rules up through #2 above, even though knowing only #1 would make the results more correct.
Re:getting the splinter and missing the 2x4? (Score:5, Funny)
2. You start all lists with "0".
Re:getting the splinter and missing the 2x4? (Score:2)
Re:getting the splinter and missing the 2x4? (Score:3, Insightful)
That's a bit harsh. I thought I was among fellow geeks here. How do you know it was a programmer mistake? Maybe this company had some manager which was harassing the programmer to finish his work. I've had a few confrontations myself, and it's definitely not always to blame on the programmer.
Re:getting the splinter and missing the 2x4? (Score:2, Insightful)
Getting the right date and having enough space are two very common issues that programmers have to deal with. If this was some obscure button press or recording combination error, then I'd be "yeah.. that's not entirely the developers' fault", but when
Re:getting the splinter and missing the 2x4? (Score:2)
Re:getting the splinter and missing the 2x4? (Score:1)
What are the first three(3) things you think of when you have to handle a date in a system? for me it's:
This answer determines what I have to work
Y2K? (Score:4, Insightful)
Re:Y2K? (Score:3, Informative)
Might explain a few things... (Score:2, Insightful)
Off-topic anecdote (Score:2, Interesting)
So, I did something like
and it spat out a whole bunch of rows, and I was about to send off the results as "complete," until suddenly I noticed quite a few entries
Mine was fixed quickly (Score:4, Informative)
Leave it to Time Warner... (Score:2)
Re:Leave it to Time Warner... (Score:1)
Aahhhh... (Score:2)
At the time, I figured Cox was doing a software update to it, but now I find that it's a serious bug.
Maybe they can make the scheduling a little smarter at the same time, like, say being able to record a certain program only once a week at a set time, rep
Re:Aahhhh... (Score:1)
Canadian Rogers customers as well .... (Score:1)