/blog · appunti tecnici

Appunti tecnici su software, sistemi, strumenti e tutto ciò che trovo utile.

Scrivo di C++, Linux, Android, strumenti open source, sviluppo software, sistemi embedded e altro. I contenuti sono scritti in .org o .md e trasformati in HTML statico durante la build.

25/25 ARTICOLI · 2024-2026 Iscriviti via RSS · /feed.xml ↗
2026-07-20
Perché ho scelto di collaborare come esterno anziché lavorare come dipendente

Perché lavorare come collaboratore esterno mi permette di essere utile, seguire i progetti da vicino e creare valore nel tempo.

2 min
2026-07-19
CRC: funzionamento, utilizzi e limiti

Guida pratica al CRC: che cos'è, come funziona, perché rileva gli errori accidentali, dove viene usato e quali aspetti considerare quando si progetta un protocollo.

20 min
2026-07-17
Come funzionano le chiamate RPC: dal software distribuito alla comunicazione tra PC e microcontrollore

Guida pratica alle chiamate RPC tra PC e microcontrollore: contratto, serializzazione, framing, CRC, USB, UART, timeout, versionamento e debug.

30 min
2026-07-15
MAX77972: charger, fuel gauge e debugging sul campo

Guida pratica al MAX77972: buck charger, ModelGauge m5, USB-C, AICL, THM, inizializzazione, SOC errato, debug e workaround firmware.

30 min
2026-07-13
Protocollo CAN: come funziona davvero una rete CAN, dai segnali fisici alla diagnostica

Guida pratica al protocollo CAN: segnali fisici, arbitraggio, frame, timing, DBC, diagnostica, CAN FD, CAN XL e sicurezza.

37 min
2026-07-12
Bluetooth Low Energy su ESP32: GATT, sicurezza, privacy e parametri di progetto

Guida pratica al BLE su ESP32: ruoli, advertising, GATT, MTU, throughput, sicurezza, privacy e parametri di configurazione.

40 min
2026-07-10
Scope guard in C++

Usare RAII per tenere il rollback vicino allo stato da proteggere.

5 min
2026-07-07
non_null in C++

Distinguere un puntatore obbligatorio da un valore opzionale già nella firma di una funzione.

4 min
2026-07-06
overloaded in C++

Usare più lambda come un unico visitor per rendere std::visit più leggibile.

4 min
2026-07-04
unique_resource in C++: RAII per handle e risorse non rappresentate da puntatori

Applicare RAII a file descriptor, socket e handle con ownership esclusiva.

6 min
2026-07-03
Strong type in C++23: rendere esplicita la semantica

Usare tipi distinti per trasformare errori di dominio in errori di compilazione.

5 min
2024-09-11
C++20 Ranges and Views

Un esempio per vedere come ranges e views di C++20 rendono più leggibili gli algoritmi sulle collezioni.

4 min
2024-08-25
C++20 Concepts

Una spiegazione dei concept di C++20: cosa sono, quando servono e come usarli senza appesantire il codice.

4 min
2024-08-01
Recensione di openSUSE Tumbleweed

La mia esperienza con openSUSE Tumbleweed tra rolling release, KDE, stabilità e piccoli compromessi quotidiani.

6 min
2024-07-13
Aggiornamenti automatici direttamente dalla fonte

Come uso Obtainium per aggiornare app Android open source direttamente dalle fonti ufficiali.

5 min
2024-06-29
Migrare verso applicazioni open source su smartphone

Dopo il passaggio a GrapheneOS ho iniziato a sostituire le app principali con alternative più rispettose della privacy.

5 min
2024-06-07
GrapheneOS, il mio sistema operativo per smartphone preferito

Dopo mesi di utilizzo quotidiano, GrapheneOS è diventato il mio sistema operativo preferito per smartphone.

6 min
2024-05-20
Kill switch per wg-quick e nftables

Come ho portato le regole di kill switch da iptables a nftables dentro una configurazione wg-quick.

1 min
2024-05-10
iptables vs nftables

Perché nftables rende più ordinata la gestione delle regole firewall rispetto a iptables e ip6tables.

2 min
2024-04-24
Header guards vs pragma once

Confronto tra header guards e pragma once, con vantaggi e limiti di entrambe le soluzioni.

4 min
2024-04-15
Annullare l'ultimo commit Git

Differenze tra git revert e git reset quando bisogna annullare l'ultimo commit.

1 min
2024-04-09
Come verificare la versione di un pacchetto su GNU/Linux

Un modo rapido per controllare la versione di un pacchetto installato senza eseguire direttamente il binario.

1 min
2024-04-01
Signals and Slots

Partendo dal modello signal/slot di Qt, costruisco una piccola implementazione moderna in C++.

4 min
2024-03-28
Come strutturare un progetto C++

Una struttura C++ ordinata, con librerie e applicazioni separate e una build più semplice da seguire.

6 min
2024-03-26
Preludio

Il primo appunto del sito: perché ho deciso di iniziare a scrivere pubblicamente.

1 min