NeoVim e compagnia cantando
Il post di oggi è solo un modo per raccogliere le idee sul flusso di lavoro che uso per passare il tempo e per generare quanto qui pubblicato, e idealmente prosegue il discorso iniziato qui.
Gli ingredienti informatici sono sempre gli stessi:
- un text editor
- markdown
- LaTeX
- R
Sembra poco e invece sono strumenti potenti, in alcuni momenti facili da usare, in altri un po’ ostici. Ma il divertimento è trovare la soluzione per superare l’ostacolo.
Il text editor ¶
Personalmente propendo per Neovim e Vim online è una questione del tutto personale, altri preferiscono GNU Emacs - GNU Project, ma veramente basta un editor di testo semplice come nano, se si vuole rimanere a lavorare da terminale, o console, chiamatela come volete. È da tenere conto che Vim, EMACS e nano sono presenti su tutti i sistemi *nix.
Dunque dicevo di NeoVim, che uso con veramente pochi plugin aggiunti, per non rendere troppo complicata la faccenda, ma ognuno può personalizzare l’installazione come crede. Ricordare che più plugin si usano, maggiori le probabilità di incorrere in incompatibilità e errori.
Attualmente uso
- autozimu/LanguageClient-neovim
- jalvesaq/Nvim-R
- SirVer/UltiSnips
- honza/vim-snippets
- vim-pandoc/vim-pandoc
- vim-pandoc/vim-pandoc-syntax
- vim-pandoc/vim-pandoc-after
- iamcco/markdown-preview.nvim
- lervag/vimtex
- vim-airline/vim-airline
- vim-airline/vim-airline-themes
- chrisbra/csv.vim
- NLKNguyen/papercolor-theme
- neoclide/coc.nvim
Il linguaggio di scrittura ¶
Lavoro con solo testo. Ho abbandonato i wordprocessor, spesso dei pachidermi sproporzionati e con risultati qualche volta spiacevolmente inattesi. Per i documenti più semplici basta Markdown, al dialetto base preferisco la versione Pandoc. Markdown è un cosiddetto linguaggio markup, come html, ma più semplice e più leggibile. Pandoc è anche un grande strumento per preparare documenti in formati vari. In input abbiamo il documento in formato testo, in output può essere un pdf, un docx, un tex, un html e così via.
Per documenti molto strutturati e in cui si cerca una cura tipografica si deve andare di LaTeX. LaTeX è conosciuto soprattutto nel mondo scientifico per la capacità di scrivere bene formule matematiche anche complesse, ma trova spazio anche nelle scienze sociali e nelle discipline umanistiche.
La statistica ¶
Sempre per curiosità e divertimento ogni tanto mi cimento con semplici problemi di statistica e la rappresentazione grafica degli stessi. R: The R Project for Statistical Computing è il programma che mi piace usare. È open source, ha una grande comunità che sviluppa pacchetti per potenziarlo, può fare conti, ma anche presentarli bene. E infine, ma non da ultimo, si può usare NeoVim come Integrated Development Environment per R, combinando anche formule e testo.
La sezione che segue è frutto di queste elucubrazioni.
Rapportino ¶
Uno sguardo al mondo ¶
La fonte dei dati delle due tabelle che seguono è Our World inData, che riporta qualche dato demografico in più. Se li trovaste interessanti, potremmo provare a fare qualche confronto.
La tabella è ordinata per numero di abitanti. Ho tenuto conto solo dei Paesi con più di 5000000 di abitanti.
Paese | Casi/m | Popolazione |
---|---|---|
World | 960 | 7 794 798 729 |
China | 59 | 1 439 323 774 |
India | 216 | 1 380 004 385 |
United States | 6 113 | 331 002 647 |
Indonesia | 129 | 273 523 621 |
Pakistan | 570 | 220 892 331 |
Brazil | 3 777 | 212 559 409 |
Nigeria | 71 | 206 139 587 |
Bangladesh | NA | 164 689 383 |
Russia | 3 443 | 145 934 460 |
Mexico | NA | 128 932 753 |
Japan | 137 | 126 476 458 |
Ethiopia | 23 | 114 963 583 |
Philippines | 221 | 109 581 085 |
Egypt | 388 | 102 334 403 |
Vietnam | NA | 97 338 583 |
Democratic Republic of Congo | 50 | 89 561 404 |
Turkey | 2 063 | 84 339 067 |
Iran | 2 145 | 83 992 953 |
Germany | 2 216 | 83 783 945 |
In questa tabella l’ordinamento è per numero di decessi per milione di abitanti. Ho tenuto conto solo dei Paesi con più di 5000000 di abitanti. La mediana della nostra età e gli over 70 costituiscono un primato tra i paesi con maggior numero di decessi per milione di abitanti.
Paese | Decessi | Densità popolazione | Età mediana | over_70 |
---|---|---|---|---|
Belgium | 831 | 376 | 42 | 12,8 |
United Kingdom | 608 | 273 | 41 | 12,5 |
Spain | 580 | 93 | 46 | 13,8 |
Italy | 565 | 206 | 48 | 16,2 |
Sweden | 477 | 25 | 41 | 13,4 |
France | 450 | 123 | 42 | 13,1 |
Netherlands | 353 | 509 | 43 | 11,9 |
United States | 344 | 36 | 38 | 9,7 |
Canada | 212 | 4 | 41 | 10,8 |
Ecuador | 211 | 67 | 28 | 4,5 |
I dati seguenti sono forniti da ECDC e, almeno per l’Italia, corrispondono a quelli comunicati dalla Protezione Civile il giorno prima.
Uno sguardo ai continenti.
Continente | N casi | N decessi |
---|---|---|
America | 3639394 | 196069 |
Europe | 2134496 | 181518 |
Asia | 1481097 | 37627 |
Africa | 216622 | 5838 |
Oceania | 8758 | 131 |
Other | 696 | 7 |
Stati europei.
Paese | N casi | N decessi |
---|---|---|
Russia | 502436 | 6532 |
United_Kingdom | 291409 | 41279 |
Spain | 242707 | 27136 |
Italy | 236142 | 34167 |
Germany | 185674 | 8763 |
France | 155561 | 29346 |
Belgium | 59711 | 9636 |
Belarus | 51816 | 293 |
Sweden | 48288 | 4814 |
Netherlands | 48251 | 6044 |
Portugal | 35910 | 1504 |
Switzerland | 30961 | 1674 |
Ukraine | 29070 | 854 |
Poland | 28201 | 1215 |
Ireland | 25238 | 1703 |
Romania | 21182 | 1369 |
Austria | 16964 | 674 |
Armenia | 14669 | 245 |
Serbia | 12102 | 252 |
Denmark | 12035 | 593 |
Stati extra-europei.
Paese | N casi | N decessi |
---|---|---|
United_States_of_America | 2023347 | 113820 |
Brazil | 802828 | 40919 |
India | 297535 | 8498 |
Peru | 214788 | 6109 |
Iran | 180176 | 8584 |
Turkey | 174023 | 4763 |
Chile | 154092 | 2648 |
Mexico | 133974 | 15944 |
Pakistan | 125933 | 2463 |
Saudi_Arabia | 116021 | 857 |
Canada | 97519 | 7994 |
China | 84216 | 4638 |
Bangladesh | 78052 | 1049 |
Qatar | 75071 | 69 |
South_Africa | 58568 | 1289 |
Ecuador | 44440 | 3720 |
Colombia | 43682 | 1433 |
United_Arab_Emirates | 40986 | 286 |
Egypt | 39726 | 1377 |
Singapore | 39387 | 25 |
Nei due grafici che seguono è posto a confronto l’andamento dei decessi in alcuni Stati europei. Nel primo sono considerati i valori assoluti, nel secondo i decessi per milione di abitanti. La prospettiva cambia radicalmente, soprattutto per la Svezia, pochi abitanti e misure di lockdown molto rilassate. Da notare anche che il picco in Italia ha preceduto quello degli altri Paesi e ci sono delle valli subito seguite da picchi dovute all’irregolarità di comunicazione de dati, per es. nei fine settimana.
![](eu_deaths-1.png)
![](eu_deaths1-1.png)
La situazione italiana ¶
Attenzione! C’è stato un ricalcolo dei positivi in Regione Campania (-229) per cui il totale dei positivi in Italia è inferiore al numero dei nuovi positivi della sola Lombardia
Dati Protezione Civile
![](ita_1-1.png)
Per ogni regione la scala è diversa.
![](reg_1-1.png)
![](italia-1.png)
![](lazio-1.png)
![](lombardia-1.png)
Questa tabella indica la variazione settimanale del totale dei positivi.
settimana | min | mean | max |
---|---|---|---|
1 | 0 | 194 | 528 |
2 | 258 | 687 | 1 326 |
3 | 529 | 2 086 | 2 853 |
4 | 2 648 | 3 906 | 4 821 |
5 | 1 648 | 3 587 | 4 492 |
6 | 1 941 | 2 523 | 2 972 |
7 | 880 | 1 490 | 1 996 |
8 | -20 | 660 | 1 189 |
9 | -851 | -346 | 256 |
10 | -3 106 | -833 | -199 |
11 | -6 939 | -2 499 | -836 |
12 | -4 370 | -2 276 | -1 222 |
13 | -2 377 | -1 608 | -1 158 |
14 | -2 980 | -1 990 | -730 |
15 | -1 474 | -948 | -532 |
16 | -1 858 | -1 433 | -1 073 |
Rappresentazione grafica della tabella. Più le barre si estendono verso il basso, meglio è.
![](variazione_positivi-1.png)
La tabella che segue riporta la variazione del numero dei decessi per settimana. Notare la colonna centrale. A seguire il grafico corrispondente.
settimana | min | mean | max |
---|---|---|---|
1 | 2 | 4.86 | 8 |
2 | 18 | 47.43 | 133 |
3 | 97 | 224.00 | 368 |
4 | 345 | 559.86 | 793 |
5 | 662 | 787.71 | 969 |
6 | 525 | 704.57 | 837 |
7 | 431 | 563.14 | 619 |
8 | 433 | 521.29 | 602 |
9 | 260 | 409.00 | 534 |
10 | 174 | 300.29 | 474 |
11 | 165 | 237.14 | 369 |
12 | 99 | 181.14 | 262 |
13 | 50 | 124.29 | 162 |
14 | 60 | 85.43 | 117 |
15 | 53 | 69.86 | 88 |
16 | 53 | 64.75 | 79 |
![](dec_box-1.png)