PDI^2

Dell’Ortografia

blogosfera July 29, 2008 10:37 pm (Save post)

Ludo risolleva per la millesima volta il problema di ortografia, grammatica e altri dettagli che vanno in malora nella blogopalla italica. Diglielo fratello, diglielo!

Siccome io faccio un casino di errori, sono un po’ dislessico e un po’ ignorante e un po’ frettoloso, approfitto per chiedere aiuto con le immortali parole: quando sbaglio, corigetemi.

Ah, leaving in 3,2,1, ci si risente dall’italia ad agosto, quando voi sarete in vacanza e io mi sarò messo in pari con i feed.

i piaceri della vita

personale, blogosfera May 11, 2008 2:29 pm (Save post)

Ricevo la catena di sant’antonio da estroversa e una volta tanto ha una sua utilità, dandomi occasione di parlare di cose che altrimenti non saprei quando dire.

Tra le cose che amo ci sono i racconti brevi, l’ultimo è stato del vedere la ragazza perfetta al 100% in una bella mattina d’aprile.
Il fatto è che spesso in un racconto breve in genere c’è una bella idea. Se invece un libro è lungo uno si perde in tutte le descrizioni dei sentimenti dei personaggi eccetera.
Prendi Raissa, da Le Città Invisibili, come funzionerebbe se fosse lunga cento pagine?
Quel micro capolavoro che è la sentinella non perderebbe significato?
L’ultima domanda non diventerebbe inutilmente noiosa?
Insomma, i raccontini fanno piacere perché ti fanno sentire intelligente e parte di un circolo di persone intelligenti che legge i raccontini, e allo stesso tempo non richiedono sforzo. Molto moderno e 2.0. E rilinko un omaggio perché tamas è un grande.

Poi mi piace mangiare. Ma non nel senso che a tutti piace mangiare, nel senso che io sinceramente passerei 24 ore su 24 a tavola se fosse possibile attaccarmi un collettore all’esofago.
Mentre sto qui che penso a cercare di spiegarvi perché anche le semplici onomatopee di cacciagione e grappolo e quaglia mi evochino sughi e salse che mi colano sul mento in realtà ho la salivazione a mille come alien, o un pavloviano quadupede.
Io appartengo a quella genìa a cui gli amici dicono che se ci piacesse scopare quanto mangiare saremmo da rinchiudere.
Mi sento di negare, ma credo sia solo un meccanismo autoprotettivo della mia virilità.
La realtà è che c’è altro, come diceva winnie-the-pooh, oltre al momento in cui finalmente senti sapa e formaggio o bucatini e pancetta o tuorlo e limone che si fondono sulla lingua.. c’è quel momento subito prima quando già stai quasi per sentirne il sapore e tutti i tuoi sensi stanno in attesa di quel singolo istante in cui finalmente arriverai alla conclusione di quell’attesa eterna di durata infinitesimale. Ecco, quello è il momento migliore.

E poi mi piace fare le pernacchie sulla pancia dei bambini. Nel senso, quando gli tiri su la maglia e appoggi la bocca semiaperta sulla pancia e soffi l’aria muovendo la testa di qua e di là e viene fuori un brpbrpbrpbrp e loro ridono e poi tu gli dici ti arrendi o chiedi pietà o adesso basta e loro dicono di no e tu continui.
Ho provato con altri soggetti e, sebbene sia gradevole, non è allo stesso livello, forse perché le/i mie/i cuginette/i ridono meglio.
Quegli aggettivi stupendi che si trovano nei libri riguardo le risate, tipo argentine, per i miei piccoletti sono vere, quando ridono senti lo sfavillio.

Poi, mi piace sentire parlare la gente, forse perché non ho mai granché da dire. Ovviamente, chiunque mi conosca potrà negare dicendo che parlo a raffica ma sotto sotto mi sento silenzioso.
E poi quando una persona parla di qualcosa di cui è appassionata si sente, ed è gradevole. Io dal canto mio ritengo il 99% dello scibile umano inferiore a qualsiasi cosa stia facendo in quel momento, però mi piace quando me lo spiegano.
Se finiamo a parlare insieme, mantenete la calma, la parte del “ti annoio?” potete saltarla, al massimo tenete da parte i “non hai capito niente” e i “$mia_materia non è una pseudoscienza!“. Tendo a essere stupido e involontariamente polemico.

Mi piace svegliarmi vicino a una ragazza, sentirne l’odore, la pelle, l’espressione serena, e notare ogni volta quel fatto curioso che non russa.
Anche se ovviamente questo è connesso, per me, a incredibili dolori alla schiena, crampi al braccio, temperature vulcaniche su un arto e artiche su un altro, e fondamentalmente un sonno di merda. Però è bello lo stesso.

E mi piace stare a dire stupidaggini con gli amici, non importa se davanti a una birra o sotto il portone di casa o alle 7 di mattina su un divano a guardare le repliche di manimal e automan. C’è qualcosa di profondo nello stare a chiacchierare di cose che non hanno la minima importanza, raccontarsi qualche fatto completamente inutile che si è sentito alla radio, ricordarsi di quella cazzata che è successa in gita alle medie, e cose così.

Si, a pensarci bene sono simili a quelle della mia adescatrice in questo giochino, anche se più diverse da quella che ha adescato lei. Vorrà dire qualcosa, ma non sono abbastanza intelligente per capire perché.

Ah e mi spias, non propago queste cose esplicitamente, ma se volete proseguire la catena mandate un trackback e vi linko& commento ex post ;)

programming.reddit’ed di nuovo

personale, blogosfera, software October 27, 2007 9:25 am (Save post)

Ho scritto un post sull’overview di ecmascript 4 e sono finito sulla prima pagina di programming.reddit, fico.

Adesso sono precipitato ma continuo a ricevere parecchie visite, ma la cosa interessante è, come al solito, la statistica dei browser: (le ultime cento e qualcosa, da lloogg.com):

Firefox/2 (76)
Opera/9 (10)
MSIE 7 (9)
Iceweasel/2 (6)
Safari/522 (6)
Safari/419 (5)
Firefox/1 (3)
Safari/523 (1)
MSIE 6 (1)

Basta scegliersi il pubblico adeguato e basta preoccupazioni con Internet Explorer, il suo market share è irrilevante ;)

anacronismo di DMOZ e triste necessità degli esseri umani

personale, blogosfera September 1, 2007 1:15 pm (Save post)

Stamattna ho scoperto un link in ingresso da pseudotecnico, che pensava avessi applicato lo spoil system alla categoria weblog di DMOZ, per fortuna non è così :)
Da lì sono passato a dario salvelli che parla di anacronismo di dmoz, sollevando due punti: l’inadeguatezza di una tassonomia come quella di dmoz nel classificare i blog, e il problema di avere degli editor.
Siccome ho idee a riguardo, le butto qui.

La tassonomia usata da dmoz è disfunzionale, concordo. Ciò accade perché i blogger, per loro natura, tendono a parlare di quello che cavolo vogliono, e a non rimanere all’interno di una categoria precisa. Anche nella categoria che edito io, parecchi blog sono al limite dell’accettabilità e dovrebbero essere reindirizzati altrove.
In particolare, e questo l’ho già detto una dozzina di volte ma repetita iuvant, i blogger italici tendono ad appartenere al 99% alla categoria blogosfera/web2.0/politica/propri-falli.
Una veloce scorsa al vostro aggregatore potrà confermarvi che i blog veramente tematici sono ben pochi, ed in particolare appartengono quasi sempre a

  • nanopublisher
  • SEO/SEM
  • esperti di marketing
Perché? Semplice, perché queste sono le persone che capiscono l’importanza di avere un focus, ed hanno interesse a mantenerlo.

Il resto delle persone, per dmoz, va a finire nei grandi calderoni come Notizie e Media/Weblog o Internet/Comunicare/Weblog, il che significa che gli editor di tali categorie, quando esistono, hanno a che fare con code di moderazione sterminate.
Come si fa a far si che questa coda sia smaltita velocemente? Semplice, si chiede di essere editor.
Ancora meglio si diventa editor e si rivolge la propria attenzione a una categoria ancora assente, che ne so, Internet/Aziende/Weblog o Politica/Weblog.
Perchè sembra banale collaborare a wikipedia registrandosi, e sembra strano collaborare a dmoz registrandosi?

Ma parlavamo dell’anacronismo della tassonomia rigida. In che modo un sistema alternativo (i.e. tag) aiuterebbe?
É indubbio che un sistema misto tassonomia/tag possa aiutare nel cercare informaizoni, ma sarebbe utile relativamente al problema in esame, ovvero, l’approvazione di un sito/blog, che ne garantisce la validità?  Io, non vedo in che modo. Il problema non è classificare, è avere un esperto della chiave XYZ che controlli, e che poi tale chiave sia in una tassonomia o in un sistema a faccette poco cambia.

E qui c’è la seconda critica di salvelli, che si applica anche a BlogBabel, ovvero, non è bello avere degli editor umani.
Io straconcordo, se c’è una cosa che amo è sostituire il libero arbitrio con un algoritmo, ma il problema è complesso.

L’esempio chiave in questo senso è Technorati.
Technorati combatte una battaglia continua, perdendo, contro lo spam.
Technorati ha anche rinunciato da tempo a esaminare i blog, ed è per questo che tra i link trovate twitter, wiki, co.mments.com, aggregatori e qualsiasi cosa abbia un feed.
BlogBabel, che gestisce un numero di fonti molto più piccolo, garantisce una certa qualità delle stesse. Solo blog, e solo blog gestiti da persone reali.

Categorizzazione e validazione automatiche sono cose estremamente difficili da fare, e temo ci vorranno un’altra decina d’anni per ridurre il fattore persona.
Tanto più che anche quelli che queste cose le fanno di mestiere cercano quanto più possibile di integrare il fattore tra-tastiera-e-sedia nei loro algoritmi. Vedi ask con directhit , piuttosto che Yahoo! e la sua directory di siti indicizzati a mano, o il trattamento che Google riserva a tale directory e a dmoz (PageRank 9, ovvero circa un miliardo di volte più importanti di questo blog, e si sospetta gestione particolare nell’algoritmo di ranking).

Ma forse fraintendo dario. Forse la critica non è rivolta all’umanità degli editor, ma al fatto che la classificazione & validazione sia effettuata da una ristretta cerchia di editori invece che dall’utente qualunque che passa di lì.
Se fosse così, la critica sarebbe imo ancor più errata per dmoz. Chiunque può diventare editor di dmoz, basta chiederlo.
Ovvio che è più semplice essere accettati se ci si propone come editor di una piccola categoria, piuttosto che di World, semplicemente perché per le grandi è molto probabile che editor ci sia già un editor o più.
Provate a chiedre di diventare editor per questa categoria, che non ne ha, e vedrete che il vostro blog ci comparirà molto velocemente.
(Per blogbabel il discorso è diverso: da quel che ricordo al momento non c’è il bisogno di nuovi editor, in quanto la coda di moderazione viene smaltita velocemente, e quindi il problema è inesistente).

Sono anni che si dice quanto sono intelligenti le masse, e quanto è bella la lunga coda. Io continuo a pensare che la massa è scema, ma purtroppo non esiste alternativa migliore. Se, Lettore, pensi di non essere stupido, cerca di entrarci nella massa, diventare editor di dmoz o wikipedia o quant’altro, e cerca di aumentarne un po’ l’intelligenza totale. Non sarà una soluzione definitiva, ma è meglio di niente.

Post Archivio n° 18

personale, blogosfera, web June 29, 2007 11:57 am (Save post)

pan e salam pan e salam — a fette!.
Lettore, ho due esami la prossima settimana di cui no so ancora nulla. Ho amiche in visita con cui mi piacerebbe passare del tempo. Fa un caldo della madonna. Ho fame, mi fa male il collo, il mio mac è rotto di nuovo, il cellulare è partito e per una volta che ho roba da leggere non ho il tempo. Ergo, Archivio.

  1. L’angolo del linguista: l’ungherese è una lingua agglutinativa, come il giapponese. Leggasi: le parole non hanno una radice fissa e una parte mutabile, come in italiano (amico, amica, amici) ma hanno una base che è la parola in se e delle particelle fisse che ci si attaccano (borat, boratno, boratok). Il bello èp che hanno una particella per tutto, dal plurale allo stato in luogo ai complementi temporali. La scoperta della settimana è il suffisso -getni/gatni che significa una cosa come “più volte ma in modo piccolo”.
    Apprezzate il fatto che non solo si possa dire “mangiucchiare“, ma che “coccolare” sia, letteralmente, “abbracciucchiare:) .
  2. sull’isola deserta porterei da leggere, l’enciclopedia, credo. Una maschera, per fare immersioni. Un rotolo di spago enorme, che serve a tutto. Una radio, che non si sa mai, e poi si possono fare le batterie con le noci di cocco. E un asciugamano, perché ho letto douglas adams ;)
  3. Alberto++ per Evenz, anche se io l’avrei chiamato E20 :)
  4. Sto abusando SimpleFold e sono strasoddisfatto, se usate vim fateci un pensierino. Prossimo passo è cominciare a sfruttare rcodetools
  5. Il mio stupido doctest per ruby adesso riporta la linea corretta in cui è accaduto l’errore, yay!
  6. Finalmente ho trovato un server NNTP aperto e che contiene sia comp.lang.ruby che it.comp.lang.python. Posso tornare a lurkare e fare il troll, evviva!
  7. giovanni ha un blog da un quarto d’ora ed ha già articoli più interessanti dei miei, come quelli sui RESTful Web Service in Squeak

Vabè, torno a studiare quella materia interessante ma con esame infernale che è Informatica Teorica II. Buon weekend a chi non deve fare una mazza!

Le API di BlogBabel e il mio feedflare

blogosfera, web June 23, 2007 10:10 am (Save post)

Finalmente BlogBabel ha un set di API REST & pubbliche per accedere alle informazioni della classifica e del crawler.

Andtate a giocarci pure voi e vedete che ne pensate, così potete darci feedback e ci mettiamo una pezza dove sono più smandrappate. Io credo ci siano già le potenzialità per farci un sacco di cose carine, tra cui la mia prima è (rullo di tamburi) il feedflare!

Ovvero quella cosa che vedete in fondo ai miei post nel feed e nel sito, che dice che posto ho in classifica. Prima era una cosa privata perché abusava dello screen scraping su BlogBabel e non volevo fare casini.

Adesso potete sperimentarlo pure voi, non vi garantisco che funzionerà per sempre o che non muoia sotto il carico, ma insomma, potete provarci. Vediamo quanto scala questa applicazione rails, a occhio fino a 11.000 richieste al secondo dovrei arrivarci :)

Per utilizzare il feedflare di blogbabel basta che andiate nel tab “optimize” di feedburner e aggiungiate un feedflare con URL:


  http://flarez.riffraff.info/bb?lang=it&id=blogid&version=1

ovviamente lang è sempre “it” e blogid è l’identificativo del blog su BlogBabel (questo blog ha id “pdi2″ non “PDI^2″, “Gabriele Blog” o “Propulsione d’Improbabilità Infinita”). In pratica è lo slug che vedete nell’url dei dettagli del vostro blog.

Andate e verificate, e fatemi sapere se ci sono problemi.

Ruby & rails vs J2EE, di nuovo

ruby, java, blogosfera June 13, 2007 2:44 pm (Save post)

Su TRM c’è un articoletto che ha l’intento di spiegare rails al programmatore J2EE, e da lì c’è un articoletto di risposta di uno sviluppatore J2EE, appunto.

Le mie dure lire: usate quello che è più adatto al progetto corrente, che conoscete meglio e che preferite. È il modo giusto per vivere felici :-)

Ad ogni modo, nel post e nei commenti ci sono dei punti validi: la m17n in ruby è ancora debole (ma per il web cambia poco, visto che utf8 è gestito), il deploy non è ancora un’operazione banale, ruby non ha i thread nativi ed è un interprete lento, non esiste accesso a tutta la pletora di MOM che c’è in java e altro. Ricordo che io, fondamentalmente odio rails ;)

Però, siccome l’autore dice di cercare l’oggettività, per quanto ovviamente possibile, mi permetto di rettificare alcune cose sbagliate ( credo siano dovute alla mancanza di conoscenza dell’ambiente, non a un FUD intenzionale ;)

Su ruby:

  • ruby non ha le variabili dì’istanza pubbliche di default, anzi non è proprio possibile avere variabili pubbliche, si accede solo attraverso metodi.
    Le variabili d’istanza pubbliche sono una rottura dell’incapsulazione (eccezione: property alla python/C#/TP) e infatti in Smalltak, che la OO l’ha inventata, non esistono.
  • non so cosa significhi che la struttura delle classi è neogotica, perché non so qual’è l’equivalente degli archi a sesto acuto in ambito programmatorio, ma la gerarchia delle classi mi sembra abbastanza ragionevole. Non c’è neanche l’ereditarietà multipla che dovrebbe far storcere il naso ai javisti (io, essendo anche pythonista non ci vedo niente di male :)
  • sinceramente non mi pare sia possibile assegnare una variabile da sinistra a destra in ruby, a meno che non ci sia un operatore “->” che non ho mai trovato negli ultimi 6 anni
  • le variabili d’istanza vengono istanziate al volo, vero, ma puoi comunque farlo solo tramite i metodi (o la reflection) quindi non c’è problema
  • “La tipizzazione degli oggetti base è da barzelletta non esiste”. De gustibus, a me i tipi dinamici piacciono. D’altronde neanche java è type safe, e HAppS è ancora un po’ ostico per me.
  • gli errori sono più comprensibili in ruby imho. Almeno l’equivalente di NullPointerException ti dice che metodo è stato richiamato, perché nil è un oggetto
  • mai fallita l’installazione di una gemma, ma capisco possa accadere. Però il confronto con maven mi pare inappropriato, non è un package manager.

Su Rails:

  • il sistema di template (che imo pone pochi problemi) si cambia in una riga. script/plugin install liquid | haml | erubis | ya2yaml | amrita | markaby o quel che volete
  • credo che il plurale di persona (as in dramatis persona) sarebbe personae, ma si sa che gli inglese col latino fanno porcate :) . Aldilà di questo, è possibile definire le proprie inflection se si vuole un db sgrammaticato (o uno legacy)
  • non ho capito che significa che la gestione degli url viene fatta in punti diversi, io la faccio solo in routes.rb
  • non so perché non si possa usare un qualsiasi approccio allo sviluppo. In teoria si può sviluppare un’applicazione RoR anche senza modelli e controller ma grazie al cielo lo fanno in pochi ;)
  • si può usare uno schema legacy, si può fare. Ci sono pure plugin per farlo. Certo, manca JCA.
  • manca il supporto all’internazionalizzazione builtin, ma esistono plugin come globalize apposta. Rimane sempre meglio averla builtin, come in django (lo dicevo di là) e comunque il supporto a unicode è scadente, come dicevo prima, ma c’è sempre UTF-8.
  • non ho capito il problema con gli scaffolding. Quelli servono a evitare di scrivere un po’ di codice, mica sono un’interfaccia di amministrazione (django++ ma per rails ci sono, ancora, dei plugin)

Sui punti generali non posso commentare.. non uso capistrano, ViM è il mio IDE e Rails forse non scala ma non per colpa di FastCGI (che è concettualmente molto diverso da CGI). Yahoo, Google, Digg, reddit, Flickr, livejournal etc scalano infinitamente senza servlet. <flamebait>e poi vorrei vederla questa mega applicazione in java che scala come slashdot, che è fatto con mod_perl </flamebait>

Ancora, right tool for the job, KISS, long life & prosperity, io domani parto per l’heineken jammin festival dove non mi preoccuperò di queste cose :)

Diventa virale anche tu

personale, blogosfera June 9, 2007 8:26 pm (Save post)

Inspiegabilmente negli ultimi giorni son stato linkato sul blog inglese da matz e da peter norvig che sono due miei eroi.

Lì per lì mi son pure esaltato, ma poi mi son reso conto che la mia strada doveva essere un’altra scoprendo dema (non voglio le scarpe perché per convinzione e formazione sono contrario ma mi son scompisciato) e geek-geek.

Diventare protagonista della blogopalla trasformandosi in un virus .

A breve vedrete la mia faccia con sotto il cartello will strip for backlinks.

Post Archivio n° 17

ruby, personale, blogosfera, web, ruby-it June 4, 2007 6:06 pm (Save post)

Sono in quel momento dell’anno un cui decido che diventerò una persona migliore.

Studiare qualcosa di completamente ignoto, andare a trovare i parenti, telefonare a amici che non sento da un sacco di tempo, fare attività fisica, scrivere codice che serva minimamente a qualcosa/qualcuno, ripulire l’hard disk, farmi la barba con regolarità, fumare di meno.

Ergo sono stremato, mi limito a buttare qua qualche link nella peggiore tradizione dei link dump di del.icio.us, scusate, ma ricordate che l’archivio serve più a me che a voi.

  • il più bel captcha di sempre
  • federico, 1: convertitore pdf -> ipod
  • federico, 2: doubtr.com, gli amici che ti danno consigli, 2.0
  • giovanni, 1: se siete giocatori apprezzerete questo blog che aggrega video sul poker. Ricordate che il vero giocatore non ricorda mai quando perde.
  • io che smanetto per aggiungere le Atom Thread Extension a mephisto, il che mi ricorda che non ci sono ancora notizie se la mia patch sia accettata, ritenuta inutile, o se quantomeno integrino i miei test che cavolo sono migliori di quelli esistenti e almeno passano. La commit bit anarchy è l’unica soluzione per lo sviluppo open source, son sempre più convinto.
  • nel frattempo mi hanno reddit’ato. Risultato: un migliaio di visite in più del normale. Nota interessante: >60% dei client sono firefox, 15% IE (più 7 che 6).
  • venerdì incontro rubyista. Siccome l’ambiente stavolta è casalingo magari fate un fischio in anticipo.
  • e mercoledì 6 giugno ci state per una seratina a roma tra nerd^Wgeek^Wtecnici^Wblogger^Wgente che vuole stare insieme? Dobbiamo solo berci qualche birra e fare due chiacchiere potenzialmente informatiche. Lo so, sarà difficile, senza neanche chiamarlo \w+camp, aprire un wiki o un blog sull’argomento, scroccare da mangiare da San Lorenzo o stampare magliette, ma ci proviamo.
Blogbabel, Autorità & algoritmo del pagerank

programmazione, win, blogosfera May 31, 2007 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.

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