Un semenzaio con 24 celle di piantine irregolari, alcune vuote e una piegata, accanto a una bustina di semi che mostra una pianta impossibilmente perfetta

Un anno, 24 articoli: cosa ha retto e cosa no

Il mio primo articolo annunciava una rivoluzione. Quelli recenti raccontano soprattutto cosa non ha funzionato. Uno sguardo indietro, in parole semplici, su un anno di scrittura sugli strumenti per i dati, pensato per chi non ne ha mai usato nessuno.

9 novembre 2026 · 11 minuti · 2171 parole · Andrea Bozzo
Una valigetta degli attrezzi aperta, ogni attrezzo nel suo incavo, e al centro un incavo vuoto dalla forma strana con un cartellino di carta bianco legato sopra

Dove deve fermarsi la libreria?

Il mio profiler di dati darà allo stesso file, mai toccato, un punteggio più basso a Capodanno. L’ho scoperto usandolo per la prima volta come dipendenza. Sul codice di raccordo che serve a una pipeline vera, e sul confine tra cosa deve fare una libreria e cosa deve lasciare a chi la usa.

20 ottobre 2026 · 12 minuti · 2390 parole · Andrea Bozzo
Un cerchio verde, calmo e uniforme; sotto una lente d'ingrandimento il suo interno è un groviglio di ingranaggi, fili, fogli e una ruota dentata incrinata

Il verde è una scelta, non un fatto

Il mio verificatore di backup ha passato 24 controlli su 24 mentre il job di backup era in failed. Non è l’unica cosa verde che ho costruito a rispondere a una domanda più stretta di quella che stavo facendo. Su cosa dimostra davvero una luce verde, e sui controlli che se la guadagnano.

5 ottobre 2026 · 9 minuti · 1861 parole · Andrea Bozzo
Una PS5 mezza smontata, un Raspberry Pi 5 e un SSD esterno su una scrivania, di sera

Quando un progetto Raspberry Pi del weekend è diventato infrastruttura

Sabato ho pulito una PS5. Domenica sera un Raspberry Pi da 4 GB faceva da DNS, custodiva le mie password e si faceva i backup offsite, e le lezioni imparate erano diventate Lares, un piccolo stack pubblico costruito attorno a cosa succede quando le cose si rompono. Lunedì ha morso.

19 settembre 2026 · 11 minuti · 2156 parole · Andrea Bozzo
Lo scrittore A controlla epoch 1 sulla base A, la transazione viene ribasata sulla base B, e la premessa stabilita dal controllo si perde prima che il commit atterri

Ho provato a mettere la data quality dentro il commit. Mi ha fermato un pub(crate).

Un esperimento di falsificazione con una kill list scritta prima e un risultato negativo. Delta ha un commit idempotente fatto apposta; iceberg-rust ribasa la transazione su una base che il chiamante non ha mai controllato, quindi uno scrittore esterno non può rendere condizionale un commit. Il test di concorrenza verde era un falso positivo — 0 round su 40 hanno davvero gareggiato — e solo un failpoint ha fatto uscire il duplicato.

4 settembre 2026 · 16 minuti · 3358 parole · Andrea Bozzo
Due amici preparano insieme l'asta del Fantacalcio durante una vacanza estiva

Ho costruito un modello per il Fantacalcio. La parte utile è quando dice di no.

Sono partito dal Milan di Scudetto 03/04, sono passato per un’asta quasi perfetta e una stagione decisa dagli infortuni, e in vacanza ho costruito Fantabuddy: un sistema che trasforma listoni, storico e API in un report d’asta verificabile.

20 agosto 2026 · 9 minuti · 1800 parole · Andrea Bozzo
dbt Core v2: 77 crate Rust, 18 file Python, nessun runtime Python

dbt si è riscritto in Rust. La velocità è la parte noiosa.

Ho aperto una segnalazione di bug su dbt e ho trovato una codebase di cui nessuno mi aveva parlato: 77 crate Rust dove prima c’era il Python. Questo è a cosa serve davvero la riscrittura, perché il marketing la sottovende, e cosa ho smosso frugandoci dentro — due fix, entrambi per bug che non hanno mai stampato un errore.

4 agosto 2026 · 17 minuti · 3593 parole · Andrea Bozzo
Nephtys su un Raspberry Pi 5: 19.51 MB contro 128.47 MB, 3.610 W contro 3.584 W

Nephtys su un Raspberry Pi: 6.6× meno memoria, esattamente gli stessi watt

Non avevo mai scritto pubblicamente di Nephtys, e la prima cosa che devo riportare su hardware reale è un risultato nullo: il vantaggio di memoria si è riprodotto su un Raspberry Pi 5, il vantaggio energetico non è mai esistito.

25 luglio 2026 · 11 minuti · 2320 parole · Andrea Bozzo
Zerobus Ingest, Rust producer, Unity Catalog sink

Zerobus Ingest: quando Unity Catalog diventa il sink

Nel post dlt+dbt il contratto era uno schema Unity Catalog. Con Zerobus Ingest ho spostato la stessa domanda al bordo producer: quando il sink è già una tabella Delta governata, serve davvero un bus nel mezzo?

5 luglio 2026 · 11 minuti · 2281 parole · Andrea Bozzo
dlt + dbt su un solo Unity Catalog

dlt + dbt su un Solo Unity Catalog (e Perché Non Sono 'Due DLT')

Ingestion Python-native con dlt (dlthub), trasformazione SQL con dbt e un singolo schema Unity Catalog come contratto tra i due. Note dal cablarli insieme su un workspace Databricks reale — inclusa la collisione di nomi che mi ha morso nel codice vero.

22 giugno 2026 · 9 minuti · 1835 parole · Andrea Bozzo