2026-06-22

Eliminare file corrotti su Linux

In caso di file con nomi non validi presenti in cartelle protette (come `/usr/local/bin`), l'interfaccia grafica (GUI) spesso fallisce.

La soluzione più rapida ed efficace consiste nell'utilizzare il terminale per identificare ed eliminare il file tramite il suo inode (l'ID di sistema), ignorando il nome corrotto.

Procedura con privilegi di amministratore:

  • identificare l'inode:

    cd /usr/local/bin
    ls -li

    (annotare il numero identificativo nella prima colonna, ad esempio `1234567`);
  • rimuovere il file:

    sudo find . -inum 1234567 -delete

    Il file viene rimosso in modo sicuro senza interferire con gli altri elementi della directory.

2026-06-15

Carta, penna ed apprendimento: perché alcune università francesi limitano l'uso del computer

In alcune università francesi si sta tornando agli appunti presi a mano. In diversi corsi, l'uso del computer durante le lezioni viene limitato o vietato, con l'obiettivo di favorire una partecipazione più attiva e una migliore memorizzazione dei contenuti.

La scelta nasce da una considerazione semplice: scrivere a mano non è soltanto un modo per registrare informazioni, ma anche un processo di rielaborazione. Quando si prendono appunti su carta, infatti, non è possibile trascrivere tutto parola per parola. Lo studente deve selezionare i concetti principali, organizzarli, collegarli tra loro e sintetizzarli.

Questo lavoro mentale rende l'apprendimento più profondo. L'atto di scrivere a mano obbliga a prestare attenzione al significato di ciò che viene detto, distinguendo le informazioni essenziali da quelle secondarie. Schemi, frecce, abbreviazioni e parole chiave diventano strumenti utili per costruire una comprensione personale della lezione.

L'uso del computer, al contrario, può favorire una trascrizione più meccanica. Il rischio è quello di produrre una copia quasi letterale della lezione, senza un vero lavoro di selezione e sintesi.

Una possibile soluzione intermedia è rappresentata dai tablet con pennino, che permette di mantenere il gesto della scrittura manuale unendolo ai vantaggi del digitale: archiviazione ordinata, ricerca rapida dei documenti e facilità di condivisione.

Anche l'intelligenza artificiale e gli strumenti di trascrizione automatica pongono una questione simile. Se da un lato possono facilitare il recupero delle informazioni, dall'altro rischiano di eliminare una fase importante dello studio: quella in cui lo studente ascolta, sceglie, sintetizza e riorganizza.

Prendere appunti, quindi, non significa soltanto conservare ciò che viene detto durante una lezione. Significa trasformare le informazioni in conoscenza. È proprio questo processo, più lento ma più attivo, che carta e penna possono ancora aiutare a sviluppare.

 

APPROFONDIMENTI

  • The Times, French students banned from using computers during lectures. È la fonte principale di questo articolo: cita istituzioni come Sciences Po Rennes, Catholic University of the West e Ircom, con l'obiettivo di ridurre distrazioni e favorire concentrazione.
  • Mueller & Oppenheimer, The Pen Is Mightier Than the Keyboard, Psychological Science, 2014. È lo studio più citato sull'argomento. I ricercatori concludono che chi prende appunti al computer tende più facilmente a trascrivere in modo letterale, mentre chi scrive a mano rielabora di più; nei loro esperimenti, gli appunti a mano risultano migliori soprattutto per le domande concettuali.
  • Harvard Academic Resource Center, Note-taking, 2023. Harvard consiglia di considerare gli appunti scritti a mano perché portano a trascrivere meno e interpretare di più.
    Harvard Graduate School of Education, For Note Taking, Low-Tech Is Often Best, 2017. Articolo divulgativo che riassume alcune ricerche sull'uso di dispositivi elettronici in aula e sui possibili effetti negativi per attenzione e rendimento.

 

2026-06-08

Git diff, Emacs ed un piccolo trucco Unix

Emacs è un editor potente, ma a volte non va d'accordo con le convenzioni Unix più classiche.
 
Se provate a passare l'output di `git diff` direttamente ad Emacs, tramite una pipe, vi scontrerete con il modo in cui gestisce i file.
 
Esiste però una possilità per aggirare il problema usando la process substitution di Bash e Zsh. Invece di lottare con stdin, si può far credere a Emacs di star aprendo un normale file temporaneo.
 
È veloce, evita file di appoggio ed è perfetto per attivare al volo diff-mode.
 
Trovate il dettaglio tecnico e qualche trucco per il vostro file di configurazione QUI.

2026-06-01

Mi sono stancato di sentire "tanto il problema non è mai stato il codice"...

...Certo, le competenze di uno sviluppatore vanno ben oltre la scrittura del codice, ma da qui a dire che imparare a programmare diventerà inutile ce ne passa.

Forse abbiamo smesso di insegnare come si fanno le operazioni aritmetiche? Le equazioni? Dovremmo smettere perché tanto ci sono già le app che lo fanno?

Il parallelo con la matematica è interessante perché potrebbe indicare quale sarà l'evoluzione del "programmatore": livelli di astrazione più alti (sai che scoperta!). Tuttavia, non capire il codice priva delle basi pratiche per apprezzare e comprendere "tangibilmente" tutto il resto.

Non è solo questo. Io mi reputo una sorta di artigiano rinascimentale dell'era tecnologica. Non voglio delegare all'IA la parte creativa del mio lavoro. Sento la necessità di sporcarmi le mani per non perdere il contatto con ciò che creo.

Certo, delego volentieri il lavoro tedioso e ripetitivo all'IA.

Non mi fido (e credo non mi fiderò ancora per molto tempo) di software prodotto dall'IA senza la supervisione attenta di un vero programmatore.

 

Fra l'altro questo codice non può neanche esser compilato...

2026-05-25

Quando Emacs incontra l'IA moderna

Abbiamo appena rilasciato `my-codex.el`, un pacchetto Emacs che integra OpenAI Codex CLI direttamente in un flusso di lavoro nativo, affiancato all'editor.

https://github.com/morinim/my_codex

Questo progetto non nasce per inseguire l'ultima moda tecnologica: vuole combinare la visione flessibile e senza tempo di Emacs con le capacità dell'IA moderna, mantenendo lo sviluppatore pienamente in controllo.

L'idea è semplice: Emacs resta l'ambiente principale per pensare, scrivere, modificare e rivedere codice. Codex lavora al suo fianco, in un buffer `vterm` nativo, pronto ad aiutare quando serve, senza prendere il controllo del flusso di lavoro.

Il pacchetto offre:

  • un layout a due colonne, con il codice sorgente a sinistra e Codex a destra;
  • condivisione rapida del contesto: regioni selezionate, errori del terminale e diff Git;
  • un approccio orientato alla sicurezza, con modalità di sola lettura predefinita e modalità di scrittura sul workspace solo quando esplicitamente autorizzata.

Per noi, questo è il tipo di sviluppo assistito dall'IA che ha senso (almeno al momento): potente, vicino agli strumenti di lavoro quotidiani, ma ancora rispettoso della concentrazione, del mestiere e del giudizio umano. 

2026-05-19

Migrazione da Bitbucket a Codeberg

Negli ultimi mesi abbiamo migrato i repository precedentemente ospitati su Bitbucket verso Codeberg.

La scelta non è stata dettata da limiti tecnici, ma da considerazioni più ampie legate a modello, trasparenza e controllo dei dati.

Le principali motivazioni della migrazione sono:

  • privacy e trasparenza. Codeberg è una piattaforma gestita da una organizzazione no-profit europea, basata su software open source come Gitea. Questo garantisce un modello più leggibile e verificabile rispetto a soluzioni proprietarie centralizzate;
  • allineamento con i nostri valori. Preferiamo strumenti con un modello orientato agli utenti e alla sostenibilità del servizio, piuttosto che alla sola massimizzazione commerciale; inoltre cerchiamo di ridurre le dipendenze dal fornitore ed i vincoli tecnologici;
  • sovranità digitale. La possibilità di utilizzare un'infrastruttura europea, sotto giurisdizione europea, è un elemento rilevante per la gestione dei dati.

Codeberg offre un ambiente più essenziale rispetto a Bitbucket. Tuttavia, per il nostro contesto, questi aspetti non rappresentano un limite significativo. 

Migrazione tecnica

Dal punto di vista operativo, la migrazione è stata semplice:

bash
git clone --mirror <bitbucket-repo>
cd <repo>.git
git push --mirror <codeberg-repo>

Le attività accessorie hanno riguardato principalmente: la ricreazione delle issue (quando necessario), l'adattamento delle pipeline CI/CD, l'aggiornamento della documentazione.

Presenza su GitHub

Per alcune tipologie di progetto, in particolare quelle che richiedono maggiore visibilità e networking nella comunità internazionale, manteniamo una presenza su GitHub. In questi casi, la scelta della piattaforma è guidata da esigenze di diffusione e collaborazione più ampia.

Documentazione Facile

La documentazione relativa al nostro software Facile è stata spostata sul sito aziendale ed è consultabile all'indirizzo:  https://eosdev.it/wiki/facile/.

2026-05-18

Usare una porta locale per una stampante condivisa

Succede che Windows "veda" una stampante condivisa in rete, ma fallisca quando si prova ad aggiungerla.

Una soluzione pratica è impostarla come stampante locale usando una porta locale che punta alla condivisione, ad esempio:

\\192.168.1.10\NomeStampante

In questo modo il PC usa il driver installato localmente e si limita a inviare i lavori alla stampante condivisa, evitando parte dei problemi legati a driver remoti, permessi e meccanismi automatici di installazione.

È un modo più diretto e, spesso, più stabile per usare una stampante condivisa, soprattutto in piccole reti senza dominio.

Unica attenzione: meglio usare un IP fisso o una prenotazione DHCP, altrimenti la porta smetterà di funzionare se l'indirizzo del PC cambia.