comp.lang.ada
 help / color / mirror / Atom feed
From: Olivier Henley <olivier.henley@gmail.com>
Subject: Re: Not to incite a language war but apparently the Corona lockdown was based on 13 year old undocumented C-Code
Date: Thu, 11 Jun 2020 10:28:41 -0700 (PDT)
Date: 2020-06-11T10:28:41-07:00	[thread overview]
Message-ID: <6bd5d971-6101-4e9e-aac3-7c5c2a8390abo@googlegroups.com> (raw)
In-Reply-To: <a46deeea-c28f-4aab-aa4c-ff880dbad434@googlegroups.com>

On Saturday, May 16, 2020 at 1:01:05 AM UTC-4, Anatoly Chernyshev wrote:
> "Clowns will dominate the pandemic-forecasting domain..."
> 
> I like that one...
> 
> Oh dear, you've lured me out. As a person who just published a Covid-19 forecasting model programmed in Ada, I can't stay away from this heated conversation.
> 
> There are so many concerns raised about scientists doing their rookie programming without resorting to professionals, so I don't even know where to start.
> 
> First of all, we are curious bunch, and learning something new (like programming) is always fun. Second, in scientific programming the chance that someone in power will lock down a country based on the output of your program is negligible (certainly it wasn't on the radars 13 years ago). Third, fourth... 
> 
> To make a long story short, for the experiment's sake, is there anyone willing to review my code? It's not a marvel of Ada programming, it just works.
> 
> Yet it's quite short - I went from the model's formulation, programming, testing, data acquisition, manuscript writeup in a matter of a fortnight.
> 
> If the review is useful, in terms that it helps to produce more accurate forecasts or identifies a drastic flaw in the code, I would be more than happy to do a revised version of the manuscript in a coauthorship with the reviewer(s). Or even go for a peer-reviewed publication when dust settles.
> 
> The model forecasts are here:
> April 10th: https://xph.co.nz/temp/album/
> May 12th: https://xph.co.nz/temp/album2005/
> Some technical details: https://xph.co.nz/index.php/covid-19-progression-model/
> The model description: https://www.medrxiv.org/content/10.1101/2020.04.03.20052985v1
> 
> This is not an epidemiology-based model (so you don't have to be one). Rather, it's a phenomenological one. It can predict what will happen, but can't (yet) say why this will happen. A contribution on the model is welcomed too.
> 
> The code is not published (since I didn't expect anyone would care), but I'll do it once there's interest.
> 
> If keen, please write to me directly: a~at~xph~dot~co~dot~nz
> 
> Anatoly

Hi Anatoly,

Maybe, if you agree, are interested, and your code is not a nightmare to work with (refactor to expose things needed to drive it in UI), I could find time to code a graphical tool for it. Please consider what I did for Gautier's work (the screenshot does not show but everything is dynamic and the export to .csv works like a charm). It took me half a day learning the qt5ada binding on the fly:

https://github.com/ohenley/covidsim

My plan would be quite straightforward; in loose Model-View-Controller terminology:

1. Take your 'engine/simulation' code, make a git repo, publish it as a fork on GitHub. No fork this time if your code is not on GitHub already. Would be best for you to own it (create a Github user, upload your code, etc. But if you are not up to that, I will take care of it. You can collaborate on my repo with proper credentials explicitly set anyways.)

2. I refactor your code to push at the frontier, only parameters and simulation outputs to be driven/drive the UI layer. I do not touch the simulation calculations, this is not my expertise, and if the engine internals break I want *you* to fix it. I only/mostly touch on the inputs and outputs of those computes for them to become parametrizable externally. (This layer is the Model, your know-how.)

3. I create the visual layer, expose the parameters and behavior we want for the tool. (This layer is the View and Controller). I make another git repo out of this. This layer owns your layer to 'talk' with it.

We end up we 2 codebase/repos, like that, you and other scientists can fix the 'engine' without me knowing/caring because you touch on the 'model' layer only.

Anytime you come up with new features/computations etc working, you tell me, I repeat steps 2. and 3. to have the feature exposed in the visual tool.

Let me know what you think if you are interested. I will forward this to your mail too.

Olivier

p.s: If your codebase is huge/complex/lot of features maybe we can start to expose only a subset in a tool. From there, because it's available through github, people in this thread could collaborate (clone, edit, push)

  parent reply	other threads:[~2020-06-11 17:28 UTC|newest]

Thread overview: 71+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-11 18:49 Not to incite a language war but apparently the Corona lockdown was based on 13 year old undocumented C-Code Rick Newbie
2020-05-11 20:27 ` Niklas Holsti
2020-05-11 21:12   ` Rick Newbie
2020-05-12 20:11     ` Niklas Holsti
2020-05-12 20:53       ` Dmitry A. Kazakov
2020-05-12 21:54         ` Niklas Holsti
2020-05-12 22:15       ` Rick Newbie
2020-05-13 11:07         ` Niklas Holsti
2020-05-13 13:23           ` Rick Newbie
2020-05-13 13:45             ` Niklas Holsti
2020-05-13 14:58               ` Rick Newbie
2020-05-13 15:31                 ` Dmitry A. Kazakov
2020-05-13 15:48                   ` Niklas Holsti
2020-05-11 21:45   ` gautier_niouzes
2020-05-12 15:56     ` Niklas Holsti
2020-05-11 21:55   ` Jeffrey R. Carter
2020-05-12 19:16     ` Niklas Holsti
2020-05-12 21:27       ` Jeffrey R. Carter
2020-05-12 22:20         ` Niklas Holsti
2020-05-12 22:39           ` Jeffrey R. Carter
2020-05-13  9:36             ` Niklas Holsti
2020-05-13 13:52               ` Optikos
2020-05-13 14:05                 ` Niklas Holsti
2020-05-13 18:58                   ` Optikos
2020-05-13 20:29                     ` Niklas Holsti
2020-05-13 21:02                       ` Optikos
2020-05-13 21:48                         ` Niklas Holsti
2020-05-13 22:13                           ` Optikos
2020-05-13  9:54         ` Niklas Holsti
2020-05-13  0:25 ` Olivier Henley
2020-05-15 13:23   ` Optikos
2020-05-16  5:01 ` Anatoly Chernyshev
2020-05-28 21:45   ` Optikos
2020-06-11 17:28   ` Olivier Henley [this message]
2020-06-11 17:36     ` Olivier Henley
2020-06-11 22:43     ` Anatoly Chernyshev
2020-06-12 12:10       ` Olivier Henley
2020-06-12 12:34         ` Anatoly Chernyshev
2020-06-12 17:36           ` Olivier Henley
2020-06-21  9:18             ` Anatoly Chernyshev
2020-06-22 13:36               ` Olivier Henley
2020-05-16 22:31 ` Niklas Holsti
2020-05-16 23:54   ` Optikos
2020-05-17 15:41     ` Niklas Holsti
2020-05-17 17:38       ` Optikos
2020-05-17 18:00         ` Simon Wright
2020-05-17 20:56           ` Optikos
2020-05-17 21:20             ` Simon Wright
2020-05-17 21:45               ` Optikos
2020-05-18  7:34                 ` Simon Wright
2020-05-17 19:20         ` Niklas Holsti
2020-05-17 21:30           ` Optikos
2020-05-24 21:04 ` Bob Goddard
2020-05-31 15:01 ` Azathoth Hastur
2020-06-09  6:30 ` gautier_niouzes
2020-06-11 15:35 ` Olivier Henley
2020-06-11 15:49   ` Olivier Henley
2020-06-11 18:41     ` Anh Vo
2020-06-11 19:58       ` Olivier Henley
2020-06-11 20:41         ` Anh Vo
2020-06-11 20:47           ` Olivier Henley
2020-06-11 21:34             ` Anh Vo
2020-06-11 21:47               ` Olivier Henley
2020-06-11 21:39             ` Olivier Henley
2020-06-11 23:14               ` Anh Vo
2020-06-11 23:30                 ` Jere
2020-06-11 23:55                   ` Olivier Henley
2020-06-12  0:07                 ` Olivier Henley
2020-06-12  0:42                   ` Anh Vo
2020-06-12 11:08                     ` Olivier Henley
2020-06-12  7:03   ` gautier_niouzes
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox