NeoVim e compagnia cantando

Keywords: #vim #neovim #informatica #R #covid19 #rapportino

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.

PaeseCasi/mPopolazione
World9607 794 798 729
China591 439 323 774
India2161 380 004 385
United States6 113331 002 647
Indonesia129273 523 621
Pakistan570220 892 331
Brazil3 777212 559 409
Nigeria71206 139 587
BangladeshNA164 689 383
Russia3 443145 934 460
MexicoNA128 932 753
Japan137126 476 458
Ethiopia23114 963 583
Philippines221109 581 085
Egypt388102 334 403
VietnamNA97 338 583
Democratic Republic of Congo5089 561 404
Turkey2 06384 339 067
Iran2 14583 992 953
Germany2 21683 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.

PaeseDecessiDensità popolazioneEtà medianaover_70
Belgium8313764212,8
United Kingdom6082734112,5
Spain580934613,8
Italy5652064816,2
Sweden477254113,4
France4501234213,1
Netherlands3535094311,9
United States34436389,7
Canada21244110,8
Ecuador21167284,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.

ContinenteN casiN decessi
America3639394196069
Europe2134496181518
Asia148109737627
Africa2166225838
Oceania8758131
Other6967

Stati europei.

PaeseN casiN decessi
Russia5024366532
United_Kingdom29140941279
Spain24270727136
Italy23614234167
Germany1856748763
France15556129346
Belgium597119636
Belarus51816293
Sweden482884814
Netherlands482516044
Portugal359101504
Switzerland309611674
Ukraine29070854
Poland282011215
Ireland252381703
Romania211821369
Austria16964674
Armenia14669245
Serbia12102252
Denmark12035593

Stati extra-europei.

PaeseN casiN decessi
United_States_of_America2023347113820
Brazil80282840919
India2975358498
Peru2147886109
Iran1801768584
Turkey1740234763
Chile1540922648
Mexico13397415944
Pakistan1259332463
Saudi_Arabia116021857
Canada975197994
China842164638
Bangladesh780521049
Qatar7507169
South_Africa585681289
Ecuador444403720
Colombia436821433
United_Arab_Emirates40986286
Egypt397261377
Singapore3938725

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.

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

Per ogni regione la scala è diversa.

Questa tabella indica la variazione settimanale del totale dei positivi.

settimanaminmeanmax
10194528
22586871 326
35292 0862 853
42 6483 9064 821
51 6483 5874 492
61 9412 5232 972
78801 4901 996
8-206601 189
9-851-346256
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 è.

La tabella che segue riporta la variazione del numero dei decessi per settimana. Notare la colonna centrale. A seguire il grafico corrispondente.

settimanaminmeanmax
124.868
21847.43133
397224.00368
4345559.86793
5662787.71969
6525704.57837
7431563.14619
8433521.29602
9260409.00534
10174300.29474
11165237.14369
1299181.14262
1350124.29162
146085.43117
155369.8688
165364.7579