Benvenuto Breaker e grazie per il tempo dedicato a questa breve intervista!
Da qualche giorno è disponibile per il download la nuova versione del mitico GDRCD... la 5.5! Parlaci brevemente di questa nuova versione!
Sono passati 5 anni dal rilascio dell’ultima versione, era ora di sistemare alcuni bug ed apportare qualche miglioria al codice. Ho colto l’occasione per riordinare il codice al fine di renderlo più leggibile.
Abbiamo visto che ti sei concentrato molto sulla sicurezza (password criptate ecc.) e l’implementazione di nuovi elementi HTML5 come audio e datalist. Ritiene che siano punti fondamentali che mancavano alla precedente versione?
Penso che non abbia più’ senso lasciare la possibilità’ ai gestori di salvare le password in chiaro sul database. Anche sistemi come SHA-1 e MD5 sono diventati vulnerabili semplicemente perché i processori sono più’ potenti e quindi sistemi che prima richiedevano anni per essere forzati ora lo sono in pochi minuti se non secondi. Spesso le land nascono e muoiono nel giro di pochi mesi e lasciare dati sensibili come email e password salvati non e’ mai buona cosa soprattutto con l’introduzione del nuovo GDPR.
HTML5 ormai e’ uno standard e quindi qualsiasi nuovo codice si scrive secondo gli standard vigenti in quel momento.
Quanto tempo hai dedicato alla nuova versione di GDRCD?
Finito il lavoro e non avendo altro da fare ho ripreso mano a vecchi progetti. Alla fine si tratta semplicemente di implementare varie soluzioni ai problemi che hanno riscontrato nel codice precedente e cercare di creare un sistema piu’ semplice da personalizzare.
Che tipo di competenze hai in ambito informatico?
Sono un autodidatta, ho sviluppato durante l’adolescenza una passione per il coding, col tempo ho scoperto una predisposizione per il problem solving che mi ha permesso di imparare cose nuove ogni giorni mentre cercavo come risolvere problemi. Essere autodidatta vuol dire semplicemente che ho investito il mio tempo libero nella lettura e visione di corsi, tutorial, blog, manuali, articoli, ecc. Mi piace molto informarmi e sono affascinato da quanto muti la tecnologia nel tempo. Poi grazie ai casi della vita sono riuscito a trasformare questa passione in un lavoro.
C’è qualche tool o modifica che pensavi di implementare già in questa versione ma che hai dovuto rimandare?
Avrei voluto fare altre 2 cose prima di rilasciare la versione, ma non avendo le competenze e non ottenendo risposta da chi ho contattato ho deciso di lasciar perdere e di rilasciarla.
Una era una nuova veste grafica, l’altra l’adeguamento dell’informativa sulla privacy ai sensi del GDPR.
Stai già lavorando ad un ulteriore update del codice magari un ipotetico GDRCD 5.6? Se si ci puoi anticipare cosa pensi avrà di diverso?
Penso che se il tempo me lo consente seguirò GDRCD con più costanza. Solitamente il lavoro della versione 5.x consiste nel risolvere i problemi che hanno i gestori e se possibile implementare la miglioria direttamente nel codice di GDRCD in modo da evitare il lavoro ai gestori di inserire patch o fare modifiche. Difficilmente ci saranno grandi rivoluzioni essendo per sua natura un codice procedurale.
A che tipo di programmatore consiglieresti il tuo pacchetto? Esperti o anche i neofiti?
Io non consiglio GDRCD a chiunque voglia diventare un programmatore. Penso che chiunque voglia diventare un programmatore deve capire che e’ un lavoro di costante aggiornamento e quindi capire se preferisce essere front-end o back-end. Poi può diventare anche full stack, ma inizialmente deve capire cosa preferisce fare. In entrambi i casi GDRCD e’ un pessimo esercizio, basato su una struttura superata (linguaggio procedurale). Il mio consiglio e’ leggersi qualche guida e scegliere un linguaggio dal quale partire. PHP e’ buono, ma ne esistono tanti altri e ti permettono di fare il lavoro che vuoi tu in maniera migliore. Ogni progetto può essere scritto con differenti linguaggi dipende da cosa vuoi tu. Se dovessi consigliare un linguaggio direi Java, il più comune e quello più semplice per trovare lavoro in futuro in Italia. Se invece vuoi puntare in alto consiglio Go. Sono in pochi ad usarlo e quindi vengono pagati bene anche se parliamo di mercato mondiale dove vai a confrontarti con più offerta.
GDRCD invece lo consiglio alle persone che nella vita non hanno intenzione di imparare a programmare, fare grafica, web questo o web quello. Semplicemente hanno un sogno e non hanno migliaia di euro per realizzarlo.
A queste persone penso quando lavoro su GDRCD, uno strumento che possano utilizzare per realizzare un sogno senza avere la possibilità economica di commissionarlo.
Se un programmatore di un gioco già aperto volesse passare, ad esempio, da GDRCD 5.4 a GDRCD 5.5 ritieni che la procedura possa presentare molti intoppi?
Gli intoppi dipende dalle modifiche che ha fatto lui alla 5.4. “Basta” eseguire una comparazione tra i due codici e risolvere i conflitti oppure prendere i commits delle funzioni che vuole aggiungere ed implementarle.
Secondo me non ha senso passare dalla 5.4 alla 5.5 e discorso simile per le versioni precedenti. Restate con la vostra versione e migliorate quello che volete migliorare.
In passato hai già rilasciato GDRCD 5.2, 5.3 e 5.4 ma sono passati quasi 5 anni dall’ultima major release. Come mai tutto questo tempo? Ti eri dedicato ad altro?
C'è voluto il COVID-19, il lockdown e tutto il resto. Sinceramente neanche mi sono accorto che erano passati 5 anni, l’ho saputo solo oggi. Lavoro e famiglia mi hanno tenuto impegnato, ho ripreso a programmare da poco per un nuovo progetto ed ho deciso di riprendere anche GDRCD.
Se qualcuno è interessato a migliorare GDRCD 5.5 come può aiutarti?
Esistono molti modi per aiutare, assistenza all’utenza tramite GDR-Online. Creare issues su GitHub, fork e PR, ecc. Condividere il codice di lavori fatti, creare nuovi temi, proporre idee, suggerimenti. Ognuno può fare quello che ritiene in grado di fare per la community.
Hai rilasciato il codice open source… ti aspetti qualcosa dalla comunità di sviluppatori o pensi che la community “open source” legata ai play by chat sia ancora acerba?
Il codice non e’ mio, ho solo apportato modifiche al codice di Blancks che a sua volta si e’ basato su quello di MrFaber. Quindi era doveroso mantenere la stessa licenza.
Ho collaborato negli ultimi anni nel Terzo Settore e penso che questa sia la strada per dare rilancio alla community. Penso nei prossimi giorni di organizzarmi per creare un progetto in questa direzione. La mia idea e’ dare gli strumenti a tutti per poter realizzare il loro sogno, collaborando nel Terzo Settore ho compreso quanto sia importante creare rete. Ogni persona ha le sue competenze e può contribuire, il problema più grande che affrontiamo e’ la divisione delle forze. Molti sono gelosi della miglioria apportata, della modifica fatta o altro, ma non si rendono conto che il difficile non e’ realizzare le cose, ma pensarle. Dico sempre che il limite del realizzabile e’ dato dall’immaginazione e dalle competenze. Poi se tu lo fai e lo realizzi e’ più semplice per un altro capire come funziona e copiarlo.
Ho capito da anni che open source non e’ qualcosa che si affianca alla cultura italiana. Non penso sia dovuto al fatto di acerba o altro semplicemente consideriamo la paternità dell'idea un bene assoluto.
E’ un sogno il mio, ma vorrei realizzare un sistema affinché tutti possano realizzare il proprio di sogno. So di non avere le competenze per realizzarlo e sicuramente non ho i fondi per mantenerlo. Spero nel tempo di acquisire le prime e trovare persone disposte ad inseguire lo stesso obiettivo. Per i fondi lo sanno tutti che e’ un settore dove la propria passione e’ come un buco nero, lo si fa perché ci si crede.
Grazie mille per il tempo che ci hai dedicato e complimenti per il tuo lavoro!