John C E Ellis

My thoughts and ideas

  • THE MILLENNIUM BUG: 25 YEARS ON

    THE MILLENNIUM BUG: 25 YEARS ON

    A Tale of Hype, Herculean Efforts, and Successful Outcomes (in the main)

    INTRODUCTION

    As the clock ticked closer to midnight on December 31, 1999, the world braced itself for a technological apocalypse known as the Millennium Bug, or Y2K. This looming threat was predicted to disrupt computer systems worldwide, leading to catastrophic failures in everything from financial systems to power grids. The hysteria in the media surrounding Y2K was intense, resulting in a massive, coordinated global effort to prevent the feared outcomes. Yet, as the new millennium dawned, the expected chaos failed to materialize, leaving many to wonder: was the threat real, or was it all just hype?

    THE ISSUE: WHAT WAS THE MILLENNIUM BUG?

    The Millennium Bug, or Y2K, was in reality two seperate problems;

    The first stemmed from a seemingly innocuous programming shortcut used in the early days of computing. To save valuable memory space and money, programmers represented years with only two digits (e.g., 1970 as “70”). This practice worked well until the year 2000 approached. The fear was that systems would interpret the year “00” as 1900, potentially causing errors in date-sensitive operations across a myriad of systems, including financial transactions, power grids, and government databases.

    The second was a specific technical issue involved PC BIOS dates, where many older computers’ Basic Input/Output System (BIOS) would not correctly recognize the year 2000, potentially causing PC startup failures. Chris Myers a Fellow of the Institution, wrote this technical document back in 1997, to explain the hardware issues.

    THE HYPE: THE WORLD ON EDGE

    The potential consequences of Y2K were widely publicized, creating a global frenzy. Media outlets predicted widespread chaos: banks would fail, airplanes would fall from the sky, and essential services would grind to a halt. Governments, businesses, and individuals prepared for the worst. Companies spent billions of dollars on remediation, and contingency plans were made to address possible disruptions. Some people even hoarded supplies, fearing that basic utilities might fail.

    While the World woke up to the idea of the Millenium Bug during 1999, in preperation for the potential downfall of society at 1 minute past 12 am on the 1st of January 2000, the problem was already a threat on the 1st of January 1999. Many systems, for example motor/house/life insurance and banking systems, already were entering data where the next renewal would be in the year 2000, or 00, if the system was not ready, the potential for failure was high.

    THE WORK: THE GLOBAL EFFORT

    In response to the impending threat, a monumental effort was launched to fix and upgrade systems. The work involved several key steps:

    1. *Inventory and Assessment* : Identifying systems, hardware and software that were potentially vulnerable.

    2. *Remediation*: Updating or replacing hardware and software to handle the date change correctly, including updating PC BIOS to ensure proper date recognition.

    3. *Testing* : Rigorous testing to ensure that changes were effective and did not introduce new problems.

    4. *Contingency Planning* : Developing backup plans to address potential failures.

    This colossal undertaking saw cooperation across industries and borders, involving governments, private sector companies, and international organizations. The UK alone spent over £20 million and the United States is estimated to have spent over $100 billion on Y2K preparations.

    SPECIFIC EXAMPLES: UK & WORLDWIDE

    In the UK, the government launched the Action 2000 initiative, led by the respected business leader Don Cruickshank. This initiative aimed to ensure that both public and private sector organizations were prepared for Y2K. The National Health Service (NHS), for instance, invested significantly in ensuring that its systems, including patient records and medical devices, would not fail due to Y2K-related issues.

    One notable global example is the work done by the financial sector. The New York Stock Exchange and NASDAQ underwent extensive testing and upgrades to prevent trading disruptions. Similarly, in Japan, the government and private sectors collaborated to ensure that essential services, such as banking and utilities, were safeguarded against potential Y2K failures.

    Some IAP members reported how busy they were while others said it was quiet, or even mundane.

    THE OUTCOME: MINOR GLITCHES, NO MAJOR FAILURES

    As the clock struck midnight on January 1, 2000, the world held its breath. But rather than the predicted chaos, the transition to the new millennium was surprisingly smooth. Minor glitches occurred, but nothing on the scale of the anticipated catastrophe. Some examples of minor issues included:

    1. *United States* : A few slot machines in Delaware stopped working temporarily, and in Washington, D.C., a couple of spy satellites experienced minor data hiccups.

    2. *Japan* : Some minor glitches were reported, such as errors in radiation monitoring equipment, which were quickly resolved.

    3. *Australia* : Bus ticket validation machines in two cities failed to operate correctly for a few hours.

    4. *UK* : A few credit card transactions went awry.

    5. *South Korea* : Feel sorry for the 170 people sent court summons, to attend on the 4th of January 1900.

    Overall, these minor incidents were quickly addressed, and no significant disruptions were reported.

    ANALYSIS: WAS IT WORTH IT?

    In hindsight, the smooth transition can be seen as evidence of the success of the massive remediation efforts. Without the extensive preparations, the outcome might have been very different. The lack of major incidents was not because the threat was imaginary, but because of the proactive measures taken to address it.

    Furthermore, the Y2K preparations had several positive side effects:

    *Modernization* : Many outdated systems were updated or replaced, leading to more efficient and reliable operations.

    *Increased Awareness* : The event raised awareness of the importance of maintaining and updating critical infrastructure.

    *Preparedness* : Organizations developed better contingency planning and risk management practices.

    CONCLUSION

    The story of the Millennium Bug is a testament to the power of coordinated global action in the face of a common threat. While the anticipated chaos did not materialize, the extensive preparations undoubtedly played a crucial role in ensuring a smooth transition into the new millennium. Y2K serves as a valuable lesson in the importance of vigilance, preparation, and collaboration in managing technological risks. In the end, the Millennium Bug was not a catastrophe, but a catalyst for improvement and modernization.

    THE FUTURE

    While researching for this article, one of our Fellows, Irene Jones, mentioned EPOCH time. This was used on older UNIX based systems and was used to store the number of seconds that have elapsed since 00:00:00 January 1st 1970. It will also have a similar crisis moment in January 2038. Also known as UNIX time, on the 19th of January 2038, any 32 bit signed Integer storage fields used to store the time will overfill. The solution is of course, to replace the fields with 64 bit fields, but who knows what dragons may exist in some of these older systems. It may seem a way off, but some serious system changes may well be predicted in the future.

     

  • Y2K. JOHN’S STORY

    Blood, Sweat and Years. The Y2K remembered

    It only seems a few years ago when the world was awash with how the all the IT systems, PC’s and Game Consoles were all going to stop on the 1st of January 2000.

    Companies were expecting to spend millions on testing and fixing their systems, Government were preparing for everything from nuclear reactors to our water systems just stopping and the world ending.

    HARBINGERS OF DOOM EVERYWHERE

    I was primarily working for a large insurance company that supplied quotation systems to high street Independent Financial Advisors (IFA’s). I was managing a household insurance quotation system that interfaced to a early CRM system which we also wrote, we also had a Motor Insurance system and a Business Insurance system, managed by different teams within the company.

    So one day in early 1999, I was asked to assess what was required to be done to make the systems Year 2000 compliant and implement the changes and get it tested. I was given six months to do this.

    As I looked at 100’s of thousands of code written in COBOL, I realised this would be a very big job; Then I had an idea, the code was effectively all in text files, which I could read in code.

    So I wrote a program to read through all the source code files, find likely candidates for date fields and report on them. This went very well, then I realised that I could use the same code and get it to alter much of the existing code automatically, and just list what I needed to check.

    Instead of 6 months, I had all the changes done in 6 weeks, unit and system tested in another couple of weeks and out to our integration team to test. In the end, my changes were rolled out to the IFA’s in just over 4 months from starting the project.

    From my own recollection, while the Y2K problem was quite a potential issue, the dedication of so many in the industry, meant that on the 1st of January 2000, pretty much everything worked without a hitch. Many people today, say it was a massive hype, but it wasn’t, it was down to a lot of people working very hard to ensure nothing went wrong.

     

  • YEAR 2000 BUG – PC ISSUES EXPLAINED

    Year 2000 Bug – PC Issues Explained

    Chris Myers wrote this document in 1997 to explain the issues, so that managers and staff could understand just the technical issues that might occur with the existing computer hardware.

    The motherboard of a PC has a clock in the CMOS called a real time clock (RTC). This holds a number representing the date and time and is maintained, even when the PC is switched off, by a small battery (similar to a group of 3 watch batteries). A typical lifespan for this battery is 3 years.

    When the Date function is called, the returned value represents the year as a 2 digit number eg. the year 2000 is stored as 00. During the conversion process this number is added to the 19th century by the BIOS ie. 1900.

    Dates work out differently in a PCs working memory. The system clock stores the year as a number of days since 1980. This is then converted to a day, month and 4 digit year when needed. As a result of these different methods of holding dates, there are 2 copies of the current date and time in working memory when the PC is switched on. However, when the computer is switched off, the working memory losses its contents, but the real time clock is protected by its supporting battery.

    Many later model PCs will accept the date change from 1900 to 2000 quite happily because of this method of counting days from 1980, but this will only stay correct whilst the machine is switched on. Many BIOS systems will have a problem as soon as the PC is rebooted after the turn of the century.

    The system clock will reset because the RTC has scrolled over to the year 1900 and the system clock cannot convert this to a number of days since 1980 (1900 – 1980 = minus! 80 days).

    DEFINITIONS

    BIOS: Basic Input/Output System

    CMOS: Complementary Metal Oxide Semi-conductor

    Motherboard: Main component board

    PC: Personal Computer

    RTC: Real Time Clock

    Y2C: Year 2000

    TESTING YOUR PC

    To determine if your PC suffers from the Y2C bug follow these simple steps:

    – Set the date to 31 December 1999

    – Set the time to 23:59

    – Turn off the PC and wait 1 minute

    – Turn on the PC and check the date

    LEAP YEAR TEST

    It is likely that if your PC failed the first test it will also fail this test because Y2C is a leap year. To determine if your PC can handle the Y2C leap year follow these steps:

    – Set the date to 28 February 2000

    – Set the time to 23:59

    – Turn off the PC and wait 1 minute

    – Turn on the PC and check the date