Slashdot Mirror


SA Explorer 8000SD/HD Experiences Y2K-like Bug

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."

2 of 39 comments (clear)

  1. Graceful Error Handling? by angst_ridden_hipster · · Score: 3, Interesting

    To quote a widely-used software development guideline document*:

    "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).

    --
    Eloi, Eloi, lema sabachtani?
    www.fogbound.net
  2. Re:getting the splinter and missing the 2x4? by spitzak · · Score: 5, Interesting

    Actually the weird thing about getting 2000 wrong (it *IS* a leap year) is that it requires more research to actually get it wrong. A very simple approach would get it right.

    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.