Y2K Rollover - Post Your Experiences Here!
fredm8 writes "Since the Slashdot article, When Does Y2K Begin, New Zealand has experienced the Y2K rollover. Yes the power still works, the water still flows, my Windows98 PC still runs, my Linux box rocks, and my supported *nix boxes still run." We're getting lots of stories like this one submitted. We might as well have them all in one place, so please post yours below instead of sending it in as a story submission. This thread ought to make an interesting chronicle of Y2K events -- or non-events, as the case may be.
I have now seen a few instances of the "19100" bug, sometimes as the 100 bug - 2000 gets displayed as either 100 or 19100. Several people have commented on this, but missed a crucial point. So i thought i'd explain this bug some.
The 19100 bug comes from improper use of the header in the C standard library. It is much more common in Perl than C, but much more disappointing in C.
To learn about this, get out your battered copy of K&R (you DO have K&R, don't you? _The C Programming Language_, by Kernigan and Richie. If you only have one book on C, it should be this one). Turn to the reference in the appendix. Look at the description of struct tm. You'll see that tm->tm_year is the years *since 1900*. So, to print years correctly, in either two-digit or four-digit form, we must add 1900 to tm->tm_year.
Here's where naive, amateurish C programmers mess up. They do not learn their standard libraries, and thus reinvent them poorly. The strftime() function provides printf()-style formatting for struct tm. It will print the year correctly in either two-digit or four-digit form. Programmers who don't know their libraries just stick tm_year in a printf() somewhere, without accounting for the missing 1900, something like this:
printf("19%d", tm->tm_year);
which will print 1999, then 19100. The libraries are very good (with the glaring exception of some security holes!). Learn them and use them.
Perl is where this bug comes into its own. For various reasons either obvious or opaque to you, strftime() does not exist in Perl. And the contents of struct tm are handed back from ctime() as an array. Therefore, more programmers are likely to not look deep enough to see how this SHOULD be handled, and do the 19100 bug, since they don't have a nice built-in library routine to do it for them.
This is a tremendous problem. When doing Y2K checking for a previous job, i found this bug in over 150 Perl scripts, mostly due to cut-and-paste programming (Perl unfortunately encourages that approach). I also found it in the popular wwwboard online discussion script. I'll bet it's all over the place.
Hopefully, someone finds this informative, and maybe moderates it up so it actually gets READ.
---
120
chars is barely sufficient
Hand me that airplane glue and I'll tell you another story.
When does the Millennium Begin?
..., and you begin the first millennium with the year 0 CE
...) was originally designed by
..., 100, ..., 500, ... Then we can say that the period from 1 A.D. ..., 10). Similarly from 1 A.D. through 100
..., -3, -2, -1, 0, 1, 2, 3 ... This is called the "astronomical" ...).
..., -2, -1, 0, 1, 2,
The answer is if you use the Gregorian Calendar and start the first
millennium with the year 1 AD then the third millennium begins with the year
2001 AD. But if you use the Common Era Calendar, in which years are numbered
-2, -1, 0, 1, 2,
then the third millennium begins with the year 2000 CE. You have a choice. And
if you opt for the Common Era Calendar you no longer have to put up with the
smug assertion that "there was no year zero (so the new millennium begins in
2001)". There was no year zero when Pope Gregory XIII introduced the Gregorian
Calendar in the 16th Century but there certainly is one now, and the new
millennium in the Common Era Calendar begins in 2000 CE.
The number zero was introduced into westerm circles, along with the
Arabic numerals we use to day, in the 13th century, but the church refused to
allow them to be used, simply on the grounds that they were invented by Muslims.
However, zero and the numbering system we use today did eventually make it into
acceptance by the 16th century, and greatly simplified mathematics in Europe.
We can't really blame the church for 2000/2001 issue, because the current year
numbering system that we used (2 BC, 1 BC, 1 AD,
a monk in either the 7th or 8th century, before we even heard of the Arabic
numbering system or zero.
Roman numerals do not have a figure designating zero, and treating zero
as a number on an equal footing with other numbers was not common in the 6th
century when our present year reckoning was established by Dionysius Exiguus.
Dionysius let the year AD 1 start one week after what he believed to be Jesus'
birthday. Therefore, AD 1 follows immediately after 1 BC with no intervening
year zero. So a person who was born in 10 BC and died in AD 10, would have died
at the age of 19, not 20. Furthermore, Dionysius' calculations were wrong. The
Gospel of Matthew tells us that Jesus was born under the reign of King Herod the
Great, and he died in 4 BC. It is likely that Jesus was actually born around 7
BC. The date of his birth is unknown; it may or may not be 25 December.
Since the "Anno Domini" system did not come into effect until the 6th
Century A.D. it is artificial to speak of the years 1 A.D., 100 A.D., etc.,
because people living at that time knew nothing of this system of numbering
years (since it had not then been invented yet). Furthermore the Romans in the
reign of Augustus (27 B.C. to 14 A.D.) were somewhat lax in the proper
observance of leap years. But we can project backwards (and forwards) from 525
A.D. by representing the succession of years by the series of natural numbers:
1, 2, 3,
through 10 A.D. (including both years) was a period of ten years (since there
are ten numbers in the series 1, 2,
A.D. is a period of 100 years, and from 1 A.D. to 1000 A.D. is a period of 1000
years.
The word "millennium" means "a period of 1000 years" so we can conclude
that the period from 1 A.D. through 1000 A.D. (including both years) constituted
one millennium, and in fact, the first millennium of the Christian era. So the
second millennium of the Christian era begins with the year 1001 A.D., or more
exactly, on 1st January 1001 A.D. And the third millennium of the Christian era
begins on 1st January 2001 A.D. So for Christians - or at least, for all who
adhere to the Christian system of numbering years - the answer is clear: The new
millennium begins on 1st January 2001 A.D. However, this is not the end of the
matter, because the "Anno Domini" system of year numbering has a major flaw,
namely, it may be OK for years since 1 A.D., but what happens when we consider
earlier years? As is well known, such years are numbered in reverse order, and
designated as years "Before Christ". Thus the year immediately before 1 A.D. is
designated 1 B.C., and the series extends backwards: 2 B.C., 3 B.C., etc.
With the rise of modern scholarship, particularly astronomy, archaeology
and chronological studies, this system was felt to be inadequate for scientific
purposes. For one thing it does not lend itself to calculation using dates. For
example (a very simple one), how many years elapsed between 1st January 6 B.C.
and 1st January 6 A.D.? Twelve years? No. The answer is not obvious (and still
less obvious if we consider longer periods such as that from 535 B.C. to 481
A.D.). So astronomers and chronologists decided to number years by representing
the succession of years by the doubly-infinite series of positive and negative
numbers:
system of numbering years. In this system years from 1 onwards have the same
numbers as years A.D. (year 1 = 1 A.D., and so on), but years B.C. are related
as follows: The year 0 in the astronomical system is the year 1 B.C., and the
year -n in the astronomical system is the year n+1 B.C. (for n = 1, 2, 3,
Conversely, the year n B.C. is the year -(n-1) in the astronomical system. Thus
year -1 = 2 B.C., year -2 = 3 B.C., and so on.
A millennium is, by definition, a period of 1000 years. But it is no
part of the definition that a millennium must begin or end with a particular
year number. If we adopt the astronomical year numbering system then we can
begin the "first" millennium with year 0 just as well as with year 1. Strictly
speaking, there is no first millennium in the astronomical system, since it
simply numbers years by mapping them onto the sequence
..., and we are free to begin millennia where we think fit. It is thus clear
that the answer to the question as to when the new millennium begins depends on
which system of year-numbering one chooses to use. Christians may prefer to stay
with the system of years "Anno Domini", in which case they must answer that the
new millennium begins on 1st January 2001 A.D. Scientists and others who prefer
a more rational and useful system of numbering years may prefer to adopt
explicitly the astronomical system. In this case they are free to begin
millennia from the years 1, 1001, 2001, and so on (in which case the third
millennium begins on 1st January 2001), or from the years 0, 1000, 2000, and so
on (in which case the third millennium begins on 1st January 2000). Thus anyone
who wishes, for whatever reason, to celebrate the start of the new millennium on
1st January 2000 has entirely good and rational grounds for doing so, namely,
(i) the adoption of the astronomical system for numbering years, combined with
(ii) the convention of beginning millennia with years whose numbers end in "000"
(and beginning centuries with years whose numbers end in "00"). Note that this
article does not show that those who hold (as those who adhere to the Christian
calendar must hold) that the new millennium begins on 1st January 2001 are
mistaken. Such people have reasons to justify their preference. But this does
show that anyone who prefers to think of the year 2000 as the first year of the
new millennium has perfectly sound reasons for doing so.
I plagorized the SHIT out of this from postings on slashdot and on the internet... no offense to anyone.
My system seems to be suffering from the Y2k bug. It's 3:58am and my monitor is all blurry. My keyboard is broken too. The keys seem to be swimming around and trying to escape my fingers.
On the brighter side, my girlfriend is looking even cuter than usual.
-- That which does not kill us has made its last mistake.
Has anyone noticed that the "Y2K Experiences" posted here necessarily come from people who:
1) Have electricity
2) Have an OS that still works
3) Have a browser that still works, and
4) Have an ISP that still works
With this sort of sampling bias, we really shouldn't be expecting too many "horror" stories... Most will be "yeah, my stuff still works, which is why I can post this..."
:) awaiting "Smartass" moderation...
"Well, well, well. Less than twenty-four hours 'til Ragnarok and I haven't a stitch to wear."
Billions of people around the globe are thinking this very thought. Don't be part of the mass of cannon fodder awaiting their fate on January 1st. I'd like to help others survive and prosper after the Y2K "situation" by describing the preparations I've made over the past year for tonight's Big Event.
1. The Car
Nothing says "I'm a survivor!" like a cool set of wheels, which is why I have a 1971 Plymouth HemiCuda with a 426ci/425hp V8.
I took out the rear window and rear seats, and welded in two 55-gallon drums as reserve fuel tanks.
I filled the trunk with cement so I could ram other vehicles in reverse during "Road Warrior"-type scenarios.
Due to the weight of the cement in the trunk, I had to replace the rear shocks with solid steel bars, so the suspension is pretty stiff, but boy does it have some range!
I've mounted a 20mm cannon (originally from a AH-1 Cobra helicopter) - that I bought on eBay for $35K - to the roof of the car so it faces forward.
It fires when the left turn signal is activated.
I use a Xybernaut wearable PC for aiming, and I adapted the anti-wobble feature of my camcorder to stabilize the cannon during vehicle movement and firing.
There is a radiacmeter attached to the grill, so I'll know when I'm approaching former urban areas.
I didn't have time to cut a hole in the hood to accommodate the huge intake of the supercharger attached to the engine, so I just left the hood off.
The exhaust system has been removed as a vestigial performance-hindering remnant of a civilized era.
2. The Duds
I have a fire-resistant Nomex jumpsuit dyed to match desert terrain, as all terrain will soon be desert terrain.
For formal occasions, black leather chaps are acceptable, but the buttless kind will make you the laughing-stock of Bartertown.
Accessorize with low-slung pistol holster, gas mask, and black leather jackboots.
Bandoleers are in this year, but only for survivors with crew-served weapons.
Fine-grain leather driving gloves will assist you in controlling your vehicle when driving through fallout-blighted areas.
3. Food
Pound-for-pound, dry dog food has ten times the nutritional value of boiled potatoes, and it can be stored longer, too!
Dog food for older dogs is often packed with fillers that you just don't need, but Puppy Chow is geared towards growing dogs, and has more than enough nutrition.
I'm towing a U-Haul trailer full of it, with a few cases of surplus MREs from the Gulf War for special occasions.
I hope I've provided some insight into the preparations necessary for surviving the coming hard times.
I am interested in having a traveling companion to help with driving.
Any fertile females interested in repopulating the planet should contact me at TheSurvivor@militia.mt.us