Skip to Content

Claudio Cicali – Web Developer and Solution Architect

Articoli

Ultimi miei 3 articoli su Edit di HTML.it

Flash Player 11 beta 64bit for Linux

A couple of days ago, Adobe has released the 64bit version of their Flash Player 11 (beta). There is also a Linux version. Here is how I installed it in Firefox:

  • First, check your current player version: open about:plugins with your browser and search for Shockwave Flash
  • Download the package and extract libflashplayer.so (this is the only file you really need)
  • Close your browser(s)
  • Open a terminal and go to ~/.mozilla/plugins. There should already be a libflashplayer.so file in there. As a backup, rename it to something like libflashplayer.so.theversionyougotpreviously
  • Copy here the libflashplayer.so extracted from the downloaded package

You are now good to go.


Using Selenium with Firefox 4

Warning: this post will soon be deprecated, once the Selenium IDE “stable” version will be upgraded to work with Firefox 4.
In the meanwhile, if you need to use/try Selenium IDE with the latest and greatest version of Firefox (just released) you should make these steps:

  • Go to the Selenium IDE tests integration page
  • If the build is GREEN you can safely – I suppose – install the xpi, else you should stop here
  • Click on the “Artifacts” tab
  • Just download the “Selenium IDE Official XPI
  • Uncompress the package somewhere
  • See the “selenium-ide.xpi” file? Good! Then open it (like in File => Open file) from Firefox4
  • In the Tools menu you now should have the “Selenium IDE” entry

You should be gold now. Happy testing :)

HTH


How to export your friendfeed stream (posts and comments)

I just wrote a script to easily download your FULL friendfeed stream. I mean: every post with comments, likes and even images and/or files. Enough for the good news: the bad news is that this a PHP command line script and you have to know how to run it. On a recent  OSX or Linux environment you should be ready to go. For Windows-ers it could be a little more difficult. Sorry.

Anyway, here is the features list:

  • can fetch a private stream, giving your remote key
  • locally downloads images and files (detects already downloaded things)
  • upon subsequent runs, it tries to get only the newly added posts
  • the output file is JSON
  • it scales well!
  • it’s free software (MIT license)

Download the scripts from Github (the link points to the project page, where you can read the README too. In this case you’re interested to the ffexp.php script).

You then may run it like:

php ffexp.php somefilename.json

As you may infer from the output file extension, the output is plain good JSON. This format is very handy for whatever thing you may need to do with the export file. But this is up to you (or your programmer friend).

As an example of JSON postprocessor I also wrote a converter that given your export file will render a fully functional HTML file, looking just like a Friendfeed page. It also automatically embeds the necessary JavaScript, CSS and even icon images. Download the ffexp2html from Github, open it, read the fine documentation and run it like:

php ffexp2html.php somefilename.json > somefilename.html

Now you can open the somefile.html file with your browser (no internet connection needed). You may find a generated output here.

Limits? Yes there are:

  • No download of your DMs (don’t know exactly why, maybe a limit of the API. But I don’t care)
  • You can download even entire rooms (just use the room name as the username), but it seems that there is a limit of how back you can go. Very high, but it exists.

Dichiaro definitivamente morto il Web 2.0

Courtesy of ycc2106

Qualcuno lo doveva pur fare, e me ne assumo io l’incarico e la responsabilità: da settembre parlare di web 2.0 sarà da considerarsi fuori moda o, addirittura, proprio sbagliato. Dichiariamo una buona volta la fine del periodo “2.0″ e guardiamo avanti.

Il web 2.0 ha determinato un periodo che, semplificando, potremmo fare iniziare dalla fine del 2003, inizio 2004. Inizio del “web sociale”, i primi social network, le folksonomie, la presa di coscienza del significato di ”contenuto generato dagli utenti” (che di per sé è stata la vera “killer application” di questo movimento), gli strumenti fighissimi come Ajax (battezzato ”ufficialmente” un pochino più tardi), Flickr, Gmail, gli effetti specchio, i bottoni e le scritte grandi e plasticose – eccetera.

Ma soprattutto il web 2.0 ha significato una cosa ben precisa: cambiamento, sviluppo, novità.

Tuttora rimane e rimarrà il detto “non sei 2.0″, “la tua azienda non è 2.0″ e via dileggiando, proprio per dire che sei vecchio, che non ti adegui al cambiamento, che usi paradigmi e fraseggio della (very) old economy. Che sei un web matusa.

Ma adesso il cambiamento c’è stato, il cambiamento si deve sedimentare. Il web 2.0 è stata una seconda, grossa adolescenza brufolosa, fatta di esperimenti (quante idee e quanti siti che sono nati e poi dimenticati alla velocità di un doppio click), tentativi di business senza speranze, acquisizioni un po’ alla cieca…, sempre con il fantasma della bolla 2.0 ad esalare fetenti miasmi dietro le spalle dei potenziali investitori.

Errori più o meno grossi che però alla fine hanno fatto il loro mestiere e la faccenda si è un po’ assestata.

Non voglio dire che tutti i giochi siano fatti, ci mancherebbe. Però i trend adesso sono definiti piuttosto bene… chi vuol fare business con il web adesso ha (deve avere!) le idee un po’ più chiare… gli esperti di comunicazione sono più sgamati, conoscono meglio le dinamiche della diffusione dei contenuti a medio o breve termine, i tecnici hanno una pletora di esempi da cui attingere per la progettazione di soluzioni più o meno complesse, senza contare la maturità raggiunta da tanti strumenti che sono diventanti punti di riferimento e non più esperimenti speriamo-che-me-la-cavo per giovani entusiasti (vari framework, librerie, etc.).

Ci sono entità che sono diventate (definitivamente?) dei pilastri ingombranti del web, nel bene o nel male, che piaccia o meno (parlo ovviamente di Facebook e di Twitter); qualsiasi nuova idea, qualsiasi nuova ipotesi, deve farci i conti. I progetti “one man” – un portatile, tanta passione e un po’ di fortuna – non hanno assolutamente più le stesse chance di successo che avevano nel 2005. Forse potranno riaverle, queste chance, ma solo dopo o durante un altro cambio epocale di strumenti (ne parlo nell’ultimo paragrafo).

Non abbiamo più bisogno di scrivere gli importi in LIRE, e dunque non abbiamo più bisogno di scrivere “2.0″ da qualche parte, per far capire cosa intendiamo. Il “web 2.0″ è il web che abbiamo adesso, e non è più “cambiamento”; è qui così, e ci rimarrà per tanto tempo.

Le grosse novità all’orizzonte sono, al momento, squisitamente tecniche (e secondo me gli Web Socket saranno lo strumento che, una volta supportato pienamente, potrà creare davvero un altro movimento “web X”), mentre per quanto riguarda media, business e advertising la sfida è (ripeto: al momento) solo di carattere “adattivo”, per resistere all’onda lunga del web 2.0 e magari diventare sostenibilmente profittevoli.


Google acquisisce Metaweb e Freebase. Dunque?

La domanda è retorica, ovviamente, anche perché una risposta precisa non ce l’ho (nessuno ce  l’ha).

Si è fatto tanto parlare in questi giorni di questa faccenda, ovvero del fatto che Google si sia comprata una delle maggiori e più innovative aziende che fanno business con il famoso, mai troppo compreso web semantico.

Recentemente, per conto di un progettino di cui mi sto occupando, ho cercato di capire un po’ meglio chi siano e cosa fanno questi di Metaweb. Sono rimasto abbastanza impressionato, ma avrei desiderato un qualcosa di più. In questo articolo cercherò di mettere in chiaro quello che ho capito e quali potrebbero essere i risvolti per Google e anche in che modo Freebase e Metaweb possono già essere utili a tutti noi (e lo sono già da un po’, a dire il vero).

Prima di tutto, chi sono e cosa fanno? Freebase e Metaweb sono due entità distinte, accomunate dalle persone che le gestiscono: la prima, che si definisce un social database, offre un enorme repository organizzato e maniacalmente categorizzato di entità (immaginate una entità come fosse “Harry potter” o “Steve Mc Queen” o l’”iPhone4″ o “La regina d’inghilterra”). Al momento sono catalogate 12 milioni di queste entità. Il secondo – Metaweb – cerca di fare business utilizzando come base dati il repository di Freebase implementando, per esempio, algoritmi di correlazione tra queste entità.

Dove sta la “ricchezza” di Freebase? Freebase non è un database qualunque, non è un semplice elenco di robe suddiviso per categorie. Ha diverse caratteristiche molto interessanti e peculiari (oltre alla sue notevoli dimensioni).

  • ogni entità è definita primariamente dal suo tipo (raggruppati poi in domini), come ad esempio “Persona”, “Persona morta”, “Imbarcazione”, “Libro” – si noti che esiste anche il concetto di eredità tra tipologie, in quanto una “Persona morta” è comunque una “Persona” – , e da un set di proprietà o attributi che la definiscono, come “lunghezza”, “numero di posti”, “colore”, eccetera. L’insieme di questi attributi costituisce lo schema di ogni tipo e, come si può, intuire, esistono decine di diversi schemi contenenti le singole precise caratteristiche di ogni entità. In altri termini, lo schema altro non è che l’ontologia del type dell’entità.
  • questa categorizzazione e alimentazione dei dati è fatto sia dal team di Freebase che dalla sua comunità. Un po’ come Wikipedia, chiunque può aggiungere schemi, tipi o alimentare la base dati di schemi di entità già presenti.
  • tutti i dati dentro Freebase sono utilizzabili secondo le licenze Creative Commons (versione 3.0).

Dunque c’è uno sforzo enorme dietro Freebase: uno sforzo concettuale (la creazione degli schemi), uno sforzo manuale (il recupero, l’alimentazione e l’aggiornamento delle basi dati) e un sforzo iniziale derivato dalla costruzione e dalla messa in opera di un meccanismo siffatto che fosse al contempo rigoroso e scalabile. La difficoltà di creare e mantenere un sistema del genere si intuisce anche leggendo le pagine relative al capitolo Challenges del wiki di freebase (vi si accede dalla home page).

L’accesso a questa enorme base dati è permesso attraverso tecniche all’avanguardia: non solo un set di API che ritornano JSON e JSONP, ma anche un vero e proprio linguaggio per l’interrogazione degli stessi, il MQL. E come se non bastasse si sono inventati pure ACRE, un sistema per scrivere direttamente (dal sito stesso, ebbene sì), e ospitare piccole applicazioni verticali che possono sfruttare direttamente l’intera base dati.

Una delle attività più importanti fatta da Freebase all’interno della sua base dati è relativa a:

  • accorgersi che due entità con lo stesso nome siano in effetti due entità distinte (Henry Ford l’industriale e Henry Ford il giocatore di baseball)
  • accorgersi che “presidente del consiglio italiano” e “silvio berlusconi” siano OGGI la stessa entità (per questo si fa uso di un tipo di proprietà che si chiama CVT), oppure risolvere tutti i problemi relativi agli acronimi e nomi simili; nel video introduttivo, sul sito di Metaweb, è il caso del termine Boston.

Tutto molto bello e potente, condito da un sito web moderno ed efficiente (sebbene non intuitivissimo da usare, se non sai esattamente quello che cerchi. Forse un poco ancora troppo “accademico”).

È dunque questo il famoso web semantico? No, affatto. Freebase è solo un maestoso strumento che mi può aiutare a fare applicazioni e siti che – loro sì – potranno creare il web semantico. Il fatto che all’interno dell’entità relativa a Tom Hanks sia presente la sua pagina di Wikipedia e il suo account Twitter non serve a niente, se non ho qualcosa che mi esponga in superficie questa informazione e, soprattutto, la metta in correlazione con altre informazioni (magari di tipo diverso). Fare browsing all’interno della base dati di Freebase è un po’ come fare browsing nel CD di Encarta (passatemi il paragone ai limiti dell’offensivo).

Ci vuole dunque qualcuno che prenda questa informazioni e ci faccia qualcosa di utile.

Questo è il mestiere di Metaweb. Di massima offre i seguenti servizi:

  • consulenze per integrare le ricerche in Freebase all’interno del dominio di informazioni del cliente (es: in una testata giornalistica) o per collegare i “topic” del cliente ai “topic” di Freebase (se il cliente gestisce i film, avrà sicuramente già una propria catalogazione degli stessi, che deve essere mappata sulla catalogazione di Freebase)
  • offrire un sistema di correlazione tra le entità (non ho trovato traccia neanche di esempi, sul sito. Immagino si tratti di tecnologia proprietaria)
  • offre due strumenti utilizzabili da tutti, gratuitamente: un sistema sofisticato di autocomplete ajax sulla base dati Freebase (utile anche per offrire un sistema di tagging molto intelligente), e un plugin per WordPress (e altre piattaforme di blogging) per inserire dei “flayout” contenenti informazioni addizionali e integrative relativamente a ciò che vogliamo (es: dell’azienda o del personaggio di cui stiamo parlando). I dati vengono prelevati un po’ dappertutto, non solo da Freebase, e sono presenti anche dati molto recenti come le news headlines. Potete provare questo sistema dalla pagina dei topicblock.

Cosa se ne può fare Google, dunque, di questo sistema?

Prima di tutto potrebbe riprendere un po’ di terreno rispetto a Bing, visto che se non ho capito male la Microsoft un paio di anni fa aveva acquistato un’azienda con skill simili (Powerset) e ne sta già usando la tecnologia per fornire risposte più sensate alle query sul suo motore di ricerca.

Poi sappiamo tutti, ormai è lampante, che con la quantità e la tipologia di fonti di informazioni che ci sono oggi, la semplice ricerca testuale non basta più. Occorre investire in strumenti semantici, davvero, che capiscano il contesto e che magari si adattino al mio personale pattern di ricerca. Chissà.

L’importante, ma questo è stato apertamente dichiarato, è che Freebase rimanga free.

Se siete interessati all’argomento, vi consiglio caldamente la visione del simpaticissimo video in home page del sito Metaweb.


I contenuti di questo sito sono distribuiti con una licenza Creative Commons 2.5 eccetto dove diversamente specificato. Tema WordPress sviluppato da Claudio Cicali; icone del set famfamfam silk e komodomedia. P.IVA: 01712500501

© 2005-2012
Claudio Cicali