/dev/random su Linux: kernel e casualità

TLDR; /dev/random è il punto di accesso al sottosistema di generazione di entropia del kernel Linux. Raccoglie rumore fisico dall’hardware, lo accumula in un entropy pool, e lo usa come seme per un CSPRNG basato su ChaCha20 che produce uno stream praticamente infinito di byte imprevedibili. Dalla versione 5.6 del kernel, la distinzione operativa tra […]

Principi Fondamentali dell’Autenticazione – Lezione di antirez

Di seguito i miei appunti (LLM-pimped) al fantastico video di Salvatore Sanfilippo: Una vera e propria lezione sui Principi Fondamentali dell’Autenticazione. Non so perché, la sensazione che ho avuto seguendo il video è stata quella di “leggere” una vecchia zine hacker. Grazie antirez. Il caso che ha acceso il dibattito All’inizio del 2026, un utente […]

Generare Messaggi di Commit Automaticamente (con AI) in Shell

Scrivere messaggi di commit chiari e consistenti è una buona pratica, ma spesso la cosa che viene saltata quando si lavora velocemente e non si ha tempo e modo di scrivere il messaggio in modo articolato (oppure non in conventional style 😉). Ho automatizzato questo passaggio tramite gcommit, una piccola funzione Bash che legge la […]

AI Coding: paradigmi, context, RAG, Agent, Agent Loop e Swarms

Appunti e note al bel video di Simone Rizzo: https://www.youtube.com/watch?v=M3W4FEMmOHY“Il Futuro della Programmazione: Agent Swarm”In questo video parliamo del futuro degli agenti AI e dei paradigmi che stanno definendo la prossima generazione di intelligenza artificiale. 1. Completion models (code completion) Primo paradigma: completion in editor, cioè un modello addestrato a completare il codice guardando il […]

Alembic: DB Schema Migrations in Python

Alembic è lo strumento di riferimento per gestire in modo smart versionamento e migrazioni di database in Python. Alembic è una soluzione standalone indipendente dal framework, un tool perfetto per progetti di qualsiasi natura (che usano SQLAlchemy). Alembic non è perfetto in qualsiasi contesto. Per esempio Django ha già un sistema di migrazioni integrato, strettamente […]

Conventional Commits: Messaggi di Commit Professionali e Automatizzabili

I Conventional Commits (in italiano Commit Convenzionali, che suona davvero male 🙂) sono una convenzione standardizzata per la scrittura dei messaggi di commit che trasforma la cronologia Git da un elenco caotico di modifiche a un flusso documentale chiaro per uomini e macchine. Conventional Commits è una specifica: fornisce un insieme semplice di regole per […]

I Converters in Pandas: funzioni custom per import intelligenti con read_csv()

I converters in Pandas sono funzioni personalizzate che permettono di trasformare i dati mentre vengono letti da un file CSV (o altri formati). Si specificano tramite il parametro converters di pd.read_csv() e consentono di applicare delle logiche di conversione colonna per colonna, prima che i dati vengano inseriti in un DataFrame Pandas. Funzionamento base Il […]

I Codici di Uscita nei Sistemi Unix-like (con esempi di applicazione in Python)

Si chiamano comunemente codici di uscita (in inglese exit codes o exit status). Sono un concetto fondamentale nei sistemi operativi Unix-like (Linux, macOS, BSD, ecc.) e vengono utilizzati per comunicare l’esito dell’esecuzione di un programma o comando. Un codice di uscita è un valore intero che un processo restituisce al proprio processo padre (tipicamente la […]

apropos – cercare rapidamente comandi in Linux

apropos è un comando molto utile in ambiente Linux per cercare rapidamente comandi e programmi correlati a una parola chiave, quando non si ricorda il nome esatto del comando. Mi diverte molto la sua “etimologia” – dal francese à propos, e quindi per noi italiani facilmente riconducibile (e memorizzabile) in a proposito. Cos’è apropos? Con […]

How to measure the rate of anonymized queries in Google Search Console

How many queries do you lose on GSC? How to measure the percentage of anonymized queries – those that are omitted from Google Seach Console but are included in chart totals, unless you filter by query. A recent Google Search Central blog post about performance data filtering and limits says this: Anonymized queries are those […]

Cambio permalink WordPress indolore e senza danni SEO

Su un progetto WordPress storico, con in media di 15’000 visite uniche al mese, mi sono finalmente deciso, dopo 10 anni di struttura URL oscenamente settata su dominio.estensione/anno/mese/giorno/nome-articolo a modificare il permalink nella più elegante ed efficace forma dominio.estensione/nome-articolo Vantaggi?Senza dubbio, a lungo termine, un innalzamento del CTR in SERP. Contro?Perdita di tutti i conteggi […]

Dividere e rinominare un PDF in base al contenuto del file

In questo veloce post ti parlo di una di quelle straordinarie, veloci, magiche, automazioni che è possibile realizzare con poche righe di codice in Pyhton. È qualcosa sullo stile dei task illustrati in “Automate the Boring Stuff with Python“. L’esigenza è la seguente:prendere un PDF di più pagine, spezzettarlo e rinominare i singoli file estratti […]