mercoledì 14 novembre 2012

I motori di ricerca imparano a leggere

Rich SnippetsVi siete mai chiesti, cercando qualche cosa su Google, come mai nella ricerca c’era la foto dell’autore vicino all’articolo oppure come mai era evidenziato un evento? E sopratutto vi siete mai chiesti come faceva Google a tirare fuori questi dati dalle pagine che indicizzava?

Una volta un motore di ricerca, come il glorioso Altavista, o lo sfortunato Yahoo indicizzavano il testo di un sito. Lo visitavano, ne analizzavano il contenuto e con un algoritmo più o meno complesso lo archiviava nella propria memoria permettendoci, attraverso delle ricerche più o meno articolate, di trovare quello che cercavamo.

In seguito è arrivato Google che con i suoi algoritmi ci ha sbalordito sempre di più. Oggi siamo arrivati ad un grado di intelligenza dei crawler (cosi si chiamano i programmi dei motori di ricerca che indicizzano il cyberspazio) da far paura.

Oggi i motori di ricerca fanno un indicizzazione semantica dei siti. Il nostro sito non viene indicizzato in maniera sterile per il contenuto testuale che esso contiene. Viene analizzato dal software del motore di ricerca ogni elemento della pagina, dalle foto ai colori utilizzati, per cercare di dare un significato ad ogni parola presente sulla nostra pagina. Ed in base al significato che il motore di ricerca assegna queste parole, riesce ad indicizzare in maniera sempre più precisa il nostro sito web.

Qualche anno fà un motore di ricerca non faceva molta distinzione tra il sito di Fabio Carta e quello di una cartiera, perchè per lui la parola carta aveva sempre lo stesso significato a prescindere dal contesto che la conteneva. Oggi riescono oltre a distinguere il contesto, riescono a capire anche noi quale “carta” cerchiamo. Però non sempre è farina del loro sacco.

Di recente si sta sviluppando una tecnologia che si chiama “rich snippet” con la quale vengono taggati i dati. In pratica questa tecnologia permette di taggare il testo che stiamo scrivendo. Al contrario dell’HTML che tagga il testo per formattarlo graficamente,  il “rich snippet” tagga il testo per strutturarlo e dargli un significato.

Il “rich snippet” ci permette di dire al motore di ricerca che il testo che stiamo scrivendo descrive un prodotto che stiamo vendendo, pittosto che un evento a cui vogliamo invitare delle persone. Che una determinata stringa è il nome dell’autore di un articolo pittosto che un numero di telefono.

I tag “rich snippet” si integrano con quelli HTML, anzi per la verità sono delle proprietà che si assegnano all’HTML in modo da essere trasparenti ai browser. Questo però ci permette di creare facilmente due pagine web con lo stesso codice, una per i nostri visitatori umani ed una per i visitatori elettronici che hanno bisogno di un aiutino per capire che cosa hanno sotto mano.

Anche se è nata come semplice estensione per aggraziare la rappresentazione che Google fà del nostro sito nelle sue ricerche, secondo me è una tecnologia potentissima per la strutturazione “semantica” del testo e che può riservarci delle belle sorprese in futuro.

Per ulteriori informazioni provate su Google oppure su schema.org.

I motori di ricerca imparano a leggere

lunedì 23 luglio 2012

Now we can't cry anymore

Nowadays, when I watch the TV news, I became very sad. The european unione as we has known are dying.

While all things was going fine, the theater of Bruxelles has shown the United Europe’s comedy. But when something was started to go bad, the european istitutions has put their head under the sand. And today they are continuing to hide the truth to they self.

I wish to think that the economic crisis is too big to manage, that our politicians are unable to resolve it because they need the help of USA, China, Russia and other country of G8. But I am too old to belive to tales and I have to believe that interests of single european countries prevail on the continental interests.

Who are reading me could think that I am not freely thinking because I am italian. But I can reply that I agree that we italians have most of the guilt of crisis in my country. But I think also that if we european don’t give an hand to our self then the dead of European Union is right.If the french had not give their support to the english colonies, the United States of America would never born.

It’s very stupid to continue to make silent war to our self on milk quotas, on DOC trademarks and other things that are limited for the common good. It’s more coherent remain a single country and continue the battle leaving to the market to choice.

I don’t know what could happen in the future, but I think that today the European Union have to choice. Or will born the United States of Europe with a heavy integration of all european countries or we have to came back to the single countries. We can’t wait anymore because the markets are deciding for us.

I also ask to our italian politics to leave their chairs and leave to the new generations to decide our future. Berlusconi remain to home with your girls. Bersani go to growth your nephews. Casini, Vendola, Di Pietro and others friends, please leave us to breathe fresh air. Maybe that without you the agency give us the right rating.

Now we can't cry anymore

mercoledì 13 giugno 2012

La guerra di secessione europea

La crisi economico-finanziaria di qeusti anni, sta mettendo a dura prova la solidità dell’Europa.

Ormai la Grecia è data per spacciata, la Spagna inizia a scricchiolare anche lei. Sull’orlo del baratro si affacciano anche Irlanda e Portogallo.

E mentre in pubblico si fanno apprezzamenti e congratulazioni sull’operato dell’Italia per uscire dalla crisi, nel mondo della finanza il nostro paese sta per diventare la prossima preda da sbranare.

La causa di questo cancro è sempre la stessa, la speculazione finanziaria che sta facendo arricchire pochi soggetti ben nascosti all’opinione pubblica, e che contemporaneamente condanna alla povertà migliaia di persone.

Basterebbero poche regole a livello globale, come quello di differenziare di nuovo tra banche di investimento e banche di risparmio, togliendo cosi risorse a quegli uomini senza scrupoli che nascosti dietro ai loro schermi pieni di numeri, decidono il destino del mondo. Ma il tumore della speculazione ormai ha metastasi in ogni centro di potere.

Per l’Unione Europea, la strada per uscire da questa brutta situazione è stata indicata dalla cancelliera tedesca. La strada da seguire sarebbe quella di compiere un salto epocale, federando tutti gli stati europei e trasformando il continente in una potente nazione. Ovviamente nessuno stato europeo è disposto a perdere la propria indentità.

Ma dietro a questo egoismo di facciata e mia opinione che si stia combattendo una guerra molto più sottile e subdola. Io penso che ci sia un disegno che miri a creare due Erope. La prima forte, industrializzata e con un economia fiorente. La seconda debole e asservita alla prima. Praticamente una guerra di secessione. Ma come in quella americana, sarà il nord a vincerla ed al sud non rimarrà che capitolare.

Non è la prima volta che si parla di europa a dua velocità, di seria A e di serie B, ma è la prima volta che ci sono i presupposti per crearla.

Il sistema sarebbe semplice, ed è già in atto. I paesi deboli hanno un alto debito pubblico, questo debito è in mano ai sistemi bancari nazionali. I sistemi bancari sono supportati dalla BCE che presta il denaro. Ad un certo punto le banche vengono assaltate, come è successo lunedi scorso a Milano dove i titoli bancari sono crollati anche dell’8 per cento. A questo punto le banche sul baratro vengono acquistate per quattro soldi da chi in mano ha anche derivati CDS. A quel punto mettere all’angolo un paese ci vuole poco, basta attendere che vengano messi all’incasso le obbligazioni sovrane ed il paese preso di mira è in default. A quel punto inizia il mio primo guadagno, in seguito avendo ancora in mano il debito vero è proprio della mia preda, posso deciderne il destino ed imporre legge. A quel punto i paesi forti dell’euro si trovano a spartirsi il loro bottino avendoci anche guadagnato sopra.

Ma vale la pena buttare tanto lavoro fatto per cercare di unificare l’europa? non sarebbe più conveniente per tutti pensare sul lungo periodo e fondarli sti stati uniti d’Europa?

Almeno inizieremmo a controllare finalmente il mondo, dagli USA alla Cina detteremmo noi legge.

Putroppo l’uomo e stupido e se non si da una mossa gli scenari che si presentano non sono tanto rosei, ne per gli europei, ne per gli altri.

Speriamo bene

La guerra di secessione europea

domenica 22 aprile 2012

RAID su linux con mdadm

Su linux è possibile implementare una configurazione RAID dei dischi, anche complessa, sfruttando direttamente il kernel di questo sistema operativo. Nel kernel linux infatti è implementato tutto quel che server per tirare su un sistema RAID nelle configurazioni 0,1,5 e 6 più qualche altra. Il bello è che è possibile gestire queste configurazioni, sia col kernel direttamente, sia con la funzionalità LVM (Logical Volume Manager).
Nelle moderne distribuzioni il lavoro sporco viene fatto dalla procedura di installazione, che attraverso delle procedure guidate, permette di configurare i dischi con quasi tutte le configurazioni RAID permesse da linux.
Prima di iniziare dobbiamo capire l’uso che verrà fatto del filesystem che verrà caricato sul nostro RAID. Se sul nostro filesystem verrà usato come filesystem generico o per condividere file o ancora come archivio per un web server, useremo dei chunk (dimensione sel settore RAID) piccoli, 32 o 64 kibibyte (unità di misura dei settori RAID in linux), in modo da limitare lo spreco di memoria. Se il nostro filesystem verrà usato da un database engine, allora useremo un chunk più grande, tipo 128 kibibyte in modo da privilegiare la velocità di trasferimento.
Faccio una nota importante per chi voglia usare il RAID 5 sul root filesystem. Con questa configurazione RAID non è possibile effettuare il boot del kernel di linux. In questo caso vi consiglio di creare un piccolo filesystem in RAID 1, su cui montare la cartella boot del vostro filesystem, cosi che tutti i file necessari all’avvio del vostro sistema risiederanno sul RAID 1. Una volta che il kernel si è avviato, monterà senza problemi il root file system e procederà col boot.
Per chi volesse invece smanettare con il prompt dei comandi, riporto di seguito una breve analisi dell’utility mdadm.
Mdadm ha diverse modalità operative, la prima si accede usando il parametro –create, e consente la creazione di una nuova unità logica raid. Da qui si possono impostare il livello RAID da utilizzare, la dimensione dei chunk, il numero di unità attive nell’unità logica, quelle di riserva, etc.
La seconda modalità operativa è accessibile usando il parametro –assemble, e permette di assemblare a mano unità precedentemente create. Questo è molto utile se avete dimenticato di impostare il tipo di partizione usata per creare l’unità logica, a “FD – Linux RAID auto”
La terza modalità operativa è accessibile usando il parametro –build. Questa modalità operativa è molto simile alla prima. La differenza tra le due e che in questo caso non viene creato un nuovo superblock.
La quarta modalità operativa è accessibile usando il parametro –manage, è permette di manutenere il RAID, aggiungere unità a disco, togliere, mettere in FAIL un elemento dell’array o cancellare del tutto l’unità logica.
Altre modalità operative permettono la modifica di parametri più o meno vitali dell’unità RAID, quindi a meno che non sappiate quello che state facendo e meglio evitare di usarle, in particolare –grow per modificare le dimensione dell’unità logica.
C’è anche una modalità per il monitoring dell’array che notifica in caso di problema con una e-mail.
Non volevo essere esaustivo sul argomento e vi rimando al manuale di mdadm per ulteriori dettagli, ma spero di aver chiarito le idee a chi si volesse cimentare nella creazione di unità RAID sfruttando il kernel del nostro Linux.
JCON

domenica 26 febbraio 2012

RAID

La tecnologia RAID fu inventata alla fine degli anni settanta, come filosofia con cui approcciare i problemi di affidabilità dei sistemi di storage dell’epoca.
Nella metà degli anni ottanta, fu data una definizione standard al 3edundant Array of Inexpensive Disk, RAID appunto, e ne furono definite delle configurazioni tipo chiamate livelli.
Di base un sistema RAID, aumentava la sua affidabilità sfuttando il concetto di ridondanza dei dati. Cosa ben diversa dai backup, di cui il RAID non è assolutamente un sostituto.
La convinzione era che un array di dischi economici, era molto più affidabile, di un unico disco costoso a parità di capacità di archiviazione. Questa convinzione era supportata dal fatto che all”epoca, il divario di prezzo tra dischi affidabili e dischi commerciali era enorme.
Oggi un sistema RAID viene implementato anche per avere storage prestanti oltre che affidabili. Anche perché mediamente il livello di affidabilità dei dischi rigidi e lo stesso.
Un sistema RAID può essere implementato sia con driver software, come ad esempio linux nel cui kernel implementa le funzionalità RAID in maniera nativa, sia con controller hardware più o meno avanzati.
Le configurazioni RAID si possono dividere un 4 categorie:
  • configurazioni per l’aumento delle prestazioni;
  • configurazioni per l’aumento dell’affidabilità con mirroring;
  • configurazioni per l’aumento dell’affidabilità con parità
  • configurazioni miste.
Nella categoria delle configurazioni per l’aumento delle prestazioni troviamo la configurazione 0. La configurazione RAID 0 distribuisce i dati su più dischi, senza preoccuparsi dell’affidabilità. Tranne che nei casi in cui servano veramente prestazioni elevate e sconsigliabile l’uso di questa configurazione perchè oltre a alzare la probabilità di guasto, la rottura di anche un solo disco rende inutilizzabile l’intero array.
Un sensibile aumento dell’affidabilità si ha con il RAID 2 che è in pratica un RAID 0, in cui i dati vengono divisi a livello di bit tra più dischi invece di dividerli a livello di blocchi (o stripe), come nel RAID 0, ad aggiunge un sistema di controllo e correzione di errore che permette di recuperare in alcuni casi l’informazione anche con un disco rotto.
Il RAID 1 invece e la più semplice configurazione con aumento di affidabilità da realizzare, e consiste nel tenere nello scrivere gli stessi dati su più dischi. In pratica si hanno due o più dischi che sono uno la copia speculare dell’altro. In questo modo fino a che rimane in vita almeno un disco dell’array, i dati sono fruibili. Inoltre in lettura, visto che i dati possono essere letti in parallelo su più dischi, è possibile avere un significativo aumento delle prestazioni. Il rovescio della medaglia è lo spazio di archiviazione che è pari alla dimensione del disco più piccolo che fà parte dell’array.
Dal RAID 3 in su abbiamo invece le configurazioni per l’aumento di affidabilità con l’uso della parità.
In pratica i dati vengono divisi in byte (RAID 3) o blocchi (RAID 4, 5 e 6) e ripartiti con su più dischi. Nel caso dei RAID 3 e 4, uno dei dischi è dedicato alla parità, mentre nel caso dei RAID 5 e 6 la parità e distribuita fra tutti i dischi.
Nella pratica i RAID 3 e 4 non vengono più utilizzati da tempo, a causa dei limiti di prestazione, che introducono le loro metodologie di funzionamento. Il RAID 5 invece è un buon compromesso di affidabilità e prestazioni. Lo spazio disponibile per i dati è pari ai 2/3 della dimensione dell’array e il funzionamento è garantito anche in caso di rottura di un disco. Il RAID 6 introduce la doppia ridondanza dei dati, riducendo a 3/5 lo spazio per i dati utente, ma garantendo il funzionamento dell’array anche in caso di cedimento di due dischi.
Infine abbiamo le configurazioni miste, per lo più configurazioni RAID 0+1 o molto più frequentemente 1+0 nei sistemi di storage per database ad alte prestazioni.
Qualunque che sia la configurazione, va progettata con attenzione e calata nella realtà del sistema che dovrà utilizzarlo.
Come già menzionato, nei sistemi con esigenze di prestazioni, come uno storage per DB, la scelta va su una configurazione RAID 1, dove la possibilità di letture parallele da più dischi consente un sensibile aumento dello spazio, mentre dove è necessario lo spazio di archiviazione e ci sono poche letture, come ad esempio su di un file server, i RAID 5 o 6 sono più indicati.
Molto dipende anche dal controller utilizzato. Un controller performante permette di compensare carenze di prestazioni del sottosistema disco. Infine magari è meglio avere configurazioni in RAID 5 con uno o più dischi in hot standby, pittosto che avere un sistema RAID 6 molto meno performante del RAID 5  a causa della doppia parità.

venerdì 20 gennaio 2012

Giallo Concordia

Da una settimana ormai, i media di tutto il mondo, ed in particolare quelli italiani, sono monopolizzati dalle immagini del naufragio della costa concordia.
In questa vicenda putroppo ci sono fino ad ora 11 vittime accertate, ma ci sono anche delle persone che la stampa italiana ha definito eroi.
Quello che mi colpisce e la solita superficialità con la quale noi italiani affrontiamo notizie del genere. In due minuti abbiamo già identificato i buoni ed i cattivi della vicenda.
A circa una settimana dall’incidente abbiamo il cattivo, una specie di capitano Kirk a cui le cose sono andate male. Abbiamo una povera società che per colpa di un inetto sta avendo gravi conseguenze economiche. Abbiamo un comandante della marina senza macchia e senza paura che sembra uscito dal più classico dei film americani. Di fatti concreti resta pero solo che la nave si è schiantata su di uno scoglio.
Non so a voi, ma a me questa vicenda crea una grossa inquetudine.
Iniziamo dal comandante Schettino, che in questi giorni è diventato l’emblema della codardia. Io penso invece che l’unica colpa del capitano sia stata quella di avere paura. Certo un capitano di una nave del genere non dovrebbe solo superare esami di idoneità tecnica, ma anche di idoneità piscologica al comando. Parliamo sempre di una nave di 120 mila tonnellate.
E’ qui nasce secondo me la responsabilità della Costa, il cui comportamento mi sembra molto ambiguo. Perchè la compagnia, che è informata dei fatti quasi in tempo reale, non redarguisce il capitano sui suoi doveri? Perchè nega l’uso della pratica della navigazione sotto costa, che in passato ha anche osannato? Perchè non ha sollevato dal comando il comandane Schettino quando ha avuto evidenza dell’incapacità di quest’ultimo a gestire l’emergenza?
Infine il terzo soggetto che secondo me ha delle responsabilità e la stessa capitaneria di porto e vi spiego perchè. Girando su Internet, ho scoperto che esiste un sistema che si chiama AIS, peraltro obbligatorio su tutte le grandi navi, che informa in tempo reale i parametri di navigazione di una nave (posizione, velocità, rotta, etc.) alle capitanerie ed alle altre navi. Ho trovato anche un sito Internet su cui è possibile consultare queste informazioni in tempo reale. Se su Internet c’è un sito pubblico dalla quale posso dedurre se una nave nel mondo ha deciso di schiantarsi su degli scogli, immagina cosa debba avere la capitaneria di porto! E se la legge vieta la navigazione sotto costa, mi domando io, ma il comandante De Falco e company, con sto popò di strumentazione, che cosa stava facendo quando Schettino ha deciso di fare lo “sborone” con la pischella moldava?
Ovviamente a queste domande non avrò mai risposta, perchè la magistratura e troppo impegnata a rilasciare interviste ed a litigare sul fatto che Schettino debba andare in cella invece di stari ai domiciliari.
Ciliegina sulla torta è la dichiarazione del ministro Clini, che ha garantito che entro la settimana prossima verrà approvato nel Consiglio dei Ministri, un decreto per vietare la navigazione sotto costa. Scusi Onorevole Sig. Prof. Ministro, ma la legge non c’era già? A questo punto faccia approvare un decreto in cui si dice che la legge deve essere rispettata? Questo si che sarebbe un bel passo in avanti in Italia. E poi ci lamentiamo che la Merkel e il Sarkozy ci tirano i coppetielli.
L’unico a rimetterci le penne sarà il povero Schettino, perchè in tutta questa facenda veramente è stato un pollo.