Questo blog è entrato recentemente nella sua quarta vita. La prima inziiò a gennaio 2004, quando lavoravo a Studenti.it ed ero ancora un dipendente: allora fu lanciato un rebranding delle vecchie home page, all'epoca sotto my.studenti.it, sul dominio giovani.it. Addirittura proponevamo un terzo livello, per cui il mio blog si chiamava garakkio.giovani.it ed era totalmente scritto in spaghetti PHP.

La seconda iniziò nel 2011, quando spostai tutto su Wordpress, dato che ormai avevo abbandonato l'azienda (che nel frattempo aveva cambiato nome due o tre volte). Sfruttati un procedimento di export totale in XML che stava su un URL nascosta, scrissi un piccolo import e installai tutto sul mio server.

Questa soluzione però mi ha sempre lasciato con l'amaro in bocca, perché ho sempre ritenuto Wordpress un accrocco nato male e cresciuto peggio. La cosa che mi lasciava più perplesso era l'aggiornamento tramite interfaccia web, quindi con codice che si autoaggiornava scaricando roba dal web. Decisi così di passare al terzo passo.

La terza vita dunque segnava un passaggio non epocale, ma comunque importante: l'uso di Bedrock per gestire Wordpress. Non che fosse proprio una rivoluzione, ma almeno mi consentiva di tenere il codice organizzato con un criterio che non facesse sembrare il tutto una roba del 2004.

E infine arriviamo a oggi, con la quarta: mi sono finalmente liberato di Wordpress e ho riscritto tutto quello che mi servia in un codice moderno, basato su PHP 8.5 e Symfony 8.2 (le versioni più recenti disponibili al momento). Non ho riscritto l'intero Wordpress, semplicemente perché quello che a me serve è un sottoinsieme: i post con commenti, tag e categorie, le pagine, i link e il form dei contatti (con anti-spam). Pur semplificata, tale migrazione avrebbe effettivamente richiesto un sforzo non banale ed era proprio ciò che mi tratteneva dal metterla in pratica. Ma oggi abbiamo la fortuna di poter delegare il lavoro sporco a Claude (Opus 5.5 nello specifico), per cui il tutto mi ha richiesto un paio di giornate di organizzazione e di raffinamento. Ho anche approfittato per creare una nuova libreria, in cui posso usare un codice stringa univoco ma ordinabile (la trovate su GitHub)