Category Archives: General

Robust child process management in NodeJS?

Robust child process management in NodeJS? Not so easy :-).

For example, calling child_process.spawn() with a bad path does not throw an error right away. Although that error (ENOENT in this case, on Linux) is indeed known to the runtime in a synchronous fashion (NodeJS uses uv_spawn() for invoking the new process and that reports errors synchronously to its caller).

Even when child_process.spawn() fails to create a process it will return a process handle. Which you can try to kill(). And that would not throw an error right away.

To discuss this topic I submitted https://github.com/nodejs/node/issues/30668 a while back (as of which we improved the documentation for kill()) and https://github.com/nodejs/node/issues/33566.

Some more aspects and links, in no particular order:

A successful (but I think a little too involved) recipe for handling startup errors might be this:

  1. spawn()
  2. attach error handler, and upon error store the error state in a magic variable.
  3. implement and start a “success criterion watcher” (may even be based on polling) and in that logic consider the magic variable (for example, if it is known to be an error object, throw it).

 

 

 

“Dr. Erickson COVID-19 Briefing” — a quick assessment

The “Dr. Erickson COVID-19 Briefing” keeps popping up.

A quick assessment, mainly derived from the first few minutes of this video which contain the strongest claims.

I am certain that “Dr. Erickson” overestimates his scientific capabilities, his ability to derive knowledge, his actual ability to contribute a novel aspect the wider discussion of how to deal with COVID-19 in society.

I am certain that at the same time he underestimates the previous findings of other research groups all over the world. He ignores them.

He claims to take a scientific approach, but at the same time he does not trust and consult the scientific community around him. It is very likely that he didn’t talk to other experts to get a critical eye on his conclusions before going viral. Isn’t that suspicious? To you?

If you like the content in this video and if you feel enthusiastic about it, here is what I think happened:

  • he made you like him
  • he didn’t contribute productively to a complex problem

Aren’t these key ingredients of populism? I might think so.

In any case we can try to asses who took advantage here. I think it’s him. It’s not you, it’s not society.

His communication is built on “simple truths”. The way “Dr. Erickson” describes the situation: it’s all so obvious, from the numbers they have looked at.

I hope that you can believe me that his house of cards is built on methodological flaws in his statistical analysis (I have studied physics and a PhD, so please allow me to judge). They had an intuition and found numbers to support that intuition. Their conclusions, though, are as wrong as they are dangerous and destructive.

With respect to complex problems you should not trust your intuition. You’re better off trusting your rationally developed, peer-reviewed, triple-checked model that has survived the test of time and thousands if not millions of critical reviews. At least when your goal is to productively contribute to a wider set of problems.

This is where my gut hurts: “Dr. Erickson” tries to make his points sound strong and convincing by saying that they have a lot of experience in immunology and microbiology. This is deceiving, this is ironic. Maybe you can’t (and that’s fine) but I can tell that this is a flash bang, a smoke grenade. They are clearly not experts in these fields (because then you have to master the basic tools of statistics), and they are clearly overestimating the sanity of their method, and the relevance of their findings.

Another way to say this is that the “statistical method” that they applied to derive their conclusions is utter nonsense. It doesn’t even deserve to be called a “method”. They didn’t discuss their findings in the context of published studies trying to address the same questions. That’s the least you have to do before going public so widely.

This is a great example for how easy it is to put bullshit into the world without “fact checkers” (I don’t like this terM) standing a chance to keep up with the sheer influx of bullshit.

I would love to discuss the details in-depth. But we all have limited time and resources and while it’s an important job to call out bullshit, it’s also incredibly frustrating.

A few quotes from a reddit thread about this video that I agree with:

I’m reading comments on the video (bad idea) of people who are angry that this guy is “the only one reporting hard numbers and facts” and that no one is listening to him and its frankly giving me an aneurism. He’s not doing that. He’s putting forward dubious extrapolation

If they can’t understand the importance of using representative data, then they really shouldn’t be posing as experts.

They also adopt the same misleading approach when comparing Norway and Sweden and tried to claim that both countries have similar numbers of cases and deaths. In reality, Sweden has 18,177 cases and 2,192 deaths (217 deaths per 1 million population) and Norway has 7,493 positive cases and 201 deaths (37 deaths per 1 million people). So contrary to their claims, Norway appears to be doing much better than Sweden, which supports the use of social distancing methods.

The doctor in the video grossly interpreted data incorrectly and “extrapolate” them into misleading conclusion (whether intentionally or not, that is another question).

Again these two are not experts. Yes they are physicians but I bet they do not have the type of training background as infectious disease specialist or epidemiologist. I do not see any type of credibility from them. And what they say could easily be used by certain political groups to instigate falsehood information. And this is not good because it affects public safety.

 

COVID-19-Fallzahlen: bitte zitiert nicht die JHU. Sondern die Landesministerien.

Liebe ARD Tagesschau/Tagesthemen und liebes ZDF heute journal: Ihr macht einen fantastischen Job in der COVID-19-Berichterstattung. Danke dafür!

Aber eine Bitte habe ich an Euch und an viele andere deutsche Medien: bitte zitiert nicht die Johns Hopkins University (JHU), wenn Ihr die aktuellen Fallzahlen von bestätigten COVID-19-Infektionen für Deutschland berichtet.

Die Zahlen selbst sind gut. Die Quelle “JHU” jedoch sorgt für ziemlich viel Verwirrung. Bitte zitiert stattdessen unsere Gesundheitsämter und Landesministerien: gleiche Zahlen, korrekte Quelle, weniger Verwirrung. Das versuche ich in diesem Beitrag zu erklären.

Dass viele Bürger sich fragen woher die Diskrepanz zwischen den JHU-Zahlen und den vom Robert Koch-Institut (RKI) veröffentlichten Zahlen kommt, wisst Ihr selbst.

Auch ich habe mich gefragt, warum das heute journal die JHU und nicht das RKI zitiert. In Anbetracht der Unterschiedlichkeit der Zahlen wollte ich das gerne von Euch erklärt bekommen.

Das heute journal ist darauf mit einem Beitrag in der Sendung vom 19.03. eingegangen (kann man in diesem Tweet noch einmal sehen). Aber ich wurde enttäuscht: uns wurde gesagt, dass die JHU sich auf Quellen wie “WHO, CDC, ECDC, NHC, DXY, …” beziehen würde. Wir blieben ratlos. Das war keine plausible Erklärung für die Diskrepanz der Datensätze und für die Entscheidung JHU statt RKI zu zitieren.

Kurzer Exkurs zur genannten Diskrepanz, am Beispiel vom 21. März. Der RKI Situationsbericht zum 21.03.2020 sagt: 16.662 bestätigte Fälle. Die JHU behauptet am heutigen Abend des 21. März: etwa 22.000 bestätigte Fälle. Vergleichbar? Im RKI Situationsbericht steht, dass er dem Datenstand vom 21.03.2020 um 0:00 Uhr entsprechen soll. Also sollte man diese Zahl mit dem letzten Stand der JHU-Daten vom 20.03. vergleichen. Schauen wir nach: time_series_19-covid-Confirmed.csv, Zeile 13, im git repository CSSEGISandData/COVID-19 auf GitHub. Da steht für den 20.03. die Zahl 19.848.

Eine faire Frage ist also: “Warum berichtet das RKI für das Ende des Tages des 20. März etwa 16.600 Fälle, während die JHU für den gleichen Zeitpunkt etwa 19.800 Fälle berichtet?”

Darauf gibt es meiner Meinung nach eine klare und zufriedenstellende Antwort: die JHU-Daten entsprechen aktuellen und offiziellen Daten der Landesministerien. Die RKI-Daten sind geprüfte und verzögert veröffentlichte Daten der selben Landesministerien.

jeder von uns kann sich zu jedem Zeitpunkt des Tages die kleine Mühe machen und die jeweils aktuellen COVID-19-Fallzahlen der einzelnen 16 Bundesländer nachlesen. Ich mache das hier mal vor, mit aktuellen Zahlen von sechs Bundesländern (während ich diesen Text schreibe):

Das Prinzip ist klar. Diese Fallzahlen-Portale und Statistiken der einzelnen Länder sind schon recht gut gemacht. Danke, liebe Landesministerien! Hier verlinke ich noch ein paar mehr davon.

Wenn ich jetzt die Bevölkerung über den aktuellen Stand der bestätigten COVID-19-Fallzahlen in den genannten sechs genannten Ländern informieren wollte, dann könnte ich doch einfach aufsummieren und schreiben: etwa 17.400 Fälle, Stand 21.03. (vormittags/mittags). Quelle: Gesundheitsministerien der Bundesländer.

Oder nicht? Eine plausible, vertrauenswürdige Quelle. Im Gegensatz zur mysterischen, nicht direkt plausiblen Quelle “JHU”.

Wenn man jetzt noch die 10 anderen Länder dazurechnet kommt man auf den derzeitigen Stand (während ich schreibe) von etwa 22.000 bestätigten Fällen (weiter oben haben wir die Zahl schon gesehen: das ist das was die JHU derzeit berichtet während ich das hier schreibe).

Meines Wissens nach ist das genannte Vorgehen (Konsultation der Ländesbehörden) genau das, was ZEIT ONLINE und Berliner Morgenpost akribisch mehrfach am Tag tun. Die erhaltenen Daten pflegen sie sofort in ihre Visualisierungen ein:

Und die Zahlen des RKI? Es schreibt selbst:

“Zwischen dem Bekanntwerden eines Falls vor Ort, der Meldung an […], der Eingabe der Daten in […] und von dort an das RKI liegt eine gewisse Zeitspanne. Die kann gemäß den Vorgaben im Infektionsschutzgesetz zwei bis drei Arbeitstage lang sein.”

Schlussfolgerung 1: Die Landesministerien veröffentlichen, gut aufbereitet, zu jedem Zeitpunkt ihren aktuellen Datenstand. Aggregiert von den ihnen jeweils unterstellten Gesundheitsämtern. Das sind offizielle Zahlen. Und wahrscheinlich auch ganz gute (belastbare) Zahlen. Aber auch diese Zahlen sind natürlich schon verzögert gegenüber den Meldungen der Gesundheitsämter!

Schlussfolgerung 2: Ich denke, dass wir die Zahlen von ZEIT ONLINE und Berliner Morgenpost jeweils guten Gewissens benutzen können. Denn sie repräsentieren meinen Stichproben nach exakt die Veröffentlichung der Landesministerien.

Schlussfolgerung 3: das RKI prozessiert die Daten langsam und erzeugt gegenüber den Landesministerien eine Verzögerung in der Veröffentlichung der Daten von weiteren 1 bis 2 Tagen. Warum das so ist: unklar. Eine eingehende Prüfung der Daten? Vielleicht. Dafür hätte ich gerne eine bessere Erklärung!

Schlussfolgerung 4: Tagesschau und heute journal: bitte nennt als Quelle für die aktuellen Fallzahlen die Landes(gesundheits)ministerien bzw. die Gesundheitsämter. Das ist korrekt und stiftet weniger Verwirrung.

Vielleicht könntet Ihr auch noch zusätzlich ZEIT ONLINE oder die Berliner Morgenpost zitieren, die die Konsultation für uns vornehmen und die jeweils aktuelle Summe für uns bereithalten.

Danke.

Randnotiz 1: ich hatte darüber schon vor ein paar Tagen geschrieben und versucht die Gedanken hier ein bisschen klarer zu sortieren.

Randnotiz 2: ich arbeite an https://github.com/jgehrcke/covid-19-germany-gae. Eine konsolidierte und automatisiert konsumierbare Datenquelle der aktuellen Fallzahlen in Deutschland, der individuellen Bundesländer, inkl. Zeitverlauf in der Vergangenheit.

COVID-19: Italien am 16.03.

Die Situation in Italien sollte unser Denken und Handeln lenken.

Diese kleine Zitat-Sammlung hilft vielleicht. Alle zitierten Artikel wurden am 16.03. veröffentlicht.

Frankfurter Rundschau (16.03.):

Wurden am Montagmorgen (16.03.2020) noch rund 1800 Tote durch die Covid-19-Pandemie vermeldet, ist die Zahl nur wenige Stunden später um rund 350 Tote auf 2158 gestiegen. Bis Montag zählten die Behörden insgesamt 27.980 Infizierte mit dem Coronavirus Sars-CoV-2 im ganzen Land. Das waren rund 3000 mehr als am Vortag. Diese Zahlen teilte der Zivilschutz am Montagabend in Rom mit.

 
nst.com (16.03.):

“The numbers have continued to grow. We’re close to the moment where we will have no more intensive care beds,” Lombardy governor Attilio Fontana told SkyTG24 television. […] Authorities have been working to set up hundreds of intensive care beds in a specially created facility in the Fiera Milano exhibition centre but are still waiting for sufficient respirators and qualified personnel. […] Behind the concern for the north, there was also a looming worry over the much less well-equipped south, where tens of thousands of people have arrived from the affected regions.

 
independent.co.uk (16.03.):

A health official in Bergamo, warning that patients being admitted to hospital for treatment are getting younger. “The type of patient is changing,” said Luca Lorini, the head of anaesthesia and intensive care at a northern Italian hospital. “They are a bit younger, between 40 to 45 years old and the cases are more complicated,” she said.

 

cbc.ca (16.03.):

All the hospitals in northern Italy are stretched to the breaking point. Health-care workers are totally exhausted, themselves terrified of contracting the virus and passing it on to their own families. Ventilators are the only thing that will keep the sickest patients alive, and there may not be enough to go around. Doctors have been put in the agonizing position of deciding who lives and who dies. The elderly, and those with complicating medical conditions, might be sacrificed. “If you have to choose between a 75-year-old person and a 20-year-old person, who are you going to choose? Obviously, it’s the person with the higher expectation of life,” Casani said. “So there will be a moment that an anesthesiologist will have to take off the respirator from this 75-year-old guy and give it to the 20-year-old. And this will be a horrible choice for the doctors, but obviously necessary.”

“I think the question of ‘Why Italy?’ is the most important question and it has a simple answer: No reason at all. The only thing that makes Italy different is that the first couple of [community-transmitted] cases arrived in Italy about 10 days before they arrived in Germany, the United States or Canada. So if other countries aren’t going to react in an extreme way right now, they’re going to become Italy.”

 

web.de (16.03.)

Italienische Wissenschaftler haben angesichts der heftigen Coronakrise in ihrem Land Deutschland aufgefordert, schneller und strikter als bisher zu reagieren. “Unterschätzen Sie nicht die Gefahr. Italien hat das eine Woche lang getan”, sagte Roberto Burioni, einer der bekanntesten Virologen Italiens der Deutschen Presse-Agentur. […] An dem Institut, das einen Biomedizinzweig hat, würden Statistiker und Mathematiker für Italien von einer Dunkelziffer bei Infizierten von “mindestens Faktor zehn” ausgehen, sagte er. Ähnlich wie bei Masern. Da Italien am Sonntag fast 25.000 registrierte Infizierte gemeldet hat, bedeute das mindestens 250.000 Menschen, die das Virus in sich tragen.

FAZ (16.03.)

Die Gefahr, dass die deutschen Intensivstationen überlaufen, ist real. Das macht den Shutdown risikoethisch unvermeidbar.

 

tagesspiegel.de (16.03.)

Der Dachverband ärztlicher Berufsvereinigungen schlug am Sonntag in einem Brief an Minsterpräsident Giuseppe Conte Alarm: 1674 infizierte Krankenschwestern, -pfleger, Ärztinnen und Ärzte, das heiße, “wir sprechen von zehn Prozent der im Gesundheitssystem Tätigen, die entweder schon gestorben sind oder aber nicht mehr arbeiten können. […]

Conte selbst habe zugegeben, dass “unerlässliche Schutzkleidung” derzeit fehle oder rationiert sei, auf jeden Fall nicht ausreichend verfügbar. Im einzelnen nennt der Ärztefunktionär Handschuhe, ffp3-Masken, Kittel, Schutzbrillen und Überkleidung. […]

Allein am Samstag wurden in die Spitäler der Lombardei weitere 85 Covid-19-Patienten eingeliefert, die Intensivpflege benötigten – doppelt so viele wie noch vor einer Woche. Am Sonntag waren die freien Plätze an einer Hand abzuzählen. „Es gelingt uns zwar, täglich 20 bis 25 neue Plätze zu schaffen – aber wir stehen kurz vor dem Point of no return“, betonte auch der lombardische Gesundheitsminister Giulio Gallera. […]

„Wir müssen jeden Tag neue Covid-19-Patienten intubieren und sind pausenlos im Einsatz“, berichtete am Sonntag Ivano Riva, der Chef der Reanimationsabteilung des Stadt-Spitals Giovanni XXVIII. „Wir halten nicht mehr lange durch.“ In einer einzigen Woche sind dem Coronavirus in den beiden Provinzen mehr als 400 Menschen zum Opfer gefallen, in Bergamo bis zu 61 pro Tag. Die Krematorien in den beiden Provinzen haben auf 24-Stunden-Betrieb umgestellt.

[…]

Die Schaffung neuer Plätze in der Intensivmedizin ist ein Wettlauf gegen die Zeit: Laut einer in diesen Tagen in der britischen Wissenschaftszeitschrift „Lancet“ veröffentlichten italienischen Studie wird die Zahl der Infizierten in Italien ihren Peak voraussichtlich in etwa drei bis vier Wochen erreichen; bis zu diesem Zeitpunkt seien mindestens 4000 neue Betten auf Intensivstationen erforderlich.

 

Mehr Ressourcen: https://gehrcke.de/2020/03/covid-19-sars-cov-2-resources/

COVID-19 / SARS-CoV-2 resources

Last updated: March 25, 00:15 UTC

Resources about the current state

Datasets

Curated list of dashboards and visualizations

These are not all the things. That is not the goal, that is supposed to be a curated list. I found that these are some of the best (in terms of clarity, information content, data freshness, uniqueness, the organizations or people behind them, …):

Valuable background information

You’d like to understand things? You’d like to listen to researches talk about the topic?

How the open data community approaches this topic

It’s so cool to see how the scientific community approaches this topic in a truly collaborative fashion. Some things I enjoyed seeing:

Terminology

  • A coronavirus is a virus from a well-known family of viruses (discovered in the 1960s). The name is derived from the structural appearance (the 3D shape) that these viruses have.
  • SARS-CoV-2 is the name for the new, currently spreading, virus. It is a special kind of coronavirus. Its name is an abbreviation for “severe acute respiratory syndrome coronavirus 2”.
  • COVID-19 is the currently established name for the infectious respiratory disease caused by the new coronavirus SARS-CoV-2.

These names are official as of this WHO announcement.

Other resources