La più grande calcolatrice per la statistica

In questo blog ho presentato molti software con i quali possiamo con relativa facilità eseguire calcoli e produrre grafici statistici: calc di LibreOffice, Python, Gretl, Tcl/Tk, Julia. Tutti software liberi con i quali possiamo fare anche altre cose.
Ma il software libero ci offre anche un prodotto specializzato nel calcolo statistico e che, soprattutto per le cose più sofisticate, facilita ulteriormente il compito.
Si tratta di R.
Nell’allegato manualetto cerco di spiegare di cosa si tratta.
Come sempre il manualetto è liberamente scaricabile, stampabile e distribuibile.

r

Ancora editor video

Nel novembre del 2018 ho pubblicato su questo blog l’articolo “Pocker di editor video”, con allegato un manualetto in cui presentavo i quattro editor video di software libero che, all’epoca, ritenevo alla portata di dilettanti: Avidemux, Kdenlive, Shotcut e Open Shot.
Si tratta di software abbastanza facili da usare, proprio adatti a dilettanti, ma che sono considerati non all’altezza delle esigenze di professionisti.
Per i professionisti esisteva Cinelerra, tuttavia alquanto bizzarro da utilizzare anche per loro e, pertanto, il software libero soffriva della mancanza di un editor video di livello professionale utilizzabile senza problemi.
Proprio a quel periodo, novembre 2018 appunto, risale tuttavia la prima release di prova di un nuovo editor video, Olive, prodotta da un solo sviluppatore, che già allora prometteva di coprire questa lacuna del software libero.
Di perfezionamento in perfezionamento e allargatosi il team di sviluppo, Olive, con il recente passaggio alla versione 0.2, sembra aver raggiunto l’obiettivo ed essere diventato il miglior editor video professionale nel mondo del software libero.
Tanto da essere perfino apprezzato da un esigente come Moreno Razzoli, che ne tesse le lodi nel video “Linux video editing” che possiamo gustare cercando su YouTube il video UxbEt8pC6IU.
A parte ciò che Olive ha reso possibile fare nell’esperimento “Olive distributed” descritto nel video con lo stesso titolo che troviamo sul sito Morrolinux dello stesso Razzoli, roba da professionisti con la P maiuscola, si tratta di un software che anche un dilettante può accostare senza eccessivo sforzo.
Nel frattempo anche gli altri software si aggiornano: Open Shot è arrivato alla versione 2.6.1 del settembre 2021, Avidemux alla versione 2.8.0 del dicembre 2021, Shotcut alla versione 22.06 del giugno 2022, Kdenlive alla versione 22.08 dell’agosto 2022 e costituiscono ancora un ottimo pocker. Anche Cinelerra ha raggiunto la versione 7.3 del marzo 2021.
Continuando a lasciare Cinelerra ai soli professionisti e tuttora ritenendo valida la presentazione dei quattro software del pocker per i dilettanti a suo tempo prodotta, allego a questo articolo una presentazione di Olive.
Il documento è liberamente scaricabile, stampabile e distribuibile.

olive

Una scorciatoia per l’HTML

HTML (HyperText Markup Language) è il linguaggio di markup con il quale si creano le pagine che vengono lette dai browser web.
Si tratta dei documenti, così detti ipertestuali, spesso arricchiti da contenuti multimediali e da link per il collegamento immediato con altre parti del testo o con altri documenti, cui ci ha ormai abituati la frequentazione del web, ma che potrebbero con profitto essere utilizzati e scambiati anche al di fuori del web per comunicare in modo vivace e con insuperabile efficacia.
Il linguaggio non è difficile da imparare ma è molto noioso da utilizzare, a causa della necessità di inserire la grande quantità di marcature richieste per dar forma alla nostra comunicazione.
C’é stato pertanto chi lo ha semplificato, inventando linguaggi meno noiosi da utilizzare, come il linguaggio Markdown, e chi ha addirittura escogitato il modo di produrre ricchi documenti ipertestuali senza nemmeno conoscere alcun linguaggio di marcatura.
E’ ciò che si può fare utilizzando un editor, chiamato Abricotine.
A questo portentoso strumento dedico l’allegato manualetto, liberamente scaricabile, stampabile e distribuibile.

abricotine

Un editor speciale

Può capitare che ricercatori, scienziati o semplicemente studenti si debbano scambiare documenti contenenti le loro esperienze su lavori svolti o in corso di svolgimento, con l’esigenza di inserirvi grafici, formule matematiche, spezzoni di codice e quant’altro.
Tutte cose che si possono fare in molti modi e che, avendo a disposizione un personal computer normalmente dotato di strumenti per la ricerca scientifica e la scienza dei dati, possiamo affrontare avendo probabilmente solo l’imbarazzo della scelta.
Il mondo del software libero ci leva anche dall’imbarazzo della scelta e ci offre uno strumento con il quale possiamo radunare tutte le nostre evidenze in un solo documento, comprendendovi il codice utilizzato per raggiungere i risultati esposti, in modo che esso sia sperimentabile e modificabile da altri senza bisogno di ricopiature, fino a poter editare in forme professionalmente ineccepibili i risultati del lavoro.
Questo strumento si chiama Jupyter.
Visto che la documentazione in lingua italiana su di esso scarseggia, ho cercato di dimostrare quanto sia utile e facile da usare Jupyter nell’allegato manualetto, come al solito liberamente scaricabile, stampabile e distribuibile.

jupyter

Plain TeX

Nell’allegato “pdf_lyx” al mio articolo “Scrivi e pubblica veri libri”, comparso su questo blog nel novembre 2017, ho presentato un editor con il quale è possibile produrre composizioni tipografiche su file (in formato PDF o altro) aventi tutto lo stile del libro stampato.
Nessun word processor è in grado di rispettare alla perfezione questo stile ma l’editor LyX può farlo grazie al software su cui si basa: il sistema TeX.
Lo chiamo sistema in quanto siamo di fronte ad una nutrita serie di pacchetti software, ciascuno destinato a fare certe cose.
I puristi dicono che l’editor LyX non è vero che rispetti alla perfezione il classico stile tipografico ma che la vera perfezione si realizzi solo utilizzando direttamente il particolare linguaggio del sistema TeX, magari ricorrendo ad una serie di macro-istruzioni che sono raccolte nel linguaggio LaTeX, destinate ad arrotondarne le tante spigolosità.
Io utilizzo ricorrentemente l’editor LyX, con risultati che ritengo ottimi e non mi accorgo di certe finezze.
Una cosa è comunque certa: sia che utilizziamo LyX sia che utilizziamo LaTeX, per fare certe cose, come scrivere caratteri speciali, formule matematiche, ecc. dobbiamo conoscere almeno alcuni comandi che appartengono al linguaggio TeX originario, quello che, per evitare confusione con la sua versione arricchita chiamata LaTeX, si usa chiamare Plain TeX.
Dal momento che con l’avvento di LaTeX nessuno più parla di TeX ho ritenuto utile dedicare ai suoi comandi originari di più ricorrente utilità il manualetto allegato in formato PDF, come sempre liberamente scaricabile, stampabile e distribuile.

plain_tex

Grafica con Julia

Il linguaggio Julia è particolarmente versato per il calcolo e soprattutto a questo serve la dotazione di base che abbiamo a disposizione alla prima installazione del suo compilatore/interprete.
In allegato al mio articolo “Un nuovo linguaggio per la data science”, pubblicato su questo blog nel febbraio 2021, si trova il manualetto “julia” in formato PDF che ci mette in grado di muovere i primi passi e non solo: ne ripropongo, qui allegata, una versione riveduta ed arricchita.
Come è avvenuto per il linguaggio Python, di cui Julia sta ormai diventando valida alternativa, attorno al nucleo centrale del linguaggio sono stati creati pacchetti aggiuntivi per svolgere compiti sempre più onerosi e complicati.
Né Julia disdegna di utilizzare pacchetti del mondo Python ed è attrezzata per farlo alla grande.
Nel citato manualetto ho inserito un esempio di utilizzo del pacchetto Sympy di Python per poter fare del calcolo simbolico con Julia.
Tra i tanti pacchetti a disposizione, propri del mondo Julia o acquisiti da altri mondi, ne abbiamo tanti per la grafica e nel manualetto allegato, da considerarsi estensione di quello citato sulle basi del linguaggio, ho ritenuto opportuno illustrare qualche strumento utile per la grafica, intesa sia come forma di rappresentazione di dati sia come forma di interfacciamento con l’utente.
Come sempre il manualetto è liberamente scaricabile, stampabile e distribuibile.

julia

grafica_julia

Quando i numeri sono grandi

Quando eseguiamo calcoli con il computer utilizzando strumenti preconfezionati, come la calcolatrice più o meno potente che ci passa il sistema operativo o un foglio di calcolo, abbiamo sempre a che fare con la così detta precisione.
La precisione è l’accuratezza con cui ci viene presentato il risultato di un’operazione matematica, cioè il grado di corrispondenza del risultato che ci fornisce il computer con il vero valore che dovrebbe restituire l’operazione.
Generalmente con un foglio di calcolo, sia che lavoriamo con numeri interi sia che lavoriamo con numeri decimali, se questi sono di una certa dimensione otteniamo risultati espressi in notazione scientifica con una quindicina di cifre significative, l’ultima delle quali arrotondata, prima di una eventuale serie di zeri che completano il risultato.
Con questi strumenti possiamo ottenere risultati fino a circa 300 cifre di cui solo le prime quindici significative o nessun risultato se la quantità di cifre è ingestibile. Mai otteniamo risultati sbagliati: a volte approssimati ma mai sbagliati.
Quando eseguiamo calcoli con programmi di calcolo scritti da noi dobbiamo invece stare molto attenti alle caratteristiche del linguaggio di programmazione che utilizziamo in quanto potremmo facilmente andare incontro a gravi disavventure, soprattutto quando abbiamo a che fare con calcoli che coinvolgono grandi numeri. Potremmo infatti ottenere risultati completamente strampalati, purtroppo anche senza che ce ne accorgiamo.
Su questo argomento ho ritenuto utile proporre l’allegato manualetto, liberamente scaricabile, stampabile e distribuibile.

biginteger

Latex e la musica

In questo blog ho parlato di Tex e di Latex in un articolo del novembre 2017, intitolato “Scrivi e pubblica veri libri”, con allegato un manualetto sull’uso di un editor, Lyx, che facilita enormemente l’utilizzo di questi software per produrre testi che abbiano la forma classica dell’editoria cartacea e ne segua i dettami stilistici.
Nel manualetto ho accennato, tra l’altro, a come sia possibile inserire righi musicali in questi testi utilizzando un collegamento che si può instaurare tra il motore Tex e il software di grafica musicale Lilypond attraverso il modulo lilypond-book, limitandomi a descrivere come ciò possa avvenire utilizzando l’editor Lyx.
Non è solo in questo modo, tuttavia, che si può scrivere musica con Latex.
Inoltre quando si scrive di musica non necessariamente ci si limita a righi musicali ma vi sono altre caratteristiche simbologie alle quali si ricorre.
Dal momento che l’argomento non è trattato con la necessaria completezza dalla pur numerosa documentazione che si trova in rete su Tex e Latex, ho ritenuto utile proporre l’allegato manualetto, liberamente scaricabile, stampabile e distribuibile.

musica_latex

Software libero per l’econometria

In questo blog ho parlato spesso di software libero per il calcolo, proponendo anche manualetti dedicati ad alcuni particolari strumenti: dal foglio elettronico a linguaggi di programmazione particolarmente orientati al calcolo, soprattutto con riguardo a quella che viene oggi chiamata data science: in quest’ambito con specifico riferimento agli strumenti per il calcolo scientifico e per l’analisi dei così detti big data che fornisce il mondo di Python.
Un’altra branca dell’analisi dei dati è l’econometria, disciplina che utilizza metodi matematici e statistici per elaborare modelli descrittivi o esplicativi per la verifica o per la previsione delle conseguenze di provvedimenti di politica economica.
Sempre da dati si parte, questa volta non più per supportare attività scientifiche di laboratorio o per ispirare condotte manageriali in azienda ma per orientare decisioni di carattere politico.
Gli strumenti di base sono sempre gli stessi ma nei vari campi sono adattati o arricchiti in vista di specifici obiettivi.
Nel mondo del software libero esiste una raccolta di strumenti finalizzati all’econometria, racchiusa in un pacchetto denominato GRETL (GNU Regression, Econometrics and Time-series Library).
Si tratta di una cosa per professionisti ma ritengo utile presentarne i caratteri essenziali nel manualetto allegato, come consueto ad uso di curiosi dilettanti, tra i quali si ritrova magari qualche studente che ne può trarre buone premesse per successivi approfondimenti.
Il documento è liberamente scaricabile, stampabile e distribuibile.

gretl

Non così difficile come sembra

Nei manualetti di presentazione di alcuni linguaggi di programmazione che ho pubblicato su questo blog ho sempre sostenuto che la via più semplice per chi voglia cominciare a programmare è quella di utilizzare un semplice editor di testo.
Magari un editor di testo assistito, come Geany, che assomiglia molto a una IDE (Integrated Development Environment) in quanto colora in vario modo le parole chiave dei linguaggi più conosciuti, consentendo così di diminuire il pericolo di errori di battitura, e ci dà modo di compilare e di eseguire il codice senza uscire dall’editor.
Con qualche eccezione: nel caso di Python ho suggerito l’editor incorporato nella IDLE in quanto ci offre assistenza nella scrittura del codice con la code completion.
Stessa cosa per il linguaggio Pascal, soprattutto se abbiamo l’obiettivo di creare un programma con GUI (Interfaccia Grafica per l’Utente), per il quale ho suggerito l’IDE Lazarus.
Esiste un’altra IDE che va per la maggiore in quanto è stata scelta da Google a supporto del suo Android Studio: Intellij IDEA.
La sua utilità si rivela in pieno per la programmazione con il linguaggio Java, non così semplice come i linguaggi che hanno formato oggetto dei miei vari manualetti e per il quale ben viene la code completion di IDEA, soprattutto se vogliamo produrre programmi con GUI.
Altrettanto dicasi se vogliamo produrre programmi con GUI con il nuovo linguaggio Kotlin: questo semplifica di molto il linguaggio Java ma, per la parte grafica, occorre usare il vero e proprio linguaggio Java.
Tra l’altro IDEA è dotato di un designer per produrre GUI in modo visuale, addirittura senza bisogno di scrivere codice per la parte grafica.
Intellij IDEA fa tantissime cose ed è pensato soprattutto per progetti di programmazione anche molto impegnativi.
Questo lo rende alquanto complesso da utilizzare e il principiante, a prima vista, sente di trovarsi di fronte a una cosa che non fa per lui.
Ma non è così. E’ complicato usare IDEA se facciamo cose complicate, ma per le cose semplici a portata di principiante anche IDEA diventa semplice, basta sapere come usarlo per le cose semplici.
E’ quello che cerco di dimostrare nell’allegato manualetto, liberamente scaricabile, stampabile e distribuibile.

idea