Leap Year Woes in Japan
joerg writes, "The Heise-Newsticker says that Japan had several intercalary day-related computer problems like weather stations delivering wrong data.
" Finally! A Y2K bug! The hype was justified! (cough, cough)
Anyone have a birthday today?
Hmm....Why does this merit a score 3?
thank you mr karma whore we know how to use babelfish
Ok, try the Mayan calender, even though it ends in 2012. Its all in the circular event. Whereas Jan 1 of one year is not Jan 1 in another. i.e. there are no two days alike. nor should they be called the same. We need to overhaul the whole system. Personally, I rather live by the sun, moon events rather than some man-made calender. Like I said, leap day is a bug fix. Its humans trying to shove an exact year into something that just does not exist. Our calender is based on a line, that has a beginning, and an end. Whereas the actual solar year is circular in nature, or actually, a spiral. Personally, I pay more attention to where the sun is, and what 'moon' it is, rather than what time of day it is.
Or like when you were younger and old man peterson broke your little hymen and stole your virginity. Then didn't fess up. Pansy.
Don't be offensive. Some of us can be bothered, so it's nice to see a translation.
just stop watching Iron Chef then
It is of my opinion, that having a leap day, indicates that our current calender system has a BUG in it!!
he report makes more sense in straight english
como?
I Really Think So.....
"Nyah nerds tend to be younger... we grew up with computers... so we didnt have to "learn them" they kinda come natrually... like an extra arm."
Is "natrually" a new word for "mutant?"
Now where did I put my 'extra' arm....
Godammit, don't feed the trolls!
nobody.
Wait a minute... He's saying one bit of truth... Clinton is a dumb Fsck
offend this. =P
OEûðÂé pOEêÅ'
A year has actually 365.24220 days (so, with a maximum margin of error by one day per 200000 years), so a better system would be something like this:
Every year has 365 days, except years dividable by 4 who has one more than the previous, except years dividable by 128 who has one less than the previous except years dividable by 80000 who has one more than the previous.
The current system is 3 days off (too far, I believe) every 10000 years.
Born February 29th, 1976, year of the Dragon.
The guy who invented beer is busy rotting in a long lost unmarked grave. Beer is, like, really old, man.
here's the forth version, if anyone wants it: ( n ( current year ) -- n ( true or false ) ) : testleap false 1 pick dup 4 mod 0= if true 1 pick dup 100 mod 0= if 1 pick dup 400 mod 0 if drop false endif endif endif ;
Yes, for powers of 2. To calculate (x mod 4), just use (x and 3).
Look here instead: The Calendar zone: http://www.calendarzone.com/
The Calendar FAQ: http://www.pauahtun.org/CalendarFAQ
YOU FUCKING MODERATORS MAKE /. SUCK LIKE THE CUBAN WHORE THAT POSTED THE ORIGINAL COMMENT.
Yet more liberal hate speech.
Liberalism these days seems like it's not about ending bigotry and hatred, just about redirecting it. Well forgive the hell out of me for being male (potential rapist), white (institutionally racist) and (gasp) a believer in the Ten Commandments! You know, not stealing, not killing, all that old-fashioned evil stuff. Now we're meant to follow the Commandment of Liberalism -- Thou Shalt Tax. Liberals are ruining our country with their hate!
Why is it that the only group that it's OK to fire off this vicious hate speech at is the Christians? And the paedophiles, of course, let's not forget them -- God forbid that someone who would be over the age of consent in (liberal!) Europe should be allowed into the realm of Holy Matrimony! Liberals would rather exalt "alternative living arrangements" like same-sex weddings than even think about whether, after a hundred years of adequate nutrition (thanks to CAPITALISM!), children are reaching sexual maturity at an earlier age these days. Oh no, liberals are too "liberal" to be liberal about a question like that.
So did mine, but it doesn't let you set the year, so how could it know?
1980? I thought I was very young to be on this board at 18, but it turns out a bunch of you aren't too much older than me... I want statistics on /. We need to know what the average age here is, etc...
Because the mude-eration system at /, sux0rs
It's an AKAI VS-F 200 from around 1993.
I find that the Encyclopedia Brittanica has a different set of rules. It includes a correction for when the year is exactly divisible by 4000. If they are right, then the code you linked to is incorrect and we will have a problem on March 1, 4000 - the code will insist that it is still February. With the way some code never seems to die away....
hey, i'm a japanese. we changed the calender system around a 100years ago, and decided to use western clock system but the traditional one for only the year. #in the old days, luminar dating system was used. so today is Heisei 12(year), 3 (month), 8(day). but since pc bios has not enough memory to display kanji, we use western dating inside bios and convert it on the top of OS.
With a leap year every 4 years except if the year is divisible by 128 you get within 1 second of the tropical year. The Gregorian calendar is 29 seconds off (von zur Gathen and Gerhard, "Modern Computer Algebra, Cambridge University Press 1999).
...and it reads TU 2-29.
USNO Clock
If someone is born on leapyear does their next birthday fall on the 28th of Feb or March 1? Perhaps leap year babies only age every 4 years :)
Intuit has for some time said that its older products were not Y2K compliant. It would not be surprising if Intuit Tech Support encountered Y2K problems due to too many Y2K calls.
Look around the news pages. We'll be a day off by 5,000 A.D. Suggestion is that we change the leap year rule around 4,000 A.D.
Exactly. My dry cleaner lost their entire customer database and had to re-keypunch every single customer record. Incidents like this are common, but they suffer in silence because of (a) embarassment and (b) lack of knowledge that anyone would care. The press is not interested in the truth of Y2K -- that it could have brought down civilization had the defects not been fixed -- but only the "look at all that needless hype from those pesky computer people" angle.
Auto-calendar (set at 28 days for February)
So it's not a bug, it's a feature...
Happy Birthday. At 6:00am this morning a friend insisted it was the 1st of march, because her watch said so!
Of course, it WAS made in Japan....
our calendar in Japan, how can the 29th be a problem?
The pope, John Paul II, was also born today.
isleap=.false.
if(mod(year,4).eq.0)then
isleap=.true.
if(mod(year,100).eq.0)then
if(mod(year,400).ne.0)then
isleap=.false.
endif
endif
endif
It is a Leap year bug, not a Y2K bug! Y2k stupidity is over dude!
Well done. You just flunked your class in Ancient Astronomy.
Leap years are those years divisible by 4, unless they are also divisible by 100, except when they are divisible by 400.
From the Webster's Unabridged:
"divisible: In mathematics, that can be divided without leaving a remainder."
Dork.
My interpretation of that is that the encyclopedia brittanica has a bunch of icons at the top: computer (like desktop now), home (your homedir), apps (shows a list of applications), docs (documents dir in your homedir), favorites, people, and view.
I'd reply personally, but I don't want to undo my moderation...
Pope Nihil
just make 1 year= 365.25 days
My wife is a midwife and went to deliver a baby this morning! (@home by the way!!!!!!!!!!)
Thank God I was born on the 1st of March!
Yea I am 7 today. Woooooo! At least for me it is not so bad having a birthday on the 29th. You get to have fun telling people that you are acting your age! JetLag
er, maybe you should look up thats its the divisable by 400 rule, and not 1000.....
I'm glad you mentioned that, because I strongly believe that a number of places have had big Y2K problems, but don't want to report them. I remember calling Intuit just after the New Year, while I was placed on hold, they said something about experiencing Y2K problems. I didn't see any announcements in the news about Intuit's Y2K problem.
So, why the secrecy? Why isn't any one 'fessing up to their Y2K problems? Nobody wants the embarrassment, the shame of knowing they've had these problems exposed to the public.
29 days, 29 bowls of hit grits in my pants.
Thank You.
MUTUAL OF OMAHA'S WILD SLASHDOT
jim and i watched quietly from the bushes as the japanese computer grazed in the pasture. we decided to stir the magnificent beast so we could capture some action photos. jim tossed a stone at the japanese computer, causing it to leap into the air. in response to the stoning, the japanese computer displayed some erroneous weather information on its screen.
unfortunately the whole incident caused the japanese computer to disappear into the woods. jim and i packed our equipment into the jeep and headed back down the highway.
a few miles down the road, we noticed a mass laying on the shoulder. as we got closer, we realized it was a japanese computer! jim and i were quite excited by this find. jim pulled the jeep over a few yards uproad from the japanese computer. we approached slowly, so as not to startle the beast.
nobody had ever been this close to a japanese computer before. we examined every detail of the crushed carcass. jim collected a few case scrapings and some internal components. when he was finished, jim tagged the japanese computer so that its migratory habits could be studied.
thank you.
Okay, for every whiner who says that babelfish is broken, I will buy *1* microsoft stock option. So quit yer whinin'
Anonymous by choice
man that was funny. Clearly this guy is a genious. Notice how his German was almost poetic, damn near perfect if you ask me. Give this person a medal, a red hot one, shapped like a poker and jam it into their ass. (Or do you think they'd enjoy that too much?)
I watched as my watch turned from 11:59:59 PM Feb. 28 2000 to 12:00:00AM March 1, 2000. I wounder if my watch thinks it's 1900?
My 10 year old casio didn't wait until 2000, it died late december with a high pitched sound coming out of it.
It was not Y2K compliant, the scheduler stores events ahead for two weeks, maybe that's what killed it.
Or something else.
I feel more free without a watch now, I'm using cron instead for alarm functions when I'm at home.
That's good, but I don't think the cmdr is gay.
Are you really German? Because, your Deutsch really sucks. I took 2 years in HS, and I could understand most of it. Jackass.
IIRC it is if the year is divisible by 4, except if divisible by 100, unless the yaer is divisible by 400. Again IIRC 1600 was the last leap year at the turn of a century.
-------- This space intentionally left blank --------
To the Modoraters: Please don't ding my Karma for rtendering this translation. This is what he is saying.
Munky_v2
"Warning: You are logged into reality as root..."
Jay
ZððùñÅÍÜñB äÁèb½ÙB -YêÈžB "ÇßÎAí©èÜB H×IíÁ½çAÅ©ÜB ȽÈçAÇÜ©H ÌlÍ--½èA--È©Á½èÜB JÉ~çêÄA^"®ïÍÅÜñŽB "c'ñÍAí©çÈÆOE¾ÁÄܽB ±êÍÆà¾É'ÝÄàçܽB ±Ì-{ð"Çñ¾±ÆèÜ©H wandie-san
- ~wandie
nope, divisible by 4 except divisible by 100 except divisible by 400. Although, programmers who made your mistake can rest until 2400 without problems :).
ok then your [sic] infringing on my copyright! Could you as [sic] me next time before STEALING my comments for your own?
Can you give some technical reason why NT is better than any other OS's. What is it about NT that makes it so good. I have used and tested many different systems DOS, OS/2,MAC many different Unix like systems and even administrated IBM VM, All systems have good and bad sides, All of them suck. NT the most of all. NT has always shown to have very poor network performance. Very poor Security, Almost very poor everything. I do like one thing about NT you can always find plenty of people can use it (manly because MS systems is all these people have ever known.) I just left a shop that was forced to convert NT from Linux by the management. The Idea was to make it easier to find people to administer the systems. They now have beefed up the number of servers by 400% spent hundreds of thousands of dollars on faster network equipment. And have a system that crashes everyday because it can not handle the load. I believe real world experience not vender tests. I have asked around and have gotten the same story every where its been tried. NT gets by on a 50 node LAN, but put it on a 6,000+ node LAN like my old shop and it just does not cut it. Linux on the other hand did a much better job on a fraction of the horsepower and almost no cost.
Go look it up. The leap day was last week -- the extra day is the 24th, not the 29th.
Happy Frederick's Birthday!
(I can't believe no-one else posted this yet.)
No... from what I understand of the rules....
Divisible by 4, yes, unless
divisible by 100, then no, unless
divisible by 400, then it is.
So...
1900, no
1904 yes
2000, yes
2004, yes
2100, no
2104, yes
-I just work here... how am I supposed to know?
Point taken. My bad :)
--
I have this feeling that in the year 2100, these old eniacs will still be operating, and February that year will have 29 days. :-)
--
dinner: it's what's for beer
According to the papers here in Tokyo this morning, the ATMs at the Post Office (the Japanese Post Office offers savings accounts) broke down--not because an internal LSI didn't know that 2000 was a leap year, but because it
didn't know about leap years at all! The same problem will happen again in 2004 unless they fix it by then.
Today is Clark Kent's birthday. (yes, _that_ Clark Kent)
-- This and all my posts are in the public domain. I am a lawyer. I am not your lawyer, and this is not legal advice.
Aah, Pirates of Penzance.. Funny!
Your Working Boy,
Correct me if I'm wrong but the leap year rules are as follows, leap years occur when the year is divisible by 4, except when the year is
divisible by 100 unless the year is divisible by 1000.
Well..you asked for it *LOL* you're mostly right...but it's except when the year is divisible by 100 UNLESS it's divisible by 400 hence 1700, 1800, and 1900 were all NOT leap years. which would make 1000 NOT a leap year...right?
That's if divisible by 4 unless divisible by 100 unless divisible by 400, not 1000. 2400 is the next divisible by 100 leap year, unless there's a new calendar system by then.
I see even classic Slashdot is now pretty much unusable on dial up anymore.
We have two Adars this year. Whatever else you think about adding a month every once so often it's served us pretty well for a few thousand years. I mean if you can never get a precise linear calendar then why not add your corrections in the most obvious and practical way instead of having to jump through hoops?
isleap = false;
if(year%4 == 0) {
isleap=true;
year%100 == 0 ? isleap=false;
year%1000 == 0 ? isleap=true;
}
That's rather complicated way of expressing it. And it's wrong too, since it's every 400 years, not every 1000 years, that a multiple of 100 is a leap year.
Wouldn't it be easier to just write:
isleap = !(year%4) ^ !(year%100) ^ !(year%400);
--
bgphints - internet routing news, hints and ti
Definitely not true for the USA. Traditionally speaking, women are never supposed to propose. But traditions are pretty much out the window in this day and age. I'm rather glad that traditions about men and women are being questioned these days...they were really in dire need of change.
Finding God in a Dog
Well, the fastest way to do a mod 4 (which conveniently is a power of 2) is to AND with 3. :-) Which should save you one IDIV.
Specifically, "Pirates of Penzance". :-)
--
Brent J. Nordquist N0BJN
--
--
The Internet is the Suppository of All Knowledge. You get it in the end.
Yep, The NorTel phone on my desk is proudly beaming:
Mar 1 9:20am.
signal, noise, to me it's all the same.
Happy Birthday to my nephew Mason who is 12 today.
There's more to it than this.
These are just publicized because it Y2000,
but probably had same rate of failures in 1996
and will have in 2004.
In Opera 3.62 ß6 under Windoze 4.10.1998, it shows the date as 29, That's all - no month, no year.
Isn't it odd that the ancient cultures did not have the concept of celestial gravity, yet they were able to make use of leap years.
Not at all. Knowledge of gravity isn't necessary. They simply discovered the year - seasons repeat after about 365 days. This isn't hard to count, and you can measure how high in the sky the sun gets with very primitive instruments, such as a long stick. Or some well-placed stones. The stones are better as they easily last several years. With this they noticed how the year isn't exactly 365 days, so they added leap years to keep the calendar in sync with the seasons.
A year is a leap year if it is divisible by 4. Unless it is divisible by 100 and NOT divisble by 400 (1700,1800,1900,2100). 1600 and 2000 ARE leap years.
Surely:-
A year is a leap year if it is divisible by 4 and the result is a whole number.
Otherwise every year is divisible by any number.
I'll one up ya. My microwave thinks it's March 1. For some reason the manufactuer decided to put in a month and a date function but no year function.
Damn. Now the pot roast I had pre-programed in for two years down the line is going to show up on the wrong night.
----
"War doesn't determine who's right, just who's left"
"War doesn't determine who's right, just who's left"
Steven Wright
LEAP YEAR FAQ (Frequently Argued Question)
... ruled that the 'century years,' such as
... ordained that thereafter the
... februario dies XXIX continente"
Revision 1.2, 4/4/1998
Q: Is the year 2000 a leap year?
A: Yes, because the rule is: in the Gregorian calendar,
leap years occur in years exactly divisible by four,
except that years ending in 00 are leap years only if
they are divisible by 400.
So, 1700, 1800, 1900, 2100, and 2200 are not leap years.
But 1600, 2000, and 2400 are leap years.
Q: But the year 2000 is not a leap year.
A: No, 'tis too, because the rule is: in the Gregorian calendar,
leap years occur in years exactly divisible by four, except
that years ending in 00 are leap years only if
they are divisible by 400.
So, 1700, 1800, 1900, 2100, and 2200 are not leap years.
But 1600, 2000, and 2400 are leap years.
Q: But century years aren't leap years.
A: Some of them aren't, but 2000 is, because the rule is:
in the Gregorian calendar, leap years occur in years
exactly divisible by four, except that years ending in
00 are leap years only if they are divisible by 400.
So, 1700, 1800, 1900, 2100, and 2200 are not leap years.
But 1600, 2000, and 2400 are leap years.
Q: What makes you think that's the correct rule?
A: Claus Tondering's wonderful Calendar FAQ, v. 1.7,
http://www.pip.dkne t.dk/~pip10160/calendar.html, which says:
The Gregorian calendar has 97 leap years every 400 years:
Every year divisible by 4 is a leap year. However, every
year divisible by 100 is not a leap year.
However, every year divisible by 400 is a leap year after all.
So, 1700, 1800, 1900, 2100, and 2200 are not
leap years. But 1600, 2000, and 2400 are leap years.
Q: What makes you think he knows what's he's talking about?
A: Because he agrees with the 1995 World Almanac, which says:
"3 out of every 4 centestimal years (years ending in 00)
were made common years, not leap years. Thus, 1600 was a
leap year; 1700, 1800, and 1900 were not, but 2000 will be.
Leap years are those years divisible by 4, except centesimal
years, which are common unless divisible by 400."
Q: Why should I believe the 1995 World Almanac?
A: Because it agrees with the American Heritage Dictionary,
Third Edition, which says: "Leap year: a year in the
Gregorian calendar having 366 days..." and (under the
entry "calendar") "The solar year of the Gregorian calendar
consists of 365 days, except in a leap year, which has 366
days and occurs every fourth, even-numbered year.
Centenary years are leap years only if they are evenly
divisible by 400."
Q: Why do you assume the American Heritage Dictionary is right?
A: Because it agrees with "Field Guide to the Stars and Planets,"
by Donald H. Menzel (Peterson Field Guide series), which
explains the Julian leap years and continues
"Pope Gregory
1900 or 2000, would not contain their allotted extra day
unless divisible by 400."
Q: The "Field Guide to the Stars and Planets" is not to be trusted.
A: I'd never dream of accepting it without cross-checking in
the 1997 Grolier Multimedia Encyclopedia, which says:
leap years occur in years exactly divisible by four, except
that years ending in 00 must be divisible by
400 to be leap years. Thus, 1600, 1984, and 2000 are leap
years, but 1800 and 1900 are not.
Q: Grolier, Grolier, who the hell is Grolier?
A: Jean Grolier de Servi*res Vicompte d'Aguisy, 1479-1565,
patron of Aldus Manutius and lover of gold-tooled
Moroccan leather bookbindings. But that's not important now.
What's important is that Grolier's encyclopedia
agrees with the Columbia Encyclopedia (at least the version
on a shovelware CD called "Our Times"), which says
In 1582 Pope Gregory XIII
years ending in hundreds should not be leap
years unless they were divisible by 400. The year 1600
was a leap year under both systems, but 1700,
1800, and 1900 were leap years only in the unreformed calendar.
The reform was accepted, immediately in most Roman Catholic
countries, more gradually in Protestant countries, and in
the Eastern Church the Julian calendar was retained into the
20th cent. The present generally accepted calendar is therefore
called Gregorian, though it is only a slight modification of
the Julian.
Q: I don't agree with the Columbia Encyclopedia.
A: But THEY pretty much agree with the Encyclopaedia
Britannica (1997 CD-ROM) which says:
In the Gregorian calendar now in general use, the discrepancy
is adjusted by adding the extra day to only
those century years exactly divisible by 400 (e.g., 1600, 2000).
Although the then go on to cloud the issue just a bit by adding
For still more precise reckoning, every year evenly divisible
by 4,000 (i.e., 16,000, 24,000, etc.) is made a common
(not leap) year.
So there could be an enjoyable argument about exactly what
the Britannica means here.
Q: But none of these are actually _official_.
A: Well, how about the National Institute of Science and
Technology? They say:
"The year 2000 will be a leap year. Century years
(like 1900 and 2000) are only considered leap years if
they are evenly divisible by 400. Therefore, 1700, 1800
and 1900 were not leap years, but the year 2000
will be a leap year."
http://www.bldrdoc.gov/timefreq/faq/faq.htm
Q: Bollocks to that. The NIST isn't _my_ National Institute.
As one of Her Majesty's loyal subjects I bloody well
know that 1700 was too a leap year in England, so why
should I believe any of this bumf, you sod?
A: In the Gregorian calendar, 1700 was not a leap year.
Neither Great Britain nor her colonies adopted the
Gregorian calendar until 1752, making it possible
to win properly phrased bets about the date of George
Washington's birthday. Anyway we're all on the Gregorian
calendar now, and if you don't like it, by jingo we'll
kick your sorry butts just like we did in 1812.
Q: But the reason year 2000 is a leap year is that it's
divisible by 1000.
A: It's true that 2000 IS a leap year, but that
is not the correct rule. In the Gregorian calendar,
Century years which are leap years occur every four
hundred years, not every thousand years.
Q: But what about the 3200-year rule?
Q: But what about the 3600-year rule?
Q: But what about the 4000-year rule?
Q: But what about the years-divisible-by-900-leaving-remainders
of-200-or-600 rule?
A: As long as you agree that the year 2000 is a leap year,
I won't give you a hard time. Everyone understands that the
Gregorian calendar will be off by about a day in 3000 years
or so. There seem to have been various proposals for
adding a rule to improve the accuracy of the Gregorian
calendar, and it is possible that some of them may have
actually been adopted in some country somewhere.
As far as I can tell, the earliest year about which it
is possible to have any serious debate is 2800.
Hopefully the issue will be resolved well before then.
Q: Are you sure that's really what Pope Gregory said?
A: Well, actually, he said:
Deinde, ne in posterum a XII kalendas aprilis
aequinoctium recedat, statuimus bissextum quarto
quoque anno (uti mos est) continuari debere, praeterquam
in centesimis annis; qui, quamvis bissextiles antea semper
fuerint, qualem etiam esse volumus annum MDC, post eum tamen qui
deinceps consequentur centesimi non omnes bissextiles sint,
sed in quadringentis quibusque annis primi quique tres
centesimi sine bissexto transigantur, quartus vero quisque
centesimus bissextilis sit, ita ut annus MDCC, MDCCC, MDCCCC
bissextiles non sint. Anno vero MM, more consueto dies
bissextus intercaletur, februario dies XXIX continente,
idemque ordo intermittendi intercalandique
bissextum diem in quadringentis quibusque annis
perpetuo conservetur.
I think "annus MDCC, MDCCC, MDCCCC bissextiles non sint"
means "1700, 1800, and 1900 are not leap years."
And I think "Anno vero MM,
means "in the year 2000 February will contain 29 days."
Lycestra
I figured all years that end in 00 were leap years since 100 is divisible by 4, yet cal says they aren't. year 3000 is not a leapyear. Nor is 3100, but 3200 is. See below.
# for x in {0..9};do cal 2 3${x}00|tail -2;done
23 24 25 26 27 28
25 26 27 28
27 28 29
28
23 24 25 26 27 28
25 26 27 28
27 28 29
28
23 24 25 26 27 28
25 26 27 28
#
--
Lab test show that use of micro$oft causes deadly cancer in lab animals.
Oh for crying out loud.. Everyone in this thread so far has been totally wrong.. argh..
Ok.. Here's reality, straight up, and bit of a history lesson to all.
<br><br>
Reality shows the year to be 365.24219878 days long.. more or less.
<br><br>
The Egyptians came up with the 365 day calendar. Using this calendar, after 754 years, they'd be 6 months off (December would be in the summer in the Northern Hemisphere and so on).
<br><br>
The Romans added the leap year concept to their calendar (although they weren't the first to come up with it). This correction makes the year 365.25 days long, on average. Using the Julian calendar, after 23377 years, they'd be 6 months off.
<br><br>
In 1582 the calendar was about ten days off, so Pope Gregory XIII modified the calendar again. It was pretty radical, as I believe he made a one time correction of chopping 10 days out of March that year. Anyway, his change was <B>If the year is divisible by 100, it's not a leap year UNLESS it is also divisible by 400 where it IS a leap year.</B> The Gregorian Calendar is still in use today. So, the average year length is 365.2425 days (over 400 years) which would take 606272 to get 6 months off.
<br><br>
Some suggest adding <B>UNLESS it's divisible by 4000, where it's NOT a leap year</B>. This would give an average year length of 365.24225 days, which would take 3565426 years to get 6 months off. Fortunately, we don't have to decide on that rule until the year 4000.
<br><br>
---
- Give a man a fire and he's warm for a day, but set him on fire and he's warm for the rest of his life.
Oh for crying out loud.. Everyone in this thread so far has been totally wrong.. argh..
Ok.. Here's reality, straight up, and bit of a history lesson to all.
Reality shows the year to be 365.24219878 days long.. more or less.
The Egyptians came up with the 365 day calendar. Using this calendar, after 754 years, they'd be 6 months off (December would be in the summer in the Northern Hemisphere and so on).
The Romans added the leap year concept to their calendar (although they weren't the first to come up with it). This correction makes the year 365.25 days long, on average. Using the Julian calendar, after 23377 years, they'd be 6 months off.
In 1582 the calendar was about ten days off, so Pope Gregory XIII modified the calendar again. It was pretty radical, as I believe he made a one time correction of chopping 10 days out of March that year. Anyway, his change was If the year is divisible by 100, it's not a leap year UNLESS it is also divisible by 400 where it IS a leap year. The Gregorian Calendar is still in use today. So, the average year length is 365.2425 days (over 400 years) which would take 606272 to get 6 months off.
Some suggest adding UNLESS it's divisible by 4000, where it's NOT a leap year. This would give an average year length of 365.24225 days, which would take 3565426 years to get 6 months off. Fortunately, we don't have to decide on that rule until the year 4000.
---
- Give a man a fire and he's warm for a day, but set him on fire and he's warm for the rest of his life.
I'd laugh, except that there are plenty of people who seriously believe both of those paragraphs. Though not usually both at once.
--
Do I look like I speak for my employer?
The Hamilton Watch company was established in 1892, in Lancaster Pennsylvania. If the date that the pawnbroker engraved is correct that is a very vaulable and historical watch. I'd have a case made for it and would try to keep it in its origonal condition. You may also want to have it appraised and insured depending on it's actual vaule.
d -main.cfm?Cat=hamilton
For more info on Hamilton Watch Company visit:
http://www.hamiltonjewelers.com/timepieces/bran
Digitac
Actually, the leap day is the 24th of January. Well, except for this year, when it's 29th. No idea why, so don't ask. :) //Humming
I'm too stupid to preview.
That's probably a good idea, or this could end up as a new version of that 'Hello World' reference rather quickly... ;)
Greg
Greg
(Inside a nuclear plant)
Aaaarrrggh! Run! The canary has mutated!
Well, yes, that's what I was beginning to think :)
:)
:)
A couple of C versions, Pascal, FORTH (down below over here, in case anyone hadn't yet found it), MIPS assembler...
I could probably knock it up in m68K assembler and Miranda as well, but I try to avoid both and this has got silly enough already
If anyone submits code to handle this in Brainf**k or INTERCAL I'll scream!
Greg, convinced that plenty of us DEFINITELY have too much time on our hands
Greg
(Inside a nuclear plant)
Aaaarrrggh! Run! The canary has mutated!
My cheap Wrangler (rebadged, I suspect...) analog makes today the 29th, but it'll also make tomorrow the 30th and the day after the 31st. It just counts up to 31 - if I want a shorter month than that I have to reset it manually.
:)
Still, it _was_ cheap
Greg
Greg
(Inside a nuclear plant)
Aaaarrrggh! Run! The canary has mutated!
Hey, why make things hard on yourself and use C? ;)
:P
:)
isleap:=false;
if (year mod 4 = 0) then
begin
isleap:=true;
if (year mod 100 = 0)
if (year mod 400 > 0) then
isleap:=false;
end;
Much easier
Greg, Pascal lover to the end
Greg
(Inside a nuclear plant)
Aaaarrrggh! Run! The canary has mutated!
They say everything is trivial in mathematics once you know the answer.
But if you can't remember, it can't be as trivial as year mod 4 with exceptions on centuries.
I'd say there'd have to be a stronger case than the one given for the Persian calendar to say it's flat out superior versus marginally more accurate.
You got most of the rule right. It is actually: Leap year occurs when the year is evenly divisible by 4, unless it is evenly divisible by 100 - in which case it will not occur. However, if the year is evenly divisible by 400 as well, then leap year will occur (as did this year)...
So to wrap up: Leap year usually occurs every 4 years unless it is an end of century year (such as 1700, 1800 or 1900.) The exception comes when an end of century year can be evenly divided by 400, in which case leap year will, in fact, take place. [catches breath]
[Remember the suggestion that Daylight Savings Time last longer in the USA west coast on Presidential election years? Zoneinfo could have handled it.]
Not only that, but the speed of the Earth's rotation is slowing down as well. So some point in the next 50,000 years we'll have to add a few seconds...
~Donald / Just RTFM
It's a Timex, too. Digital. Bought less than a year ago. I expected better.
(oh, dont downmoderate this, just leave it. it's on topic. sort of.)
Terrorists can attack freedom, but only Congress can destroy it.
Don't get too worried about this... Many watches don't keep track of the year at all, so they assume EVERY February has 28 days. Nothing to do with Y2K. At least they're right 3/4 of the time.
...unless the year is devidible by 400. 1900 wasn't a leap year.
God did not appoint us to suffer wrath but to receive salvation through our Lord Jesus Christ --1Thes5:9
Yep, today's her fifth birthday! :-)
Yeesh, I don't know if it's good or bad to be born on Feb 29th. At the very least it's weird.
-gus
shit, my pager didnt...
and i just got it not 8months ago.
and i didnt realize that it was a leap day... now i know why i have been dating everything wrong!
nmarshall
#include "standard_disclaimer.h"
R.U. SIRIUS: THE ONLY POSSIBLE RESPONSE
nmarshall
The law is that which it boldly asserted and plausibly maintained..
--Colonel Burr 1783
Mine's fine today, though I have no idea what I'm
going to do tomorrow when it hits Feb 30th.
which is December 21st 2012.. so we have quite a while to get ready ;)..
---The proceeding comments were not paid for by the following advertisers.
I've noticed a few problems with the leap year here: CA's ArcServe decided to skip the 28th of February and go straight to the 29th a day early, messing all our backup schedules, that and a few wrist-watches miss-reporting the date makes today more scary that the 1st of January.
Perhaps the IT industry could have forwarned about the Leapyear2000 bug (for extra cash, of course).
insignificant sig
My husband's company (in Wilmington, MA, USA) had no phones and the alarm system was going wacky this morning for about 4 hours.
He doesn't know for sure that it's the Feb. 29 bug (someone else's job to worry about it!) but it's a pretty good guess.
I also know that one of my relatives, who works for a government agency, had his software lose about 3 months of data on January 1st because he didn't install the Y2K patch that came out in October 1999. I think there are a lot of incidents that went unreported. You can bet my relative didn't tell his boss that it was a Y2K problem (since it was his fault the patch wasn't applied.)
Either your Casio is old or you got a cheap one...
For the record, the Casio I am wearing, which I bought last year around this time (Casio Illuminator - 200m depth resist, all aluminium exterior) is showing the date correctly.
The watch was expensive for me ($50.00), considering the watches I bought up to that point (cheap Walmart plastic crap, $15.00). I used to reason that watches were a disposable item, and not worth paying a lot for. My patience and resolve left me, though, after so many of the cheap watches I bought broke after a year or two (either the band or the watch face, or water would get into them when they supposedly could take it).
So I finally decided to buy a better watch. This Casio looked rugged enough to take the abuse I tend to put watches through, and it had all the functions I normally use (although I would love to see some kind of water resistant databank watch in an aluminium case, that didn't cost an arm and a leg).
I've had it for about a year now, and it looks as good as the day I bought it, which is much better than I can say about any of the cheapo watches I owned previously. Most of these started to looked ratty after about a year of wear. This watch I can say was worth the money I spent for it. I will never buy a cheap watch again.
Reason is the Path to God - Anon
This was a bug left in Excel on purpose because earlier versions of Excel had the leap year bug, and changing it would break all of the user's macros or something to that effect. That, or Lotus 123 had the bug as well, and to keep the imported spreadsheets working properly, the bug had to be kept...
In other words, a case of the users (inadvertently?) driving the course of software development in the wrong direction, by keeping bugs from being fixed for compatibility reasons.
Reason is the Path to God - Anon
There won't be any more corrections because of the leap-second concept. They can added up to 4 times a year. Typicaly there is 1.5 leap seconds per year so two seconds are added to every other year at the end of Dec or Jun.
It is a bit odd seeing data thats time stamped 23:59:61
A whole bunch of Caller ID systems are going to be thinking it's Mar 01 as well. A good number of them (mine included) set their clocks with the datastream from the phone co. - and that data doesn't include the year. So they'll be right roughly 3 of four times in rolling from Feb 28 to Mar 01, but they'll be wrong today. Until they get a call, that is.
What sort of person would design a system and think that although it wouldn't be used in 2000, it would be used in 1900?
The sort of person that posts to Slashdot. We've already had two posters on this subject muff the 400 year rule.
In some circumstances it could be a well-thought out design trade-off. In the case of a watch you've got two scenarios:
1) You implement additional memory and code to take care of the year (four digits, of course), and every time the user sets the date/time they have to set the year as well - but you'll always get Feb28/29 right.
2) You save the time and effort, don't ask the user the year, and the user has to make a minor correction once every four years (roughly).
Is choice #2 really that ugly?
Being that this is leapday, all salaried employees are working for free today.
But I'm getting a "free" day on all my bills that have a set monthly charge! Insurance, phone, ISP, etc...
year%1000 == 0 ? isleap=true;
I'm curious - did you actually implement this anywhere?
If so, today may be a busy day for you.
Must I refer you pups to Holy Scripture?
Consult the Book of Kernighan and Richie, verse 2.5, wherein it is written:
if (year % 4 ==0 && year % 100 != 0 || year % 400 == 0)
it's a leap year
Our secret is gamma-irradiated cow manure
Mitsubishi ad
We apologize for the inconvenience.
Its my girlfriend's fifth birthday today!
Yay! I'm a pedofile!!
(NOTE: I wonder if the FBI/NSA is gonna pick that up and come investigate me for that. I think it would be cool.)
She gets upset if I say that she is turning 5, but I think its kinda cool. She just thinks its pretty cool that she actually gets a birthday.
I wonder what the Olive Garden and Paradiso and Chili's do with these unfortunate people. No free desserts just because the day they were born on does not exist this year? Or could you get free stuff on the 28th and the 1st?
Hmm....
Heh, what do you know, so does mine...
The funny thing is, I completely forget how to set the date on this thing.
--
"I personal[ly] think Unix is "superior" because on LSD it tastes like Blue." -- jbarnett
And worse -
My plain old Wenger analog made today the 29th.... all tihs technology for nothing...
ROFL....
A year is a leap year if it is divisible by 4. Unless it is divisible by 100 and NOT divisble by 400 (1700,1800,1900,2100). 1600 and 2000 ARE leap years.
It just so happens that the organisation which I work for had at least 20 Y2K related incidents occur in the first week of 2000 but we have all be told to keep quiet...we are one of the largest organisations in the UK...
You wouldn't be working for the AA (Automobile Association for you 'merkins) would you? I've got it first hand from someone that a goodly portion of their automated stuff fell over quite dramatically with the Y2K roll over.
--
The Daily ACK - Eclectic posts by yet another hacker
Watch for off-by-one errors in the day of the week starting tomorrow. In looking for Y2K bugs earlier this year I stumbled across a faulty C implementation of the Zeller algorithm, which looks plausible and works fine for days late in any century, but breaks starting in March early in the century. It was in a file specific to XVTDL, but I wouldn't be surprised if others had made the same error.
I decided that behaving ethically was the most nihilistic thing I could do. - Paul Pavel
The Gregorian Calendar states that there are 365.2425 days in a year. This fraction is equal to 1/4 - 3/400, or 97/400, hence the three rule ruleset. The further irony is that the actual solar year hasn't been 365.2425 days long since 4000 B.C., so we're still getting drift.
Scientists argue over why the earth is moving outward in orbit, but if nothing else, tidal locking tends to push bodies farther apart, if the larger one is spinning faster than the orbit of the smaller object.
-
Just because it works, doesn't mean it isn't broken.
I went looking as well, in part hoping to find either code or a description of the algorithm to find where the bug might be found. I haven't found either, but I did track down a page that uses Zeller's Algorithm to calculate the day of the week for you. I tested it for tomorrow and March 2nd. It seems to have already been fixed if it ever had a problem.
The net will not be what we demand, but what we make it. Build it well.
Your correction is right, but this is a large part of the problem. There are quite a few people who think they know the correct rules. Here's a link to use for future reference. We need to be aware of the limits of our knowledge. If you aren't sure, look it up.
I don't mean to point the finger at anyone here on Slashdot. Over the years I have seen not just code embodying incorrect information, but in many cases the design documents that originated that incorrect information. I wonder if there aren't a lot of people out there who believe that sticking a computer into a system makes it all new and means that we are writing all of the rules from scratch. In many cases that would be wonderful, but it just isn't the case. We're stuck with leap years, seven day weeks that don't evenly divide years, natural languages that refuse to share a single common alphabet and icy roads in the winter.
The net will not be what we demand, but what we make it. Build it well.
That surprised me because as far as I know the information on the page I provided the link to is correct. So I searched Encyclopedia Brittanica's web site and found this page, which say, among other things:
My interpretation of that is that the Gregorian calendar is not completely accurate, and that a 4 millenium correction would be needed to bring it in line with the day length that we have been able to measure with modern equipment. Thus, 4000 will be a leap year on the Gregorian calendar, but shouldn't be. For what it's worth, the Emacs calendar code written by a couple of guys who have actually researched a variety of calendars says that 4000 is a leap year.
The net will not be what we demand, but what we make it. Build it well.
Third pass at translation. I *am* a native English speaker, but I don't speak a word of German.
[
...after all, you didn't say whether those options will be put or call. Hehe.
Say no to software patents.
Here is a link to a site with the leap year rules for the Gregorian calender. Or, if you prefer:
Years divisible by four are leap years, unless they are divisible by 100 (1900, for example). However, years divisible by 400 (such as everone's favorite, Y2K) are leap years.
...because I was on-call with a cellphone by my side for 24hrs a day over the four day new year period, and I am again right now, all fscking week. Interesting to see that somebody's having some *real* problems.
richi.
--
Richi Jennings - richi@hp.com - https://ecardfile.com/id/richij
Team OpenMail - http://www.hp.com/go/openmail
Hewlett-Packard Company
i n v e n t
OpenMail: Business messaging/collaboration for the next E. E-Services.
I hate to be nitpicky, but the fish (tm) was at least right about one word: precipitation
*whine* *whine* *whine*
I took a class in Ancient Astronomy, and technically, we should not have a leap year this year. A leap year is every four years unless the year is divisible by 400. So 1700, 1800 and 1900 would have leap years, but 2000 should not. I think they just kept it a leap year since this is a little known fact. The calendar will eventually be off (in a lot of years).
One of my coworkers has a birthday today. Poor girl just turned seven and she already has to work for a living.
--
The shareholder is always right.
I wonder how tough it would be to change the real world time mechanism in Linux to report in Lunar Time? ^_^
The other calendar that gets sighted during these quandry days in the Gregorian Calendar is the Mayan Calendar. I wonder how well that calendar holds up in the face of our orbital escentricities? ^_^
According to The Mayan Calendar, today is JOB IMOX or using Long Count: 12.19.7.0.1. *shrug* I don't know the mechanics of the Mayan Calendar at all so I'm not sure what this means. ^_^;
Here is a great link that explains the Mayan Calendar and off of that set of pages is a great page with general calendar tidbits.
ps. I forgot the orbital period of the Moon(27.33 days) is different that the periods between New Moons(29.5 days). My goof.
When people (with leap birthdates) apply for applications, have birthday parties, horscopes, etc.? How does that all work with Leap Birthdays? How does one deal with this unique day? I'm just curious.
:)
Thank you in advance for replies.
Ant(Dude) @ Quality Foraged Links (AQFL.net) & The Ant Farm (antfarm.ma.cx / antfarm.home.dhs.org).
The translation is quite good and accurate. :-) ).
I heard the same informations in the german radio this morning. BTW. our local radio station claimed to have a similar bug in their wether computer, but I did not follow the conversation, perhaps it was a joke (they said something about: now spring has ended
regards,
angel'o'sphere
P.S. I once did a Y2K reengineering project,
their leap day calculation was wrong in two modules and right in one module. It seemed that either the two wrongs where never used(called) or it never occured on a printout.
Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
My birthday was yesterday. the 28th of feb.
Well my cheap $5 or so casio watch said today was March 1. It allowed me to change it to feb 29 though...
Nyah nerds tend to be younger... we grew up with computers... so we didnt have to "learn them" they kinda come natrually... like an extra arm.
-Angel
(who is 21...)
She became a geek by absorption, one day she woke up with a bad taste in her mouth.. and knew how Linux worked
Born on Feb 29, 1976.
It's my 6th birthday!
Slay a dragon... over lunch!
Well, by my calculations... We will be 3 days off by the year 10,000. The easiest fix is to make years divisible by 3200 non leap years. Fixes it for a LONG time. Probably long enough to require further adjustments due to orbital drag.
:-)
Why doesn't anyone seem concerned when I mention it?
"What's the point of going abroad, if you're just another tourist..."
And this is a special leap day. Leap days do not occur on years divisible by 100 other than every 400 years. Luckily I got a birthday today, or else it would have been 8 years between birthdays. Now that would suck =/
if you want to make God laugh, tell him your plans
Maybe they are infact a more 'Open Society'?
threadeds blog
My 1930s Breitling Navitimer is showing today as the 30th!
threadeds blog
Oh, wait. It's after midnight. It IS March 1.
Never mind.
Sun just (Feb 20th) released a fixed version of JavaMail that doesn't throw exceptions if you try to send mail on Feb 29th. Thanks for the advance notice! The really annoying part is, if you look in the bug database, they knew about it in March of last year! Bastards!
I am not a number! I am a man! And don't you
Ok - you're wrong :)
A year is a leap year if:
It is divisible by 4
Unless it is divisible by 100, then it is a normal year
Unless it is divisible by 400, then it is a leap year again.
Following that logic, the years 1700, 1800, and 1900 were not leap years, but the year 2000 is and the year 2400 will be.
My cousin's first birthday was 4 years ago today. Of course, this is the first time he's celebrated his real birthday :)
Fortunately for him, the (local, state, federal) government treats March 1 as his birthday in non-leap years. As soon as March 1, 2017 rolls around, we can have a beer together.
Actually, the data that was seemingly incorrect was actually the result of a rollover problem that was much more severe than Y2K..
See, the dawning apocolypse was causing odd atmospheric disturbances that fouled the instruments in the weather gagues.
Finally, the apocolypse we've all been waiting for! Anyone have any canned vienna sausage?
Because years that are divisible by 100 are not leap years, despite being divisible by 4. (Unless they're divisible by 400, that is.)
Cheers,
-j.
Oh my God, what have we unleashed :)
Okay, it wasn't exactly the code I'd have put into a project, more of a demonstration of the two exception clauses...
Hmm....Why does this merit a score 3?
it's his birthday present, silly!
:-)
-Rob Ewaschuk
Bizar technology?
Maybe small 3rd world countries don't need leap years... ;-)
Bizar technology?
That's obvious. In 1892, your watchmaker had only 8 years until the century rollover. In 1960, programmers had 40 years. Besides, putting in two extra gears probably isn't as expensive as putting in an extra byte for every instance of a date field to ever come.
Do not underestimate the value of print statements for debugging.
This is a quick translation of the article. I will give you the highlights.
Computer Troubles because of leap day in Japan
The leapday has caused some surprising computer-errors in Hightech-country Japan. According to Reuters 1200 ATM's at postoffices refused services. The Japenese Weather center had problems with their forecast for local temperatures and rainfall. The 43 stations are relaying false information. Yesterday they allready had problems with the 24 hour forecasts, where in stead of 29 the first of march was given as the end date. In the North of Japan in 20 municipalities the seismic activity detectors fell out. In contrast to New Years eve no problems were reported in Japanese nuclear energy facilities.
Use Adsense for Charity
It thinks it's March 1st.
I had to wait until today for my paycheck that comes on the last day of the month.
I guess that's the price I pay for working for a software firm.
--
Please end this. It is utterly rediculus. You are yelling about hate, yet you use liberals as scapegoats. There is a difference between believing something and forcing it on others. As for the Ten Commandments, they're all well and good, but I really don't think they have anything to do with you blaming Japan's computer problems on their "incorrect" religious views. By the way, I also know of a few Christians whom you have offended by your posts, so please do not speak for Christians as a whole.
I can't help it that you're stupid enough to listen to me! I'm an idiot!
-- einstein (slashdot user 10761)
That is utterly rediculus. I'm sorry, but haven't you read the other posts? Plenty of people in Christian countries (i.e. the UK, the US, Germany, etc.) are having problems as well. Posting things like this are demeaning to MANY people who are not Christian, as I'm sure many readers are not.
I can't help it that you're stupid enough to listen to me! I'm an idiot!
-- einstein (slashdot user 10761)
, does anyone else feel kinda shortchanged by the fact that from the last week of November to the middle of February there are five legal holidays
Depends on where you live. In Canada, the end of the year has THREE in eight days. Then nothing until EASTER. Our Thanksgiving is in October, and we have nothing in February, and some years March. Just think of going from NYD until an April 19 Easter...
We have a holiday for the first Monday in Aug, but the name is assigned by the various provinces.
The tradition also exists in North America.
One version of it is called "Sadie Hawkins Day" based on a hillbilly comic that was once popular (in the fifties?)
Never heard about the silk gloves, though. Not a lot of silk in Lil Abner comics.
I think they got a clue eventually. My relatively cheap Casio watch says TU 2-29. Of course, it's only good through 2029. Then it rolls over to 1985.
Looks fine from where i'm sat, with Netscape on Linux. Shows the date as "Tuesday, February 29, 2000", which if i'm not mistaken, is today ;)
Still if it was a site problem, then it's good to see that site maintainers fixed it so quickly.
Syllable : It's an Operating System
I'm mostly kidding. It really does suck when you're 9 and the 7-year-olds on the bus tease you with, "You're only 2 years old?" while shrieking hysterically, though. And the, "You're lucky you even get a present, since you don't even have a birthday this year," my parents gave me when I was 17 didn't help any.
Oh well. At least I wasn't born in 1880, because then I wouldn't have gotten a fifth birthday until the age of 24. But please, don't ever try to have a kid on Feb. 29.
Correct me if I'm wrong but the leap year rules are as follows, leap years occur when the year is divisible by 4, except when the year is divisible by 100 unless the year is divisible by 1000
OK. You're wrong. But just a little. The last part of the rule is "unless the year is divisible by 400." Thus, the last double-aught leap year was 1600.
Slightly disreputable, albeit gregarious
Why is it an exception when the year is divisible by 100? I always thought 100 was divisible by 4...
--
--
It's not the rambling I object to, so much as the mumbled incoherancies...
No, but I heard about that too......:)
Ripping an new rectum in the fabric of spacetime.
When I was doing Y2K leap-yer stuff, I was told that the rule were as follows: where n is the year, 1. if (n%100 == 0) && (n%400==0), then n is a leap-century 2. if (n%100 != 0) && (n%4 == 0), then n is a normal leap-year. So 1900 and 2100 are not leap centuries, but 1600 and 2000 are. Kevin
Enforce Darwinism
Crap, that stupid
Weird :p I was born Jul 8 1980 in the middle of a summer storm. (kidding it was hot as hades in GA)
Ive lived in GA all my life.. it darn well stinks.. Gotta get away soon :-)
Today's my Dad's Birthday, I'm 21 and he's turning 14 today, looks like I'll be dead before I can take my old man out for a beer.
Wow, if all this happened just because of a leap day, imagine how the Japanese systems are going to react when the comes up to it's next leap second, and all systems synchronized with it, follow and the rest jump ahead. Tried to find the date for the next leap second, but couldn't...anybody have any luck?
"I threw up my hands in disgust and wondered if it had been such a good idea to have eaten my hands in the first place."
My computer got the leap year right. My watch thinks it's March 1 :) of course that's probably because my watch does not store the year, so no way it could know it's a leap year. anyways, what i didn't get...in the articles (the one in german and the one on yahoo) it said that it was causing systems to crash, wouldn't it just cause them to report the wrong date?? i'm not too sure as the biggest problem i've had with the leap year is my watch
A Dutch weatherstation had the same problem :-)
Definately the highlight of my day. --Duck
7 leap years spaced by 4 years followed by one spaced by 5. so... 4, 8, 12, 16, 20, 24, 28, 33, 37, 41... OK... So, 2000? Hmm... 33*60=1980 is... then 1980, 1984, 1988, 1992, 1996, 2000, 2004, 2009... Good, so 2000 is a leap year either way. Now, who really wants to calculate that every time! I bet it wasn't just political reasons :)
ok then your [sic] infringing on my copyright! Could you as [sic] me next time before STEALING my comments for your own?
Actually, a friend of mine from elementary school will be celebrating his 5th birthday today, he's 20.
Eh...
Aparently we're going to need another correction sometime in the fourth Millenium. Anyone know when exatly this problem will occur?
isleap = false;
if(year%4 == 0) {
isleap=true;
year%100 == 0 ? isleap=false;
year%1000 == 0 ? isleap=true;
}
The extent to which the rules are well-known are inversely proportional to their frequency. Hence, the 100 year exception is quite well known, the 1000 year exception is less well known. I'm guessing the programmers here knew the 100 year exception, and programmed it in, but didn't happen to know about the 1000 year exception, and didn't look anything up. Assumptions, always a bugger, expecially with dates."
The defense rests, your Honor.
I don't know how many times I've been saved by looking up something I already knew. By now I'm sure that you've seen the other posts regarding division by 400 rather than 1000.
carlos
--
As a matter of fact, I am a lawyer. But I play an actor on TV.
I was born on December 19. You have offended my birthday.
Am I like, the oldest slashdot reader there is? Probably the oldest leap day kid.
Never really cared much about the idiots screaming "You're only 2 (3, whatever)!" I never liked them in the first place, and if they were innumerate enough not to understand the difference between birthdays and years when I explained it nicely, then I sided with Heinlein: not human enough to worry about.
Judebert
For geek dads: Contraction Timer
damn it, my wrist watch is japanese and it say 03.01.2000
stupid casio bastards @£@###
but hey, now the companies that has spend money enough to support a small 3rd world country for years can feel justified
normal(adj)- people who don't sit on slashdot all day wondering why everyone else isn't building robots [DECS]
What is with this guy (or girl)? I've seen many of these rediculous and purposelessly obscene rants in German. Does anyone have any clue what this is supposed to be?
- learn mathematics - shoot dope -
This is most overlooked: Many, many watches failed this Y2K event! At least 1/3 on the floor I work on.
Its my 6th birthday today although this is my 24th year in existance. Weird stuff the modern calendar. So how many people who have only had 6 birthdays do you know that run linux?
What's even worse is when they combine half-assed knowledge w/ windowing.
So you end up with code like:
If (2-digit-year) mod 4 = 0 AND (2-digit-year) != 0
then it's a leap year
This code works from 1900 to 1999. But fails in 2000. Considering it was written in the 1980's, isn't that remarkably short-sighted? And these aren't historical dates... they're current rundates!
Does it mean something that they are all actors or just the poster doesn't know anybody else?
-- Si hoc legere scis nimium eruditionis habes.
It's a Y2K problem in the sense that the rule goes:
isleap = false;
if(year%4 == 0) {
isleap=true;
year%100 == 0 ? isleap=false;
year%1000 == 0 ? isleap=true;
}
The extent to which the rules are well-known are inversely proportional to their frequency. Hence, the 100 year exception is quite well known, the 1000 year exception is less well known.
I'm guessing the programmers here knew the 100 year exception, and programmed it in, but didn't happen to know about the 1000 year exception, and didn't look anything up. Assumptions, always a bugger, expecially with dates.
(c) Slim, 19100
--
NIST agrees with your first link. The issue, as I understand it is that leap seconds replace leap days for finer tweaking.
--
"L'IT c'est moi!"
7Hi5 7U35D4Y'5 134P D4Y BR0U9H7 50M3 5URPRi5iN9 (0MPU73R PR0B13M5 70 7H3 Hi9H-73(H N47i0N 0F J4P4N. 4((0RDiN9 70 7H3 R3U73R5 N3W5 493N(Y, 1200 47M5 10(473D iN P057 0FFi(35 3XP3Ri3N(3D 134P-D4Y-R31473D PR0B13M5. 1iK3Wi53, 7H3 J4P4N353 W347H3R 0FFi(3 H4D DiFFi(U17i35 Wi7H 10(41 73MP3R47UR3 4ND PR3(iPi747i0N M345UR3M3N75. 4((0RDiN9 70 R3P0R75, 43 5747i0N5 411 0V3R J4P4N H4V3 B33N 7R4N5Mi77iN9 iN(0RR3(7 iNF0RM47i0N 5iN(3 7Hi5 M0RNiN9. 45 34R1Y 45 M0ND4Y 50M3 24-H0UR F0R3(4575 W3R3 PRiN7iN9 Wi7H 3RR0R5: 7H3 '29' iNDi(47iN9 7H3 1457 D4Y 0F 7H3 F0R3(457 B3(4M3 '1'. iN N0R7H3RN J4P4N, 7H3 53i5Mi( 4(7iVi7Y M0Ni70R5 iN 20 R39i0N41 0FFi(35 F4i13D; H0W3V3R, UN1iK3 47 7H3 574R7 0F 7H3 Y34R, 7Hi5 7iM3 7H3R3 W3R3 N0 R3P0R75 0F M41FUN(7i0N5 iN J4P4N'5 NU(134R P0W3R P14N75.
---
"'Is not a quine' is not a quine" is a quine.
"'Is not a quine' is not a quine" is a quine.
Quine "quine?
This is what I was trying to do. My 6800 assembler is a little rough so it may not assemble without modifications.
LDD 0, Y
LDX #$0004
IDIV
BNE false
LDD 0, Y
LDX #$0064
IDIV
BNE true
LDD 0,Y
LDX #$0190
IDIV
BNE false
true LDAA 1
BRA exit
false CLRA
exit NOP
Please post any corrections.
Do you have a picture of it? That'd be nice.
Why make things harder on yourself? isleap = (!(year % 4) && (year % 100)) || !(year % 400);
You save the time and effort, don't ask the user the year, and the user has to make a minor correction once every four years (roughly). Is choice #2 really that ugly?
I have to make a correction to my watch every other month (almost), and I'm perfectly happy with that arrangement...
Computers are a different story, but I trust my timezone files with that. They even get daylight savings time on and off at the right dates and hours (which my watch doesn't do either).
One other reason the 33 year cycle was more attractive for a Christian calendar is because thats' the traditional lifetime of Jesus.
But, I mentioned teh 24 hour wander of the time fo the equinox. The equinox is used for the calculation of a number of religious holidays - such as easter. With the gregorian clanedar the wander in time is so large that it can't be kept on the one day. But with the Persian calendar, you can keep it on the same day *if* you choose teh correct meridian.
It just happens that this meridian is about 77 degrees west - roughly where washington DC is... but more interestingly - where Britain founded its first colonies. So, the protestant church could have established this new, more accurate, calendar and if there was a suitable settlement at that longitude, claimed that this was the rightful location of the centre of the christian church.
As it happens the first colony was not well equiped to survive (because tehy were in fact a load of astronomers sent to figure out where teh correct longitude was) and disappeared when britain was unable to supply them for a year.
Actually - there's a really trivial way to calculate it.... I just can't remember what it is.
> Again IIRC 1600 was the last leap year at the turn of a century.
Nope. 1700. The 400 rule is a recent addition.
-- Don't Tase me, bro!
> Following that logic, the years 1700...
Except that this rule wasn't adopted in 1700 and 1700 *was* a leap year.
-- Don't Tase me, bro!
The bug is intentional. Microsoft is copying the behaviour of the date handling in Lotus 1-2-3, which made the original error.
Mea navis aericumbens anguillis abundat
All JDKs prior to 1.1.something are not leap year compliant.
.com...
That puts a nice DOT in
Baker's Law: Misery no longer loves company. Nowadays it insists on it
http://www.sigsegv.cx/
See: http://developer. java.sun.com/developer/bugParade/bugs/4209272.html
all salaried employees are working for free today
Not exactly. Consider the following two cases:
Since I mentioned the holiday in February, does anyone else feel kinda shortchanged by the fact that from the last week of November to the middle of February there are five legal holidays, but from the second week of July to the end of August there aren't any? (I know I'm drifting dangerously close to offtopic here...).
This is my opinion and my opinion only. Incidentally, IANAL.
MOO;IANAL.
There used to be a picture linked here.
I have noticed that some applications written using Clipper are also having a problem with today's date. The problem appears to be with programs that never got "Y2K fixed" by adding a SET EPOCH command.
Clipper has always handled dates correctly internally and in its data files; the only Y2K issue appears to be in converting a character representation to the internal format. (For example, in the DTOC() function or in a GET.) Apparently, Clipper programs that haven't had SET EPOCH added have still sort of been working this year anyway. If a year 2000 date is generated internally, and you do a GET on that date, it keeps its 2000 year as long as the user doesn't try to edit it. Or at least, it worked until today. Today, we found out (the hard way) that if you have a date of 02/29/2000 (displayed as 02/29/00) and try to get edit it, Clipper thinks it's an invalid date. The solution is to just Y2K-fix your program (using SET EPOCH), as we all should have done a long time ago.
---
As copyright owner of this comment, I authorize everyone to defeat any technological measure which limits access to it.
Ada and Chuck, of course! We're still getting the kinks out of their crufty hacks. Talk about legacy code!
---
As copyright owner of this comment, I authorize everyone to defeat any technological measure which limits access to it.
In the UK, tradition holds that a woman can only ask a man to marry her on leap days i.e whenever February 29th occurs.
:-) ]
a) Is this also true in the US of A ?
b) has anyone been fortunate (or unfortunate) enough to ask/ do the asking and
c) what was the reply ?
Incidentally, guys, if you refuse, a further tradition says that you have to buy her some silk gloves as compensation. [Cheap way of getting out of commitment IMHO
Donte Alistair Anderson Roberts - hi son!
Karma: Chameleon
Just want to let you guys know, my watch was blinking March 1st this morning. But I didn't get the Blue Screen of Death from it when I changed the date to February 29th. Hopefuly it'll remember 4 years from now that 2000 was a leap year.
:)
Good luck to the people born on February 29th who are now considered by computers as non-existant
US businesses that currently accept chip and PIN/signature
My Birthday was yesterday. Turned 24, which, if you do the math, means I was born on a leap year (76). When I was born, people were saying the same thing, for my Mom to wait till the 29th. Aparently she was like "screw that, this kid is coming out now!" and I was a delevered a few hours before the 29th rolled around.
;)
I always wondered what it would be like to have a birthday on the 29th. Like, when would I celebrate it, Feb 28, or Mar 1? See, this is the kind of thing that screwed me up as a kid.
"Oppression and harassment is a small price to pay to live in the land of the free." -- Montgomery Burns.
I personally know of a multimillion-dollar system that was installed in 1998 and doesn't recognize the leap day today. And this was discovered in September of 1999. Major rush job to clean things up, finished a couple weeks ago, but only the "essentials" are totally recognizing it; anything that isn't date-critical will be displaying 3/1/2000 today AND tomorrow.
I was born 12:04 AM March 1, 1980. Tomorrow is my 20th birthday. Had I been born 5 minutes earlier, today would be my 5th birthday, a la Kintanon here
Happy birthday, by the way...
Anthony
"I think any time you expose vulnerabilities it's a good thing." -Attorney General Janet Reno
- correct my translation if you like, I'm German/American but don't claim to be an expert.
Sigmentation fault - core dumped
"I" before "E" except after "C", except with an "A (sound)" as in "Neighbor" and "Weigh". Except on thrusdays and all throught May. You will always be wrong no matter what you say.
The modern gregorian calendar was introduced by Pope Gregory XIII in 1582. However, it was only adopted by roman catholic countries in 1582, other countries, including Britain and Russia remained on the Julian calendar.
1600 was a leap year in both the gregorian calendar and in the julian calendar, and 1700 was a leap year in only the julian calendar.
Britain (And it's colonies, including America) adopted the Greogrian calendar in 1752, but other countries switched at other times, eg Egypt in 1875, Russia in 1918 and more recently Turkey in 1927.
So depending on where you are, the last '00 leap year could have been in 1600,1700,1800 or 1900.
In 1988 a bunch of sun's stopped working, and people who created accounts with ADM (whatever that is) found they couldn't log in. A bunch of BBS's Crashed.
I don't have any URL's, but I recall that in 1984, Primos machines suffered an outage when the backup program attempted to create a tape to expire on 29FEB85.
I'm sure there are many instances before that, but i'm not familiar with them. I'd say that date's have always been a problem in programs, simply because they're so complex, and easy to get wrong.
isleap = false; // --- NOT 1000!
if(year%4 == 0) {
isleap=true;
year%100 == 0 ? isleap=false;
year%400 == 0 ? isleap=true;
}
Though this won't bite you until 2400...
You could always combine the best of the lunar and solar calendars and switch to the Hebrew calendar. Or switch to the Chinese calendar--they use a lunar/solar system, and bypass all of those wierd exceptions that the Hebrew calendar uses to keep certain Jewish holidays on certain days of the week.
:-)
Of course figuring out when the leap months are is a bit of a pain in the neck--no regular rules like the Gregorian that any idiot (even many programmers) can keep track of.
Or we could scrap the idea of keeping up with seasons and switch to the Islamic calendar. Of course it's a pain in the neck to program--as the start of the month in most Islamic countries is called by some religious dude looking up and seeing the new moon. ("Hey, it looks like the new moon today! I declare today the start of Muharram!")
Hard to program, unless we equip these old guys with a T1...
My friend Tim has a birthday today. Poor guy, he won't be legal for alcohol until he's 84!
Washington, DC: It's like Hollywood for ugly people.
Since the first of the year, I've seen lots of mail and newsgroup postings with wacky dates, usually far in the future. So apparently this hit many people, though whether or not they realize it is something else altogether.
Our Northern Telecom phone system is telling me today is March 1st... :) Anyone else see anything today?
My wife went into labor on December 19, and I tried to get her to hold off until January 1. She wasn't interested....
Do you have ESP?
Weird :p I was born Jul 8 1980 in the middle of a summer storm. (kidding it was hot as hades in GA)
I was born in Ga.>:) Athens to be specific.
Apparently that was a terrible year for weather, snow storms that winter and drought that summer.
Lots of fun!
Kintanon
Check out JoshJitsu.info for Brazilian Ji
Exactly. Someone should have told Casio, though. My wristwatch thought today was March 1st. A few fiddly buttonpresses later, and it's back to a more correct world view. I wonder what it will think about tomorrow, though. ;^) (Hmmm, reading that page, I see it actually works as specified...)
main(O){10<putchar(4^--O?77-(15&5128 >>4*O):10)&&main(2+O);}
CNBC reported on the air just a few minutes ago that ATMs were shut down for a while in Japan because of a leap day bug. They also said that although "officials were on the alert" (I didn't write te copy for them) no similar bugs had surfaced in the US.
The net will not be what we demand, but what we make it. Build it well.
No picture.. It's a standard gold-filled open-face Hamilton Perpetual bankers watch, 18 size, with four small diamonds set into the gold and silver face later. I can't say for sure when it was made, but it was pawned in NYC in December of 1892. (The pawnbroker engraved the ticket number and date inside the watch.) It is keywound, so it may very well be older. Family hairloom; I'm the fifth generation to carry it.
.sig: Now legally binding!
Having just played extensivly with it, I am happy to say I have just found the first example of the Y3K bug.. Sadly, during the next millennial rollover, the date changes from '2999' to ' 00; The century dial no longer has enough pre-scribed numerals and is blank. There is enough space on the dial to have another 20 or so centuries, so I'll make sure to have it engraved before then.. ;-)
.sig: Now legally binding!
I had it appraised when I had the dial cleaned three years back. While I wasn't told that it was one of their earliest specimins, I was told that my particular model had gone for $14,000 in open auction, and that the guessed value was $6-8K. $6,000 doesn't mean terribly much to me, I'm not materialistic. I was given the watch with the implicit instruction that it be used, as it had been, and I will.
.sig: Now legally binding!
If you think that's bad then try this one...
Run up a copy of Excel 97
Enter the date 28/02/1900 into cell A1
Enter the formula +a1+1 into cell A2
Cell A2 now displays the date 29/02/1900 [an impossible date as 1900 was not a leap year]
It says a lot about M$ that can't code an event that happened 100 years ago!
M$ don't know what is going on in the past.
M$ can't code for the present either.
I suspect their "forward planning department" is fundamentally unsound also.
Remember kids! Guns don't kill people - Americans kill people.
Depends which country you're talking about. The calendar was the creation of Pope Gregory XIII in 1582, dropping ten days in October. Catholic countries followed immediately, and Protestant countries by 1700. In Europe, it was only England who had a leap year in 1700. Use of the Gregorian calendar in England (and the colonies) was finally specified by an Act of Parliament in 1751. By then, because of the extra leap year, the correction required 11 days. I believe Russia may not have changed until this century.
My info is from here and here.
Well, I found out today that my watch doesn't handle leap years.... I can't even set it to Feb 29th... have to wait till tomorrow to clock it back and make it right...
Esperandi
But I have canned food and a generator, so I'll be okay, right?
From the Yahoo report here:
An agency spokesman said the computer glitch was caused by an old program installed in the system.
It can't have been that old seeing as leap years occur every 4 years IIRC :) Seeing as I don't think that the rules for calculating leap years are particularly complex and probably in any number of libraries this does seem like a particularly shoddy piece of coding.
It's usually the case that most programmers quite rightly leave this kind of thing to the underlying OS/platform. Which is fine until that is broken - check out this bug report at Sun (free login reqd). The vanilla 1.2 JVM for Unix was not able to parse "29 Feb 2000" into a Date object due to a very obscure bug introduced in Java2. There is a fix, but I know that at least a few people/companies got caught out.
---- Den ene knappen er powerknapp, den andre er Bender voice knapp "Bite My Shiny Metal Ass"
That this is the D-2-9 bug? Or maybe the Y/4 bug?
ADVENTURERS! - ANTIHERO FOR HIRE - CARDMASTER CONFLICT
What sort of person would design a system and think that although it wouldn't be used in 2000, it would be used in 1900?
Being that this is leapday, all salaried employees are working for free today. So, not only is someone getting overly stressed for this, they are also doing it for no charge whatsoever!
-ShelbyCobra
Living life in the right side of the s-plane
Just for the record, I was born on Feb 29, 1980 in the middle of a massive snowstorm.
Gee, usually people are conceived during massive snowstorms. (Hey, ya gotta do something...;-)
Ooh, a sarcasm detector. Oh, that's a real useful invention.
OTOH -- I have to say that to blow off Y2K issues at this point is a mistake. The mystique of the rollover was a bunch of nonsense -- and we all knew it. But that doesn't mean that there are no real problems. I have seen quite a few screwed up perl scripts, for example. And it really seems to me that, had we done nothing, some bad things could have happened.
I'd wait until a few billing cycles are through before I called the problem over.
--
-- Slashdot sucks.
should have known....the link ended in ".de" *lol*
Computer breakdowns by intercalary day in Japan
The intercalary day on today's Tuesday, 29 February, caused some
surprising computer disturbances in the Hightech country Japan. As
the press agency Reuters announces, in post offices due to
Jahr-2000-Fehlern, which were released by the intercalary day, 1200
cash machines failed. The Japanese weather service has problems with
the entry of local temperatures and precipitation. According to the
report 43 stations distributed over the country transmit false data
since this morning. Already on Monday some 24-Stunden-Vorhersagen
with an error had been printed out: Instead of " 29. " became " 1. "
as end of the validity period indicated. In north Japan the devices
failed for the display of seismic activities with 20 local offices.
Differently than to the change of year however no breakdowns were
announced in the Japanese nuclear power stations (cp/c't)
If you've any interest in calendar manners you'll know that the current 97 leap years in 400 years calendar was introduced by Pope Gregory because the time of the Equinox was slipping away from the date of the equinox - 10 days by the time the calendar was imposed.
The funny thing is - the 97/400 calendar is in fact inferior to the 8/33 year cycle of the Persian calendar, but for 'political reasons it wasn't introduced. The persian cycle has 7 leap years spaced by 4 years, and one spaced by 5.
The reason that the Persian Calendar is better is that the 97/100 cycle lets the dae of the equinox wander by about 56 hours. While the Persian calendar lets it wander by only 24....
Anyway - there's a load of fun political wrangles and a plan by Queen Elisabeth I of Britain to use this better calendar as a secret weapon against the catholic church.... fun fun fun...
> Correct me if I?m wrong
Consider yourself corrected.
Leap years occur when the year is divisible by 4, except when the year is divisible by 100, unless the year is also divisible by *400* (not 1,000).
-- Don't Tase me, bro!
Check out http://linux berg.mirror.ac.uk</a> in Netscrape 4.x for Linux. Look for the big date in red.... doesn't happen in IE, or in Netscrape for non-Linux platforms (Windoze and AIX tested so far). Silly javascript :)
~Tim
--
Rushing on down to the circle of the turn
bissextile year \bye-SEKS-tuhl-YEAR\ (noun)
: a leap year in the Julian or Gregorian calendar
The year 2000 is a bissextile year, but the year 1900 was
not because leap years can only occur in century years that are
divisible by 400.
When Julius Caesar reformed the calendar in 45 BC, he
stipulated that an extra day be added to February every four
years. But the Romans didn't add the extra day at the end of the
month; they inserted it after the 24th day of the month. They
also reckoned days near the end of a month by counting backwards
from the first of the following month rather than forward from
the beginning of the current one. The day we call February 24 is
six days before March 1, so it was known as the sextus, or "sixth
day." When Caesar's extra day was added, it became a "second
sextus" or bissextus (appending the Latin "bis," meaning
"doubled"). English speakers adopted "bissextile" to refer to
that extra day, even though its placement in the modern calendar
makes that term a misnomer.
-- Virtual Windows Project
Just for the record, I was born on Feb 29, 1980 in the middle of a massive snowstorm.
So today is my 5th birthday. Everyone send me a present!
Kintanon
Check out JoshJitsu.info for Brazilian Ji
My 1892 Hamilton perpetual got the date correct. It even rolled over to '2000' for me on New Years. I believe it will keep the correct date until 2199. Amazing to think that the engineer had the foresight to see that someone would still be using it more than 300 years in the future. Perhaps the FORTRAN and RPG programmers of the 1960's should have taken a clue from the watchmakers of the 1890's.
.sig: Now legally binding!
I heard a request for birthdays on this day -
,Indian prime minister who was imprisoned with Mahatma Gandhi.
Born on this day:
1736: Anne Lee , British blacksmith's daughter who emigrated to the USA and founded
the religious group, the American Society of Shakers.
1792: Gioacchino Rossini , Italian composer who wrote 36 operas, including The Italian
Girl in Algiers, William Tell' The Barber of Seville and The Thieving Magpie - and
invented a number of recipes, notably Tournedos Rossini.
1840: John Holland , Irish-American
1896: Ranchhodji Morarji Decal
1920: Actress Michele Morgan
1920: Actor Arthur Franz
1920: Actor James Mitchell
1928: Actor Joss Ackland
1936: Actor Alex Rocco
1936: Former space shuttle astronaut Jack Lousma
1944: Actor Dennis Farina
1944: Actress Phyllis Frelich
1972: Actor Antonio Sabato Junior
Correct me if I'm wrong but the leap year rules are as follows, leap years occur when the year is divisible by 4, except when the year is divisible by 100 unless the year is divisible by 1000. I find it ironic that programmers have to implement one but not both exceptions to the basic rule in order to have a problem. Those programmers who just implemented the /4 basic rule can rest until 2100 before having problems.
Firstly, we need a calendar to identify the seasons. In month X it is summer, in month Y it is winter.
Secondly, a year doesn't last X months, it lasts 365 days, six hours and a bit.
Even an earth day doesn't last 24 hours (oh no it don't) it lasts 23 hours 59 minutes and 58 seconds.
Lastly, they had the leap year wrong a long time. When Christmas started falling in summer, European countries 'invented' the leap year and between 1534 and 1538 all countries in Europe scratched one month, i.e. any date November 1536 does not exist in Holland.
Bizar technology?
A grandfather is set to fulfil a lifetime's ambition by holding his official 21st birthday party - 63 years after handing out the invitations.
Martin Grundy was born on February 29 in the leap year of 1916 and so celebrates a proper birthday every four years.
As a law student in 1937, he held an informal 21st party with a few drinks on February 28 - and told undergraduates to come to the proper party in 2000.
The power of accurate observation is commonly called cynicism by those who have not got it. - G.B. Shaw
Gotta love Drude this made the headline on DrudgeReport....check it out here at yahoo....the report makes more sense in straight english :)
I remember watching a number programs displaying the date 29 FEB 1990 to me a decade ago. That wasn't a leap year. Fortunately for the vendor, who responded quite quickly, the dates were stored internally in Julian format and converted for display, so no data was corrupted. The bug was introduced during some maintenance on some old software. I suspect that they were among the first to start Y2K fixes.
This particular problem arose from the fact that far few programmers completely understand the leap year rules, and the code that does the calculations is rarely touched, usually for some reason not directly related to leap year calculations, such as Y2K remediation. It is all wound up in the reasons why software maintenance gets expensive in nearly every case. The specs were either never written down to the level of individual functions, or they are out-of-date. Comments are incomplete or misleading. There's no automated regression tests to give assurance that nothing has been broken.
Why should we care about this? This particular instance was probably due either to Y2K work or a latent bug from some programmer who over-applied the century portion of the leap year rules. Once it gets fixed, this code won't need to be touched for ages. First of all, Y2K was just a single instance of a justification for going through bodies of code making huge numbers of small changes. Porting is another one. And any programmer with a bit of experience can name at least one or two others.
Earlier, I provided a link to the description of the Extreme Programming practice of automated unit tests. Doing that might not have caught these bugs before they got loose. Testing generally only catches the bugs you know to look for, and the tests can be wrong too. But I'm lobbying here to try to overcome the natural resistance many programmers feel toward testing. I know I'd certainly rather be writing code. The reason I've started automating it is because I have no such aversion to building tools to take that dull task away from me. Larry Wall pointed out that laziness is a virtue for programmers. Use it.
The net will not be what we demand, but what we make it. Build it well.
A friend of mine's son was born today! Although his wife went in to labor at 3am yesterday, we encouraged her to hold off for 24 hours to deliver just for the cool birthday.
I don't think she was amused.
SteveIt may be the case that there have been many more Y2K problems occur than have actually been reported. It may well be that organizations have tried to cover up to avoid looking like they were the only ones who didn't prepare for the worst.
It just so happens that the organisation which I work for had at least 20 Y2K related incidents occur in the first week of 2000 but we have all be told to keep quiet (hence I don't give the organisation name) I can say this: we are one of the largest organisations in the UK and we must have done damn well to keep information about these problems away from the trade press.....
Ripping an new rectum in the fabric of spacetime.
Here.
It's intersting to note they did have problems with Y2K (according to the BBC), so this shouldn't have been *too* much of a surprise...