Grafica con Kotlin

Nel luglio 2019, con il mio articolo “Kotlin: Java facilitato”, ho parlato del linguaggio di programmazione Kotlin allegando un manualetto per guidare principianti e dilettanti ad utilizzarlo per divertirsi a creare qualche programmino.
Quel manualetto contiene quanto basta per programmi a riga di comando senza interfaccia grafica ma vi si accenna al fatto che, dal momento che con il linguaggio Kotlin abbiamo accesso a tutte le librerie Java, da qui possiamo attingere per arricchire i nostri programmi Kotlin con la grafica.
I numerosi strumenti per la grafica che ci offre Java non si può dire siano di facile applicazione, soprattutto se utilizzati con il linguaggio Java.
Tuttavia il loro utilizzo con il linguaggio Kotlin, almeno se ci limitiamo all’obiettivo di dotare i nostri programmini di una semplice interfaccia grafica, possiamo dire sia alla portata di dilettante.
E’ ciò che mi propongo di dimostrare con l’allegato manualetto, liberamente scaricabile, stampabile e distribuibile.

gui_kotlin

Lua: linguaggio utile ma poco conosciuto

Forse perché utilizzato da professionisti in progetti insieme o all’ombra di altri linguaggi senza che ciò sia evidenziato, pochi dilettanti penso conoscano l’esistenza di Lua.
Si tratta di un linguaggio di scripting che, insieme a buone potenzialità, magari non all’altezza di quelle di altri linguaggi più ricchi di moduli che le espandono, come Python, ha il pregio di essere molto leggero e veloce e, pertanto, adatto all’embedding in progetti dove porta molta utilità senza pesare troppo.
Un campo di applicazione in cui primeggia come coprotagonista di programmazione, è quello dei videogiochi.
E’ abbastanza facile da imparare e può essere utilizzato anche da solo per scrivere programmi interpretati, anche di un certo impegno, per i sistemi Linux, Mac e Windows.
Trattandosi di software libero in piena regola non posso non presentarlo ai dilettanti che seguono il mio blog.
Nell’allegato manualetto lo presento in quanto tale e in due interessanti casi di embedding.
Il documento, in formato PDF, è liberamente scaricabile, stampabile e distribuibile.

lua

Quanto può vivere un personal computer

E’ una domanda alla quale in rete vengono date le più svariate risposte: chi dice tre o quattro anni, chi dice dieci anni e oltre. Chi parla di durate fraudolentemente programmate da chi li fabbrica.
Quest’ultima è una leggenda metropolitana suffragata a volte dal fatto che certi apparecchi con incorporata una batteria non sostituibile hanno la vita legata a quella della batteria. Ma non è il caso dei personal computer.
Visto che è da quando c’è il Commodore VIC 20, cioè dai primissimi anni ottanta del secolo scorso, che uso personal computer o loro predecessori dico la mia.
Innanzi tutto va ricordata una vecchia regola, che mi pare sia ancora valida: le apparecchiature elettroniche o si rompono subito perché sono nate male o sono virtualmente eterne. Ovviamente questo vale per i circuiti, dove non c’è usura meccanica. Vale molto meno per i componenti dove interviene la meccanica: tastiera, hard disk, ecc.
La mia esperienza mi dice che se un computer vive solo tre o quattro anni è perché ci si è stufati di usarlo, attratti da un altro computer inutilmente più potente o con un sistema operativo più moderno ma esoso di risorse che fa esattamente le stesse cose di quello di prima ma fa figo utilizzarlo.
Personalmente ho tre personal computer. Tutti portatili.
Il più vecchio è un piccolino Netbook Packard Bell serie DOT, a 32 bit con 0,99 GB di RAM, equipaggiato Windows XP, acquistato nel 2010 come fondo di magazzino superscontato, che funziona ancora con qualche lentezza con Windows – che non uso mai – ma perfettamente e abbastanza svelto con Linux su chiavetta USB (dalle originali con Ubuntu 10.04 e Kubuntu 10.04 a KXStudio 14.04 e a Lubuntu 18.04).
A seguire, in ordine di anzianità di macchina, un Dell Latitude 6320, a 64 bit con 4 GB di RAM, equipaggiato con Windows 7 Pro, che non uso mai, KXStudio 14.04 e Xubuntu 20.04, del 2011, riconfigurato nel 2013 e da me acquistato usato nel 2017 per verificare se è vera la leggenda secondo la quale si tratta di una macchina indistruttibile. E pare non sia leggenda ma verità. Su chiavetta USB vi uso anche AVLinux 2019, Manjaro Linux xfce 21.2.6, KALI Linux e Linux Mint 21, tutto con prestazioni eccellenti.
Infine un Toshiba Satellite C50-A-14J, a 64 bit con 1,8 GB di RAM, acquistato nel 2014 senza sistema operativo e attualmente equipaggiato con i sistemi operativi Ubuntu Mate 20.04 e Xubuntu 22.04.
In due casi si stanno ampiamente superando i dieci anni di vita e in un caso siamo al nono.
In ogni caso si tratta di macchine sottoposte ad un uso tutt’altro che saltuario e rivelano tutte un ottimo funzionamento.
Tutto ciò che si trova su questo blog è stato prodotto e sperimentato con queste macchine.
Qualche difficoltà, specialmente con il piccolo Packard Bell, nel trattare materiale video oltre certi limiti.
Va detto che non utilizzo giochi elettronici, che spesso sono i responsabili delle maggiori potenze richieste ai computer.
Non spinto da questa esigenza vado avanti con i miei vecchi computer sia perché funzionano ancora benissimo, anche grazie a Linux, sia perché non avverto la necessità di cambiarli.
Tra l’altro si trovano ancora le batterie di ricambio e le ho sostituite qualche mese fa.

La più grande calcolatrice numerica

Dopo aver presentato il software R, che ho definito la più grande calcolatrice per la statistica, non posso non presentare un altro gioiello del software libero, molto simile a R, che possiamo definire il più grande strumento per il calcolo numerico: la libreria pari abbinata al linguaggio gp.
Con PARI/GP possiamo fare cose che hanno del miracoloso: sapere in un microsecondo quale numero occupa il 728 esimo posto nella serie di Fibonacci, quale è il 424 esimo numero primo, quale è il valore della derivata di una funzione in un certo punto, ecc.
Tutte cose che possiamo fare, con maggiore o minore fatica, con qualsiasi linguaggio di programmazione ma che con PARI/GP troviamo già fatte ed eseguibili con una velocità di elaborazione da record.
A PARI/GP dedico l’allegato manualetto, come sempre liberamente scaricabile, stampabile e distribuibile.

pari_gp

Evoluzione delle suite per ufficio

In questo blog ho parlato in più occasioni di alcune componenti delle così dette Suite per ufficio, altrimenti denominate Software di produttività personale e, fedele alle finalità dello stesso blog, di divulgare software libero, mi sono soprattutto concentrato su componenti della suite LibreOffice, che considero la regina della categoria.
Le origini di questi software si trovano all’epoca della nascita dei personal computer all’inizio degli anni ottanta del secolo scorso (1981 per il PC IBM e 1984 per il Mac). Le macchine precedenti, denominate microcomputer (prodotte da Olivetti, Altair, Commodor, Apple, ecc.), non erano all’altezza di utilizzare software di questo tipo.
Dopo anni, almeno un quarto di secolo, nei quali questi software sono stati esclusivamente residenti su singoli computer, con il diffondersi del cloud computing, facilitato dal progredire della qualità delle connessioni sul web, è possibile disporre con sufficiente efficienza di suite per ufficio senza che esse siano residenti sul nostro computer.
Uno dei vantaggi del ricorso a questo, che è uno dei tanti aspetti del cloud computing, è di poter far lavorare in gruppo sullo stesso progetto persone che vivono a chilometri di distanza.
Così oggi abbiamo a disposizione vecchie suite per ufficio che si sono adattate ad essere utilizzate anche online, come Microsoft 365 e LibreOffice online, e nuove suite per ufficio che sono nate proprio per il cloud computing, come Google Workspace, Zoho Office e OnlyOffice.
Quest’ultima, software libero in piena regola, oltre che funzionare in cloud può anche essere parzialmente installata sul computer per lavorare offline.
Dal momento che si presta a portare nel cloud computing senza alcun costo anche dei poveri dilettanti, che è un ottimo software anche per lavorare fuori della nuvola e che è software libero, non posso che presentarlo nel mio blog.
E’ ciò che faccio nell’allegato manualetto, come sempre scaricabile, stampabile e diffondibile senza alcun problema.

onlyoffice

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