Salvatore Sanfilippo (programmatore)

Salvatore Sanfilippo, noto anche con lo pseudonimo di antirez (Campobello di Licata, 7 marzo 1977), è un informatico italiano.

Salvatore Sanfilippo (programmatore)
Immagine: dotconferences — CC BY 3.0 — Wikimedia Commons

Salvatore Sanfilippo, noto anche con lo pseudonimo di antirez (Campobello di Licata, 7 marzo 1977), è un informatico italiano.

È il creatore di Redis, un noto database chiave-valore in-memory.

Formazione e primi anni

Salvatore Sanfilippo nasce a Campobello di Licata, in Sicilia, il 7 marzo 1977. Cresce nell'entroterra siciliano, tra Licata e Gela. Sviluppa fin da giovanissimo un interesse per la programmazione, iniziando a programmare all'età di cinque anni su un computer Texas Instruments regalato dal padre. Frequenta il liceo scientifico a Canicattì e si trasferisce a Palermo a diciassette anni per studiare architettura, studi che tuttavia non porta a termine, orientandosi verso l'informatica.

Sicurezza informatica

Alla fine degli anni novanta Sanfilippo è attivo nel campo della sicurezza informatica, dove sviluppa e rilascia diversi strumenti sotto lo pseudonimo "antirez":

Hping: un generatore e analizzatore di pacchetti open source per il protocollo TCP/IP, utilizzato per attività di auditing della sicurezza e testing di firewall e reti.

Idle scan: una tecnica di port scanning che permette di effettuare scansioni completamente invisibili sfruttando host inattivi, annunciata nel 1998 sulla mailing list Bugtraq.

Redis

Nel 2009 Sanfilippo inizia lo sviluppo di Redis, motivato dalla necessità di migliorare la scalabilità della sua startup italiana LLOOGG, un analizzatore di log web in tempo reale. Dopo aver riscontrato limiti nei sistemi di database tradizionali, inizia a prototipare un database in-memory che sarebbe diventato Redis.

Rilascia il progetto come software libero e ne diventa lo sviluppatore principale, ricoprendo il ruolo di BDFL per undici anni. Durante questo periodo, lo sviluppo del progetto è sponsorizzato da VMware (2010-2013), Pivotal Software (2013-2015) e successivamente da Redis Labs (2015-2020).

L'uso di Redis si estende a livello internazionale, essendo impiegato da aziende come Amazon, Meta, Instagram, Twitter e molte altre per operazioni di caching, message brokering e come database primario.

Il 30 giugno 2020 Sanfilippo annuncia il suo ritiro dalla manutenzione di Redis, dichiarando di voler dedicarsi ad altri progetti e di non amare la fase di manutenzione del ciclo di vita del software. La guida del progetto viene affidata a Yossi Gottlieb e Oran Agra.

Nel dicembre 2024 Sanfilippo annuncia il suo ritorno in Redis (l'azienda) nel ruolo di "Redis evangelist". In seguito al suo ritorno, sviluppa una nuova struttura dati per il database, il Vector Set, progettata per la ricerca di similarità vettoriale.

Altri progetti open source

Sanfilippo è autore di numerosi progetti open source, tra cui:

Kilo: un editor di testo scritto in meno di 1000 righe di codice C ANSI, utilizzato come risorsa didattica.

Dump1090: un decodificatore ADS-B Mode S per dispositivi RTL-SDR.

Linenoise: un'alternativa minimale alla libreria GNU Readline.

Disque: un message broker distribuito in-memory.

ds4: Motore di inferenza locale DeepSeek 4 Flash per Metal e CUDA.

Divulgazione

Sanfilippo gestisce un canale YouTube in italiano e in inglese, nel quale pubblica video su programmazione, tecnologia, retrocomputing, finanza e sui propri progetti, tra cui un corso completo di programmazione in linguaggio C. Nel 2022 pubblica inoltre il romanzo di fantascienza Wohpe per Laurana Editore, disponibile anche in traduzione inglese.

Pensiero e approccio

Sanfilippo è noto per il suo approccio alla programmazione basato sulla semplicità e sulla leggibilità del codice. In diverse interviste ha sottolineato l'importanza di mantenere i progetti software snelli, resistendo alla tentazione di aggiungere funzionalità superflue. È stato definito un "code poet" per il suo stile di scrittura del codice, in cui i commenti possono costituire oltre il 50% del sorgente.

Opere

(EN) Jay A. Kreibich, Salvatore Sanfilippo e Pieter Noordhuis, Redis: The Definitive Guide: Data Modeling, Caching, and Messaging, O'Reilly Media, p. 250, ISBN 978-1-4493-9609-1.

Salvatore Sanfilippo, Wohpe, Laurana Editore, 2022, ISBN 979-12-80845-33-7.

Servizi correlati

Altre voci

Sicurezza informaticaS

Sicurezza informatica

La sicurezza informatica è l'insieme dei mezzi, delle tecnologie, delle procedure e delle pratiche finalizzate alla protezione dei sistemi informatici e delle informazioni in essi contenute. I principali obiettivi della sicurezza informatica sono la tutela della riservatezza, dell'integrità e…

Leggi la voce →
E

Exploit

Un exploit ("/ɪkˈsplɔɪt/", tradotto dall'inglese "sfruttare") è un termine usato in informatica per identificare una tipologia di script, virus, worm, porzione di dati o binario che sfrutta un bug o una vulnerabilità per creare comportamenti non previsti in software, hardware, o in sistemi…

Leggi la voce →
Enigma (crittografia)E

Enigma (crittografia)

Enigma fu un dispositivo elettromeccanico per cifrare e decifrare messaggi. Macchina nata da un tentativo di commercializzazione poi fallito, fu ampiamente utilizzata dalle forze armate tedesche durante il periodo nazista e della seconda guerra mondiale. La facilità d'uso e la presunta…

Leggi la voce →
SicurezzaS

Sicurezza

La sicurezza può essere definita operativamente come la conoscenza di assenza di stati indesiderati in un determinato contesto o sistema.

Leggi la voce →
M

Meltdown (vulnerabilità di sicurezza)

Meltdown è una vulnerabilità hardware che colpisce microprocessori Intel e ARM, che permette a programmi e potenziali attaccanti di accedere ad aree protette di memoria di un computer. Le è stato assegnato l'ID CVE CVE-2017-5754.

Leggi la voce →
Virus (informatica)V

Virus (informatica)

Un virus, in informatica, è un software appartenente alla categoria dei malware che, una volta eseguito, infetta dei file in modo da fare copie di se stesso, generalmente senza farsi rilevare dall'utente. Il termine viene usato per un programma che si integra in qualche codice eseguibile…

Leggi la voce →