reply to post by [davinci]
Sorry for the delay, my network interface broke down (talk about 'glitches' :p had to buy a new one!).
I fear I've been quite unclear about the details of the phenomenon (it's not always a bug/glitch). The system that uses single integers (timestamps)
to represent time internally is actually very robust, more so than our fragmented notation. There are less mistakes to be made when a developer only
uses one number for the date before converting it to be displayed.
The line of code I supplied does not change anything in your system, but only demonstrates such a conversion; it's a normal function. When you
execute it by putting it in the address bar, it just displays the result of the conversion with a timestamp of 0. You can enter any timestamp you want
without problems, even negative timestamps to represent dates before January 1st, 1970.
The anticipated problem with Y2K was that certain software may've stored only the latter 2 digits of the year internally, prefixing it with 19 when
converting to a date. Any software with that representation would have conversions of dates to 1900 instead of 2000, with various consequences.
However, most software already used more robust systems, like UNIX timestamps.
So the date/time system itself is quite robust. The glitches we're seeing only arise when the conversion function receives an "empty" timestamp,
i.e. 0. The conversion of the timestamp 0 to Jan. 1, 1970 is correct, but the timestamp shouldn't have been 0 in the first place, at least in the
case of the iPhone, Chadwickus' ATS link, and your installation of Ad-Aware. The bugs that cause those glitches are all separately in all software
mentioned above: the iPhone tries to display an non-existent email, ATS ran into an empty date-field, and Ad-Aware probably tries to read its
timestamp from a non-existent file.
The logical error made by developers can be of many different kinds, and sometimes it's not even their fault - for instance, when a file containing a
timestamp has been removed by an different application, or by the user. When it is indeed a bug, it could be anything that causes a discrepancy
between storing and reading data, such as different versions of software or faulty handling of incomplete input. Usually, those are small mistakes
without a lot of consequences; the date of 1969 mainly looks weird, but there is little chance it will do anything else in any of the examples.
I hope this helps to understand how those glitches arise; there is no weakness of the system involved, only mistakes in the applications using it.