ESPLORANDO IL SOFTWARE CHE STA’ ALLA BASE DI FACEBOOK (I PARTE)

24 giugno 2010 Crismer Nessun commento

…traduzione dell’articolo “Exploring the software behind Facebook, the world’s largest site”..

La maggior parte degli approcci tradizionali di web server risultano impraticabili per Facebook che ormai per le sue dimensioni e caratteristiche necessità di ‘attenzione particoloare‘.
Gli ingegneri lavorano constantemente affinchè Facebook continui ad erogare ai suoi utenti un servizio veloce, fruibile e sicuro; e non è un’impresa facile dati i numeri che girano intorno a questo ormai famosissimo Social Network.

Prima di addentrarci in alcuni significativi dettagli vediamo quali sono questi numeri a dir poco incredibili:

  1. Facebook server 570 milioni di pagine viste ogni mese
  2. Ci sono un quantitativo di foto su Facebook il cui totale supera tutti i siti di raccolta foto come Filckr..
  3. Più di 3 milioni di foto vengono caricate mensilmente.
  4. Il sistema di Facbook serve più di 1.2 milioni di foto al secondo. Questi dati non includono le immagini servite dal CDN di Facebook.
  5. Più di 25 milioni di contenuti (aggiornamenti, commenti ecc.) vengono condivisi ogni giorno.
  6. Facebook ha più di 30.000 server, e questo è un dato dell’anno scorso!


IL SOFTWARE CHE SOSTIENE FACEBOOK NEL SUO LAVORO

Nel corso del tempo Facebook è dovuto cambiare ed estendere le sue operazione e incorporare nel suo ‘motore’ sempre più elementi e servizi.
Facciamo alcuni esempi:

  • Facebook utilizza come linguaggio di programmazione il PHP, ma è stato necessario costruire un compilatore capace di introdurre codice nativo nel suo web
    server, così da migliorare le performance;
  • Facebook utilizza Linux come sistema operativo, ma è opportunamente ottimizzato per raggiungere i suoi target (sopratutto in termini di networking)
  • Facebook utilizza Mysql come data base server ma si avvale di ulteriori software per supportare le performance di accesso alle informazioni (in altre parole l’uso di Memcasched risulta fondamentale per rendere veloci gli accessi agli storage a milioni di utenti).

Ma passiamo ai dettagli e andiamo a presentare alcuni dei più importanti software di cui si avvale Facebook per fornire servizi sempre più veloci,
con prestazioni avanzate e tecnologici.

In questa prima parte parleremo di Memcached.

MEMCACHED

Memcashed (http://memcached.org/) è al momento uno dei più famosi software che supportano applicazioni web.
E’ in sostanza un sistema di memory cashing distribuito del quale Facebook, ma non solo lui, utilizza come cashing layer tra i web server e i Db server MySql
(questo per ovviare all’accesso al db che solitamente non è mai velocissimo).
Nel corso degli anni, Facebook ha fatto un sacco di ottimizzazioni per il software Memcasched come ad esempio ottimizzare il network stack solo per menzionarne uno.

Nella prossima puntata parleremo di HipHop per PHP e Haystack, BigPipe e Cassandra.

Google Image-swirl

17 dicembre 2009 Crismer Nessun commento

Google Image-swirl è un modo nuovo per ricercare immagini; questo è il nuovo progetto a cui un team di google stà  lavorando. Ecco come appare una ricerca tipica: supponiamo di ricercare software development life cycle … Ecco come appare:

software development life cycle

software development life cycle

Si tratta di una nuova modalità di raggruppare,  ma soprattutto di visualizzare cluster di immagini simili, rendendo molto più facile ed intuitiva la navigazione.

Ricordo che Goolgle ha già promosso e inserito nel suo Google Labs http://www.motoricerca.net/2009/10/29/google-similar-images-attivo/ proprio con l’obiettivo di migliorare la ricerca di immagini da parte degli utenti.

Ecco il link  http://image-swirl.googlelabs.com/.

Alla prossima novità di Google.

WUBI – L’installer di Ubuntu per windows

16 dicembre 2009 Crismer Nessun commento
Wubi - L'installer di Ubuntu per Windows

Wubi - L'installer di Ubuntu per Windows

Wubi è l’installer ufficiale di Ubunto per gli utenti windows i quali grazie a questo tool hanno la possibilità di installare questa distribuzione in modo semplice e guidata.
Grazie a questo software open è infatti possibile installare la distribuzione GNU/Linux Ubuntu da Windows come se fosse una qualsiasi applicazione.

Il problema che incontrano i neofiti

Per un utente che si avvicina a Linux la prima volta le modalità con cui installare un sistema possono essere poco chiare.
Un dubbio abbastanza comune riguarda la scelta di installare in multiboot, ovvero con la possibilità di scegliere il sistema operativo da avviare al momento del boot di sistema, oppure l’opportunità di dedicare un pc esclusivamente a Linux.
Il più delle volte gli utenti poco esperti preferiscono sacrificare un pc, magari il vecchio desktop, ed effettuare i propri esperimenti su tale macchina.
La preoccupazione comune nel realizzare un sistema multiboot è condivisibile, infatti, qualora qualche operazione di configurazione non dovesse andare a buon fine si potrebbe correre qualche rischio.
Nel migliore dei casi si perderebbe qualche ora, magari di sonno, cercando informazioni online sulle modalità di ripristino del bootloader; in condizioni peggiori, a fronte di errori gravi dell’utente stesso, si potrebbero anche perdere dei dati per un’erronea configurazione delle partizioni.

Il Tool
Wubi non modifica il sistema e non crea partizioni per ospitare il nuovo sistema operativo. Difatti tutto si basa su un disco virtuale creato all’interno dello stesso file system di Windows. Il resto dell’hardware non è emulato come in una virtual machine e questo permette ad esempio di poter usufruire di accelerazione 3D.

L’unica modifica apportata al sistema è un aggiornamento del bootloader in modo che all’avvio del PC l’utente possa scegliere se avviare Windows oppure Ubuntu; in pratica al bootloader originale fornito da Windows viene ad affiancarsi Grub come bootloader secondario.
L’installazione che si ottiene è un set-up di dual boot identico a quello di una installazione di Ubuntu da CD, con possibilità di salvare i cambiamenti, accedere ad i files di Windows, installare nuovo software ed aggiornare il sistema operativo.
La rimozione del sistema operativo è anch’essa facilitata, infatti avviene tramite il pannello di Installazione Applicazioni di Microsoft Windows come se fosse una normale applicazione.
Il programma è nato come un progetto indipendente guidato da Agostino Russo.  La prima versione è stata la 7.04; successivamente Wubi è stato incorporato in Ubuntu 8.04 diventando un installer ufficiale di Ubuntu.
I programmatori stanno lavorando ad un programma che permetta agli utenti di spostare una installazione di Wubi da disco virtuale ad una partizione dedicata.

Di seguito vediamo i principali vantaggi e (che non mancano mai) limitazioni o svantaggi nell’utilizzare questo software.

Vantaggi

  • Non richiede di masterizzare un CD. Wubi scarica automaticamente l’ISO file necessario. Tuttavia se un CD è disponibile, verrà rilevato automaticamente in fase di installazione.
  • Non modifica le partizioni del computer, non sostituisce il bootloader e non sovrascrive il MBR.
  • Può essere disinstallato come un normale applicativo dal pannello di controllo di Windows.
  • A differenza del live CD, il file system è accessibile in lettura e scrittura, quindi è possibile salvare i cambiamenti. Inoltre, utilizzando il disco rigido invece del CD, le operazioni di lettura risultano velocizzate.

Vantaggi rispetto ad una macchina virtuale…

Ci sono dei vantaggi anche rispetto all’utilizzo di una virtual machine, in quanto vi è pieno accesso a tutto l’hardware, quindi le prestazioni sono migliori ed è anche possibile usufruire del desktop 3D di Ubuntu, Compiz.

Limitazioni

  • L’attuale implementazione, benché estremamente comoda per un novizio, riduce leggermente le prestazioni di I/O e non permette di ibernare il PC. In particolare, poiché il disco virtuale risiede all’interno del file system di Windows, qualora quest’ultimo fosse eccessivamente frammentato le performance di Ubuntu ne risentirebbero.
  • Inoltre non è al momento disponibile in Linux un programma per effettuare la riparazione di NTFS. Qualora NTFS dovesse diventare corrotto (cosa che può capitare in seguito ad una perdita improvvisa dell’alimentazione), diventa necessario riavviare Windows ed utilizzare chkdsk prima di poter avviare nuovamente Ubuntu.
  • I programmi che permettono di allargare il disco virtuale o di migrare Wubi su partizione dedicata sono ancora in fase sperimentale.

Svantaggi rispetto ad una macchina virtuale…

  • Un VM può essere avviato all’interno di Windows mentre con Wubi si ottiene un menu di avvio in modalità dual boot (simile a quello di una installazione da CD), per cui è necessario riavviare il computer per poter selezionare il sistema operativo.
  • Un VM utilizza un hardware emulato che non presenta problemi di drivers, mentre Wubi utilizza l’hardware fisico, che è un metodo molto più efficiente ma che, per funzionare, ha bisogno che l’hardware stesso sia ben supportato da Ubuntu/Linux (il problema non è specifico di Wubi).

Avviando Ubuntu si dovrà effettuare il login con le credenziali scelte in Wubi e,  successivamente,  si potrà utilizzare il sistema o procedere a una configurazione personalizzata. L’installazione di default provvede già a montare le partizioni Microsoft Windows e tali risorse saranno accessibili direttamente dal desktop….

Per scaricare l’ultima versione aggiornata andate al sito ufficiale http://wubi-installer.org/

GOOGLE WAVE

5 dicembre 2009 Crismer Nessun commento

Google stupisce ancora e in questo breve articolo voglio presentarvi un ulteriore passo avanti che google compie con questo nuovo strumento.

Che cos’è Google Wave?

E’ un nuovo strumento di comunicazione on line e di collaborazione tra utenti. Con Wave è possibile conversare come si fa normalmente con altri strumenti come gtalk ma anche condividere in tempo reale documenti, foto, video ecc..
Con wave è possibile quindi conversare condividendo informazioni come itinerari, budget insomma ogni forma di documentazione tutto on line coinvolgendo chi si vuole.

Ecco alcune caratteristiche:

  • Gorup project
  • Photo Sharing
  • Meeting Notes
  • Brainstorming
  • Interactive Games

Di seguito un video di Anteprima:

Ecco il link del sito ufficiale:

http://wave.google.com/help/wave/closed.html

In esclusiva un ottimo video su Google Wave installato su Android:

Se avete ulteriori anteprime da condividere non esitate.
Alla prossma puntata. 8-)

Categorie:Internet Tag: , ,

GOOGLE INTRODUCE NUOVA INTERFACCIA

27 novembre 2009 Crismer Nessun commento

Sembra che da alcuni giorni il gigante di internet GOOGLE stia sperimentando un restyling completo della pagina principale e pochi sono i ‘fortunati’ a doverla testare.

Di seguito riporto alcune caratteristiche aggiornate:

  • L’opzione di ricerca accorpata in una serie di schede (tabbed).
  • Opzioni di ricerca che cambiano in base al tipo di ricerca ad esempio nei video si possono selezionare i risultati in base alla durata o alla qualità.
  • Nuova sezione che suggerisce termini di ricerca correlati

… e molto altro tutto mirato a fornire servizi sempre più utili e veloci.

Ma ora veniamo al bello dell’articolo; se avete voglia e siete curiosi potete anche voi provare la nuova interfacccia.

  1. Prima di iniziare assicuratevi di conoscere la procedura per ripulire i cookies del vostro browser
  2. Andate sul sito http://www.google.com/ncr che vi porta sul sito americano di Google.
  3. Copiate e incollate (su una singola riga) quanto segue nella casella dell’indirizzo del browser, senza anteporre http:// o altro:
  4. Premete invio
  5. Ritornate nuovamente al saeguente indirizzo web: http://www.google.com/ncr

copia e incolla
javascript:void(document.cookie=”PREF=ID=20b6e4c2f44943bb:
U=4bf292d46faad806:TM=1249677602:LM=1257919388:
S=odm0Ys-53ZueXfZG;path=/;domain=.google.com”);

Alcune screen:

L’interfaccia standard di Google in inglese USA:

startpage_current

E questo è quello che dovreste avere sullo schermo dopo aver eseguito le istruzioni:

start page - testAltre screen interessanti relative ai risultti di una possibile ricerca avviata…

searchresult

searchresult_due

Fate un pò di prove e cercate di utilizzare tutte le funzionalità nuove offerte dall’interfaccia.
Se volete tornare indietro cioè alla situazione di partenza ripristinando l’attuale layout occrre seguire questi piccoli passi:

  • cancellare i coockies direttametne dal vostro browser relativi a google e precisamente
    PREF ID=20b6e4c2f44943bb (a secondo del browser utilizzato seguite i menù adatti)
  • ricaricate la pagina così da fare un bel refresh.

Alla prossima.

Un particolare ringraziamento a Paolo Attivissimo dal cui ho tratto queste informazioni.
Fonte:
http://attivissimo.blogspot.com/

Categorie:Internet Tag: ,

L’origine del termine ‘SPAM’

3 novembre 2009 Crismer Nessun commento

Incredibile ma mi è successo veramente. Dopo tanti anni che lavoro in informatica ho scoperto solo oggi che il termine ’spam’, conosciuto da tutti coloro che posseggono una email e  messo in relazione all’uso della posta elettronica in realtà  il suo significato e sopratutto la sua origine è ben lontana dall’informatica.

SPAM è il nome di una nota carne in scatola che nel periodo della seconda guerra mondiale era l’unico prodotto commestibile che si trovava in abbondanza, ed era conservabile per lunghi periodi senza che andasse a male.

SPAM, la carne in scatola

SPAM, la carne in scatola

L’origine del termine SPAM  è dovuto ad uno sketch televisivo della serie “Monty Python’s Flying Circus” che fu trasmessa dalla BBC a fine anni 60 inizio anni 70.

In questo sketch si vedeva una coppia di anziani ad un ristorante, con accanto un tavolo di vichinghi, e la cameriera diceva i piatti del giorno, tutti a base di SPAM (la famosa carne in scatola di cui potete ammirare l’immagine sopra).
La donna non vuole assolutamente mangiare la spam, al che i vichinghi cominciano a cantare SPAM, SPAM, SPAM e il tutto è fomentato dal marito che invece ama la carne SPAM.

Da questo sketch comico ecco che si capisce come mai lo spam ha questo nome.
Qui di seguito potrete vedere lo sketch originale, che fà veramente ridere:

Vale sempre quindi il motto che recita: “nella vita c’è sempre da imparare, e la conoscenza non è mai raggiungibile”.

CodeProject

Categorie:Sicurezza Tag:

Legge 88/2009: nuove norme per gli spazi web

21 ottobre 2009 Crismer Nessun commento

Nuove normative sul web

Nuove normative sul web

Questa estate è stata introdotta una nuova normativa che equipara tutto ciò che è classigicabile come digitale alla carta.
Infatti da oggi tutti i dati che precedentemente erano obbligatori solo per i documenti cartacei , devono essere inseriti all’interno delle pagine del proprio sito web.
La norma si ispira alla normativa europea in particolare all’art. 42 della legge n. 88/2009 va a modificare l’art. 2250 del codice civile e obbliga tutte le società di capitali ad inserire all’interno del proprio sito web i seguenti dati:

  • Sede sociale;
  • Ufficio del registro delle imprese presso cui si è registrati e numero di registrazione (REA);
  • Il capitale sociale risultante dall’ultimo bilancio secondo la somma effettivamente versata;
  • L’eventuale stato di liquidazione della società;
  • Nel caso di Srl o di Spa, la presenza di un socio unico.

Ricordiamo che in precedenza le società di cui sopra proprietarie di uno spazio web avevano l’obbligo di presentare sul proprio sito esclusivamente la ‘ragione sociale’ e la ‘partita iva’.
Quindi esortiamo a tutti coloro che non l’avessero ancora fatto a verificare e adeguarsi alla norma dato che è entrata in vigore il 29 luglio 2009 e che, cosa più importante, prevede sanzioni pecunarie che possono arrivare a circa 2000 euro.

Categorie:Sviluppo Web Tag: ,

Accedere remotamente al proprio pc

15 ottobre 2009 Crismer Nessun commento
Come creare un tunnel

Come creare un tunneling

Avendo la necessità di accedere dal mio ufficio al mio pc di casa, cercando con google una soluzione sicura ho trovato tra i tanti un ottimo articolo che spiega in modo semplice gli step necessari da seguire e gli strumenti adatti da utilizzare.
Ecco l’indirizzo web: http://nicetoad.homelinux.org/fp-content/attachs/desktop_remoto.html
Buona lettura.

CodeProject

Introduzione al sito

11 settembre 2009 Crismer Nessun commento

Related Posts with Thumbnails
Categorie:Opensource Tag:
Creative Commons License
Questo/a opera è pubblicato sotto una Licenza Creative Commons