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

ffDiaporama in appimage

Nel giugno 2017, su questo blog, con un post intitolato “ffDiaporama S.O.S.” ho lanciato un allarme dovuto all’abbandono del progetto ffDiaporama, un software che ritengo il migliore esistente per creare presentazioni fotografiche. Al post avevo allegato un manualetto in formato PDF sul suo funzionamento.
L’abbandono del progetto comporta che l’ultima versione disponibile del software, la 2.1, scaricabile dal sito http://ffdiaporama.tuxfamily.org/?lang=it e rilasciata il 9 febbraio 2014, funziona su Linux fino a versioni di quell’epoca e su Windows fino alla versione 8.1.
Fortunatamente c’è stato qualcuno che, a differenza del sottoscritto, che di software ne parla ma non ne produce gran che, si è rimboccato le maniche e ci ha regalato una appimage di quella che ha chiamato versione 3 di ffDiaporama.
La troviamo all’indirizzo http://ffdiaporama.sbk2day.com/.
Funziona benissimo anche su recenti versioni di Linux, ma solo su Linux.
Una volta scaricato il file (ffDiaporama-x86_64.AppImage) lo collochiamo in una directory adatta, per esempio la /opt, rendiamo eseguibile il file attraverso la scheda Permessi delle Proprietà e apriamo il software richiamando il nome del file stesso.
Per chi si voglia divertire riallego la piccola guida in formato PDF che avevo proposto a suo tempo e che ben si adatta anche alla nuova versione di ffDiaporama.

ffDiaporama

Le miniere del software libero

In questo blog, dedicato alla divulgazione del software libero, ho presentato tanti programmi, penso oltre il centinaio, per tutti i gusti e per tutte le esigenze.
Quasi sempre si tratta di programmi che possono essere innanzi tutto utilizzati sul sistema operativo del mondo del software libero, GNU Linux, ma che hanno versioni installabili anche sui sistemi operativi, così detti proprietari, Windows e Mac OS. Si tratta dei software più famosi, che hanno un proprio sito web dal quale possiamo scaricare il file per l’installazione sul sistema operativo preferito, purché si tratti del sistema e della versione adatta al file di installazione.
In questo caso utenti Linux, utenti Windows e utenti Mac sono sullo stesso piano: se dispongono di una versione del sistema operativo adatta per far funzionare il software lo installano avvalendosi del file di installazione.
Ma gli utenti di Linux possono procurarsi il software, sia esso utilizzabile anche su altri sistemi, sia esso riservato al sistema Linux, anche senza accedere ai siti, con il vantaggio di ottenere sempre versioni del software, magari superate e non più esibite sui siti, ma adatte alla versione del proprio sistema operativo Linux.
Come dire che Linux, con il software libero, può giocare a casa propria.
Per capire come si gioca in questa casa ho ritenuto utile proporre l’allegato manualetto, liberamente scaricabile, stampabile e distribuibile.
Spero così di contribuire a dimostrare quanto sia vera l’affermazione che GNU/Linux è il miglior sistema operativo del mondo.

mondo_linux

Software libero per fotografi

In questo mio blog ho presentato due gioielli del software libero sull’argomento fotografia.
Il primo, ffDiaporama, in un manualetto allegato all’articolo “ffDiaporama S.O.S.” del giugno 2017, riguarda un software con il quale possiamo utilizzare le nostre fotografie per costruire veri e propri filmati.
L’altro, digiKam, in un manualetto allegato all’articolo “digiKam, il massimo” del febbraio 2018, riguarda un software per la catalogazione di un archivio fotografico (ma non solo).
In entrambi i casi si tratta di software destinati ad utilizzare fotografie già prodotte e finite.
Esistono altri software destinati a produrre o a manipolare le fotografie prima che diventino cosa finita.
A questi dedico il manualetto allegato, liberamente scaricabile, stampabile e distribuibile.

foto_editing

Orange: data science con Python senza scrivere codice

Nell’aprile 2019, con il mio articolo “Software libero per data scientists” e l’allegato PDF “python_anaconda”, ho presentato l’armamentario che ci offre il linguaggio di programmazione Python per il data mining e la data science.
Armamentario fatto innanzi tutto del linguaggio Python e di una serie di librerie che lo arricchiscono per sviluppare script destinati a lavorare con masse di dati al fine di illustrarli, interpretarli e trarne conoscenza. Cose per fare le quali occorre saper programmare, avendo una profonda conoscenza del linguaggio e delle librerie che si utilizzano.
Nel giugno 2019, con il mio articolo “KNIME: l’alternativa a Python per data scientists” e l’allegato PDF “knime”, ho presentato un gioiello del software libero, costruito con il linguaggio di programmazione Java, attraverso il quale possiamo fare per lo più le stesse cose senza scrivere una riga di codice: semplicemente utilizzando visualmente strumenti preconfezionati e contraddistinti da icone, collegandoli tra loro con il mouse.
Con KNIME, ferma la necessità di avere la preparazione matematico-statistica per sapere ciò che si vuole, per farlo non occorre anche conoscere il linguaggio di programmazione per ottenere dal computer ciò che vogliamo ma semplicemente occorre conoscere gli strumenti preconfezionati che il computer ci mette a disposizione e saper scegliere quelli adatti.
Anche nel mondo Python esiste una cosa simile. Si tratta di una libreria, attualmente denominata Orange3, sviluppata al fine di facilitare l’utilizzo delle varie librerie Python per il data mining, che ci offre anche la possibilità di essere utilizzata visualmente con icone e mouse.
Come libreria utilizzabile per scrivere codice alternativo ad altro codice ritengo abbia scarsa utilità ed è forse per questo che non si trova un testo che ne parli, ma non mi sembra giusto ignorare la grande utilità ricollegabile alla possibilità di essere utilizzata visualmente.
Dal momento che nessuno ne parla e che la sola documentazione è quella disponibile sul sito internet, non sempre tecnicamente di agevole lettura e in lingua inglese, ho predisposto l’allegato manualetto illustrativo che non ha altra ambizione se non quella di far vedere di che cosa si tratta con qualche esempio.
Il documento è liberamente scaricabile, stampabile e distribuibile.

orange

Software libero per l’insegnamento della matematica

Qualche frequentatore di questo mio blog mi ha invitato a fare una rassegna di software disponibili per supportare l’insegnamento della matematica, con particolare riferimento alle categorie richieste nel programma ministeriale per la classe di concorso A-28 di Matematica e Scienze.
Si tratta di software di geometria dinamica per la visualizzazione e la sperimentazione geometrica, software di calcolo simbolico, algoritmi e software per la soluzione di sistemi lineari e software per la rappresentazione grafica delle funzioni.
Accolgo con favore l’invito e propongo l’allegato documento in formato PDF nel quale metto di disposizione quanto ho nel tempo sperimentato in una materia che mi ha sempre appassionato ma alla quale non mi sono mai dedicato professionalmente, se non di striscio.
Chiedo pertanto venia per qualche lacuna o improprietà sul piano scientifico.
Il documento è liberamente scaricabile, stampabile e distribuibile.

software_scienze_matematiche

KNIME: l’alternativa a Python per i data scientists

Nell’articolo “Software libero per data scientists” dello scorso aprile ho accennato all’abbondanza di software disponibile nel mondo del software libero per la moderna scienza dei dati, quella che ha a che fare con i così detti big data, ed ho allegato all’articolo stesso un manualetto che descrive la dotazione di strumenti di analisi che ci offre il mondo Python, dotazione che trova la sua completezza nella raccolta Anaconda.
Nel testo dell’articolo ho elencato alcuni software, tra cui quello chiamato KNIME, ma, preso dalla foga di Python, ingiustamente non ho detto null’altro di questo gioiello.
Oggi voglio rimediare a questa ingiustizia, quanto meno per richiamare la particolarità che lo caratterizza: si può utilizzare per fare tantissime cose senza scrivere una riga di codice.
Come tutte le cose che qualcun altro ha automatizzato per noi, fa tutte le cose che ha immaginato qualcun altro e non è detto che faccia quelle che vogliamo noi: ma ne fa veramente tante e vanta comunque la possibilità di essere esteso da R o da Python per darci modo di fare quelle poche e rare che non fa lui.
Rigidamente documentato in sola lingua inglese, fortunatamente, dallo scorso marzo, grazie all’editore Apogeo, ha una presentazione in italiano nel volumetto Andrea De Mauro – Big Data Analytics.
Senza permettermi di riscrivere quanto ha già scritto un professionista come De Mauro, ritengo utile proporre l’appunto che allego in formato PDF per una presentazione dell’argomento.
Come sempre il documento allegato è liberamente scaricabile, stampabile e distribuibile.

knime

Software libero per data scientists

Qualche anno fa la Harvard Business Revue ha pubblicato un articolo dal titolo “Data Scientist: the Sexiest Job of the 21st Century”.
Per farci capire cosa ci sia di così seducente in questa professione, definita la più sexy del XXI secolo, l’articolo la definisce “di alto livello, con la formazione e la curiosità di fare scoperte nel mondo dei big data”, dice che i data scientists “fanno scoperte mentre nuotano nei dati. È il loro metodo preferito per navigare nel mondo che li circonda. A loro agio nel regno digitale, sono in grado di strutturare grandi quantità di dati senza forma e renderne possibile l’analisi.” e conclude invitando il lettore a pensare al data scientist come a “un ibrido di data hacker, analista, comunicatore e consulente di fiducia in una combinazione estremamente potente e rara.”
In maniera meno colorita diciamo che la scienza dei dati è la disciplina finalizzata ad estrarre conoscenza dai dati e che il professionista che vi si dedica deve sapere di informatica e di statistica, avendo anche la capacità di tradurre in linguaggio naturale i risultati delle sue analisi e le indicazioni che ne derivano.
A supporto di quest’ultima capacità di capire e comunicare non esiste software ma per l’informatica (strutturazione dei dati e algoritmi per elaborarli) e la statistica (analisi della correlazione tra dati e dell’inferenza) esiste moltissimo software, sviluppato o reso funzionale alle moderne esigenze soprattutto negli anni più recenti.
Software per analizzare ed elaborare dati ce n’è da quando c’è il computer. Ma fino a qualche tempo fa oggetto delle elaborazioni erano soprattutto piccole quantità di dati numerici: la statistica ha sempre lavorato per lo più su campioni di dati numerici. Le moderne esigenze sono innanzi tutto quella di lavorare sulle enormi moli di dati che vengono accumulati di minuto in minuto dalla digitalizzazione che ha invaso ogni nostra attività e quella di non rinunciare a trarre conoscenza anche dall’analisi di dati non numerici.
Per fare queste cose, nel mondo del software libero abbiamo gioielli come KNIME, Orange e WEKA. Ma la quintessenza, per completezza di strumenti, è una raccolta di programmi open source in linguaggio Python che, tanto per stare tra rettili, si chiama Anaconda, il cui primo rilascio, con licenza libera New BSD, è del 17 luglio 2012.
Esistono raccolte similari: ActivePython, Enthought Canopy e, solo per Windows, WinPython se stiamo a quelle legate al linguaggio Python, Apache Spark, legato al linguaggio Scala/Java, più adatto al calcolo distribuito e utilizzato nei progetti Apache Hadoop e IBM Watson, solo per Linux.
In tutto questo mondo, Anaconda è ampiamente utilizzata e spesso preferita dagli addetti ai lavori per come si presenta e per come è organizzata, per la numerosità dei pacchetti che contiene (anche se, alla fine, quelli che contano sono pochissimi e sono presenti in tutte le altre distribuzioni), per tutta una serie di utilità collaterali che offre in tema di apprendimento e documentazione e, non da ultimo, per la sua scalabilità, cioè per la possibilità che abbiamo di costruirla anche in dimensioni più ridotte di quella completa.
Ovviamente con disponibilità per tutti i sistemi operativi più diffusi (Linux, Mac OS X e Windows).
Dal momento che la documentazione in lingua italiana sull’argomento scarseggia ho ritenuto utile produrre l’allegato manualetto in formato PDF, dedicato a Anaconda.
Come sempre si tratta di documento liberamente scaricabile, stampabile e distribuibile.

python_anaconda

Non solo Linux

Leggendo i contenuti di questo blog è possibile si alimenti la convinzione che l’unico sistema operativo di software libero alternativo ai due sistemi proprietari Windows e Mac OS X sia Linux: infatti ogniqualvolta indico i sistemi operativi su cui girano i vari programmi applicativi che presento mi limito a citare questi tre, due proprietari e uno libero.
Il motivo è che la bandiera del software libero la porta Linux, il cui kernel, per la prima volta rilasciato da Linus Torvalds nel 1991, divenne immediatamente il tassello mancante per il completamento del progetto di sistema operativo GNU di Richard Stallman: tanto è vero che, per alludere al sistema operativo dotato del kernel di Linus Torvalds, invece di dire semplicemente Linux, si dovrebbe dire GNU/Linux.
La primazia ha portato il successo immediato e su GNU/Linux sono nate e si sono sviluppate le varie distribuzioni che conosciamo: in proposito rimando al mio articolo “Quale Linux” dell’aprile 2017, archiviato nella categoria Software libero di questo blog.
Ma dal sistema Unix, dal quale, peraltro, proviene anche il kernel del sistema proprietario del Mac, provengono altri kernel, ugualmente liberi come Linux.
Uno, per un soffio, non prese il posto di Linux nel 1991 per il completamento del progetto GNU: si chiama Hurd. Il progetto Hurd nacque nel 1990 con l’obiettivo di sostituire il kernel di Unix ma ebbe uno sviluppo piuttosto lento e fu battuto sul tempo da Linux.
Dal momento, tuttavia, che Hurd deriva direttamente da Unix, laddove Linux deriva propriamente da Minix, a sua volta derivato da Unix, esso ha una superiorità architetturale che gli sviluppatori hanno sempre apprezzato, al punto da non abbandonare mai il suo sviluppo.
Sicché oggi esiste un sistema operativo GNU/Hurd e si è tentato di crearne delle distribuzioni: l’unica che ha avuto un seguito è la distribuzione Debian la cui ultima versione, Debian GNU/Hurd, è del giugno 2017.
Altro progetto importante che ci mette a disposizione un sistema operativo libero è BSD, che sta per Berkeley Software Distribution, nato nel 1993 sempre per creare un sistema operativo di derivazione Unix.
Grazie a questo progetto oggi disponiamo di FreeBSD, un kernel monolitico, chiamato kFreeBSD molto usato per sistemi operativi su server.
Per desktop possiamo disporre della distribuzione Debian GNU/kFreeBSD e di altre derivate (PC-BSD, DesktopBSD, GhostBSD).
In ogni caso si tratta di sistemi molto simili a Linux e quasi tutto il software scritto per Linux gira anche su di essi (in particolare FreeBSD ha un vero e proprio layer di compatibilità).
Per l’utenza dilettantesca, anche se evoluta, è comunque consigliabile affidarsi ad una distribuzione Linux, se non altro per essere tranquilli circa la compatibilità praticamente con tutto l’hardware in circolazione.