La Jarmilo

31 Decembro 1999

An article (based upon a post (based upon this section)) found its way into the November 1999 issue of 98 Proof, a publication of Mensa Johannesburg.

Yes, Virginia, the final day of 1999 is also the final day of the millennium.

It is what people used to believe. A gut reaction, an automatic reaction, an unthinking reaction, and yet, a correct reaction. Then somebody (look out! a sophist!) with some extra time on his hands developed a theory to explain why we are all wrong, claiming that the actual day is the final day of the year 2000. And this theory has come to be dominant, probably because it gives one so many opportunities to correct other people - an extremely popular pastime on the Net.

But the theory is flawed. It relies on the use of a one-based counting system, and this choice is arbitrary. Having worked with computers for many years, I use zero-based counting systems whenever appropriate, and if you can see that 1900 was the zeroth year of this century, then you will see that 1999 is the 99th and final year, making 31 December 1999 the final day of the century, and therefore, of the millennium.

Besides, the Gregorian calendar that we use today was created in 1582. It did not exist before 1582. Nobody ever claimed, in the year which we call Gregorian year 1581, that "This is the Gregorian year 1581.", and this can be said of any year prior to 1582. And the Gregorian calendar arose from the Julian calendar, created in 45BC by Julius Caesar, who for obvious reasons did not call that year 45BC.

So don't bother telling me that there was no Year Zero, because there wasn't any Year Five, or One Hundred, or One Thousand Three Hundred Twenty Two either. What's your point?

During the 18th century, an astronomer by the name of Jacques Cassini introduced a new numbering system in order to make calculation of the difference between years AD and years BC logical. 1AD became +1, and was preceded by the year 0, which was preceded by the year -1.

So if we want a year Zero, we can have a Year Zero. It is logical. And there is a historical precedent. So there!

Now, for further debate, I ask you which century we are in now.
The 19th, of course!
Hey! I'm serious! That's what I call it...

- William W. Patterson (1999)

That was written, of course, from the point of view of one defending 1 January 2000 as the beginning of the Millennium, with a bit of humor injected. I realized later that I didn't make my own position clear, but that's okay because that wasn't really my intent. However, just to set the record straight, my personal position is this: The decision as to whether or not there was a Year Zero, and as to whether the Millennium began on the first day of 2000 or 2001, is purely subjective. Some choose one, some the other. Thus both statements ("The Millennium began on the first day of 2000." and "The Millennium began on the first day of 2001.") are false, unless the premise is agreed upon in advance. Once a premise is selected, then one statement is true and the other false, but the truth and falsity are relevant only within the context of those who share the premise. This is a situation in which there is no absolutely correct answer, only a relatively correct answer. The error is in claiming that one position is true in an absolute sense, and that those who disagree are wrong. (All things considered, I still tend to favor 1 January 2000 as the beginning of the Millennium, because of the technical and emotional significance of that odometerish rollover of 1999 to 2000.) For more information about the Cardinalists vs. the Ordinalists, see The Century and the Millennium.

1 Januaro 2000

In I'm a Stranger Here Myself, Bill Bryson wrote...
You will have read about the millennium bug. You know then that at the stroke of midnight on January 1, 2000, all the computers in the world will for some reason go through a thought process something like this: "Well, here we are in a new year that ends in '00. I expect it's 1900. But wait - if it's 1900, computers haven't been invented yet. Therefore I don't exist. Guess I had better shut myself down and wipe my memory clean."

19 Januaro 2038

Will your Unix box be ready for 19 January 2038? Most Unices (except maybe for really new 64-bit versions) return the time as a signed 32bit integer, the number of seconds since Midnight of 1 January 1970, and this value will roll over at 03:14:07 GMT on 19 January 2038. If any 32bit Unices are still around, they will suddenly fall back to 13 December 1901! Not only unices, but different compilers treat this value in different ways too.

In hexadecimal...

00000000 = 1970.01.01 00:00:00
10000000 = 1978.07.04 21:24:16
20000000 = 1987.01.05 18:48:32
30000000 = 1995.07.09 16:12:48
40000000 = 2004.01.10 13:37:04
50000000 = 2012.07.13 11:01:20
60000000 = 2021.01.14 08:25:36
70000000 = 2029.07.18 05:49:52
80000000 = 1901.12.13 20:45:52
90000000 = 1910.06.16 18:10:08
A0000000 = 1918.12.18 15:34:24
B0000000 = 1927.06.21 12:58:40
C0000000 = 1935.12.23 10:22:56
D0000000 = 1944.06.25 07:47:12
E0000000 = 1952.12.27 05:11:28
F0000000 = 1961.06.30 02:35:44
7FFFFFFC = 2038.01.19 03:14:04
7FFFFFFD = 2038.01.19 03:14:05
7FFFFFFE = 2038.01.19 03:14:06
7FFFFFFF = 2038.01.19 03:14:07
80000000 = 1901.12.13 20:45:52
80000001 = 1901.12.13 20:45:53
80000002 = 1901.12.13 20:45:54
80000003 = 1901.12.13 20:45:55
80000004 = 1901.12.13 20:45:56

Best example of lack of foresight?

The UNIX commands at and cron were not Y2K-compliant. (On HP/UX 10.20 anyway, which is what I was using at the time.)
17 Februaro 1996 de Ailanto kreita, 22 Marto 2003 modifita.