Everyone now knows that Neil Ferguson of England’s Imperial College is one of the villains of the coronavirus disaster of 2020. He produced an epidemiological model that was absurdly off the mark, predicting 500,000 deaths from the virus in the U.K., and more than 2 million in the U.S. Unfortunately, Ferguson’s model was the basis for harsh shutdowns in the U.K. and other countries, probably including the U.S. Most people also know that Ferguson is a world-class hypocrite, as he violated his own social distancing rules to engage in illicit trysts with his married lover, a left-wing political activist.
But that’s not the worst of it. In the Telegraph, two software executives write that Ferguson’s model was, on its face, incompetent and would not have been accepted by anyone well-versed in computer technology. (“Neil Ferguson’s Imperial model could be the most devastating software mistake of all time.”) The article is beyond a paywall, so I will excerpt liberally:
Since publication of Imperial’s microsimulation model, those of us with a professional and personal interest in software development have studied the code on which policymakers based their fateful decision to mothball our multi-trillion pound economy and plunge millions of people into poverty and hardship. And we were profoundly disturbed at what we discovered. The model appears to be totally unreliable and you wouldn’t stake your life on it.
Imperial’s model appears to be based on a programming language called Fortran, which was old news 20 years ago and, guess what, was the code used for Mariner 1. This outdated language contains inherent problems with its grammar and the way it assigns values, which can give way to multiple design flaws and numerical inaccuracies. One file alone in the Imperial model contained 15,000 lines of code.
Try unravelling that tangled, buggy mess, which looks more like a bowl of angel hair pasta than a finely tuned piece of programming. Industry best practice would have 500 separate files instead. In our commercial reality, we would fire anyone for developing code like this and any business that relied on it to produce software for sale would likely go bust.
The approach ignores widely accepted computer science principles known as “separation of concerns”, which date back to the early 70s and are essential to the design and architecture of successful software systems. The principles guard against what developers call CACE: Changing Anything Changes Everything.
Without this separation, it is impossible to carry out rigorous testing of individual parts to ensure full working order of the whole. Testing allows for guarantees. It is what you do on a conveyer belt in a car factory. Each and every component is tested for integrity in order to pass strict quality controls.
Only then is the car deemed safe to go on the road. As a result, Imperial’s model is vulnerable to producing wildly different and conflicting outputs based on the same initial set of parameters. Run it on different computers and you would likely get different results. In other words, it is non-deterministic.
As such, it is fundamentally unreliable. It screams the question as to why our Government did not get a second opinion before swallowing Imperial’s prescription.
In the U.K., as here in America, the responsible government officials believed they had no choice but to follow the advice of officially-anointed “experts.” These alleged experts were bureaucrats and academics, not practicing physicians. The result has been a disaster, blighting the lives of hundreds of millions–perhaps billions–across the globe. The number of deaths resulting from the current, unnecessary economic collapse will never be accurately tabulated, but it will surely–unlike the toll from the virus itself–mount into the millions. The United Nations predicts that the death toll among children in underdeveloped countries alone will be hundreds of thousands.
Whatever you think of the Wuhan virus, it is certainly no more severe, and probably less severe, than the epidemics of 1957-58, which killed around 1.1 million in a much less populated world, and 1968-69, which killed 1 million worldwide and around 100,000 in the U.S. (the equivalent of 160,000 today). Those epidemics were bad. They killed people, mostly the elderly and the infirm. But the damage was not compounded by irrational government actions that devastated far more lives than were impacted by the diseases. It adds insult to injury that those government actions have been based, in large part, on incompetent work by “experts.”