Time for a little Tech Talk

Do you know who Neil Ferguson is? You should. His data models are a big reason why the UK is currently locked down and arguably assisted the “experts” in Canada and America to encourage the political leaders there to do the same. He is currently infamous for his hypocritical sex exploits but there’s a much bigger scandal afoot.

Looking back, Ferguson’s data models predicted huge deaths in America and the UK:

Give Neil Ferguson a break. Nearly two weeks ago Mr. Ferguson, an epidemiologist with Imperial College London, issued a report on Covid-19. Much of the public attention focused on his worst-case projection that there might as many as 2.2 million American and 510,000 British deaths. Fewer paid attention to the caveat that this was “unlikely,” and based on the assumption that nothing was done to control it.

When these predictions proved to be wrong by orders of magnitude, many suggested that it was because of the lockdowns and shelters-in-place that we averted a disaster. Maybe. But now another strong possibility is coming to light: The software code that Ferguson et al wrote and used to make these predictions is … crap. Absolute garbage spaghetti code that any first year Computer Science student would get an ‘F’ on.

To be clear, Ferguson’s original code is currently unavailable but a derivation of it, “upgraded for over a month by a team from Microsoft and others”, is somewhat of an improvement. Here’s what was said about the original code:

If you know anything about writing software, then you instantly know that a single code file with 15,000 lines is beyond lunacy/incompetence.

If you’re so inclined, get yourself a free copy of VS Code and then clone the git repo. The critical file you’ll want to examine is CovidSim.cpp.

42 Replies to “Time for a little Tech Talk”

  1. It is difficult to express how stupid this is. We must insist that all research that drives public policy is released and available for checking by third parties before the policy goes into effect. Reliance on authority has failed so many times how can people possible still support the, “Trust me I a scientist” thing.

    1. Well, you all should know that Ferguson was heavily involved in the response to mad cow in the UK 20 years ago.

      Once a hyperbole driven fear machine always a hyperbole driven fear machine it seems for him.

    2. Absolutely! And it should be noted that the EPA does not open ANY of its “proprietary” code to third party scrutiny … yet uses all manner of secret code to determine Co2 is harmful to plants and other living beings by supercharging atmospheric heat to blast furnace temperatures. I suspect 25,000 lines in every single one of those FRAUDULENT … FAILED … models.

      Thanks Robert. I’m not anti-computer, anti-code, anti-science … just anti JUNK prefix-all those things.

      1. Kenji, we won’t have to worry about the whooWHO flu, government corruption, the food supply, vaccines, money, guns, absolutely nothing if the CO2 levels get as low as they think they should be because will all be dead when CO2 drops below 200ppm or is it 150ppm. Adios amigos.

      1. I probably shouldn’t tell you about our company’s codebase, then….

  2. Damn. I learned Fortran and COBOL in high school. Even won my graduating class’s computer science award.
    Can’t remember a thing about either language, and can’t believe either are still in use. Apparently there is still a lot of COBOL software and baler twine and duct tape holding together some important government programs.

    1. I carried stacks of programming cards … FORTY … years ago. Fortran, if I remember correctly

    1. My only experience “coding” was using Basic Allpurpose Instruction Code (basic)…on a small unit called a PC something or other 1401. That was 1984, Welding Engineering Tech @ SAIT. I actually enjoyed working with – writing code to solve math Equations – strength of materials…that sort of thing.

      The thing I always remembered: Garbage in..?? Garbage out.

  3. Ferguson holds no degree in epidemiology. His degree is in physics. So, just another modeler living in a theoretical world not bound by facts or actual results

  4. I have been coding actively, and professionally since 1970 (Grade 8 and 13). This code is crap. When you write a file, you must for clarity identify what each input is so that it can be checked and tested. Second, unless the code is self explanatory, it must be thoroughly commented or the author won’t know what it does 6 months later – no code can be allowed to exist for as long as this file has. Third, you note changes and revisions in the headers of each section so that you know who did what. Fourth, if you have C PLUS PLUS, you use object oriented methods to allow for unit testing of each section. I could go on, but this is the work of a rank amateur who doesn’t understand the language.

    1. Sounds like a climate model.

      A few weeks back, the NYT had an on-line epidemic model that allowed you to play with the parameters. After a few minutes, I realized there was only one significant parameter, how many people were infected by one infected person, R0 I think they called it. Anyway, it was so hypersensitive to this parameter that the model was useless; it told you nothing other than the unknowable parameter R0. And the output ranges of this model, based solely on this parameter, were so divergent as to be worse than wild arsed guesses.

    2. Comments in code? Hahahahahahaha!

      For one of my graduate degrees, I had to modify a FORTRAN program that someone else wrote. Files and subroutines all over the place. It’s a good thing I didn’t have a cuss box to contribute to as I could have come close to bankruptcy.

      Comments in that code were rare, so I often added in my own diagnostic statements and breakpoints just to figure out how it executed. Once I sorted it out, I removed them.

      If I wrote code entirely from scratch, I wouldn’t put in my comments until after I was done as I was the only one who knew what was going on. Once I was done, the comments went in.

  5. It’s really bad trust me, I’ve been doing this twenty years. Just wow. It’s not the worse I’ve seen but it’s certainly up there.

  6. Government”We use only the best science”
    Public “?”
    Government “Our computer models show.(Anything they desire).,you must obey”
    The age of policy based evidence manufacturing has been with us for over 30 years,this is the M.O of our Progressive Comrades,Big Government loves it,their use of statistics reveals they wallow in it.
    Bureaucratic use of this style of lying,negates their reason to be.
    For clues to the future the ancient art of gazing upon the guts of small animals seems more scientific than the (computer simulation)G.I.G.O of our experts..
    That being Garbage In;Gospel Out.
    Who can forget “Environment Canada’s Science”..without a trace of irony.
    Seems rational thought has been supplanted by magical …
    “Computer know all”.
    The truth lies in 0s and 1s..
    Whole new priesthood to decode it..
    Maybe this is the Idiocracy after all .

  7. We must self-isolate; it’s critical to our safety. Without it millions will die.
    Unless I want to see my GF, then it’s OK. Friggin hypocrites seems to be the default for statist lackies.

  8. UnMe, where ARE you, you f#cknugget? You who ordered the rest of the world to bow down to the modeling experts!!!

    OK, now let’s see the climate models’ code…

  9. In 1966 I was a hardware techie looking after Honeywell H200 computers. In my initial training I learned all the internals of the machine, the instruction set and even a bit of rudimentary computer programming. So, although I was not a programmer, I was curious enough to write a program in assembly language to help me diagnose memory errors. Had not yet learned the concept of subroutines, so the whole program was a bunch if ‘IF THENs’ and ‘GOTOs’. But it did work.

    On something like this: The Billion Dollar Brain – Honeywell H200 Computer

    1. If it had IFs THENs and GOTOs it was not assembly language. JNZ, ADDX, MOV (R0) R3, etc. is assembly language. And microcode is even more fun ,,,

      1. I had my fun and games with programming in assembler.

        My first experience was in learning how to do it for an array processor that the university had acquired. I don’t think I ever got to use it. Years later, I took a course in programming the Motorola MC68000 microprocessor. All sorts of fun with things such as pointers.

        And, yes, microcode is a barrel of laughs, as I found out in an advanced digital logic course I took.

      2. Just trying to simplify the description. A ‘C’ opcode was the compare instruction (IF) followed by a ‘B’ opcode for branch (GOTO), and a variant to define the branch condition (branch if equal, greater than, less than, etc) – the THEN part.

  10. None of it made any sense and the predictions for SK were just as crazy – the best case predicted was 157,000 infected and just over 3,000 deaths. We are currently at about 375 infected and 6 deaths – there will be a few more, but NOT 3,000!

    Looked a little closer at the season flu infections/deaths and it is more revealing. The Covid19 virus is transmitted through touch, sneezing, coughing, which is the same way as season flu is. The people who suffer the most from Covid19 are the elderly and those with pre-existing conditions, – just like the seasonal flu. I’m not suggesting the Covid19 is equal to the seasonal flu, but…

    In the 2018-19 flu season there were 2,170 confirmed cases and 11 hospital deaths. In that year, other than the flu shot, basically NOTHING was done – no closing of the economy, no endless ads about washing hands, no stay at home orders. But in 2019-20 all that changed, there were shut downs, schools and business closed, endless ads about washing hands, wearing masks, and not getting close to people. You would think that with all those interventions to prevent Covid19, there were be a decrease in the seasonal flu, since the seasonal flu is transmitted the exact same way as Covid19. If all the precautions set in place for Covid19 ‘flattened the curve’ (which all the bureaucrats are boasting about) then the number of infections from seasonal flu would have been impacted as well. So what are the numbers for the 2019-20 flu season? – 2,547 confirmed cases and 15 deaths in hospitals. So in fact all the precautions for Covid 19 had NO effect on the seasonal flu – when there should have been.

    I don’t think there was a curve to flatten with covid19 and politicians and bureaucrats got spooked by all these ‘models’, closed everything down and then realized that the models were wrong, but they couldn’t figure out ways to rewind it.

    When I mention this to the die hard believers in the dangers of covid19, I’m always told that I’m wrong, the numbers are wrong (you mean Sk Health is lying to us about the seasonal flu) or that covid19 is ‘different’. Its a virus, transmitted in the exact same way as seasonal flu – if all the measures taken prevented outbreaks of covid19, there would have been a decrease in seasonal flu numbers and there wasn’t.

    If anyone on this board has a different interpretation, I’m open, but don’t bother just telling me I’m wrong – provide some actually information that support your argument.

    1. No, I agree with your assessment. There is much argument about whether it is worse or the same as the flu; but the fact that we are having that argument indicates it was neither qualitatively nor quantitatively different from the flu.

      The panicked government response was, though, and disasterously so. Proof that big government is incompetent, expensive and dangerous.

    2. You’d have to count only the lockdown weeks so March 15-now basically. I wouldn’t be surprised if flu numbers are about the same for those weeks last year and this year though. I’d say the lockdown experiment has failed and the epidemiological models it was based on are complete bunk. The result of all this will of course be that lockdowns will be seen as the solution to pandemics. Take that to the bank. That’s what always happens.

      1. That’s a point – every flu season has a start and end date where health authorities stop counting. In SK in 2018-19 the period was Nov 2018 – end of Feb 2019 (peaked in Dec). In 2019-20, the dates were December to March 22, peaked in Jan.

        But by the closedown date for Covid 19, it was well established (people started wondering what was happening by early January) with some speculation that it was actually starting back in November/Dec of 2019. Actually you probably could make a case that by the time the closedown happened, Covid 19 was already well established and a more targeted closedown should have been considered (such as locking down care homes much, much earlier – which should have been done for the seasonal flu anyway as a standard operating practice since the flu always takes out elderly and those with pre-existing conditions who are probably in some type of care situation).

    3. Maureen From Regina:

      Wow, that’s brilliant logic right there!
      It never occurred to me; but yes, for sure: all the mandated nuttiness should have reduced the flu numbers.

      Thank you very much for this.

      1. So did the lock-down reduce the incidence of influenza. If not, then it doesn`t work. Of course, maqny of those `pneumonias` will now be attributed to the Wuhoo Flu. The stats are quire inadequate,

    4. Here is a “Flu Death Reality Check” written well before this COVID thing, if you think it’s ax grinding.


      This is far more serious than the flu, both deadlier and more contagious, and it was obvious as soon as the shutdowns came that if they worked, people were going to claim that they were never necessary.

  11. Where else do we see impenetratable code in models used to predict the end of everything with dire consequences for all if we don`t follow some despotic government policy. Answers on a post card to the CBC.

  12. I look forward to seeing the headlines tomorrow.
    Maybe an expert on Quantum Computing will have
    something to say about this on Groundhog Day #56.

    Yes, holding my breath…

    –Bad News

  13. A long time ago, I wrote some pretty hefty chunks of C.
    I am of the opinion that it is quite possible to write code (C) that is pretty much self-documenting, although, these days it seems that developers delight in writing it as obscurely as possible.

    In the job I had, we often ended up having to understand, if not fix other people’s code.
    Fortunately, I managed to keep away from most of that, but a fried of mine came away from that experience firmly believing that documentation in the code is evil. So many times he would read the comments, only to find after long sleepless nights that they bore practically no relation to the actual code. In some cases the comments were added by someone other than the person that wrote the code, and they didn’t really understand it, more often, it was how the code originally operated, but over time with new requirements, bug fixes etc. and the comments never being updated, they were just downright misleading.

    In another job, I tried to help someone debug C++ code – it was code he had written. It wasn’t doing what he expected, and the IDE (Integrated Development Environment) he was using was not being helpful. I showed him how to use adb (a low level debugger). We stepped through his code line by line. Since it wasn’t a “clever” debugger it also showed and stepped through all of the functions created by the language compiler itself. He was amazed … he had no idea that so much extra code was being created by the compiler, probably close to 50% of the total.

    You get a similar (but not as bad) effect in auto-translating between languages. Translate Fortran to C and it can be a real pain to read and understand the result.

    1. Somebody once wrote that the computer should compile the comments. The problem with the code is that the computer does what you tell it to do, not what you want it to do.

      While I agree this kind of code is not up to professional standards, either it works, or it doesn’t. You would have a freakout if you saw the code that ran airline scheduling well into the third millennium, maybe still does. I really think that the models that they use should be as simple as possible to run multiple scenarios because all they really have is assumption piled on assumption anyways. People have been doing this kind of modeling forever. Make your best guess. Tell everybody every time you reference the model that it’s a best guess in a new situation for which we don’t have a precedent, and move on.

    2. Talking of obscure C code. Following is the source code in C of a mystery program. It compiles and runs without errors in Turbo C (version 3) running in DosBox emulator.

      char *a;
      main(-86, 0, a+1 )+a)):1,t<_?main(t+1, _, a ):3,main ( -94, -27+t, a
      )&&t == 2 ?_<13 ?main ( 2, _+1, "%s %d %d\n" ):9:16:t<0?t<-72?main(_,
      ,/+#n+,/#;#q#n+,/+k#;*+,/'r :'d*'3,}{w+K w'K:'+}e#';dq#'l q#'+d'K#!/\
      +k#;q#'r}eKK#}w'r}eKK{nl]'/#;#q#n'){)#}w'){){nl]'/+#n';d}rw' i;# ){n\
      l]!/n{n#'; r{#w'r nc{nl]'/#{l,+'K {rw' iK{;[{nl]'/w#q#\
      n'wk nw' iwk{KK{nl]!/w{%'l##w#' i; :{nl]'/*{q#'ld;r'}{nlwb!/*de}'c \
      #'rdq#w! nr'/ ') }+}{rl#'{n' ')# }'+}##(!!/")
      :t<-50?_==*a ?putchar(a[31]):main(-65,_,a+1):main((*a == '/')+t,_,a\
      +1 ):0<t?main ( 2, 2 , "%s"):*a=='/'||main(0,main(-61,*a, "!ek;dc \
      i@bK'(q)-[w]*%n+r3#l,{}:\nuwloca-O;m .vpbks,fxntdCeghiry"),a+1);}

      I don’t know how it does it or where it gets the data, but it produces the following text output:

      On the first day of Christmas my true love gave to me
      a partridge in a pear tree.

      On the second day of Christmas my true love gave to me
      two turtle doves
      and a partridge in a pear tree.

      On the third day of Christmas my true love gave to me
      three french hens, two turtle doves
      and a partridge in a pear tree.
      On the twelfth day of Christmas my true love gave to me
      twelve drummers drumming, eleven pipers piping, ten lords a-leaping,
      nine ladies dancing, eight maids a-milking, seven swans a-swimming,
      six geese a-laying, five gold rings;
      four calling birds, three french hens, two turtle doves
      and a partridge in a pear tree.

  14. Human beings always believe the well spoken retard-maniac over the stuttering, mumbling nerd-genius.

    It’s quite embarrassing really.

  15. Some additional info about Niel Ferguson and his computer models.

    Delingpole: Ferguson’s Dodgy Model Caused a World-Historical Blunder

    ‘Professor Lockdown’ Modeler Resigns in Disgrace

    “… Indeed, Ferguson has been wrong so often that some of his fellow modelers call him “The Master of Disaster.”

    Ferguson was behind the disputed research that sparked the mass culling of eleven million sheep and cattle during the 2001 outbreak of foot-and-mouth disease. Charlotte Reid, a farmer’s neighbor, recalls: “I remember that appalling time. Sheep were left starving in fields near us. Then came the open air slaughter. The poor animals were panic stricken. It was one of the worst things I’ve witnessed. And all based on a model — if’s but’s and maybe’s.”

    In 2002, Ferguson predicted that up to 150,000 people could die from exposure to BSE (mad cow disease) in beef. In the U.K., there were only 177 deaths from BSE.

    In 2005, Ferguson predicted that up to 150 million people could be killed from bird flu. In the end, only 282 people died worldwide from the disease between 2003 and 2009.

    In 2009, a government estimate, based on Ferguson’s advice, said a “reasonable worst-case scenario” was that the swine flu would lead to 65,000 British deaths. In the end, swine flu killed 457 people in the U.K. …”

  16. I’ve spent most of my life in the software industry. If a developer had produced code like that of Dr Ferguson I would have fired him. Where are comments in the code. I’d bet even the author(s) would not figure out what was done within weeks. And they made policy on this piece of crap?