[an error occurred while processing this directive]
The origins of the Y2K Bug go quite far back in the history of computers. In the 1950s and '60s the first programmers could not imagine that some of their programs would still be in use nowadays (as you can see, computer hardware and software evolves at an amazing rate). These programmers developed a two-digit date field following the MM/DD/YY pattern in order to save space (and money because memory was extremely expensive at the time). However millions of lines of code (commands used in programming) dating back from this period that use this two-digit date field and are still in use. This date field is mainly used in data manipulations such as comparisons and subtractions. This two-digit date field is at the origin of the Y2K Bug. Using this two-digit date field, the 1st of January of the year 2000 will be stored as 01/01/00. Here's an example of a very minor problem which could be caused by this. In the year 1999, if you want to calculate the age of someone born in 1950, the computer will subtract 50 from 99 and will conclude that the person is 49 years old. However, in the year 2000, if you want to know the age of someone born in 1950, the computer will subtract 50 from 00 and conclude that the person is -50 years old. As you can see, anything involving years will therefore be vulnerable to this problem. This can stretch from your personal computer to the computers controlling the world's financial markets potentially causing major problems concerning the different transactions.
Another problem linked with the Y2K bug (although much less widespread) is that the year 2000 is a leap year and some systems will have problems with the 29th of February.
Determining leap years:
If a year is evenly divisible by four it is usually leap. However, if it is also evenly divisible by 100, it is not a leap year unless it is also evenly divisible by 400. This last rule was commonly neglected.
The effects of the Y2K Bug are still merely speculations. No one really knows what will happen. It might be that nothing will occur on the 1st of January 2000 just as it might be that the 1st of January 2000 will see the birth of a disastrous scenario. It has been estimated that if only 2% of the world's computer systems crash, this will cause a huge domino effect because some businesses rely on the supplies of others, and if the computer system of the supplier goes down, the other business will be left supplieless. If nothing happens, it is still likely that there will be great turmoil in certain areas of activity. Banking could be greatly affected because a certain number of people aware of the problem will take their money out from banks just in case there is crash. The world of finance could see a new dramatic financial crash if people start selling all their stocks fearing the Y2K bug. Supermarkets could also face with problems if people start preparing for the worst and try to stock up.
Programs either need to be modified or replaced. These are the steps undertaken by most companies to deal with this problem:
There are several ways to fix the Y2K Bug. The most widespread is called date expansion. It consists in converting all the years to four digits. This method is safe until the year 10000 but is the most expensive and time consuming. Another method is date windowing. Two-digit year values can be windowed by assuming that the year must fall within a 100 year range. This method can be set to any 100 year period. For example, if the range is from 1999 to 2098 inclusive, and correct instructions are written in the system, it will perform date processing correctly until 2098. Date setback is also used from time to time (it is only temporary and by far the riskiest). This method consists of setting back the year data by 28 years (or 56, since the calendar repeats itself every 28 years) therefore "99" appears to be "71" (or "43").
You can either test it manually or download a program which will automate the process. Here is the URL of a step-by-step guide to manually test your PC for Y2K compliance: http://www.cinderella.co.za/pccomply.txt[an error occurred while processing this directive]