Jump to content
Sign in to follow this  
ThunderPeel2001

The Day the Music Died...

Recommended Posts

At 2am Pacific Standard Time, 31st December 2008, every single 30GB Zune on the planet ceased to function.

No-one knows why, not even Microsoft.

Happy freaking New Year!

:hah:

(Merriments of the New Year variety to my fellow thumbs :tup:)

Edited by ThunderPeel2001

Share this post


Link to post
Share on other sites

Freaky or what, eh? It's the YK9 bug... on a tiny selection of devices.

It's all fixed now though (it was something to do with how the last day of a leap year is handled). They automatically started working again on their own. How bizarre!

Share this post


Link to post
Share on other sites

Talking of Microsoft...

This year's Royal Institution Christmas Lectures were about computing. I caught my mother watching them and she found it fascinating - I don't think she'd ever really wondered how computers work before.

Anyway, Bill Gates joined in via satellite link, to answer kids' questions (although he evaded a lot and didn't really say anything very much in the end).

If you're not familiar with the Christmas Lectures I highly recommend them. They are aimed at secondary school children, although the science is a lot more 'truthful' then most stuff on school curriculums and explains things that most teachers would struggle with. Plus they do entertaining experiments like swing a huge steel pendulum an inch away from the lecturer's face (to demonstrate the predictable nature of classical physics). In any case I always enjoy them.

Share this post


Link to post
Share on other sites

If anyone is interested...here's the source code as to why the Zunes all crashed.

while (days > 365)
   {
       if (IsLeapYear(year))
       {
           if (days > 366)
           {
               days -= 366;
               year += 1;
           }
       }
       else
       {
           days -= 365;
           year += 1;
       }
   }

Basically, who ever programmed this part of the Zune didn't put in while (days >= 365). So when it became December 31st (day 365) it got stuck since they did not include that final day into their loop statement. I believe this method was for checking to see if the year was a leap year or not. Which ever Zune owners had this version of the firmware got a very unhappy surprise on December 31st!

Share this post


Link to post
Share on other sites

Excellent use of pastie, by the way. I used to use it all the time, and then forgot it existed.

Share this post


Link to post
Share on other sites
Excellent use of pastie, by the way. I used to use it all the time, and then forgot it existed.

Yes! The site is really clean and a good place to read code. Very nice on the eyes. :tup:

Share this post


Link to post
Share on other sites

Wouldn't the problem be in the condition "if (days > 366)" and not the while loop? It should be "if (days >= 366)"

The function ConvertDays is supposed to convert an internal count of how many days have elapsed since the beginning of the origin year into the components of a standard month/day/year format. It begins by calculating the year, starting its count at the origin year. If days contains more days than the current year has, then it subtracts the number of days in that year (365 if a leap year, 366 if not) from days, and adds one to the year. This runs until the number of remaining days is less than the number of days in that year.

However, in the leap year test it only subtracts from days and updates the year for the next loop if the day count is greater than 366. So when the current day is the last day of a leap year, then days would be equal to 366, causing the program to be stuck in an infinite loop. Days would not be updated, since days is not greater than 366, but the outer while loop would still run since days is greater than 365.

Share this post


Link to post
Share on other sites
Talking of Microsoft...

This year's Royal Institution Christmas Lectures were about computing. I caught my mother watching them and she found it fascinating - I don't think she'd ever really wondered how computers work before.

Anyway, Bill Gates joined in via satellite link, to answer kids' questions (although he evaded a lot and didn't really say anything very much in the end).

If you're not familiar with the Christmas Lectures I highly recommend them. They are aimed at secondary school children, although the science is a lot more 'truthful' then most stuff on school curriculums and explains things that most teachers would struggle with. Plus they do entertaining experiments like swing a huge steel pendulum an inch away from the lecturer's face (to demonstrate the predictable nature of classical physics). In any case I always enjoy them.

Yep, they are tops. I saw a couple - and thanks for reminding me. The episodes are available from all good newsgroups.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×