…Tomorrow the World
Pubblicato il 23-05-2007 da SergioVisto il successo della mappa italiana di Twitter mi sono un po’ montato la testa e ho pensato: perchè non fare anche la mappa di tutte le connessione dell’intera rete Twitter mondiale?
Per questo ho rimesso mano agli script e ho cominciato ad ottimizzarli pesantemente per il compito più complesso.
L’altra volta che avevo mappato la rete mondiale Twitter avevo contato più di 20.000 nodi ma, visto il particolare successo degli ultimi mesi (sottolineato anche dai continui disservizi delle ultime settimane
) penso che questa volta troverò almeno il doppio dei nodi.
Per questo motivo, e soprattuto per collaudare se gli strumenti di mappatura a mia disposizione fossero in grado di raggiungere l’obbiettivo ho deciso di prendere fare un primo sondaggio a quota 7621 nodi per 22683 connessioni.
Il risultato mi ha particolarmente deluso: tutti i nodi si sono concentrati al cento dell’immagine lasciando ampissimi spazi vuoti e non mostrando alcuna forma caratteristica della rete.
Per questo motivo ho provato a cambiare l’algoritmo di disegno della mappa. Ora: non sono espertissimo di algoritmi per disegnare grafici ma, stando a quello che ho capito, il vecchio algoritmo usava cercava, spostando casualmente i nodi, di trovate la migliore soluzione, mentre il secondo fa partire tutti i nodi dal centro e quindi li allontana fino a quando la rete non si stabilizza (una sorta di campo magnetico).
Per farla breve ho ripetuto il test una volta giunto a 41119 connessioni ed ecco il risultato:

Come si può notare l’interno della sfera non è uniforme, ma nebuloso: i punti si raccolgono in comunità più ristrette. Non ho ancora verificato, ma suppongo che ogni nuvola corrisponda ad una comunità nazionale. Quando la mappa sarà più completa farò un test illuminando tutti i punti della comunità italiana e vedrò se effettivamente si trovano tutti vicini.
La mappa non è ancora completa!
Per il momento questa mappa non copre neanche gli amici dei miei amici, ovveo siamo ancora all’interno del secondo grado di separazione. Ho così tanti amici degli amici a causa di una serie di “superamici” come John Edwards (il candidato USA) che ha più di 2500 amici.
Quanto ci vorrà per la mappa completa?
Dipende tutto da Twitter: se stesse stabile giorno e notte ci sarebbero buone probabilità di vederla finita entro Sabato, ma se continua così temo che ci vorranno un paio di settimane.
Qualche dettaglio Tecnico
I dati sono raccolti attraverso le API di Twitter da uno script in Perl e salvati in un database PostgreSQL e sono quindi successivamente elaborati da un secondo script in Perl dal quale risulta un file che viene trasformato in un file dot tramite Graphviz e quindi dal file dot viene rasterizzata l’immagine.
I due script in perl che fanno tutta la magia si chiamano ripettivamente: save_the_cheerleader.pl e save_the_world.pl
In chiusura volevo segnalare l’eccellente mappa di Pseudotecnico che rappresenta la sua rete di amici degli amici su Twitter.



Trackback | | Stampa
3 Commenti
Davide ha commentato:
Bellissima idea, complimenti!
Ero proprio curioso di sapere che linguaggio avevi usato per raccogliere tutti i dati e, siccome ho provato a usare Graphviz, mi chiedevo come generavi i file dot. Notavo che in questo software manca un editor di dati e che quindi deve essere fatto tutto esternamente.
Per quanto riguarda invece i punti di accumulazione della mappa, penso che ognuno di questi sia un rete sociale e che più reti sociali compongano una rete nazionale. Per cui, dal momento che l’organizzazione dei punti fatta da GraphViz è casuale (seppur ottimizzata) non credo che troverai tutte le reti sociali italiane vicine (a meno che non esista una sorta di macro-rete nazionale che le connette tutte, ovvero se da qualunque twitters italiano si può arrivare a qualunque altro twitter sempre italiano passando da friends all’altro).
Scusa la lunghezza del commento, ciao!
PseudoTecnico ha commentato:
Tempismo perfetto: abbiamo fatto praticamente lo stesso post nello stesso giorno
Antonio ha commentato:
Bel lavoro: davvero complimenti!
Che ne dici di fare una bella guida su come funzione GraphViz oppure su come estrai i dati, li elabori e li metti in grafico. L’hai già spiegato in maniera sintetica… ma siccome sono curioso… e visto che ora non ho tempo per studiarmelo da solo… volevo sfruttarti
Lascia il tuo Commento