Re: a system that fails spectacularly

2005-12-08 Thread David Harper

Poul-Henning Kamp wrote:

Some of us have been trying to drive this point though for some time:

  99.99% of all programmers have no idea what a leap-second is.

And these are the people who program the technology that runs our
civilization.


The confusion runs deeper than that.

I discovered last year that implementations of Java up to and including
Java 1.3 did not implement the correct daylight saving time rules for
the United Kingdom during the period between 27 October 1968 and 31
October 1971 when the U.K. kept its clocks permanently one hour ahead of
GMT and called this British Standard Time.

The daylight saving time rules were implemented as little more than a
blanket starts on the last Sunday in March, ends on the last Sunday in
October prescription, with no provision for irregularities such as
BStandardT.

As a result, Java programs would assume that the U.K. was keeping GMT
during the winter months of 1968/9, 1969/70 and 1970/1 when in fact the
clocks were an hour ahead.

This error was fixed in Java 1.4, when a rather more sophisticated
mechanism was added for handling daylight saving time rules, based upon
the Unix zoneinfo database, which does know about the irregularities
and exceptions.

When even Sun Microsystems can make this kind of mistake, with all of
the resources at its disposal, Joe or Jane Programmer working for a
small company can be forgiven for not being familiar with the arcane
world of leap seconds. There are, after all, only 102 of us on this
mailing list :-)

David Harper

--
Dr David Harper
Wellcome Trust Sanger Institute,  Hinxton,  Cambridge CB10 1SA,  England
Tel: 01223 834244 Fax: 494919 http://www.sanger.ac.uk/Users/adh/


Re: a system that fails spectacularly

2005-12-08 Thread Poul-Henning Kamp
In message [EMAIL PROTECTED], Rob Seaman writes:
On Dec 7, 2005, at 11:57 AM, Poul-Henning Kamp wrote:

 ISO9000 certification only means that you have documented your
 quality assurance process.  There is no requirement that your
 documentation pertains to or results in a quality product.

That was kind of my point, too.  We have standards bodies that don't
promulgate their standards.  [...]

You need to look even further down the foodchain, starting from the bottom:

* First comes people who make buying decisions based on price.

* Then comes engineers who are only in it for the money.

* Then comes product managers cutting corners to push out a cheap product early.

* Then comes companies who only care about money


The kind of people who even care enough to think about participating
in standards writing, are leagues above those four by the simple
fact that they actually do care in the first place.

And as we all know from the standards we work with, even those people are pretty
underperforming to begin with.


In an ideal world, I would love to educate them all about the errors
of their ways, but I'm too old to seriously contemplate such a
project.

Leapseconds are simply too technically tricky for the species we
are dealing with.  They are OK if confined to science labs, but out in
the real world where people think McDonalds food does not make you fat
leap seconds are just no feasible.

--
Poul-Henning Kamp   | UNIX since Zilog Zeus 3.20
[EMAIL PROTECTED] | TCP/IP since RFC 956
FreeBSD committer   | BSD since 4.3-tahoe
Never attribute to malice what can adequately be explained by incompetence.