PDI^2

Google Gears, Enabling Microsoft killing

web May 31, 2007 9:35 am (Save post)

Google Gears permette di salvare e recuperare pagine per l’uso offline. Google Gears offre un db relazionale dentro il browser. Google Gears permette di aggiornare le pagine salvate automaticamente, facendo l’update di un’applicazione.

Perché Google Gears permette di far funzionare le applicazioni online anche offline. E una volta che il mio spreadsheet, word processor, calendario e client di posta funziona sia online che offline a che mi serve MS Office?

Blogbabel, Autorità & algoritmo del pagerank

programmazione, win, blogosfera 8:03 am (Save post)

Nel mio piano di conquistare il mondo manipolandone l’informazione sono diventato anche autore sul blog di blogbabel, e fra un po’ dovreste se andate a vedere c’è un post sul fatto che quella che technorati ora definisce autorità è in realtà il mero conteggio dei link in ingresso.
Blogbabel non ha un’etichetta “autorità” ma ha dei valori, in scala logaritmica, per classificare i blog. Ça va sans dire che Questo È Comunque Meglio(TM).

Ma il geek che è in me stava pensando: e se effettuassimo un post-processing su questi dati? E se scopiazzassimo google?

Come funziona il pagerank
(WARNING: l’autore ritiene che i nomi di funzione di una sola lettera siano il più grosso problema delle scienze moderne e li eviterà)

L’algoritmo del PR pubbblicato originariamente dal dinamico duo page & brin funziona, per quel ho capito io, in questo modo.
Sia Imp(p) l’importanza di una pagina.
Sia NumLink(p) il numero di link in una pagina.
Una pagina Pi con un (1) link verso Pj conta come un voto di valore Imp(Pi) per Pj.

Ovvero, se alice.com vale 3 e ha un link per bruno.com questo si becca un 3.

Se alice.com ha due link, di cui uno verso bruno.com e l’altro verso ciccio.com darà metà del suo valore ad entrambi, quindi:
sia Vote(Pi) = Imp(Pi)/NumLink(Pi).

A questo punto, l’importanza di Pj è la sommatoria di tutti i voti in ingresso:
Imp(Pj) = Sum(Vote(Pi))
per i diverso da j.

L’astuto lettore noterà che l’importanza di un sito è definita in termini di se stessa. Ovvero, pensate ad un grafo composto da alice.com bruno.com e ciccio.info e fatto così:
alice ->bruno
alice ->ciccio
bruno -> ciccio
ciccio -> alice

Per calcolare l’importanza di ciccio dobbiamo sapere l’importanza di bruno ed alice. Per sapere l’importanza di bruno dobbiamo sapere quella di alice. Per sapere quella di alice dobbiamo sapere quella di ciccio. Stack overflow.

E risolviamola sta cosa..
A questo punto la magica coppia tira fuori la matrice HyperLinks, che in pratica è una tabella NumPagesInTheWeb * NumPagesInTheWeb in cui le caselle sono tutte 0 a meno che non ci sia un link da una pagina I a una pagina J, nel qual caso HyperLinks[I,J]= 1/NumLink(Pj).

In pratica è il discorso di prima, solo in forma tabellare.

Potete verificare a occhio che se sommate tutti gli elementi di una colonna viene 1, e se sommate quelli in una riga… viene qualcos’altro.

Ora, inventiamo anche il vettore ImpVector, tale che
ImpVector = HyperLinks * ImpVector. Questa non è altro che una ri-definizione della cosa che avevamo scritto prima.
ImpVector è cioè un vettore che contiene i vari valori di importanza di una pagina.

Guarda che è ancora ricorsiva..

Il trucco per risolvere questo affare è di scegliere un vettore sperando di azzeccarci.
Se ImpVector = HyperLinks * ImpVector abbiamo finito, e faremmo bene a correre nel più vicino ippodromo perché avremmo un futuro nel campo delle scommesse.
Altrimenti usiamo il risultato, ImpVector1 come nuovo vettore casuale e verifichiamo se ImpVector1 = HyperLinks * ImpVector1. E così via finché non arriviamo ad un valore azzeccato (o quantomeno abbastanza vicino).

Ma non è che debba convergere per forza, specialmente a valori sensati..

Infatti. A questo punto Sergey e Larry buttano dentro i loro deliranti approcci probabilistici, in cui il Lettore dovrà impersonificarsi in un normale utente di internet che segue link, e non uno che apre solo il suo aggregatore.

L’idea è che la formuletta di cui sopra sia isomorfa ad una che descriva un navigatore di internet che va su una pagina e ci sta per un certo tempo e poi naviga via. Semplicemente sostituite Time a Imp nella formula di cui sopra.

In pratica in quest’ottica i problemi si manifestano quando un utente finisce su un sito che non ha link verso l’esterno (il blog di beppe grillo) o quando finisce in un pozzo in cui vari siti si linkano tra loro ma non linkano il resto di internet.

Se vi capita la prima cosa, essendo geek non uscirete a giocare a pallone, ma andrete su un’altra pagina digitando l’url direttamente.
Nel secondo caso, essendo geek, non resterete in loop su 3 pagine, ma digiterete l’url di un altro sito direttamente.
La prima cosa si modella mettendo un valore 1/NumPagesInTheWeb in tutti gli elementi delle colonne in cui una pagina non ha link (ovvero, da una pagina senza link andrete a caso su un’altra). La matrice viene simpaticamente chiamata S perché è una matrice stocastica, ovvero ha delle proprietà che ignoreremo perché sono noiose. La chiameremo invece HyperLinksWithEscapes

La seconda si ottiene pensando che l’utente non segua sempre un link, Ma che abbia due possibilità: o segue un link concentrandosi sul suo obiettivo o va su un’altra pagina a caso, con probabilità Concentration e Distraction = 1 - Concentration.

Il passo finale è definire
GoogleMatrix = Concentration * HyperlinksWithEscapes + Distraction * JustEscapes

dove JustEscapes è una matrice delle stesse dimensioni in cui tutti i valori sono 1/NumPagesInTheWeb, sarebbe a dire che l’utente può andare da una pagina in qualsiasi altra con la stessa probabilità.

A questo punto, ImpVector = GoogleMatrix * ImpVector è risolvibile sempre per ragioni matematiche prolisse.
E scelto un valore adeguato di Concentration converge abbastanza velocemente.
La scelta è che mi addentri in dettagli noiosi (per me) o mi limiti a dirvi che Concentration = 0.85. Seclgo la seconda, pur restando convinto che 0.84 sarebbe stato un valore più interessante in quanto multiplo di 0.42.

Scusa, e che c’entra questo con BlogBabel?
Beh, sarebbe fico se calcolassimo l’autorità di un blog utilizzando questo metodo, in fondo abbiamo la matrice dei link. Peccato che la matrice sia comunque 7000 x 7000 e che ci vogliano un’ottantina di iterazioni per convergere.
Plausibilmente sarebbe ancora fattibile (se vi va di leggere il paper sul pagerank ci sono spiegazioni su come la cosa sia ottimizzabile), ma si porrebbe un problema: che fine fanno tutti gli altri valori di BB?

I link tra i blog di BB non esprimono interamente il valore di un blog.

Il numero dei lettori, la sua collocazione nella blogosfera mondiale, nell’internet a tutto tondo e nei blog italiani non ancora aggiunti resterebbero fuori da questo calcolo.

Si potrebbe dunque usare questo approccio semplicemente per il calcolo delo valore del tracklink, ovvero dei link raccolti dal crawler di blogbabel. Ma vale la pena perdere tempo computazionale e di sviluppo per ottenere un valore che

  • probabilmente sarebbe simile al punteggio tracklink attuale
  • avrebbe un incidenza piuttosto ridotta sul punteggio totale
  • sarebbe fondamentalmente inutile, in quanto la classifica è in se fondamentalmente un divertissement?

Penso di no. Però mi chiedo se non si possa tirare fuori un algoritmo che esprima la rilevanza di un blog pesandola attraverso la matrice dei tracklink ed usando i valori totali attuali come input. Suggerimenti benvenuti.

Reddit rulez

personale May 30, 2007 9:07 pm (Save post)

digg è un covo di magiatori di quiche e reddit è per veri uomini.

roorooroo 8 points 1 day ago
Extremely well-written. Kudos.

MarkByers 7 points 1 day ago
Extremely well-written comment. Kudos.

leoc 19 points 1 day ago
A solid and well-executed comment, but a little derivative.

jemfinch 3 points 1 day ago
Everyone’s a critic.

da qui.

Giorno dell’Asciugamano

fun May 25, 2007 11:27 am (Save post)

Scusate me ne ero dimenticato. Oggi è la giornata mondiale dell’asciugamano. So che capite di cosa stiamo parlando

Il costo delle caste

personale, fastidio 10:52 am (Save post)

Visto che figata i dati di montezemolo? Il quirinale cha costa 4 volte buckingham palace, l’apparato statale italiano che costa come quello italiano+tedesco+spagnolo+francese

Cose che si sapevano, ma l’Autore si sente di estendere il discorso.

Gli imprenditori italiani sono in larga parte degli incompetenti vigliacchi che campano con l’assistenzialismo.
Se ci fossero dei limiti oggettivi non ci sarebbe neanche una compagnia nostrana ai vertici mondiali nel proprio settore, invece ne abbiamo svariate in campi assortiti (de longhi, mossi&ghisolfi, martini&rossi, ferrero, fincantieri). Manca l’informatica, ma ci sarà, perché c’è gente capace.

I sindacati italiani, sono strutture visibilmente dannose.
Abbiamo il più alto numero di morti sul lavoro e le retribuzioni più basse, qualsiasi tentativo di rinnovamento è respinto in modo acritico, e cose assolutamente normali (come licenziare i dipendenti pubblici inutili) vengono rifiutate in toto in nome della stabilità granitica del sistema.

L’associazionismo italiano è una visione desolante di lotte interne, elitarismo, politicizzazione, clientelismo e gestione delle rendite da posizione.

Vabè, detto questo, rimando alla lettura dell’articolo “i costi delle caste“. In realtà volevo postare solo il link, ma poi ho pensato che cavolo, era parecchio che non mi lamentavo.

YARV supporta callcc :)

ruby May 24, 2007 1:07 pm (Save post)

il commento del commit è bellissimo:

cont.c: support callcc which everyone love. incomplete. please give me bug reports.

Beh andate e scaricate ruby 1.9.
Stressatelo su, che la release stabile deve essere una roccia ;)

che bello essere latini

personale May 23, 2007 4:39 pm (Save post)

No, non mi vedrete mai ballare salsa & merengue e spero che le frequenze usate da radio mambo vengano riassegnate ad uso militare.
Per quel che mi riguarda il sudamerica era meglio completamente indio.
Lo spagnolo per me è una lingua inutilmente piatta che ha l’unico vantaggio di aver azzeccato l’idea che “5 vocali sono abbastanza“.
Portoghese e francese sono lingue sceme in cui la scrittura corrisponde solo vagamente alla pronuncia.
La romania mi sta sulle balle da sempre per ragioni di cui non sono cosciente, probabilmente legate al fatto che ramona badescu non me l’ha mai data.

Eppure è bello che io parli una lingua latina.

Spiego: 5 minuti fa bard mi diceva che gli piace la guinness.
Io da piccolo birrofilo volevo dirgli che non mi piacciono stout , poi mi è venuto il dubbio che la guinness fosse una porter (risposta: no, è una stout, fondamentalmente perché si chiamava “guinness extra stout porter” poi è caduta l’ultima parola e così è nata la nuova definizione; il linguista che è in voi si chiederà cosa significhi stout: la risposta è che originariamente significava “valente”, ma ha finito per significare “forte”).

Wikipediando, son capitato sulle Oatmeal stout, che sono una sottocategoria (che a sua volta non mi piace) che non avevo mai compreso.
La differenza è che contengono oat. Continuo la wikipediazione per cercare di capire cosa cavolo sia un oat.

The oat (Avena sativa) is a species of cereal grain, and the seeds of this plant.

Linneo, non te l’ho mai detto, ma grazie per la nomenclatura bimomiale.

gratta & vinci online

fun May 22, 2007 5:23 pm (Save post)

è una di qullle cose in cui teoricamente si vincono soldi online (in effetti credo di aver letto il blog di uno che ha vinto, ma non ce ne importa).

Quello che importa è poter pubblicare una foto idiota e volgare (PNSFW) senza causare uno shock immediato ai lettori innocenti :)


io, il postmoderno

personale, lettura, fun May 20, 2007 10:20 pm (Save post)

warning: il post contiene riferimenti gratuiti agli anni ‘80 e probabilmente ripetizioni di cose che l’Autore ha già detto.
Egli inoltre plagierà numerose fonti, ed in assenza di uno strumento che permetta di effettuare link con espressioni xpath a parti arbitrarie di una pagina XHTML, si limiterà a fornire degli indizi ove ne abbia coscienza. La lettura è sconsigliata a chi non ami le interrelazioni potenziali

Circolo correlativo transmediatico
Stamane mi son ritrovato di fronte al tutto già detto, tutto già fatto.
7000 anni di storia sono parecchi, suvvia, come credere che quel che si fa o si dice non sia già stato detto? Quel che si scrive è sempre un esercizio di stile[1,queneau] . Andiamo alla trattazione.

Lettore, tu vivi nel mio stesso intervallo storico, ergo dovrai ricordare, o spero di poterti ricordare, The Monkey.
Questo cartone animato narrava della scimmia Gokò, che aveva una nuvola volante e un bastone estensibile ed era incredibilmente potente. La scimmia era nata da una roccia ed aveva commesso dei crimini per cui Buddha l’aveva punita ed essa aveva iniziato un viaggio verso l’india insieme ad un monaco (che in italiano si chiamava Prete Gianni, tienilo a mente), un maiale, un minatore e una specie di scimmietta femmina rosa che in realtà era una principessa mal disegnata.

Ora fin da piccolo io ho trovato delle somiglianze inquietanti con Star Zinger, per il fatto che il protagonista avesse la stessa fascetta sulla testa, un attrezzo volante e un bastone che si allungava. Certo starzinger era un cartone ambientato nello spazio, ma c’erano 4 personaggi, uno grasso che potremmo considerare maiale, e una principessa.

Anni dopo, arrivato Dragon Ball in italia, i miei sospetti si son fatti vieppiù fondati. Goku, nuvola, bastone, E ritroviamo anche il maiale e Bulma, che per quanto non sia principesca è almeno femmina.

La scoperta di Saiyuki, su MTV è stato l’ultimo tassello. 4 protagonisti, monaco buddista, personaggio di nome Goku con fascetta sulla testa identica e che viene chiamato scimmia regolarmente.

A questo punto dovevo indagare, e ho scoperto Viaggio ad Occidente, che è uno dei romanzi fondamentali della letteratura cinese, e che parla, sostanzialmente di una scimmietta, che viene punita da buddha, e finisce per fare questo viaggio verso l’india con il monaco Sanzo, un semidio suinesco ed un altro con una pala magica. Credo che abbia un’importanza letteraria al livello dell’Orland Furioso. Su questo torneremo.

Viaggio ad Occidente ha una dozzina di livelli di lettura diversi, dalla favola al testo iniziatico al religioso al mitologico. I cartoni animati che ne sono derivati ovviamente sono differenti ma condividono l’idea principale, prova evidente che quel che dovevamo dire l’abbiamo detto, possiamo ricamarci intorno, ma le storie son sempre quelle.

Lui incontra lei, lui ama lei, lui cambia stato sociale[2,AntZ], è la tipologia più diffusa, da quando lui cresce, lui affronta prova, lui diventa uomo ha perso mordente, ma in fondo sono 5 o 6 tipologie standard.

Sulla seconda tipologia, vorrei ricordare come il racconto di gilgamesh sia stato reintepretato una dozzina di volte in chiave fantascientifica, oltre ad aver dato idee per omero, la bibbia e qualche altra piccola publicazione di quel tipo.
E parlando di omero, cavolo, abbiamo Borges, che ebbe a dire “sono io omero”, nella convinzione che tutti gli scrittori sono in realtà lo stesso. E tutte le biblioteche sono in realtà la stessa, essendo connesse attraverso lo spazio-B[2.71828182845905].

Torniamo a Orlando. Quello che forse non sapete è che anche questo non è altro che un misero tentativo di succhiare successo da un’idea, la Chanson de Roland, che ne aveva già avuto, e da cui sono derivati più sequel che dal silenzio degli innocenti.

A questo punto, il postmodernista che vi sta crescendo dentro non può non vedere la correlazione tra il Roland francese ed il Roland inglese.
E come può l’Autore, kingista d’annata non pensare alla torre nera?
A quello stephen king che nella torre nera mette tutto quello che esiste di post moderno, le citazioni da akira kurosawa, il gioco linguistico, la mise en abime.

E una volta che parli di stephen king ti tocca collegare dylan dog, perché la Bonelli è la più grossa macchina da citazione/plagio che esista al mondo e da king ha preso a piene mani.

E chi è il fan più famoso dell’indagatore dell’incubo? Esatto, Umberto-erto-erto-erto Eco [3, horropoppin], che forse tra gli autori italiani viventi è il più postmoderno.

E indovinate chi ricompare nel suo romanzo Baudolino? Sfortunatamente non è la scimmietta, ma il Prete Gianni, che è già parecchio e mi permette di chiudere il cerchio e saltarne fuori.

Che cavolo stai dicendo
Sto parlando di internet, che altro. Del labirinto informativo.
Questo edificio, caratterizzato da un intrico di stanze e corridoi, rappresenta infatti perfettamente la complessità e la magmaticità del mondo contemporaneo
La reazione degli individui che prendono coscienza di questa realtà si manifesta in due opposti atteggiamenti: la “resa al labirinto” e la “sfida al labirinto”[4], e come il filosofo, penso che nulla può essere comunicato attraverso l’arte della scrittura[5], ma vale la pena di insistere nello scrivere e leggere, nel portare avanti la sfida.
Non per orgoglio, né per speranza riaccesa alla vista della meta,
ma per la gioia d’aver visto una fine[6], anche se a volte si perde la strada.

La ricerca della verità è fatta anche di questi episodi, l’importante è non scoraggiarsi ed avere sempre l’umiltà di riconoscere i propri errori e la forza per continuare a cercare[7].
To strive, to seek, to find, and not to yield[8].

Ed esprimersi, perché il mondo è grosso e non lo capisco, e quando parlo non mi nota. Ma la prossima volta mi vedrà[9]!

PyCon Uno, il blog

python, blogosfera, italia 12:12 pm (Save post)

la prima conferenza italiana su python adesso ha anche un blog, andate a farci un giro perché potreste trovarci varie informazioni utili, e magari capire un po’ di più il lavoro che stanno facendo gli organizzatori :)

Get free blog up and running in minutes with Blogsome
Theme designed by Janis Joseph