Cosa so fare
Costruisco l'infrastruttura che a un progetto manca — poi la isolo e la rendo utilizzabile da altri.
Sono Sergio Turolla, sviluppatore web full stack. Costruisco per il web dal 1998 e oggi il mio focus è il frontend: React, Next.js e TypeScript.
Nel 2000 mi serviva un modo per portare contenuti dinamici dentro i front-end in Flash, così ho scritto un CMS headless; il componente di upload immagini che ne ho estratto è diventato I-Load, venduto a circa 800 clienti in 46 paesi. Nel 2023 mi serviva un'internazionalizzazione che il sistema di tipi potesse davvero controllare, così l'ho scritta dentro un SaaS in Next.js; estratta da quel codebase, è diventata R-Machine.
CodeCarvings è il posto dove pubblico i miei lavori. Questo sito è il primo banco di prova reale di R-Machine — che è un altro modo per dire che è ancora sotto lo scalpello.
Il percorso
Le mie prime righe di codice per il web
Siti web e applicazioni multimediali per clienti diretti, mentre finivo il Diploma Universitario in Informatica a Ferrara. Il web era giovane, le tabelle servivano per il layout e ogni pagina era un piccolo atto artigianale.
Quello che mi ha conquistato è stata l'immediatezza: scrivi qualcosa, ricarichi, lo vedi dal vivo. Quel ciclo — fai, guarda, correggi — non mi ha più lasciato.
Seven — la prima cosa che ho sviluppato che si chiamava R-Machine: un headless CMS nel 2000
Cinque anni in un'agenzia di comunicazione interattiva: siti, portali, sistemi di e-commerce e piattaforme di e-learning, per clienti dell'industria, dei media, dell'energia e delle assicurazioni. ASP e ASP.NET su SQL Server, con front-end in Flash.
I front-end Flash dell'agenzia avevano bisogno di contenuti dinamici e sul mercato non c'era niente che li desse: ho progettato e sviluppato un CMS headless, esposto tramite endpoint XML. Si chiamava R-Machine. Tieni a mente il nome.
I-Load, la prima libreria WYSIWYG per l'upload e il ritaglio delle immagini sul web
Il problema era sempre lo stesso: un template ha bisogno di immagini di dimensioni esatte, e chi lo riempie non è chi sa produrle. Così ho preso il componente di upload immagini del mio CMS e ne ho fatto un prodotto a sé — un controllo ASP.NET con cui chiunque poteva caricare un'immagine e ritagliarla, ingrandirla, ridimensionarla e ruotarla direttamente dal browser, finché non rientrava nei vincoli.
Venduto in licenza perpetua con sottoscrizione annuale di supporto e aggiornamenti, tramite un e-commerce che avevo costruito e gestivo io, a circa 800 clienti in 46 paesi.
Estrarre, isolare, consegnare a persone che non incontrerai mai. È stata la prima volta che lo schema ha tenuto su quella scala.
RADactive srl
Ho lasciato l'agenzia e fondato una società per sviluppare e vendere I-Load. Per cinque anni ho seguito il prodotto end-to-end: sviluppo, rilasci, documentazione e supporto tecnico diretto a una clientela internazionale — che è il modo più rapido che esista per scoprire come sono fatte davvero le tue API viste da fuori.
Non erano tutti piccoli studi. RADactive srl ha fatturato a NASA — Jet Propulsion Laboratory, a Intel, all'International Committee of the Red Cross, alla United States Tennis Association, Burton Snowboards e a diverse altre aziende ed enti di rilevanza internazionale.
Anche mandare avanti quella società richiedeva un'infrastruttura su misura, così ho costruito Revolve, un CMS headless di mia progettazione. Gestiva l'e-commerce radactive.com, emetteva e rinnovava le licenze, e in seguito ha servito anche siti cliente.
Piczard
I-Load mi aveva insegnato molto sulla manipolazione delle immagini, e gran parte di quel lavoro non aveva motivo di restare chiusa dentro un prodotto commerciale. Piczard è ciò che ne ho estratto e regalato: una libreria .NET gratuita con filtri applicabili programmaticamente e un componente WYSIWYG per il ritaglio, il ridimensionamento e la correzione di tonalità, saturazione e contrasto.
83.600 download su NuGet, più 52.900 del pacchetto di upload correlato — e ancora una quindicina al giorno a tredici anni dall'ultimo rilascio. Distribuita insieme a un controllo di upload open source, rilasciato come sorgente personalizzabile in licenza BSD. La mossa di sempre — estrarre e isolare — solo che stavolta non l'ha pagata nessuno.
R-Machine — A TypeScript resource layer for React and Next.js
Nel 2023 stavo costruendo un SaaS in Next.js e mi serviva un'internazionalizzazione che il sistema di tipi potesse davvero controllare. L'ho scritta dentro il progetto, poi l'ho tirata fuori. Quell'estrazione è R-Machine — lo stesso nome che, venticinque anni prima, aveva il primo CMS headless a cui ho lavorato.
Il risultato è un resource layer TypeScript per React e Next.js, pensato con l'obiettivo di facilitare i cambiamenti nel codice sorgente. Il namespace è il contratto: consumatori, test e mock dipendono da quello, non da dove il valore vive o da com'è fatto. Gestione dello stato, dependency injection e internazionalizzazione stanno dietro un unico primitivo di consumo, perché sono le tre vie da cui l'implementazione trapela in ciò che la usa. I mock sono tipizzati: se una risorsa cambia forma i test smettono di compilare, invece di continuare a passare su presupposti ormai falsi.
Cinque pacchetti pubblicati su npm, monorepo pnpm con Vitest e Changesets, licenza Apache 2.0, beta pubblica. Questo sito è il suo primo banco di prova reale: ogni pagina che stai leggendo è una risorsa risolta attraverso di esso.