<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
     xmlns:admin="http://webns.net/mvcb/"
     xmlns:content="http://purl.org/rss/1.0/modules/content/"
     xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
	<channel> 

	<title>Comments on: Comments on 5009</title>
	<link>http://www.metafilter.com/5009//</link>
	<description>Comments on MetaFilter post Comments on 5009</description>
	<pubDate>Mon, 01 Jan 2001 19:40:13 -0800</pubDate>
	<lastBuildDate>Mon, 01 Jan 2001 19:40:13 -0800</lastBuildDate>
	<language>en-us</language>
	<docs>http://blogs.law.harvard.edu/tech/rss</docs>
	<ttl>60</ttl>

	<item>
		<title>Post number 5009</title>
		<link>http://www.metafilter.com/5009/</link>	
		<description>&lt;a href="http://www.usatoday.com/aponline/2001010114/2001010114293000.htm"&gt;The Y2K bug gets in its last lick.&lt;/a&gt; We all thought we were safely past that a year ago, didn&apos;t we?</description>
		<guid isPermaLink="false">post:www.metafilter.com,2001:site.5009</guid>
		<pubDate>Mon, 01 Jan 2001 16:30:10 -0800</pubDate>
		<dc:creator>Steven Den Beste</dc:creator>		<category>brokenlink</category>		<category>y2k</category>
	</item>	<item>
		<title>By: thirdball</title>
		<link>http://www.metafilter.com/5009/#37649</link>	
		<description>Yeah and we are. Sure this problem happened but no crashes resulted from it and so far it&apos;s the only case. The trains were down only temporarily also as a short term fix was available.</description>
		<guid isPermaLink="false">comment:www.metafilter.com,2001:site.5009-37649</guid>
		<pubDate>Mon, 01 Jan 2001 19:40:13 -0800</pubDate>
		<dc:creator>thirdball</dc:creator>
	</item>	<item>
		<title>By: youhas</title>
		<link>http://www.metafilter.com/5009/#37653</link>	
		<description>My friend&apos;s cell phone read &quot;12/&lt;b&gt;30&lt;/b&gt;/2000&quot; all day yesterday.  It out-and-out refused to acknowledge the existence of December 31, though come midnight it read &quot;01/01/2001&quot;, as would be expected.

Not exactly a life-shattering humanity-endangering flaw - certainly not substantial enough to be reported anywhere I&apos;ve looked - but suggestive that there are/were at least &lt;i&gt;some&lt;/i&gt; residual Y2Kesque glitches kicking around.</description>
		<guid isPermaLink="false">comment:www.metafilter.com,2001:site.5009-37653</guid>
		<pubDate>Mon, 01 Jan 2001 19:58:53 -0800</pubDate>
		<dc:creator>youhas</dc:creator>
	</item>	<item>
		<title>By: harmful</title>
		<link>http://www.metafilter.com/5009/#37698</link>	
		<description>Well, we &lt;i&gt;were&lt;/i&gt; &lt;a href=&quot;http://www.theregister.co.uk/content/6/15731.html&quot;&gt;warned&lt;/a&gt;...</description>
		<guid isPermaLink="false">comment:www.metafilter.com,2001:site.5009-37698</guid>
		<pubDate>Tue, 02 Jan 2001 06:31:41 -0800</pubDate>
		<dc:creator>harmful</dc:creator>
	</item>	<item>
		<title>By: cCranium</title>
		<link>http://www.metafilter.com/5009/#37701</link>	
		<description>Why would computers choke on 31/12/2000?

I mean, technically, what causes that?  I can understand the problems with the rollover.  Is it a debug flag/error catch like 9/9/99?

And is it fair to call this a Y2K problem, since if it&apos;s a debug flag it really has nothing to do with the year 2000 except for that year portion?

Ah well.  At least I can wear my horrible Y2K Bug sweatshirt I got for Christmas (my parents are a touch slow :-) now.</description>
		<guid isPermaLink="false">comment:www.metafilter.com,2001:site.5009-37701</guid>
		<pubDate>Tue, 02 Jan 2001 06:42:22 -0800</pubDate>
		<dc:creator>cCranium</dc:creator>
	</item>	<item>
		<title>By: Steven Den Beste</title>
		<link>http://www.metafilter.com/5009/#37711</link>	
		<description>The theory is that they implemented the leap-year calculation wrong, and didn&apos;t believe that 2000 had 366 days (which it did).

The rule is &quot;Years divisible by 4 are leap years, except that years divisible by 100 are not leap years, except that years divisible by 400 are leap years after all.&quot; So 1900 was not a leap year and 2100 won&apos;t be, but 2000 was.

December 31, 2000, was the 366th day of the year. On the other hand, it&apos;s not totally obvious why a railroad engine cares what day it is anyway.</description>
		<guid isPermaLink="false">comment:www.metafilter.com,2001:site.5009-37711</guid>
		<pubDate>Tue, 02 Jan 2001 07:33:54 -0800</pubDate>
		<dc:creator>Steven Den Beste</dc:creator>
	</item>	<item>
		<title>By: cCranium</title>
		<link>http://www.metafilter.com/5009/#37729</link>	
		<description>But if it worked fine after Feb. 28th (admittedly, an assumption, but a reasonably sound one, since this would&apos;ve been resolved then if it didn&apos;t work), and it was reporting the 30th of December I don&apos;t understand why it couldn&apos;t get to the 31st.

I wouldn&apos;t think that it calculates the number of days and crapped out based on that.

I mean, I can understand how that would choke it if such a calculation were done, I just don&apos;t understand why the number of days in a year makes a difference, especially 10 months after the day that should&apos;ve tossed it.</description>
		<guid isPermaLink="false">comment:www.metafilter.com,2001:site.5009-37729</guid>
		<pubDate>Tue, 02 Jan 2001 09:24:19 -0800</pubDate>
		<dc:creator>cCranium</dc:creator>
	</item>	<item>
		<title>By: daveadams</title>
		<link>http://www.metafilter.com/5009/#37738</link>	
		<description>&lt;i&gt;I just don&apos;t understand why the number of days in a year makes a difference, especially 10 months after the day that should&apos;ve tossed it.&lt;/i&gt;

It probably depends on the algorithm the system used to calculate the date.  Most Y2K-oriented testing involved the dates 12/31/1999, 1/1/2000, 2/29/2000, and 3/1/2000, but may not have checked 12/31/2000. 

A possible scenario: the system keeps track of the current day (be it 4/9, 2/29, or 12/31) as an integer between 1 and 366.  From that number, it calculates the current month (1 to 12), and further, the current day.  Now let&apos;s say the system has a routine to calculate the number of days in a year (to know whether the year has 366 or 365 days).  That routine would have to know about leap years and the proper way to correct for them.  Let&apos;s call that routine X.  There&apos;s another routine that figures out the current month, based on the number of days in previous months and the current day (1 to 366) we&apos;re on.  So that function would have to know that in leap years, February has a 29th and in other years it doesn&apos;t.  Call that routine Y.  Programmed years ago, both routines X and Y assumed that 2000 wasn&apos;t a leap year.

Now, let&apos;s say that during testing the programmers find that Y is returning incorrect values for dates past February 28, 2000.  They fix the leap year logic in routine Y, so 2/29/2000, 3/1/2000 and so on all seem to work.  If they never test 12/31/2000 specifically, they may never find the bug in routine X.  So if the system is being told that today is the 366th day of year 2000 (which routine X will say is not a leap year), unpredictable hilarity would likely ensue.</description>
		<guid isPermaLink="false">comment:www.metafilter.com,2001:site.5009-37738</guid>
		<pubDate>Tue, 02 Jan 2001 10:10:31 -0800</pubDate>
		<dc:creator>daveadams</dc:creator>
	</item>	<item>
		<title>By: cCranium</title>
		<link>http://www.metafilter.com/5009/#37749</link>	
		<description>Yeah, okay.

I suppose I can buy all that.

It still seems unlikely, but I guess when you&apos;ve only got a few months to fix a few million lines of code, whatever works is what&apos;s used.</description>
		<guid isPermaLink="false">comment:www.metafilter.com,2001:site.5009-37749</guid>
		<pubDate>Tue, 02 Jan 2001 11:03:07 -0800</pubDate>
		<dc:creator>cCranium</dc:creator>
	</item>
	</channel>
</rss>
