giovedì 18 agosto 2011

BSDiff, Courgette: due software per ridurre i trasferimenti degli aggiornamenti

Ciao,


ho scoperto questi due software (in realtà BSDiff c'è da un pezzo) che consentono di ridurre pesantemente la dimensione dei file di aggiornamento dei software.
Come funziona? 
Se ho rilasciato una versione del mio software in forma binaria di 10MB (lo chiamiamo OLD) e la nuova versione è 10.2MB mi piacerebbe poter distribuire solo le differenze e non tutti e 10.2MB.


BSDiff è nato per questo! 


Courgette fa anche di meglio! 
Consideriamo che una piccola modifica al sorgente genera un numero elevato di modifiche a livello di byte.
Il codice compilato è pieno di riferimenti interni, dove qualche istruzione o dato contiene l'indirizzo (o offset) di un altro istruzione o dato.
Il codice sorgente non ha questo problema, perché tutte le entità nella sorgente sono simboliche.
Se avessimo modo di poter tornare indietro dal binario e ritornare ad avere i puntatori interni di nuovo link simbolici occuperemmo sicuramente molto meno.


Courgette utilizza un disassemblatore primitivo per trovare i puntatori interni.
Poi suddivide il programma in tre parti:

  • un elenco di indirizzi destinazione del puntatore interno
  • tutti i byte
  • una sequenza di 'istruzioni' che determina come i semplici byte e i puntatori devono essere collegati e sistemati per riottenere l'input originale . 
Siamo in grado di eseguire un 'assemblatore' su queste istruzioni ed ottenere una sequenza di byte che ci consente di riavere il file originale.

Se consideriamo che la parte "non-pointer" è circa l'80% della dimensione di un programma originale e poichè non ha puntari mescolati al suo interno bsdiff lavora molto bene, il risultato però è in linea con i cambiamenti nel codice sorgente (la patch binaria occuperà molto spazio perchè conterrà anche il codice replicato che in forma sorgente è sottoforma di link).

Mentre se portiamo il binario a livello di codice assembly, la diff prodottà è circa il 30% di quella con bsdiff.

lunedì 15 agosto 2011

Quanto è noto il tuo brand?

Ho trovato molto interessante il sito:
http://knowem.com
che consente di verificare quanto è noto un prodotto, brand o semplicemente il tuo nome su Internet e sui Social Network.

Perchè non verificare se stai facendo abbastanza per farti conoscere e/o far conoscere il tuo prodotto/servizio?


domenica 14 agosto 2011

Google+ e i giochi (parte seconda)

Sono appena entrato in google+ e... mi hanno attivato la piattaforma game!!!

Non ho ancora capito se mi hanno consentito di partecipare alla beta ristretta o se l'hanno aperto a tutti.
Lo proverò sicuramente nei prossimi giorni e scriverò le mie impressioni qui!

.... Se non l'avete ancora fatto, loggatevi su google+ e scoprite se vi hanno attivato i "GIOCHI".

PS: non mi importa molto di giocare... ma mi interessa molto capire come hanno interpretato un altro bisogno dell'utente medio!

Stay tuned

sabato 13 agosto 2011

Video molto interessante per capire cosa sta accadendo negli Stati Uniti, per capire quanto profonda è la crisi...

venerdì 12 agosto 2011

-ck hacking: 3.0.0-ck1 and BFS for 3.0.0

-ck hacking: 3.0.0-ck1 and BFS for 3.0.0: "Surprise, I'm back and it's all ready. http://ck.kolivas.org/patches/bfs/3.0.0/3.0-sched-bfs-406.patch http://www.kernel.org/pub/linux/k..."

Google+ e i giochi

Google ha iniziato un periodo di beta testing ristretto per la nuova piattaforma per i giochi on line che verrà integrata all'interno di google+.

Ho provato il seguente link: google+ games ma si viene rediretti ad una pagina che avvisa della fase di beta ristretta.


Credo che durerà poco e che presto si potrà apprezzare questa novità.

Chissà come la prenderà facebook