Archivio mensile:luglio 2018

Leaving the comfort zone

Due mesi fa, dopo 15 anni, ho lasciato l’azienda per cui lavoravo come sviluppatore software. È capitata una occasione interessante ed ho pensato che fosse arrivato il momento di mettersi alla prova. Sono molto soddisfatto della scelta. Certo non è stato facile ma un amico (e mentore da un punto di vista professionale) mi ha sempre mostrato l’immagine seguente. Ed io ho deciso di lasciare la mia zona di comfort per andare a vedere la magia là dove essa accade. 

Anche dal punto di vista della ricerca ho dovuto lasciare la zona di comfort. Dopo interventi infruttuosi e vicoli ciechi, abbiamo deciso di cambiare completamente approccio. Fino ad adesso abbiamo considerato Genealogics come la fonte dati principale ed utilizzato le altre (Roglo e Geneagraphie) come integrazione. Questo ha portato ad una serie di interventi che, se da una parte correggevano un’incongruenza, da un’altra parte ne inserivano di nuove con nuovi problemi di grafia dei nomi e di legami mancanti. Con oltre tre milioni di record è facile perdere il filo dopo un po’.
Così, dopo una non breve consultazione via Skype (ormai non vado quasi più in dipartimento), abbiamo deciso di ripartire… da capo! Esatto, dai file di testo estratti (a mano) dalle tre basi dati ed elaborati con una versione migliorata degli script in C# che ho usato, ormai oltre tre anni fa, per la tesi.
Da una parte dispiace che tre anni di lavoro siano serviti solo a creare know-how ma dall’altra è un sollievo uscire dalle pastoie di approcci sbagliati e dalla rigidità di una impostazione dei dati che se, all’epoca della tesi, è stata vincente perché ha permesso di individuare alcuni risultati e di intravederne altri, alla lunga ha dimostrato tutti i suoi limiti. Giusto per fare un esempio, all’epoca decisi di usare il nome come identificativo di ciascun soggetto: niente identificativi numerici univoci o cose simili. Avete idea di che significhi fare una ricerca su milioni di righe usando una stringa di trenta o quaranta caratteri come filtro?
In questa revisione della base dati (eviterò di chiamarla Hochadelsdorf 2.0) abbiamo deciso di adoperare da subito un approccio relazionale: più tabelle, una per ciascuna entità o relazione, collegate tra di loro mediante identificativi numerici. Sulla struttura del database tornerò in seguito perché è ancora in fase di definizione. Al momento sto estraendo i dati dai file di testo e popolando delle tabelle provvisorie; da esse dovrò generare un tracciato dati che metta a confronto le tre fonti e su cui determinare i soggetti corretti da importare nel database relazionale (“il relazionale” è ormai il nome comune per questo oggetto che stiamo andando a creare). La roadmap è definita, il tempo, al solito, è poco ma con le idee chiare sul da farsi si lavora meglio. Speriamo di aver imboccato la strada giusta che dalla comfort zone ci porti a incontrare la magia che in questo progetto, sono sicuro, è ancora tutta da scoprire.