Leo van de Pas (1942 – 2016)

Mercoledi 17 Agosto 2016 è morto Leo van de Pas, ideatore e curatore del sito genealogics.org una delle più vaste e attendibili banche dati di genealogie disponibile in rete. Un lavoro titanico, come ho avuto modo di sottolineare più volte, messo a disposizione degli studiosi, condotto con rigore scientifico ed in costante aggiornamento. Con la morte di van de Pas il sito rimane attivo anche se in “modalità manutenzione” ovvero non sarà soggetto ad aggiornamenti ma solo alla correzione di eventuali errori.

Il progetto Hochadelsdorf deve moltissimo a questa base dati che costituisce la fonte principale (anche se non l’unica) dei dati che stiamo elaborando. Per questo motivo, ritengo giusto rendere onore a questo studioso e al lavoro che ha fatto. Grazie Leo!

Alta Marea

Grazie al tweet di un amico (@ilmusetti) ho potuto leggere questo bel racconto di “fantascienza” di Emmanuela Carbé: Alta Marea. Mi ha incuriosito, fin dalle prime righe, la descrizione di un futuro, sia pure cupo, delle Digital Humanities con tratti che tuttavia non si allontano molto da una visione della conoscenza, della ricerca e della formazione di tipo utilitaristico che già da oggi sembra minacciare il nostro sistema scolastico. Mi sono sempre piaciuti i romanzi che descrivono il futuro, a cominciare da quelli di William Gibson, Bruce Sterling, Philip K. Dick. Molti tentano di immaginare come si modificherà il nostro mondo partendo dall’osservazione del presente ma solo pochi riescono ad essere profetici. Ci sono tratti di una attualità disarmante in alcuni romanzi di Gibson scritti 30 anni fa, quando il web doveva ancora nascere.

Il racconto della Carbé è inquietante (nel senso costruttivo del termine) perché, pur descrivendo un mondo che non esiste, descrive un mondo per il quale i presupposti ci sono tutti. E’ questo essere un futuro così vicino che lo rende inquietante. Non ci sono macchine volanti ma un’alta velocità con stazioni sotterranee (Bologna vi dice niente?), un trasporto potenziato su certe direttrici (e senza soste intermedie) e penalizzato su altre (con tempi di percorrenza ben diversi). Non ci sono strutture supreme di controllo ma c’è la forzatura politically correct delle tradizioni culturali e uno Stato che promulga regole risibili affinché il livello di conoscenza delle persone (e soprattutto dei giovani) sia mantenuto basso e tutto concorra ad un “progresso” puramente economico. Direi che ce ne è abbastanza per vederci un po’ del nostro mondo, del nostro Paese.

Mi è piaciuta però la descrizione del lavoro svolto dall’area “Memoria Umanistica Digitale” dove i testi non solo tornano a nuova vita mediante il digitale ma vengono integrati con strumenti di analisi. Se poi, per avere il finanziamento, si devono aggiungere anche i cosiddetti “contenuti extra” non mi sembra un gran male.

Delusioni

Quando sembrava che il lavoro di disambiguazione della base dati fosse concluso, un nuovo processo di analisi basato questa volta non sulle coppie ma sugli “orfani” (soggetti con genitori sconosciuti) ha messo in luce una serie consistente di buchi nelle genealogie. In pratica alcuni soggetti, e non pochi, hanno i genitori noti nella maggior parte delle occorrenze nel database ma non in tutte. Queste occorrenze nelle quali il soggetto risulta figlio di ignoti (anche se i genitori sono conosciuti) crea dunque una serie di interruzioni negli alberi e soprattutto una mancata corrispondenza tra soggetti. La causa sembrerebbe essere l’integrazione di alcuni alberi con dati provenienti da altre fonti ma quello che conta, adesso, è trovare un algoritmo in grado di rimettere a posto i genitori.

Progressi

Il lungo silenzio su queste pagine è dovuto all’enorme lavoro di disambiguazione effettuato sulla base dati di Hochadelsdorf. Per disambiguazione intendo l’individuazione di soggetti che, pur essendo la stessa persona, compaiono con nomi diversi nella base dati. Il fenomeno è dovuto alla provenienza dei soggetti da fonti diverse o più semplicemente a grafie diverse dello stesso nome. Risolutiva, in questa poderosa caccia all’intruso, è stata l’ideazione di un processo di analisi che si basa non sui singoli individui ma sulle coppie. Associando ciascun soggetto al suo o ai suoi coniuge/i è stato più agevole scovare i falsi doppi e ricondurli ad una grafia unica. Il lavoro manuale è stato considerevole ma l’estrazione automatica di questo tracciato di controllo ha fatto sì che potessimo procedere per approssimazioni successive fino alla completa (o almeno ragionevolmente tale) bonifica della base dati. L’intera operazione ha richiesto oltre un anno di lavoro anche se c’è da dire che, per me, non è certo un lavoro a tempo pieno e non è stato facile individuare di tempi adeguati per essere portato a termine. L’esito positivo dell’ultimo controllo effettuato mi ha fatto tirare un sospiro di sollievo anche se sono consapevole che ci sono ancora molte fasi da affrontare prima che la base dati sia veramente adatta allo scopo della ricerca che ci siamo posti.

Alla ricerca dell’antenato comune (II)

E’ ufficiale, mercoledi 9 marzo alle ore 14.15 nell’Aula Seminari Est del Dipartimento di Informatica terrò il seminario dal titolo “Alla ricerca dell’antenato comune”. Come anticipato in questo post, passerò in rassegna i vari studi sulla ricerca del MRCA concludendo con alcuni dei risultati e molte delle prospettive future del Progetto Hochadelsdorf. Non mancherò di postare su questo blog le slides della presentazione.

Edit (10/03/2016):
Come promesso, ecco le slides della presentazione. Sul sito del Laboratorio di Cultura Digitale è invece possibile ascoltare il seminario per intero.

Citazione (omaggio ad Anna)

Cara Kitty,
da qualche tempo mi ha presa la passione per gli alberi genealogici delle famiglie reali e sono giunta alla conclusione che, una volta cominciate queste ricerche, bisogna sempre risalire più indietro nel tempo, e si fanno scoperte sempre più interessanti.

Anna Frank, Diario, giovedì 27 gennaio 1944 (trad. Arrigo Vita)

Sul blogging accademico

Qualche settimana fa sono stato contattato dalla giornalista Alessia Smaniotto, responsabile della comunicazione per il progetto OpenEdition Italia (l’infrastruttura che sviluppa Hypotheses.org e che ospita questo blog), con lo scopo di raccogliere materiale per un breve articolo di presentazione dei blog italiani attualmente attivi su Hypotheses.org. Genealogy Cruncher è stato uno dei blog prescelti ed ho avuto occasione di riflettere sulla genesi, sulle finalità e sul ruolo, in un panorama più ampio, di quanto ho scritto fino ad ora e scriverò in seguito in questo pubblico spazio.

Il contatto è stato fortunoso perché i filtri antispam, per un eccesso di zelo, avevano pensato bene di mettere la mail della Smaniotto nella posta indesiderata e solo il caso ha voluto che io andassi a curiosare nel bidone della spazzatura, cosa che faccio di rado ma che può riservare, a volte, delle sorprese.

Così, dopo un breve scambio di email, ho risposto alle domande e le risposte non solo hanno contribuito alla stesura dell’articolo principale ma sono state pubblicate interamente in un altro articolo esclusivamente dedicato a questo blog.

I links a cui è possibile leggere i due articoli sono:

Cinque storie di blogger italiani su Hypotheses.org

Il blogging al servizio della ricerca sulle genealogie della nobiltà europea

Se comunico solo adesso in questa sede l’uscita dei due articoli è solamente perché, nell’ultimo periodo, il progetto Hochadelsdorf ha assorbito tutte le mie energie. La normalizzazione della base dati tesa ad uniformare i soggetti univoci presenti con due diversi nomi è stata una operazione lunga e complessa ma assolutamente necessaria. Prosegue al momento il lavoro sulla identificazione dei MRCAs (Most Recent Common Ancestors) che dovrebbe costituire una parte importante di un futuro articolo sull’argomento.

Close the semantic gap

According to Wikipedia, “Scientists include theoreticians who mainly develop new models to explain existing data and experimentalists who mainly test models by making measurements – though in practice the division between these activities is not clear-cut, and many scientists perform both.” The domain-specific language that many scientists use to define their models is mathematics, and since the early days of computing science, the holy grail has been to close the semantic gap between scientific models and executable code as much as possible. It is becoming increasingly clear that all scientists are practicing applied mathematics, and some scientists, such as theoretical physicists, are behaviorally indistinguishable from pure mathematicians. The more we can make programming look like mathematics, the more helpful we make it to scientists and engineers.

Erik Meijer, prefazione a D. Syme, A. Granicz, A. Cisternino “Expert F#”, Apress 2007

Alla ricerca dell’antenato comune

“Alla ricerca dell’antenato comune”: con questo titolo presenterò, nel secondo semestre del prossimo anno accademico, una relazione all’interno dei seminari del Laboratorio di Cultura Digitale. L’iniziativa, come cita il sito di riferimento, “consiste in 18-20 seminari della durata di 2 ore ciascuno, tenuti da studiosi esterni, docenti dell’Università di Pisa e rappresentanti di enti/aziende operanti nel settore, sui temi rilevanti per Informatica Umanistica. Vuole costituire un’occasione di approfondimento sulla disciplina e un orientamento al mondo del lavoro e della ricerca nelle Digital Humanities.”

La frequenza è richiesta agli studenti della Laurea Magistrale in Informatica Umanistica che sono tenuti, al termine del secondo semestre, a presentare un loro elaborato ispirato dagli interventi presentati al seminario.

Ovviamente, anche nel mio percorso di studi ho dovuto affrontare questa prova e, grazie alla pubblicazione su iTunes degli interventi e alla piattaforma Moodle per la discussione, ho potuto superare l’ostacolo della presenza in aula, inconciliabile con l’orario lavorativo. Il mio elaborato finale, disponibile qui, verteva su Donald Knuth e il Literate Programming.

Adesso fa un certo effetto trovarsi dalla parte opposta della cattedra e quello che spero di ottenere è soprattutto trasmettere entusiasmo e suscitare riflessioni.

La proposta che ho presentato e che è stata accettata dalle coordinatrici del corso, Enrica Salvatori e Maria Simi, ha come oggetto l’evoluzione dei sistemi di simulazione informatica applicati alle genealogie ed agli studi demografici. Ho intenzione di passare in rassegna i principali lavori che hanno segnato questo tipo di ricerca per concludere, ovviamente, con il progetto Hochadelsdorf.

In particolare, sottolineerò il doppio passaggio, dai modelli matematici alle simulazioni in silico e da queste alle analisi condotte su dati reali grazie ai database genealogici disponibili online. Credo infatti che la sempre maggiore disponibilità di dati, opportunamente trattati, possa contribuire alla verifica dei modelli teorici, cosa, fino a pochi anni fa, impensabile se non a prezzo di enormi sforzi. L’aspetto collaborativo della rete infatti consente una raccolta distribuita e in parte verificabile dei dati, sia pure come materiale grezzo sul quale condurre le opportune analisi.

Calcolo dell’età

Può capitare, lavorando con le genealogie ma anche studiando fenomeni come le dinamiche di reclutamento, di dover calcolare l’età di un soggetto, di cui si conosca la data di nascita, sia rispetto alla data odierna, sia rispetto ad un’altra data di riferimento.

Qualche tempo fa, in un mio lavoro sull’età di inizio professione da parte di alcuni soggetti operanti nel mondo giudiziario, disponendo di un database MySQL, avevo applicato con successo la seguente interrogazione:

SELECT YEAR(DATE_FORMAT([dataInizio], '%Y­%m%d')) ­- YEAR(DATE_FORMAT([dataNascita], '%Y­%m%d')) ­- (DATE_FORMAT([dataInizio], '%m%d') <  DATE_FORMAT([dataNascita], '%m%d')) AS eta  FROM [tabella]

In pratica, per calcolare l’età di inizio professione, si è proceduto facendo la sottrazione tra l’anno di inizio professione e l’anno di nascita e si è sottratto 1 qualora giorno e mese di nascita fossero successive, rispetto all’anno solare, a giorno e mese di inizio professione. Questa formula può essere scritta

anno(data inizio) – anno(data nascita) – (giorno e mese inizio < giorno e mese nascita)

in considerazione del fatto che, in MySQL, il confronto produrrà un esito booleano che sarà interpretato come 0 (falso) o 1 (vero) andando a togliere tale valore dal risultato della sottrazione iniziale.

Sicuramente non è l’unico metodo e forse neanche il più immediato tuttavia non manca di eleganza.

Ho tentato di convertire le istruzioni nella sintassi di SQLServer, database che sto usando attualmente per il progetto Hochadelsdorf.

Al posto dell’istruzione DATE_FORMAT, ma solo a partire dalla versione 2012 di SQLServer, quella usata dal progetto, è possibile fare uso dell’istruzione FORMAT che accetta in ingresso un valore, un pattern di formattazione e una indicazione di cultura.

E’ possibile quindi riscrivere l’interrogazione con la seguente sintassi:

SELECT DATEPART(YEAR, [data_inizio]) - DATEPART(YEAR, [data_nascita]) - CASE WHEN FORMAT([data_inizio],'MMdd','it-IT') < FORMAT([data_nascita],'MMdd','it-IT') THEN 1 ELSE 0 END AS eta FROM [tabella]

ottenendo lo stesso risultato.

Al momento non so se questa interrogazione sarà necessaria nella mia ricerca ma ritengo utile condividerla, anche solo come promemoria per uso futuro.

Don Syme: F# Path to Relaxation

Nel pomeriggio di lunedi 22 giugno, nell’Aula Gerace del nostro Dipartimento di Informatica, Don Syme ha presentato una interessante keynote sugli sviluppi del linguaggio F# di cui è uno degli ideatori e sviluppatori. L’iniziativa non è stata molto pubblicizzata e, di conseguenza, il pubblico non era troppo numeroso. Fulcro della presentazione è stato mostrare come F# sia in grado di fare sintesi (nel senso inteso dal metodo scientifico) tra caratteristiche dei linguaggi di programmazione apparentemente inconciliabili, a partire dall’opposizione tra il paradigma funzionale e quello orientato agli oggetti. Tralasciando i contenuti più tecnici mi piace sottolineare una delle conclusioni di Don: “Achieving simplicity and relaxation is the key”.

Due considerazioni ritengo interessanti da condividere.

La prima riguarda l’utilità che il paradigma funzionale (conciliato con quello orientato ad oggetti) ed in particolare il linguaggio F# può avere nella mia ricerca attuale. Sicuramente parte del codice che ho scritto e che sto scrivendo in C# ha una sua natura funzionale e potrebbe quindi trarre beneficio da un refactoring anche parziale. Utilizzare C# per analisi computazionali è di per sé abbastanza inconsueto o, per lo meno, non è la vocazione primaria di questo linguaggio. Malgrado ciò non posso lamentarmi dei risultati. Avere però la possibilità di rimanere all’interno del framework .NET ma sfruttare un linguaggio più orientato alle funzioni, più multipiattaforma, più interoperabile è sicuramente una strada da provare a percorrere almeno per un tratto. Una delle sintesi che Don ha sottolineato nella sua relazione è proprio quella tra codice e dati, assolutamente coerente con quanto sto cercando di fare in questo periodo.

L’altra considerazione da condividere riguarda la tematica del fare sintesi, in un percorso di conciliazione tra aspetti diversi e spesso contradditori. Potrebbe essere la chiave di lettura della mia attuale posizione che è caratterizzata da almeno tre grandi ambiti tra i quali tento di fare sintesi: la mia attuale e futura area di ricerca (che già è un coacervo di elementi disparati da mettere insieme), la mia attuale (e futura?) attività professionale e la mia passata attività di ricerca in ambito organologico. Il presente mi vede impegnato in uno sforzo di sintesi tra questi elementi (già la scrittura del CV è un’impresa) e la strada indicata da Don, il path to relaxation, appare in questo momento, un’altra strada da provare a percorrere almeno per un tratto.

Pensavo di andare ad assistere ad una interessante technical conference e ne sono uscito con una lezione di vita ed un paio di impegni da mettere in pratica. Devo dire che non capita spesso.

Keep calm and crunch data

“Keep calm and crunch data”: questa variante dello slogan britannico (adesso molto di moda) ha caratterizzato gli ultimi mesi della mia vita. Sebbene avessi concordato l’argomento di tesi quasi un anno fa, ho iniziato a lavorarci seriamente solo negli ultimi mesi ma sono state le ultime settimane ad essere veramente frenetiche.

Quando si ha fretta sembra che tutto giri lentamente così anche le elaborazioni sui dati sembravano essere interminabili. Però la sensazione che si prova vedendo girare un processo che sta macinando quantità enormi di dati, sapendo che il processore, la RAM e il disco stanno lavorando a pieno regime, è veramente unica. Io mi sento come l’omino che accende l’LHC! (dubito che esista un omino che accende l’LHC, dubito anche che l’LHC si accenda come si fa con i lampioni, ma tutto questo esula dalle mie conoscenze).

Se masticare i dati, in fondo, è questione di hardware, mantenere la calma richiede nervi saldi, lucidità, pazienza, spirito di sacrificio. E queste cose, mentre lavoravo alla tesi, sono state messe a dura prova. Lo slogan britannico allora campeggiava perentorio in modo che, alzando lo sguardo, lo trovassi sempre lì, come un monito.

Mi piace però ricordare quel misto di esaltazione e frustrazione che provi quando, andando a dormire, lanci un processo batch sapendo (e sperando) di ritrovarlo ancora in esecuzione il mattino seguente, quando durante un’elaborazione ti accorgi di aver sbagliato un parametro e devi ricominciare da capo, quando sei costretto a seguire una checklist scritta perché sei troppo stanco per essere lucido.

Poi arriva il momento della discussione e hai 20 minuti per convincere una ignara commissione dell’importanza generale di quello che per te è stata la ragione di vita degli ultimi tre mesi. Diciamo che mi sono preso qualche minuto in più, con buona pace della candidata che sarebbe venuta dopo di me. Ed ho presentato, come se fossi un relatore ad un convegno, quelli che, lungi dall’essere definitivi, sono i risultati di questa prima incursione nel “villaggio dell’alta nobiltà”. Si perché di questo si tratta: ricostruire le genealogie della nobiltà europea nell’età moderna ed analizzarle come se si trattasse di studiare le famiglie di un villaggio, esteso dalla Norvegia alla Grecia e dal Portogallo alla Russia, ma pur sempre un villaggio. E come ogni villaggio ha i suoi personaggi in evidenza, i suoi accordi matrimoniali, le famiglie che contano e quelle che tentano di affermarsi.

Discutere la tesi è sempre una festa. Non ha niente a che vedere con la fatica della ricerca, con i mille dubbi dei giorni precedenti, con l’incubo dell’impaginazione e con tutte quelle attività necessarie a consegnare un testo decente. E’ un atto liberatorio e quel che è stato è stato. E’ anche la fine di un percorso, però, e la perdita, irrimediabile, di uno status, quello di studente, anzi, ancora di più, quello di laureando del prof. Tal de Tali, che ha pur sempre un suo riconoscimento accademico. Quando diventi dottore, per l’Università sei uno dei tanti ex.

All’inizio è stato un cruccio continuare la ricerca iniziata per la tesi senza nessun ruolo ufficiale, nessun riconoscimento. Ed un trauma inserire la tessera della mensa nel lettore e leggere “dati non validi”. Adesso però me ne sono fatto una ragione: continuerò a lavorare sulle genealogie, con onestà intellettuale, dedizione, curiosità e passione come ho sempre fatto. Sarò un libero ricercatore.

Introduzione

“La scienza è una cosa meravigliosa per chi non deve guadagnarsi da vivere con essa” (Albert Einstein)

Questo è un blog accademico. O almeno avrebbe la pretesa di esserlo. Nasce dalla lettura di questa serie di post e alla fine di un percorso di Laurea che spero essere l’inizio di uno di ricerca. I contenuti quindi non dovrebbero mancare: parlerò di informatica umanistica, di estrazione ed elaborazione di conoscenza dai dati, di metodi della fisica applicati alle scienze umane. E parlerò prevalentemente di genealogie perché è il campo di applicazione a cui mi sto dedicando.

Ho riflettuto a lungo se scrivere in italiano o in inglese ed alla fine ho optato per la mia lingua madre senza tuttavia precludermi la possibilità di postare in inglese (to post, appunto) contenuti più tecnici o di interesse generale.

Due parole sulla citazione in apertura del post. Contrariamente alla comune interpretazione del “sarebbe bello se…”, posso dire che nel mio caso, almeno per adesso, la frase ha il significato letterale di “è bello poter…”. Fintanto che riesco ad affiancare la ricerca al mio lavoro in azienda come sviluppatore software posso dire di avere un fondo di ricerca autogestito. Certo non saranno cifre da sogno ma sufficienti a svolgere con serenità la propria ricerca. E poi, non si può mai dire…