News for hackers. Stuff that matters.
Re:Royal Society cautions against censorship of scientific m... by maximus-decimus on Sunday January 30, 2022 @07:21PM (#30142817)
> I just throw out papers that don’t publish datasets and code

There was an interesting research paper that claimed you could up your IQ with a computer game called dual n back and a lot of paper tried to replicate it, but my mind was blown when I realized none of them used the same code. None of them actually shared the code they used for their research and then they all claimed they were testing the same thing when they obviously weren't.

To me, refusing to share the source code to a program that could be used to replicate your research seems like a big middle finger to science itself. It shows a total disregard to study replication.

Re:Royal Society cautions against censorship of scientific m... by judge2020 on Sunday January 30, 2022 @07:51PM (#30143044)
Exactly, it'd be like omitting the "methodology" section of the paper. There's no way to verify or prove wrong a paper if you don't know how they reached their conclusions.
Re:Royal Society cautions against censorship of scientific m... by nextos on Sunday January 30, 2022 @10:54PM (#30144271)
Even more than sharing code, I think the key is to share raw data, postprocessed data and describe methods as exceptionally clear equations and pseudocode.

Some well intentioned papers share code which is hard to run years afterwards. It's sometimes much simpler to reimplement things that to get the code to run if they are described accurately.

Besides, some articles hide ugly things, nasty tricks and lies in the code, which make their results a lot less believable and valid. Being super upfront about models in terms of equations and pseudocode is important.

Of course, we should also have standards to make code reproducible. Perhaps depositing a VM with everything ready to run.

Re:Royal Society cautions against censorship of scientific m... by zrm on Monday January 31, 2022 @02:37AM (#30145493)
> Perhaps depositing a VM with everything ready to run.

The danger then is that the VM has so much undocumented complexity that if anything goes wrong, or goes "well" when it shouldn't, no one can explain why. Which also reintroduces a vector to hide nasty tricks.

Re:Royal Society cautions against censorship of scientific m... by hirako2000 on Monday January 31, 2022 @05:42AM (#30146618)
this. the point of sharing reproducible steps and not the experiment itself is that it can be fully reproduced independently. not just independently verify that the result show what the paper claims.
Re:Royal Society cautions against censorship of scientific m... by ungamedplayer on Monday January 31, 2022 @03:59AM (#30145982)
But you can at least figure that out. If U don't have it all results are suspect.
Re:Royal Society cautions against censorship of scientific m... by kergonath on Monday January 31, 2022 @07:48AM (#30147347)
Results that haven't been independently replicated are suspect. There are just too many factors that can lead an experiment to give some results that are not transferrable or not relevant.

The worst aspect of this is the lack of will or funding to replicate, replicate, and replicate again all significant results that get published. Post-processed data can be altered, but a TB of raw data is meaningless as well if it hasn't been produced properly, has been obfuscated, or is weirdly formatted.

Data availability is a red herring for the vast majority of the science being made right now (almost everything that does not depend on a multi-millions dollars experiment). If data availability is an end in itself, we would just have moved the goalposts and have a data quality problem instead of a reproducibility problem.

Re:Royal Society cautions against censorship of scientific m... by mrandish on Monday January 31, 2022 @12:18AM (#30144802)
> Perhaps depositing a VM with everything ready to run.

Yes, this is hugely important. We need clearer requirements for what constitutes properly 'published' data, code and methods. It should include all raw data (both used and discarded) as well as complete snapshots of each preliminary and intermediate processing step in a time-stamped chronology.

This is an area where the expertise and best practices of software development, documentation and source control could help inform standards and tooling which would dramatically improve the quality of scientific publishing and replication.

Re:Royal Society cautions against censorship of scientific m... by 3pt14159 on Monday January 31, 2022 @12:28AM (#30144857)
> Some well intentioned papers share code which is hard to run years afterwards.

Umm, not really? How many years are we talking about here? Because even Cobol is runnable. Sure some OS related quirks may need changing but getting the raw source is much more likely to expose a subtle flaw in the researcher's method than just the equations. For example, an incorrect negative check (to string vs < 0) or an off by one error.

Re:Royal Society cautions against censorship of scientific m... by wizzwizz4 on Monday January 31, 2022 @01:06AM (#30145113)
Don't think COBOL; think Python 2.1 (not 2.2) with this specific version of PIL, and some of the code implemented as a CPython module (for speed) in C that only compiles properly with one specific EGCS fork that adds support for IA-64. Parts of the code are written in slightly-buggy inline IA-64 assembly, but it's okay because after a system call, that particular operating system makes sure those registers are zeroed each loop iteration, if Python's line-buffering its `print`s so that the system call gets consistently run.

Also, the Python script crashes on loading the data files unless there are two (but not more than two) spaces in its full file path. This is not documented anywhere.

Re:Royal Society cautions against censorship of scientific m... by kergonath on Monday January 31, 2022 @07:56AM (#30147390)
Yeah. I can easily run FORTRAN code from my PhD supervisor's PhD supervisor, written way back in the 1980s, but I cannot run some of the Python scripts written by a post-doc 10 years ago. It's a mess of abandoned libraries and things that work only with some specific versions of some libraries, and compiled modules that rely on the dodgy behaviour of an old compiler. Perl seems to be better, if only because people used to rely much less on external libraries.

But properly running code is not the solution either. I can count on the fingers of one had the downloads of some of the codes we've published (easily compilable modern Fortran), and AFAIK nobody ever published anything using them. Having a multitude of codes available does not mean much if nobody runs them, assuming they can be compiled. And I would guarantee that none of the scientists who download these codes would be able to understand what they do in any detail.

Re:Royal Society cautions against censorship of scientific m... by mach1ne on Monday January 31, 2022 @02:35AM (#30145488)
This comment could well have come from Chief O'Brien's mouth.
Re:Royal Society cautions against censorship of scientific m... by rini17 on Monday January 31, 2022 @03:27AM (#30145775)
So? Nothing a CS grad couldn't manage, that sounds like real problems they grapple with. Still a notch better than no code.
Re:Royal Society cautions against censorship of scientific m... by lodovic on Monday January 31, 2022 @04:05AM (#30146031)
Indeed, that's not proper science, too many moving parts. If it cannot be easily replicated by anyone at any time, it is just an experiment which would need more refinement to get published. No experiment should be accepted if it requires a Rube-Goldberg machine.
Re:Royal Society cautions against censorship of scientific m... by swayvil on Sunday January 30, 2022 @09:25PM (#30143781)
Remove description of methodology and science becomes mere dogma.
Re:Royal Society cautions against censorship of scientific m... by 6510 on Monday January 31, 2022 @08:18AM (#30147564)
and dogma science!
Re:Royal Society cautions against censorship of scientific m... by Retric on Sunday January 30, 2022 @09:04PM (#30143639)
Sharing code and data can be as harmful to science as it is beneficial. You don’t want to reuse the same instruments that conducted the last experiment to validate it.

Independent replication is inherently expensive, but also critical to the field at large. Some sort of code vault that releases the code and data after a period could be a solid compromise.

Re:Royal Society cautions against censorship of scientific m... by kortex on Sunday January 30, 2022 @09:11PM (#30143693)
Well yes, but no. You want to avoid any systematic bias, which if you reuse tooling/instruments/code, you run the risk of, but source code is also something which can be peer-reviewed.

Reproducing the code base from scratch just isn't going to be tractable for large scientific pieces of software (e.g. CERN).

Better to have the source code and dig through it carefully as part of the review and replication than insist everyone write their own cleanroom copy just to avoid systematic bias.

Re:Royal Society cautions against censorship of scientific m... by Retric on Sunday January 30, 2022 @09:49PM (#30143924)
Suppose someone decided to build another LHC, but to save money they would use exactly the same design, constriction crew, and code used to build the first one. Would you consider that a perfectly reasonable choice or would it seem risky?

That said I am all for peer reviewing code, but that’s not where this ends up. People are going to reuse code they don’t bother to dig into because people are people. The obvious next step would be to reject any paper that’s reusing code from a different team, but that’s excessive.

That said reusing code or data is much safer than reusing code and data.

Re:Royal Society cautions against censorship of scientific m... by svnt on Sunday January 30, 2022 @11:29PM (#30144497)
I’m going to be upfront and say I don’t understand your position You seem to be making a number of questionable assumptions: 1) That people would blindly reuse code to the harm of science, including on a multi-billion dollar project like an LHC. That’s not likely to ever happen. 2) That rejecting those who plagiarize others’ code in a peer-review process is somehow excessive or problematic.

I can’t begin to understand where you are coming from.

Re:Royal Society cautions against censorship of scientific m... by _delirium on Monday January 31, 2022 @02:52AM (#30145574)
I'm not sure if I have exactly the same concerns as the person you're replying to, but I've definitely noticed problems coming from this form of "replication" through just re-running existing code. I don't think that means code shouldn't be released, but I think we should be wary of scientific code being reused verbatim too frequently.

If existing code is buggy or doesn't do what its authors think it does, this can be a big problem. Even if the idea is correct, whole swathes of downstream literature can get contaminated if authors didn't even attempt to implement an algorithm independently, but just blindly reused an existing docker image that they didn't understand. I consider that poor practice. If you claim that your work is based on Paper X, but what you really mean is that you just ran some Docker image associated with Paper X and trusted that it does what it says it does, instead of independently reimplementing the algorithm, that is not replication.

In older areas of science the norm is to try to replicate a paper from the published literature without reuse of "apparatus". For example, in chemistry you would try to replicate a paper using your own lab's glassware, different suppliers for chemicals, different technicians, etc. Analogies here are imperfect, but I would consider downloading and re-running an existing docker image to be dissimilar from that. It's more like re-running the experiment in the first lab rather than replicating the published result in a new lab. As a result it can, like re-running a chemistry experiment in the same lab, miss many possible confounds.

Of course, you do have to stop somewhere. Chemistry labs don't normally blow their own glass, and it's possible that the dominant way of making glass in your era turns out to be a confound (this kind of thing really does happen sometimes!). But imo, on the code side of things, "download and rerun a docker image" is too far towards the side of not even trying to replicate things independently.

Re:Royal Society cautions against censorship of scientific m... by rurban on Sunday January 30, 2022 @10:39PM (#30144192)
For that reason a special multimedia sharing tool was created, which is now called WWW. So the international physicist community could share their code, papers and CAD designs for the LHC experiments. Quite a success for them, but academia is still resistant
Re:Royal Society cautions against censorship of scientific m... by kortex on Monday January 31, 2022 @01:33PM (#30152015)
It's not reasonable, but for different reasons. Building a carbon copy of LHC would not add anything new in the way of science. A better example would be LIGO. Adding another gravity wave detector of the exact same spec but halfway around the world would be fantastic, because it increases our triangulation ability, and keeping the engineering, hardware, and software the same reduces cognitive load of the scientists running it. Yes that means any "bug" in the first is present in the second, but that also means you have a common baseline. In fact there will inevitably be discrepancies in implementation (no two engineering projects are identical, even with the same blueprint), and you can leverage that high degree of similarity to reduce the search space (so long as subsystems are sufficiently modular, and the software is a direct copy).

The original comment was with respect to some n-back training program. There's so many other potential places of bias in an experiment like that, that you'd be foolish not to start with the exact same program. If an independent team uses a different software stack, and can't replicate, was it the different procedure, software, subjects, or noise?

The first step in scientific replication is almost always, "can the experiment be replicated, or was it a fluke?" In this stage, you want to minimize any free variables.

It's a matter of (leaky) abstractions. If I'm running a chemistry replication, I don't need the exact same round bottom flask as the original experiment; RBFs are fungible. In fact I could probably scale to a different size RBF. However, depending on the chemistry involved, I probably don't want to run the reaction in a cylindrical reactor, at least not without running in the RBF first. That has a different heating profile, which could generate different impurities.

Likewise, I probably don't need the exact same make/model of chromatograph. However, I do want to use the same procedure for running the chromatograph.

Re:Royal Society cautions against censorship of scientific m... by beerandt on Sunday January 30, 2022 @10:12PM (#30144051)
If it doesn't replicate on the same equipment with the same code, then there's no reason to worry about the rest.
Re:Royal Society cautions against censorship of scientific m... by simiones on Monday January 31, 2022 @07:33AM (#30147253)
Ideally, that would be a concern of the peer review. When I finished my undergraduate degree, I had to present a paper describing a program. I had to show that program working as part of my presentation. Anyone reading my "paper" and knowing I got a passing grade already knows the code I supplied works with the data I supplied, so I don't think it's that important for them to run it themselves.

Essentially, this would be like trying to reproduce a paper and starting by checking if their mathematical apparatus is correct. It's not useless, and it can help detect fraud or just plain bad peer review of course, but I wouldn't call that an attempt to reproduce their results per se.

Re:Royal Society cautions against censorship of scientific m... by coliveira on Sunday January 30, 2022 @09:35PM (#30143836)
The only person who really understood how to do independent validation. Of course the code MUST be different.
Re:Royal Society cautions against censorship of scientific m... by vba616 on Sunday January 30, 2022 @10:45PM (#30144230)
Why is it not a good idea to first redo with the original code?

Also doing an independent implementation doesn't mean you should start there - what if it doesn't replicate with the same code?

Re:Royal Society cautions against censorship of scientific m... by bee_rider on Monday January 31, 2022 @08:06AM (#30147478)
It could be a nice quick sanity check, in the sense that if they've completely lied or you've completely misunderstood how to use the program, you won't get the same results. So it could tell you that you shouldn't even bother trying to replicate their claims. But there's a risk that people might mistake re-running the code for reproducing the findings of the paper.

The paper is entered into the scientific record, not the code, which will inevitably become obsolete (old language, old frameworks, implementation details tied to old hardware or operating systems, maybe some source code will be lost, github will go out of business). If the code is necessary, then crucial details have been left out of the paper, so it is not reproducible (although there are some journals that let you submit code as an artifact).

Pseudocode is better, IMO.

Re:Royal Society cautions against censorship of scientific m... by gmueckl on Monday January 31, 2022 @04:21AM (#30146112)
The risk here is that the original code contains a bug that is inadvertently reproduced by the replicating scientists after reading it. It can easily happen in some fields that some computation looks very plausible in code, but is actually incorrect.
Re:Royal Society cautions against censorship of scientific m... by ransom1538 on Sunday January 30, 2022 @08:10PM (#30143216)
"To me, refusing to share the source code to a program that could be used to replicate your research seems like a big middle finger to science itself."

It is done on purpose.

Re:Royal Society cautions against censorship of scientific m... by lstodd on Sunday January 30, 2022 @08:46PM (#30143492)
> It is done on purpose.

The sad thing is that it isn't. It's just how the things are done.

src: friends in HEP

Re:Royal Society cautions against censorship of scientific m... by godelski on Sunday January 30, 2022 @10:31PM (#30144136)
I used to work (current PhD student) in HPC (switched specialties) and I was extremely surprised that not only did these people not share code (DOE actually encourages open souring code), but they would not even do so upon request. Several times I had to get my advisor to ask the author's advisor. Several times I found out why I couldn't replicate another person's code. It is amazing to me that anyone in CS does not share code. It is trivial to do and we're all using git in some form or another anyways.
Re:Royal Society cautions against censorship of scientific m... by NmAmDa on Sunday January 30, 2022 @10:00PM (#30143989)
Sharing source code for a HEP experiment is not that easy or possible at sometimes. A lot of stuff is done by different group and whole framework used and overall a lot of raw data collected and reconstructed involved. To analyze those even if available you willl need a lot of people with a lot of resources. So even it made available (which would be a lot of efforts itself) it wouldn't make much sense for replication purpose.
Re:Royal Society cautions against censorship of scientific m... by Brian_K_White on Monday January 31, 2022 @12:24AM (#30144835)
So what? Tough shit! It's still simply the only way to replicate or audit something.

If it's hard or tedious... well so what? So is life. That's most of science is exactly that rigor.

You might as well say no one else can grow a potato because of all the work your farm had to do all year to arrive at your crop. Yes, any other farmer will have to do all the same stuff. It's an utterly unremarkable observation.

Re:Royal Society cautions against censorship of scientific m... by patcassidy2000 on Sunday January 30, 2022 @10:44PM (#30144225)
How is it possible to peer review a paper when the only people qualified to do so are the one's involved in the research. Seems like a massive issue. Don't want to cast to much shade here, but there's a fair number of people that called out high energy physics for having problematic methodology. See Constructing quarks by Andrew Pickering. Ultimately, it should be CERNS job to release the data, yes even if it is terabytes in size, because that's the whole point of science.
Re:Royal Society cautions against censorship of scientific m... by HideousKojima on Monday January 31, 2022 @02:00AM (#30145331)
>How is it possible to peer review a paper when the only people qualified to do so are the one's involved in the research. Seems like a massive issue.

Peer review isn't what it's chalked up to be. Basically it's two other people in the same field saying "There's no blatantly obvious issues with this paper" and even that isn't always guaranteed. Reviewers don't make any efforts to actually replicate the research, crunch the data, etc.

Re:Royal Society cautions against censorship of scientific m... by sbdmmg on Monday January 31, 2022 @01:43AM (#30145251)
It's just hard to do. But there are efforts in this direction e.g. https://analysispreservation.cern.ch/

src: I used to be in HEP

Re:Royal Society cautions against censorship of scientific m... by steelstraw on Sunday January 30, 2022 @10:41PM (#30144207)
Why?
Re:Royal Society cautions against censorship of scientific m... by skybrian on Sunday January 30, 2022 @09:43PM (#30143885)
Ideally you would re-implement the code to the same spec and compare the outputs. This, too, is a form of replication.

If the results are sufficiently different, then look at the source?

Re:Royal Society cautions against censorship of scientific m... by helsinkiandrew on Monday January 31, 2022 @03:50AM (#30145921)
Re running the authors code with their data will likely just repeat any methodological issues they had (either accidentally or fraudulently).

In medical studies, one level is to reevaluate the data from the same set of patients to see if any bias or errors wasn't included, perhaps with a different or newer statistical idealogy. The best is for the study to be repeated with a fresh set of patient data to see if the underlying conclusions were valid.

Re:Royal Society cautions against censorship of scientific m... by atrettel on Monday January 31, 2022 @08:07AM (#30147484)
Reading this, I am reminded of a quote by Edsger W. Dijkstra from 1975 [1]:

> In the good old days physicists repeated each other's experiments, just to be sure. Today they stick to FORTRAN, so that they can share each other's programs, bugs included.

[1] https://www.cs.utexas.edu/users/EWD/transcriptions/EWD04xx/E...

Re:Royal Society cautions against censorship of scientific m... by maximus-decimus on Monday January 31, 2022 @08:56AM (#30147881)
The code should still be shared so you can run it on new data (or new test subjects in this case.)
Re:Royal Society cautions against censorship of scientific m... by mike_hearn on Monday January 31, 2022 @04:43AM (#30146245)
"Re running the authors code with their data will likely just repeat any methodological issues they had"

Yes, but that's useful too.

COVID-19 lockdowns largely kicked off in the west due to an epidemiological model from Imperial College London, written over a period of many years by the now notorious Professor Neil Ferguson.

When his team uploaded a pre-print of his paper and started sending it to government ministers, the code for his model wasn't available. They spent months fighting FOIA requests by claiming they were about to release it, but just had to tidy things up a bit first. When the code was finally uploaded to GitHub the world discovered the reason for delay: the model was a 15,000 lines of C trash fire of race conditions, floating point accumulation errors and memory corruptions in which basically every variable was in global scope and with a single letter name. It was a textbook case of how not to write software. In fact it was a textbook case of why variable names matter because one of the memory corruptions was caused by the author apparently losing track of what a variable named 'k' was meant to contain at that point in the code.

Not surprisingly, the model didn't work. Although it had command line flags to set the PRNG seeds these flags were useless: the model generated totally different output every time you ran it, even with fixed seeds. In fact hospital bed demand prediction changed from run to run by more than the size of the entire NHS Nightingale crash hospital building programme, purely due to bugs.

And as we now know the model was entirely wrong and the results were catastrophic. Lockdowns had no impact on mortality. There are many people who looked at the data and saw this but here's just the latest meta-analysis of published studies showing that to be true [1]. They destroyed the NHS which now has a cancer treatment backlog and pool of 'missing' patients so large that it cannot possibly catch up, meaning people will die waiting for treatment from the system they supported with their taxes for their entire lives. They destroyed the tax base, leaving the government with an unpayable debt that can be eliminated only via inflation meaning they will have soon destroyed people's savings too. It's just a catastrophe of incompetence and hubris.

The incorrectness of the model wasn't due only to programming bugs. The underlying biological assumptions were roughly GCSE level or a bit lower (GCSE is the exams you take at 15/16 in the UK), and it's quite evident that high school germ theory is woefully incomplete. In particular it has nothing to say on the topic of aerosol vs droplet transmission, which appears to be a critical error in the way these models are constructed.

Nonetheless, even if the assumptions were correct such a model should never have been used. Anyone outside the team who had access to the original code would have seen this problem immediately and could have sounded the alarm, but:

1. Nobody did have access.

2. ICL lied to the press by claiming the code had been published and peer reviewed years earlier (so where was it?)

3. Then when it was revealed the model wasn't reproducible, they teamed up with another academic at Cambridge and lied again by publishing a report+press release claiming it actually was reproducible and claims otherwise were misinformation.

4. And then the journal Nature and the BBC repeated these false claims of reproducibility.

All whilst anyone who looked at the GitHub issues list could see it filling up with determinism bugs. If you want citations for all these claims look here, at a summary report I wrote for a friendly MP [2].

So. It's good that the Royal Society is telling people not to engage in censorship, but their justifications for taking that stance reveal they're still living in lala land. By far the deadliest and most dangerous scientific misinformation throughout COVID has come from the formal institutions of science themselves. You could sum all the Substacks together and they would amount to 1% of the misinformation that has been published by government-backed "scientists", zero of whom have been banned from anything or received any penalty whatsoever. For as long as the scientific institutions are in denial about how utterly dishonest their culture has become we will continue to see a weird inversion in which random outsiders point out basic errors in their work and they respond by yelling "disinformation".

[1] https://sites.krieger.jhu.edu/iae/files/2022/01/A-Literature...

[2] https://plan99.net/~mike/epidemiology.pdf

Re:Royal Society cautions against censorship of scientific m... by tsimionescu on Monday January 31, 2022 @05:39AM (#30146603)
The meta-study you cite has quite bizarre conclusions. It basically states that isolation behavior is highly effective at preventing Covid deaths, but that lockdowns were a bad predictor of such behavior in people. But, they still seem to attribute huge economic impact to the lockdowns, not the pandemic and natural response (voluntary behavioral changes) to it.

Overall it seems that they would have been better served by adding lockdown compliance to their models, which would likely explain much of the difference. It's absurd to claim that lockdowns don't work when a country like Vietnam (100 million people, first detected cases of COVID-19 community spread outside China) had <100 total COVID-19 deaths in 2020. Strict targeted lockdowns, strict isolation requirements after every identified case, for contacts up to the third degree ( contact of someone who was a contact of someone who came in contact with a patient) - these all must have played a role, and any study that fails to explain such extreme success is simply flawed.

Re:Royal Society cautions against censorship of scientific m... by mike_hearn on Monday January 31, 2022 @06:18AM (#30146818)
Are you sure it states that? Maybe you mean this paragraph:

"If this interpretation is true, what Björk et al. (2021) find is that information and signaling is far more important than the strictness of the lockdown. There may be other interpretations, but the point is that studies focusing on timing cannot differentiate between these interpretations. However, if lockdowns have a notable effect, we should see this effect regardless of the timing, and we should identify this effect more correctly by excluding studies that exclusively analyze timing."

"It's absurd to claim that lockdowns don't work when a country like Vietnam (100 million people, first detected cases of COVID-19 community spread outside China) had <100 total COVID-19 deaths in 2020"

Many countries claim an improbably low level of COVID death. That doesn't mean their numbers can be taken at face value, although poorer countries do seem to be less worse hit simply because they have far fewer weak, obese and elderly people to begin with.

It's certainly not absurd to claim lockdowns don't work. You're attempting to refute a meta-analysis of studies looking at all the data with the example of a single country. That's meaningless. A single data point can falsify a theory but it cannot prove a theory. To prove lockdowns work there has to be a consistent impact of the policy.

Re:Royal Society cautions against censorship of scientific m... by immibis on Monday January 31, 2022 @07:11AM (#30147107)
It is completely absurd. "Lockdowns" is shorthand for "people not coming into contact with other people in a way that spreads the virus". Because the virus cannot teleport through walls, lockdowns necessarily prevent transmission.
Re:Royal Society cautions against censorship of scientific m... by mike_hearn on Monday January 31, 2022 @07:30AM (#30147227)
This is the sort of mis-use of logic that has led to so many problems.

"Lockdowns" is shorthand for "people not coming into contact with other people in a way that spreads the virus"

It's shorthand for a set of government policies that were intended to reduce contact, not eliminate it, because "not coming into contact with other people" is impossible. People still have to go to shops, hospitals, care homes, live with each other, travel around and so on even during a lockdown.

Your belief that it's "completely absurd" to say lockdowns don't affect mortality is based on the kind of abstract but false reasoning that consistently leads epidemiologists astray. Consider a simple scenario in which lockdowns have no effect that's still compatible with germ theory - you're exposed to the virus normally 10 times per week every week. With lockdowns that drops to 5 times a week. It doesn't matter. Everyone is still exposed frequently enough that there will be no difference in outcomes.

"Because the virus cannot teleport through walls, lockdowns necessarily prevent transmission"

https://www.washingtonpost.com/archive/politics/2003/04/18/i...

Viruses can in fact teleport through walls: "The SARS virus that infected hundreds of people in a 33-story Hong Kong apartment tower probably spread in part by traveling through bathroom drainpipes, officials said yesterday in what would be a disturbing new confirmation of the microbe's versatility."

Re:Royal Society cautions against censorship of scientific m... by immibis on Monday January 31, 2022 @08:19AM (#30147565)
you're exposed to the virus normally 10 times per week every week. With lockdowns that drops to 5 times a week.

In this scenario, lockdowns work fine, but are insufficient! Perhaps with stringent use of N95 masks during contactless food ration delivery it can be reduced to 0.05 times per week. Then the pandemic ends and we go back to normal.

Also, if you only go out half as often, that's not exactly a lockdown either. A lockdown is people not coming into contact with other people in a way that spreads the virus. It's not people still often coming into contact with other people in a way that spreads the virus but not as often as before.

Re:Royal Society cautions against censorship of scientific m... by mike_hearn on Monday January 31, 2022 @11:15AM (#30149630)
You don't appear to realize that food gets to your front door via a large and complex supply chain that involves many people doing things physically together at almost every point. Your definition of a lockdown is physically impossible even for cave men to sustain, let alone an advanced civilization. It isn't merely a matter of "works but insufficient".

This kind of completely irrational reasoning is exactly why lockdowns are now discredited. The fact that the response to "here's lots of data showing that lockdowns didn't work" is to demand an impossible level of lockdown that would kill far more people than COVID ever could simply through supply chain collapse alone, really does say it all.

Re:Royal Society cautions against censorship of scientific m... by immibis on Monday January 31, 2022 @01:33PM (#30152011)
Ah, the good old "assume my opponent is an idiot" line of defence. 2% of the time it works every time.
Re:Royal Society cautions against censorship of scientific m... by Semaphor on Monday January 31, 2022 @09:05AM (#30147974)
> A lockdown is people not coming into contact with other people in a way that spreads the virus. It's not people still often coming into contact with other people in a way that spreads the virus but not as often as before.

That might be a definition issue. Here in Germany, we had several lockdowns. Many (most?) countries would say we had no lockdown at all.

Re:Royal Society cautions against censorship of scientific m... by immibis on Monday January 31, 2022 @09:13AM (#30148054)
I call them shopcloses.
Re:Royal Society cautions against censorship of scientific m... by ses1984 on Monday January 31, 2022 @07:31AM (#30147241)
The question isn’t whether lockdowns with compliance work, the question is how effective is lockdown as a policy. If you create a lockdown policy, what is the impact of that?
Re:Royal Society cautions against censorship of scientific m... by immibis on Monday January 31, 2022 @08:17AM (#30147551)
In that case it is important to differentiate between lockdown policies, and lockdowns.

Antivaxxers often bring up papers concluding that mask mandates don't work, as evidence that masks don't work.

Re:Royal Society cautions against censorship of scientific m... by tsimionescu on Monday January 31, 2022 @07:16AM (#30147134)
I am referring to the conclusions section:

> First, people respond to dangers outside their door. When a pandemic rages, people believe in social distancing regardless of what the government mandates. So, we believe that Allen (2021) is right, when he concludes, “The ineffectiveness [of lockdowns] stemmed from individual changes in behavior: either non-compliance or behavior that mimicked lockdowns.”

> Third, even if lockdowns are successful in initially reducing the spread of COVID-19, the behavioral response may counteract the effect completely, as people respond to the lower risk by changing behavior

Since it is an obvious consequence of the germ theory of disease that isolation stops the spread of disease, the only real question is if lockdowns are efficient at enforcing isolation (and in what conditions, with what costs etc). At best, the paper concludes that they are not, and that government propaganda about the risks of the disease works as well or better.

> You're attempting to refute a meta-analysis of studies looking at all the data with the example of a single country. That's meaningless. A single data point can falsify a theory but it cannot prove a theory. To prove lockdowns work there has to be a consistent impact of the policy.

I would say the null hypothesis would be that lockdowns do work, by relatively simple, almost mechanical, principles (lockdown forces isolation, isolation means the virus can't physically get from one person to another).

And there is basically no country that hasn't seen significant isolation that did well in the pandemic. Whether that isolation was caused by efective, if perhaps draconic lockdowns (such as in China or Vietnam) or by cultural norms and self preservation (such as in Finland or Norway), this remains true.

The real exceptions are countries that successfully isolated themselves from the outside world, and thereafter isolated only those carrying the virus, through broder closures and strict quarantine requirements plus testing - Taiwan, New Zealand are examples of such.

For this type of response, using broad statistical studies that equate very different ground-level phenomena (lockdowns varied wildly in form and in the degree of compliance, but the paper ignores all that in its quantitative data) to make it look good on a graph are mostly misleading - but what more can you expect from three economists dabbling their hand at epidemiology and sociology?

Re:Royal Society cautions against censorship of scientific m... by mrtedbear on Monday January 31, 2022 @05:46AM (#30146641)
"The model generated totally different output every time you ran it, even with fixed seeds." - I remember seeing code takedowns of the model from anti-lockdown people who repeatedly cite this issue.

But there is a valid reason for this to happen, and it doesn't mean bugs in the code. If the code is run in a distributed way (multiple threads, processes or machines), which it was, the order of execution is never guaranteed. So even setting the seed will produce a different set of results if the outcomes of each separate instance depend on each other further in the computation.

There are ways to mitigate this, depending on the situation and the amount of slowdown that's acceptable. Since this model was collecting outcomes to create a statistical distribution, rather than a single deterministic number, it didn't need to.

The fact the model was also drawing distributions also will be why different runs produced possibly vastly different results. Those results would be at different ends of a distribution. Only distributions are sampled and used, not single numbers.

Regarding the GCSE level comment, my concern was the opposite, that the model was trying to model too much, and that inaccuracies would build up. No model is perfect (including this one) and the more assumptions made the larger the room for error. But they validated the model with some simpler models as a sanity check.

My view on criticisms of the model were that they were more politically motivated, and the code takedowns were done by people who may have been good coders, but didn't know enough about statistical modeling.

Here's John Cormack's take on the model, he saw and cleaned up the original version before it was released. https://mobile.twitter.com/id_aa_carmack/status/125487236876...

Re:Royal Society cautions against censorship of scientific m... by kortex on Monday January 31, 2022 @02:43PM (#30153182)
> "The model generated totally different output every time you ran it, even with fixed seeds." - I remember seeing code takedowns of the model from anti-lockdown people who repeatedly cite this issue. But there is a valid reason for this to happen, and it doesn't mean bugs in the code. If the code is run in a distributed way (multiple threads, processes or machines), which it was, the order of execution is never guaranteed.

Then there's literally no point to using PRNG seeding. The whole point of PRNG seeding is so you can define some model in terms of "def model(inputs, state) ->" output, and get the "same" output for the same input. I put "same" in quotes because defining sameness on FP hardware is challenging. But usually 0.001% relative tolerance is sufficiently "same" to account for FP implementation weirdness.

If you can't do that, then your model is not a pure function, in which case setting the seed is pointless at best, and biasing/false sense of security in the worst case.

As you mention, non-pure models have their place, but reproducing their results is very challenging, and requires generating distributions with error bars - you essentially "zoom out" until you are a pure function again, with respect to aggregate statistics.

It does not sound like this model was "zoomed out" enough to provide adequate confidence intervals such that you could run the simulation, and statistically guarantee you'd get a result in-bounds.

Re:Royal Society cautions against censorship of scientific m... by mrtedbear on Monday January 31, 2022 @03:10PM (#30153560)
I reckon the PRNG seeding in such a case might be used during development/testing.

So, run the code with a seed in a non distributed way (e.g. in R turn off all parallelism), and then the results should be the same in every run.

Then once this test output is validated, depending on the nature of the model, it can be run in parallel, and guarantees of deterministic behaviour will go, but that's ok.

I didn't develop the model, so can't really say anything in depth beyond the published materials.

I just found it odd at the time how this specific detail was incorrectly used by some to claim the model was broken/irredeemably buggy.

Edit: Actually, in general, perhaps there's one other situation where the seed might be useful, assuming you have used a seed in the first place. Depending on the distributed environment, there's no guarantee that the processes or random number draws will be run in the same order. But it might be that in most cases they're in the same order. This might bias the distribution of the samples you take. So you might want to change the seed on every run to protect yourself from such nasty phantom effects.

Re:Royal Society cautions against censorship of scientific m... by kortex on Monday January 31, 2022 @07:50PM (#30157145)
My understanding is the bugginess is due to* unintended* nondeterminism, in other words, things like a race condition where two threads write some result to the same memory address, or singularities/epsilon error in floating point calculations leading to diverging results.

Make no bones about it, these are programming faults. There's no reason why distributed, long-running models can't produce convergent results with a high degree of determinism given the input state. But this takes some amount of care and attention.

> So you might want to change the seed on every run to protect yourself from such nasty phantom effects.

That's a perfect example of what I mean where a seed is actually worse. If you know you can't control determinism, then you might as well go for the opposite: ensure your randomness is high quality enough such that it approximates a perfect uniform distribution. Adding a seed here means you are more likely to capture the true distribution of the output.

Re:Royal Society cautions against censorship of scientific m... by mrtedbear on Monday January 31, 2022 @08:49PM (#30157622)
Yeah unintended non-determinism would be a problem. But I don't think I saw a good source regarding this being the case at the time.

I saw the John Cormack review which suggested there was nothing overly troubling in the code, https://mobile.twitter.com/id_aa_carmack/status/125487236876...

The other takedown reviews focused on the fact that there was non-determinism despite a seed, without understanding that's not necessarily a problem.

Agreed on the second point about not having a seed, but I added the "assuming you have used a seed" caveat because sometimes people do use the seed for some reproducible execution modes (even multi-thread/process ones), which are fine, and it's just easier to randomly vary the seed generation rather than remove it all together when running in a non-deterministic mode.

Re:Royal Society cautions against censorship of scientific m... by mike_hearn on Monday January 31, 2022 @06:05AM (#30146743)
"There are ways to mitigate this, but since the model was collecting outcomes to create a statistical distribution, rather than a single deterministic number, it didn't need to."

This is the justification the academics used - because we're modelling probability distributions, bugs don't matter. Sorry, but no, this is 100% wrong. Doing statistics is not a get-out-of-jail-free card for arbitrary levels of bugginess.

Firstly, the program wasn't generating a probability distribution as you claim. It produced a single set of numbers on each run. To the extent the team generated confidence intervals at all (which for Report 9 I don't think they did), it was by running the app several times and then claiming the variance in the results represented the underlying uncertainty of the data, when in reality it was representing their inability to write code properly.

Secondly, remember that this model was being used to drive policy. How many hospitals shall we build? If you run the model and say 10, and then someone makes the graph formatting more helpful, reruns it and it now it says 4, that's a massive real-world difference. Nobody outside of academia thinks it's acceptable to just shrug and say, well it's just probability so it's OK for the answers to just wildly thrash around like that.

Thirdly, such bugs make unit testing of your code impossible. You can't prove the correctness of a sub-calculation because it's incorporating kernel scheduling decisions into the output. Sure enough Ferguson's model had no functioning tests. If it did, they might have been able to detect all the non-threading related bugs.

Finally, this "justification" breeds a culture of irresponsibility and it's exactly that endemic culture that's destroying people's confidence in science. You can easily write mathematical software that's correctly reproducible. They weren't able to do it due to a lack of care and competence. Once someone gave them this wafer thin intellectual sounding argument for why scientific reproducibility doesn't matter they started blowing off all types of bugs with your argument, including bugs like out of bounds array reads. This culture is widespread - I've talked to other programmers who worked in epidemiology and they told me about things like pointers being accidentally used in place of dereferenced values in calculations. That model had been used to support hundreds of papers. When the bugs were pointed out, the researchers lied and claimed that in only 20 minutes they'd checked all the results and the bugs had no impact on any of them.

Once a team goes down the route of "our bugs are just CIs on a probability distribution" they have lost the plot and their work deserves to be classed as dangerous misinformation.

"My view on criticisms of the model were that it was more politically motivated"

Are you an academic? Because that's exactly the take they like to always use - any criticism of academia is "political" or "ideological". But expecting academics to produce work that isn't filled with bugs isn't politically motivated. It's basic stuff. For as long as people defend this obvious incompetence, people's trust in science will correctly continue to plummet.

"Here's John Cormack's take on the model, he saw and cleaned up the original version before it was released. https://mobile.twitter.com/id_aa_carmack/status/125487236876..."

If you check the commit history, you'll see that he quite obviously didn't work with the code much at all. Regardless, if he thinks the model is not worthless, he's wrong. Anyone who reviews their bug tracker can see that immediately.

Re:Royal Society cautions against censorship of scientific m... by wizzwizz4 on Monday January 31, 2022 @07:27AM (#30147205)
> To the extent the team generated confidence intervals at all (which for Report 9 I don't think they did), it was by running the app several times and then claiming the variance in the results represented the underlying uncertainty of the data, when in reality it was representing their inability to write code properly.

Functionally, what's the difference? The output of their model varied based on environmental factors (how the OS chose to schedule things). The lower-order bits of some of the values got corrupted, due to floating-point errors. In essence, their model had noise, bias, and lower precision than a floating point number – all things that scientists are used to.

Re:Royal Society cautions against censorship of scientific m... by mike_hearn on Monday January 31, 2022 @07:48AM (#30147351)
Argh.

Scientists are used to some level of unavoidable noise from experiments done on the natural world because the natural world is not fully controllable. Thus they are expected to work hard to minimize the uncertainty in their measurements, then characterize what's left and take that into account in their calculations.

They are not expected to make beginner level mistakes when solving simple mathematical equations. Avoidable errors introduced by doing their maths wrong is fundamentally different to unavoidable measurement uncertainty. The whole point of doing simulations in silico is to avoid the problems of the natural world and give you a fully controllable and precisely measurable environment, in which you can re-run the simulation whilst altering only a single variable. That's the justification for creating these sorts of models in the first place!

Perhaps you think the errors were small. The errors in their model due to their bugs were of the same order of magnitude as the predictions themselves. They knew this but presented the outputs to the government as "science" anyway, then systematically attacked the character and motives of anyone who pointed out they were making mistakes. Every single member of that team should have been fired years ago, yet instead what happened is the attitude you're displaying here: a widespread argument that scientists shouldn't be or can't be held to the quality standards we expect of a $10 video game.

How can anyone trust the output of "science" when this attitude is so widespread? We wouldn't accept this kind of argument from people in any other field.

Re:Royal Society cautions against censorship of scientific m... by mrtedbear on Monday January 31, 2022 @10:26AM (#30148952)
At the time, critics of the model were claiming the model was buggy because multiple runs would produce different results. My comment above explains why that is not evidence for the model being buggy.

Report 9 talks about parameters being modeled as probability distributions, i.e. its a stochastic model. I doubt they would draw conclusions from a single run, as the code is drawing a single sample from a probability distribution. And, if you look at the paper describing the original model (cited in report 9), they do test the model with multiple runs. On top of that they perform sensitivity analyses to check erroneous assumptions aren't driving the model.

I have spent time in academia, but I'm not an academic, and don't feel any obligation to fly the flag for academia.

Regarding the politics, contrast how the people who forensically examined Ferguson's papers were so ready to accept the competing (and clearly incorrect https://www.youtube.com/watch?v=DKh6kJ-RSMI) results from Sunetra Gupta's group.

Fair point about academic code being messy. It's a big issue, but the incentives are not there at the moment to write quality code. I assume you're a programmer - if you wanted to be the change you want to see, you could join an academic group, reduce your salary by 3x-4x, and be in a place where what you do is not a priority.

Re:Royal Society cautions against censorship of scientific m... by mike_hearn on Monday January 31, 2022 @11:08AM (#30149549)
Your comment above is wrong. Sorry, let me try to explain again. Let's put the whole fact that random bugs != stochastic modelling to one side. I don't quite understand why this is so hard to understand but, let's shelve it for a moment.

ICL likes to claim their model is stochastic. Unfortunately that's just one of many things they said that turned out to be untrue.

The Ferguson model isn't stochastic. They claim it is because they don't understand modelling or programming. It's actually an ordinary agent-like simulation of the type you'd find in any city builder video game, and thus each time you run it you get exactly one set of outputs, not a probability distribution. They think it's "stochastic" because you can specify different PRNG seeds on the command line.

If they ran it many times with different PRNG seeds, then this would at least quantify the effect of randomness on their simulation. But, they never did. How do we know this? Several pieces of evidence:

1. There are no confidence intervals in Report 9, only different scenarios. See for yourself: https://www.imperial.ac.uk/media/imperial-college/medicine/m...

2. The program is so slow that it takes a day to do even a single run of the scenarios in Report 9. To determine CIs for something like this you'd want hundreds of runs at least. You could try and do them all in parallel on a large compute cluster, however, ICL never did that. As far as I understand their original program only ran on a single Windows box they had in their lab - it wasn't really portable and indeed its results change even in single-threaded mode between machines, due to compiler optimizations changing the output depending on whether AVX is available.

3. The "code check" document that falsely claims the model is replicable, states explicitly that "These results are the average of NR=10 runs, rather than just one simulation as used in Report 9."

So, their own collaborators confirmed that they never ran it more than once, and each run produces exactly one line on a graph. Therefore even if you accept the entirely ridiculous argument that it's OK to produce corrupted output if you take the average of multiple runs (it isn't!), they didn't do it anyway.

Finally, as one of the people who forensically examined Ferguson's work, I never accepted Guptra's either (not that this is in any way relevant). She did at least present CIs but they were so wide they boiled down to "we don't know", which seems to be a common failure mode in epidemiology - CIs are presented without being interpreted, such that you can get values like "42% (95% CI 6%-87%)" appearing in papers.

Re:Royal Society cautions against censorship of scientific m... by mrtedbear on Tuesday February 01, 2022 @06:56AM (#30161384)
I took a look at point 3. and that extract from the code check is correct. Assuming they did one realisation I was curious why. It would be unlikely to be an oversight.

Luckily they published their reasoning on the number of realisations in the supplementary materials of a prior paper cited in report 9 (citation 5): https://www.nature.com/articles/nature04795#MOESM28

"Numbers of realisations & computational resources: It is essential to undertake sufficient realisation to ensure ensemble behaviour of a stochastic is well characterised for any one set of parameter values. For our past work which examined extinction probabilities, this necessitates very large numbers of model realizations being generated. In the current work, only the timing of the initial introduction of virus into a country is potentially highly variable – once case incidence reaches a few hundred cases per day, dynamics are much closer to deterministic."

So looks like they did consider the issue, and the number of realisations needed is dependent on the variable of interest in the model. The code check appears to back their justification up, "Small variations (mostly under 5%) in the numbers were observed between Report 9 and our runs."

Re:Royal Society cautions against censorship of scientific m... by mike_hearn on Wednesday February 02, 2022 @06:11AM (#30176090)
The code check shows in their data tables that some variations were 10% or even 25% from the values in Report 9. These are not "small variations", nor would it matter even if they were because it is not OK to present bugs as unimportant measurement noise.

The team's claim that you only need to run it once because the variability was well characterized in the past is also nonsense. They were constantly changing the model. Even if they thought they understood the variance in the output in the past (which they didn't), it was invalidated the moment they changed the model to reflect new data and ideas.

Look, you're trying to justify this without seeming to realize that this is Hacker News. It's a site read mostly by programmers. This team demanded and got incredibly destructive policies on the back of this model, which is garbage. It's the sort of code quality that got Toyota found guilty in court of severe negligence. The fact that academics apparently struggle to understand how serious this is, is by far a faster and better creator of anti-science narratives than anything any blogger could ever write.

Re:Royal Society cautions against censorship of scientific m... by mrtedbear on Thursday February 03, 2022 @03:21PM (#30198246)
I looked at the code check. The one 25% difference is in an intermediate variable (peak beds). The two differences of 10% are 39k deaths vs 43k deaths, and 100k deaths vs 110k deaths. The other differences are less than 5%. I can see why the author of the code check would reach the conclusion he did.

I have given a possible explanation for the variation, that doesn't require buggy code, in my previous comments.

An alternative hypothesis is that it's bug driven, but very competent people (including eminent programmers like John Cormack) seem to have vouched for it on that front. I'd say this puts a high burden of proof on detractors.

https://www.nature.com/articles/d41586-020-01685-y

Re:Royal Society cautions against censorship of scientific m... by sampo on Monday January 31, 2022 @06:37AM (#30146939)
John Carmack, of computer games and graphics programming fame, had pretty positive comments on the Imperial College CovidSim model code:

https://twitter.com/ID_AA_Carmack/status/1254872369556074496

Re:Royal Society cautions against censorship of scientific m... by mike_hearn on Monday January 31, 2022 @07:38AM (#30147285)
He is unfortunately quite wrong, see below. I don't believe he could have reviewed the code in any depth because the bugs are both extremely serious and entirely objective - they're just ordinary C type programming errors, not issues with assumptions.
Re:Royal Society cautions against censorship of scientific m... by immibis on Monday January 31, 2022 @07:10AM (#30147100)
> Lockdowns had no impact on mortality.

This is literally impossible, because viruses cannot teleport through walls.

Unless there is confusion between the government calling for lockdowns, and people actually doing lockdowns?

Re:Royal Society cautions against censorship of scientific m... by bananapear on Monday January 31, 2022 @07:38AM (#30147284)
The virus travels on the air, and spread has even been attributed to foul air leaking from sewage systems back into people's homes.

https://www.sciencedirect.com/science/article/pii/S016041202...

Also food and other required resources are similarly unable to teleport through walls, so the people involved in growing, transporting, preparing and delivering them to your door can't do "lockdown" like the minority who are able to work from home.

Re:Royal Society cautions against censorship of scientific m... by immibis on Monday January 31, 2022 @08:16AM (#30147544)
Seems extraordinarily unlikely. I mean, can you smell your neighbour's cooking through the sewage system? Same principle!
Re:Royal Society cautions against censorship of scientific m... by forgingahead on Monday January 31, 2022 @06:12AM (#30146784)
Great recap - I had forgotten ol' Neil had broken lockdown rules caused by his broken model himself to see his mistress: https://12ft.io/proxy?q=https://www.telegraph.co.uk/news/202...
Re:Royal Society cautions against censorship of scientific m... by bikingbismuth on Sunday January 30, 2022 @10:59PM (#30144306)
I have been adjacent to industrial and academic partnerships where both the university and company wanted to maintain the IP of the work and in their minds that extended to the software. Paper was published and the source code was closely guarded. I wondered how people could replicate the findings without the fairly complex system the researchers used.