Alcuni pensieri e considerazioni sul mondo del software, scritte da un insider

Advanced Dungeons & Dragons (2nd Edition) logoDdlib è una libreria C++ per giochi di ruolo. Essa si basa sul ruleset di Advanced Dungeons & Dragons (seconda edizione), rilasciata da TSR nel 1987 e redatta dallo staff di David "Zeb" Cook. Lo scopo di ddlib è nasconde le complessità del regolamento, semplificando la creazione di applicazioni come videogiochi di ruolo, generatori di personaggi, simulatori e cose di questo tipo. Potrebbe sembrare un progetto ambizioso, ed infatti lo è. Ci lavoro nel mio tempo libero, questo è il motivo per cui il progetto progredisce a piccoli passi...

Per un'introduzione alla libreria, consulta la wiki dedicata al progetto ddlib su gitlab.com.

Se invece ti stai chiedendo perché io abbia deciso di implementare un sistema di regole obsoleto:

  • perché l'ho apprezzato tantissimo quando ero ragazzo;
  • perché ancora lo considero uno dei migliori regolamenti mai concepiti;
  • perché ho sempre sognato di poter giocare a Eye of the Beholder IV e un giorno potrei aver bisogno di un framework per programmarmelo da solo.

Infine, per quanto ne so io la seconda edizione di AD&D non è più mantenuta e non fa più parte del core business della Wizards of the Coast (WOTC)/Hasbro (gli attuali detentori dei diritti). Non è nemmeno menzionata sul loro sito internet. Il focus sembra concentrarsi dalla terza edizione in poi.

I regolament i D&D sono comunque protetti da copyright, questo deve essere il motivo per cui molte software house abbiano recentemente optato per utilizzare set di regole proprietari anziché il regolamento ufficiale. Detto ciò, la WOTC ha una Fan Content Policy, che permette ad esterni di creare contenuti aggiuntivi o basati sui loro regolamenti.

Ddlib è infatti rilasciata sotto questa policy, e in conformità con essa:

  • è gratuita;
  • non è da considerarsi un prodotto ufficiale della WOTC;
  • non fa uso di materiale protetto da copyright;
  • non beneficia di finanziamenti da parte di terzi.

Buon divertimento e lunga vita a AD&D!

Pila di floppy diskIl 31 marzo è la giornata mondiale del backup, giornata istituita per stimolare una riflessione molto seria sulla persistenza dei nostri archivi digitali, siano essi le foto delle vacanze, l'archivio email della gioventù, o la propria raccolta di lavori originali prodotti con tanta fatica e perizia. In tutti i casi il problema è sempre lo stesso: oggi abbiamo sempre più roba da portarci dietro, le fatture elettroniche delle forniture domestiche, i dati della nostra contabilità, le foto del gatto, eccetera. L'importanza estrinseca di tali dati non è rilevante, a volte ci piace semplicemente tenere una copia di alcuni file in un archivio su disco rigido, archivio che non consulteremo mai, che però ci dispiacerebbe perdere.

La soluzione più moderna è il cloud: scegliamo deliberatamente di affidare a qualcun altro la gestione di questo fardello e dei problemi annessi, oppure ci organizziamo una copia dei contenuti su disco esterno che provvediamo a riallineare periodicamente.

Sono ben consapevole del fatt oche dagli anni '90 a oggi il mondo sia cambiato, che oggi le foto ricordo stiano sul cloud, la musica si ascolti on demand, i contenuti originali siano davvero pochi perché quasi tutto è già stato fatto e i programmi che scarichiamo sono sempre disponibili online. Ciò detto, resto un nostalgico e ho cercato un tool per gestire la sincronizzazione di archivi in modo manuale ma intelligente, che permetta di esplorare le differenze e di gestirle con flessibilità.

Così pensai a Rigel Copy...

Win Nuke ClientA vent'anni dalla sua prima comparsa, oggi WinNuke suscita ancora qualche sentimento nel cuore di chi in quegli anni muoveva i primi passi nel far west della rete. Sentimenti edulcorati dal tempo, mutati da quella malinconia che può trasformare i ricordi delle brutte esperienze in momenti da ricordare con nostalgia. Quelle terribili esperienze di BSOD (Schermo Blu della Morte) che tormentavano gli incauti utenti di IRC oggi ci rimandano ad un'epoca in cui l'home computing stava nascendo ed ogni giorno ci stupiva con nuove sorprese, un mondo ancora naive ma che tentava di diventare multimediale ed innovativo, la cui evoluzione era in piena accelerazione. Un tempo in cui fondamentalmente eravamo più giovani.

Creare siti webCreare un sito web può essere un'opera di ingegno notevole. Richiede doti artistiche per la grafica, un occhio tecnico nella scelta dei colori e doti da impaginatore per organizzare i contenuti. Come se non bastasse ci sono le implicazioni tecniche. Occorre notevole esperienza per progettare la struttura base che consente di separare il sito su diversi livelli. Quello dei dati, quello della sicurezza, le funzioni di accesso alle informazioni e la presentazione. Tutto ciò deve essere indipendente dal dispositivo, offrire un elevato grado di accessibilità verso i motori di ricerca (vabbé, diciamo pure Google!) e responsiveness. E giunti fino qui il lavoro non è ancora finito perché la sicurezza rende necessario un monitoraggio continuo e il rapido dispiego di soluzioni per arginare i problemi che man mano si presentano.

Per questi e molti altri motivi sono nati i CMS come Joomla, Drupal e Wordpress. Anche se questi ultimi sono i più utilizzati da chi progetta siti web, il loro ampio ventaglio di utilizzatori e sviluppatori attivi non li rende immuni da pecche e falle di sicurezza ma non per questo oggi qualcuno si sognerebbe di inventarsi soluzioni personalizzate o rinuncerebbe ai contenuti dinamici ripiegando su codice statico per difendersi dagli attacchi informatici. Questi e molti altri problemi erano del tutto sconosciuti a chi vent'anni fa scriveva pagine web.

Howard Scott Warshaw, presso gli Atari Labs a SunnyvaleSebbene l'industria informatica sia relativamente giovane, nel corso degli ultimi vent'anni il processo di sviluppo del software ha subito un mutamento radicale, forse anche per mettersi al passo con un mondo che richiede processi sempre più industrializzati. Al confronto l'industria automobilistica, che vanta una tradizione più lunga, ha avuto molto più tempo per adattarsi e ancora oggi sforna prodotti non perfetti nonostante l'attenzione spesa per eliminare i difetti del prodotto in fase di progettazione.

Questo avviene anche nell'industria del software. Mentre vent'anni fa però le automobili si producevano già da tempo in scala industriale, i programmi che negli anni '80 e '90 usavamo non potevano beneficiare delle tecnologie e delle metodologie di progettazione odierne, semplicemente perché non esistevano ancora, tuttavia c'era un gran bisogno di software anche complessi e qualcuno doveva perderci il sonno e la salute per realizzarli.