Levysoft
  • Home
  • Portfolio
  • WordPress Plugin
  • Contattami

Dal 2004 il blog di Antonio Troise

RSS FeedTwitterFacebook
Gen 8 2008

Tutto quello che avreste voluto sapere sul file system del futuro a 128 bit ZFS

Posted by Antonio Troise
Tweet

ZFS Lo ZFS (Zettabyte File System) è il più moderno file system esistente e il più ricco di funzionalità innovative, anche se per contro, forse perché troppo rivoluzionario, è quello meno compatibile tra tutti. Infatti, concentrandoci solo sul mondo Mac (dato che per Windows ancora non è previsto alcuno sviluppo futuro), un disco formattato ZFS non verrà riconosciuto dal computer che non avrà almeno installato Mac OS 10.5 Leopard: quest’ultimo, però, riesce, almeno per ora, solamente a leggere il contenuto del disco ma non è ancora possibile scrivervi sopra (in pratica come avviene, nativamente, con i filesystem NTFS su Mac o, più semplicemente, per i CD-ROM di qualsiasi sistema operativo). In effetti mesi fa si supponeva che con Leopard vi fosse stato il supporto completo con ZFS ma, purtroppo Apple sta ancora sviluppando la funzionalità di scrittura sui dischi ZFS e ha promesso che in un aggiornamento successivo di Mac OS X 10.5 verrà aggiunta.

Dopo questa premessa, viene naturale chiedersi cosa abbia questo filesystem da far parlare tanto di sé. Innanzitutto occorre chiarire che un file system è un meccanismo mediante il quale è possibile immagazzinare e ordinare cartelle e documenti affinché sia facile, in un secondo momento, la ricerca e l’accesso ad essi.

ZFS è un file system open source moderno e potente sviluppato nei laboratori della Sun Microsystems nel 2004 per il suo sistema operativo Solaris ed è famoso per l’integrazione in un unico file system di diversi concetti presi da vari file system in un unico prodotto.
Nel giugno 2007 viene annunciata l’adozione di ZFS anche per il Mac OS X Leopard di Apple, notizia inizialmente smentita nel corso del WWDC07 da Brian Croll, senior director di product marketing per Mac OS, che ha dichiarato che “ZFS non ci sarà”, salvo poi smentire le smentita. ZFS non sarà comunque il file system principale di Mac OS 10.5 Leopard ma piuttosto affiancherà HFS+.

Si sta, inoltre, lavorando perché ZFS diventi, de facto, uno standard comune di filesystem Unix: è open-source e molti altri sistemi Unix o Unix-like (Solaris, FreeBSD, NetBSD, Linux) lo supportano o stanno lavorando per farlo. Il beneficio di uno standard comune è enorme, perché permetterebbe di lavorare tutti insieme per il miglioramento del futuro dell’informazione (storage). In effetti, sin’ora non si è mai avuto un file system comune a Windows, Linux e Mac. Infatti, una delle mancanze più sentite di Mac OS X, parlando di filesystem, è quella del supporto pieno ed ufficiale dell’ext3 di Linux e di NTFS di Microsoft (dovuto soprattutto agli alti costi in termini di ingegnerizzazione con un ritorno minimo negli investimenti). Chissà se con ZFS le cose cambieranno!

Inizializzazione disco ZFS

Se volessimo dire cosa è lo ZFS, una definizione veloce potrebbe essere questa:

ZFS è un nuovo tipo di file system che fornisce una semplice amministrazione, una approccio transazionale, una integrità del dato “end-to-end” e una immensa scalabilità (128-bit). ZFS non è un miglioramento “incrementale” alla tecnologia esistente, ma è un nuovo approccio alla gestione dei dati creato eliminando alcune assunzioni di base che risalevano a 20 anni fa.

Se non avete ancora chiaro il concetto, ecco le caratteristiche positive e negative del filesystem del futuro:

Tag:ext3, filesystem, leopard, Linux, Mac os x, ntfs, unix, zfs mac
CONTINUE READING >
4 comments
Gen 7 2008

Norton Antivirus per Mac Os X 10.5 Leopard: chi avrà il coraggio di installarlo?

Posted by Antonio Troise
Tweet

Virus per Mac Se qualche mese fa scrissi che, a volte, poteva essere utile installare un antivirus (ovviamente free) su sistemi operativi Linux, questa volta non mi trovo daccordo sulla possibilità di installare Norton Antivirus su un Mac. Infatti, nonostante recentemente Symantec abbia annunciato la versione 11 di Norton Antivirus compatibile con Leopard, credo che sia un errore acquistare questo software per il proprio Mac.

Quando usavo Norton su Windows notavo, rispetto a tanti altri antivirus free e non, un rallentamento generale del sistema; quando poi, si decideva di disinstallarlo, la maggior parte si rischiava di dover reinstallare Windows nuovamente! Certo, questi incidenti sono accaduti qualche release fa e forse oggi è meno invasivo, ma di quel che sono certo è che, a tutt’oggi, Norton, è molto esigente dal punto di vista di risorse di sistema. Recentemente ho anche avuto l’ebbrezza di usare un PC che aveva Norton Antivirus e devo dire è stata una esperienza davvero frustrante!
Navigando un po’ su Internet ho trovato in effetti, anche diverse persone che avevano problemi durante la disinstallazione di Norton Antivirus dal proprio Mac.

I motivi per installare un antivirus su Mac

Virus: Mac e PC La mia domanda quindi è: perchè appesantire il proprio agile sistema Mac se, anche senza Norton, si possono dormire sonni tranquilli sia dal punto di vista della stabilità del sistema operativo che dal punto di vista della sicurezza? Ma, soprattutto, per qualche motivo bisognerebbe installare un antivirus su un Mac?

Quel che è certo è che virus nati appositamente per il mondo Mac, hanno pochissima speranza di uscire vincitori, proprio per la struttura intrinseca del sistema operativo di un Mac, poiché alla base ha un core Unix e quindi tutto il gioco di permessi e diritti, lo mettono a ripari (a meno di gravi distrazioni dell’utente tali da regalare diritti amministrativi) da operazioni che vadano ad intaccare i file di sistema. Purtroppo, però, lo stesso non si può dire dei documenti presenti sul proprio Mac specie per per quelli multipiattaforma, che possono, almeno teoricamente, essere portatori di malware che poi si renderebbero attivi al passaggio su Windows.

I motivi, però, per installare un antivirus su Mac possono essere tanti e tutto dipende dall’uso che si fa del proprio personal computer. Quello che possono fare antivirus come quello della Symantec è di rilevare anche, e soprattutto, i virus per Pc, effettuando lo scan e la rimozione di virus da file downloadati dal web, scaricati tramite e-mail o scambiati tramite applicazioni di instant messaging. In tal modo si impedisce la trasmissione da Mac a Windows di malware.
Un altro motivo potrebbe essere l’installazione di Windows su piattaforme emulate come Parallels o Vmware Fusion oppure, forse anche più pericoloso, con Boot Camp. Infatti, chi è solito usare soluzioni virtualizzate, deve assolutamente installare un antivirus per Windows e, se non vuole che eventuali malware possano intaccare anche i propri documenti, anche sul proprio Mac. Inoltre, il mio consiglio è quello di non lasciare mai attive la condivisione automatica in scrittura, ma di abilitarla solo quando serve: infatti, in questa maniera, un virus avrebbe un bel ponte per passare da un sistema operativo all’altro.

Se invece usate Windows con Boot Camp, allora il pericolo potrebbe venire dalla condivisione dello stesso hard disk; infatti potrebbero esistere particolari virus che, anche se non potrebbero cancellare i file di Mac OS X (perché il volume è formattato con un file system HFS, illeggibile da Windows) potrebbero benissimo corrompere la tabella delle partizioni; il problema potrebbe essere anche più serio se su Windows viene installato un software come Macdrive 7 che permetterebbe con notevole semplicità la lettura dei file system per Mac. Nulla vieta, ovviamente, che in futuro possano nascere virus multipiattaforma Windows+Mac.

Per chi fosse realmente interessato, quindi, deve sapere che Norton Antivirus 11 per Mac, comprensivo di anno di abbonamento agli aggiornamenti antivirus, costa 49,95$. Tra le novità si segnala un nuovo sistema per la protezione da attacchi che passano da applicazioni connesse ad Internet, una nuova interfaccia e prestazioni superiori alle precedenti release. Inoltre, Norton Antivirus può essere guidato anche attraverso il terminale, dando agli utenti più esperti un potente strumento che permette di aggirare completamente l’interfaccia.

Le solide fondamenta di un sistema operativo con core unix

Security for Mac OS X Qualcuno asserisce che, se Apple aumenterà considerevolmente la sua quota di mercato o comunque diventerà più popolare, i pirati informatici potrebbero incrementare i loro sforzi per creare applicazioni malicius in grado di mettere in crisi la sicurezza del Mac OS X.
Peccato che a sostenere quella che ad alcuni può sembrare un’eresia è proprio la Symantec che, in un rapporto, ha affermato come la percepita invulnerabilità del sistema operativo di Apple sia destinata ad essere presto messa in discussione da un crescente numero di cyberattacchi e virus.
A questa tesi si affiancano anche coloro che pensano, che, visto che molti creatori di virus e hackers agiscono per gloria e per il proprio ego, non dovrebbe essere un grosso incentivo riuscire a creare un virus devastante per OS X, Linux o FreeBSD?

Se un sistema operativo ha fondamenta poco solide, tutti gli strati sovrastanti ne soffriranno. Questo è quello che succede a Microsoft oggi, e la situazione in cui verteva Apple alla fine del secolo scorso.
OS X è stato sviluppato da BSD e NeXT, costruito su basi che hanno oltre 20 anni, con il codice del sistema di base liberamente disponibile via download, ed ancora non si sono trovati virus devastanti per Mac OS X. Questo non è dovuto alle quote di mercato, ne a scarsa attenzione verso OS X da parte di virus writers e hackers, quanto piuttosto al codice ed agli sviluppi di OS X.
Questo non significa ovviamente che OS X è invulnerabile, ma solo che le fondamenta sono solide, così come lo sono anche quelle di Linux e quelle di tutti i sistemi operativi derivati da Unix.

In effetti, la piaga dei virus che assilla gli utenti Windows è anche uno dei motivi per i quali si sta aprendo una ricca opportunità di crescita nella nicchia del Mac: sempre più utenti Windows stufi di spyware, dialer e altre cose del genere fanno “switch” e passano a quella che pare una piattaforma-paradiso dal loro punto di vista: MacOsX.

Purtroppo, per molti, il senso di sicurezza di molti utenti Mac non basta e se non si vuole correre il rischio fare la figura dell’untore, ovvero, quello che propaga negli allegati della posta elettronica virus per Windows, il mio consiglio, allora, è di installarvi una soluzione gratuita ma potente come ClamXav, che è lo stesso antivirus in dotazione con Mac OS X Server. Infatti, il malware per Windows non funziona su Mac, ma se i file compromessi che arrivano per esempio attraverso una email vengono forwardati a un altro utente Pc, il Mac assume il ruolo di “untore”, di portatore sano dell’infezione.

Se volete approfondire l’argomento, qui troverete una tabella comparativa dei più importanti software antivirus per Mac (mancano all’appello, però, Sophos e McAfee).

I malware per Mac

Di primi virus per Mac e poi smentiti, se ne ricordano pochi. Tra questi OSX/Leap.A o OSX/Oomp, oppure Mac/Amphimix-A il primo Trojan MP3 o il recente OSX.Exploit.Meta.Data.B.

Intanto, però, gli utenti Mac si possono crogiolare sulle cifre che fornisce Apple:

Alla fine del 2005, si calcolavano 114.000 virus noti per PC. Nel solo marzo 2006, sono state individuate 850 nuove minacce per Windows. E zero per Mac. Benché nessun computer connesso a Internet sia immune al 100% dagli attacchi, Mac OS X ha aiutato i Mac a mantenere un ottimo stato di salute grazie alle superiori fondamenta UNIX e alle funzionalità dedicate alla sicurezza che vanno ben oltre quelle adottate per i PC. Quando acquistate un Mac, solo il vostro entusiasmo sarà contagioso

Tag:antivirus, Apple, leopard, Linux, mac, Mac os x, malware, virus, Windows
CONTINUE READING >
5 comments
Gen 5 2008

Dove scaricare i framework Prototype compressi per WordPress per risparmiare banda e velocizzare il caricamento delle pagine

Posted by Antonio Troise
Tweet

Quando descrissi come risparmiare banda per il proprio sito comprimendo, tra le altre cose, il voluminoso framework Prototype (un file JavaScript che ha loscopo di facilitare lo sviluppo di applicazioni web dinamiche di tipo Ajax) in uso su WordPress, ho detto che era possibile comprimerlo usando alcuni interessanti compressori javascript online: Dean Edwards’ Javascript Compressor, Dojo ShrinkSafe e MemTronic’s HTML/JavaScript Cruncher & Compressor.
Tra questi avevo suggerito di usare il Dean Edwards’ Javascript Compressor, perché aveva, in assoluto, il miglior rapporto di compressione, oltre il 50%, portando il prototype.js da 94.05 KB a 39.23 KB, con risultati significativi sia in termini di banda che di tempi di caricamento della pagina.
Il problema era che, ad ogni upgrade di WordPress, bisognava verificare la release del framework Prototype e ed eseguire ogni volta la compressione.

Prototype Ajax

Se però volete risparmiare tempo ed evitare di dover, ogni volta, comprimere i nuovi file Prototype.js che vengono rilasciati insieme alla distribuzione di WordPress, potete, allora, fare riferimento all’ottimo lavoro svolto da John-David Dalton che ha compresso per noi le versioni di Prototype 1.4, 1.5, 1.5.1.1, 1.6.0.

Quello che dovrete fare voi, quindi, è scaricare il file protopacked_v2.17.zip, scompattarlo e vi troverete una ricca collezione di framework Prototype/Scriptaculous. In particolare questo package contiene la release 1.4, 1.5, 1.5.1.1, 1.6.0 di Prototype e la release 1.7.1_beta3, 1.8.0 di Scriptaculous. Se sul vostro sito usate anche Scriptaculous allora dovete far riferimento al file Protoculous, che altro non è che la combinazione in un unico file di Prototype and Scriptaculous.

In generale, però, una volta scompattato il pacchetto zip, aprite la cartella “files” e vi troverete 3 cartelle: qui scegliete di aprire la cartella “compressed“, quindi la cartella “prototype” e, infine, entrate nella directory “v1.5.1.1“. Qui, vi troverete, dinanzi a due differenti versioni compresse dello stesso file Prototype.js:

prototype-1.5.1.1-packer.js : compresso con Dean Edward’s Packer 3 \w con le opzioni “Base62 encode” e “Shrink variables”
prototype-1.5.1.1-shrinkvars.js : compresso con Dean Edward’s Packer 3 \w con la sola opzione “Shrink variables”.

La differenza sta nelle dimensioni: il prototype-1.5.1.1-packer.js è grande neanche 40 KB mentre prototype-1.5.1.1-shrinkvars.js arriva fino a 60 KB. Io, per il mio sito, ho usato prototype-1.5.1.1-packer.js che ho, ovviamente, rinominato in prototype.js e, quindi, salvato nel percorso “wp-includes/js” sostituendo il precedente file.

Quindi, in definitiva, ad ogni aggiornamento di WordPress, quello che dovrete fare è, andare su Prototype: Core e scaricare la versione desiderate del framework Prototype compresso.

Tag:Ajax, bandwidth, Javascript, prototype, Wordpress
CONTINUE READING >
3 comments
Gen 4 2008

Tutti i segreti della tecnologia OLED: schermi sottili, colori brillanti e bassi consumi ma sono costosi e durano 1/10 degli LCD

Posted by Antonio Troise
Tweet

OLED è l’acronimo di Organic Light Emitting Diode ovvero diodo organico ad emissione di luce. Questa tecnologia permette di realizzare display a colori con la capacità di emettere luce propria: a differenza dei display a cristalli liquidi, i display OLED non richiedono componenti aggiuntivi per essere illuminati (i display a cristalli liquidi vengono illuminati da una fonte di luce esterna), ma producono luce propria; questo permette di realizzare display molto più sottili e addirittura pieghevoli e arrotolabili, e che richiedono minori quantità di energia per funzionare.
A causa della natura monopolare degli strati di materiale organico, i display OLED conducono corrente solo in una direzione, comportandosi quindi in modo analogo a un diodo; di qui il nome di O-LED, per similitudine coi LED.

Vantaggi e svantaggi della tecnologia OLED

La tecnologia OLED ha grandi vantaggi, come la bassa tensione di alimentazione, l’ottimo contrasto, la brillantezza dei colori, un angolo di visuale di 180 gradi e la possibilità di essere pilotati alle frequenze necessarie per un video.. Possono essere pilotati sia in matrice attiva sia in matrice passiva; quest’ultima, semplice e di basso costo, è efficacemente utilizzabile in pannelli alfanumerici a basso contenuto di informazione.
Per avere qualche raffronto tecnico, basti pensare che a parità di diagonale, un televisore OLED è in grado di consumare circa il 40% in meno rispetto ad un LCD, mentre, per quanti riguarda l’ingombro, lo spessore scende del 50%, perché non necessitano di retroilluminazione come i display a cristalli liquidi. In teoria, inoltre, tutti i prossimi OLED saranno 1080p nativi con un rapporto di contrasto pari a 1.000.000:1.
Da ciò si può dedurre che questa tecnologia sarà, inevitabilmente, la naturale evoluzione degli schermi al plasma ed LCD.

Oled Cell

Se i pregi sono tanti, tuttavia la tecnologia OLED presenta ancora alcuni limiti. Primo fra tutti il costo ancora elevato del processo produttivo. In secondo luogo gli schermi OLED hanno una durata molto inferiore agli schermi a cristalli liquidi e agli schermi al plasma. Il materiale organico di cui sono composti, infatti, tende a perdere la capacità di emettere luce dopo poche migliaia di ore di esercizio.
Infatti, mentre la durata media di pannello LCD o PLASMA (riferito alla vita delle lampade) è di circa 60.000 ore, attualmente la vita media di un pannello OLED è stato al massimo di 5.000 ore.

I primi prodotti

Optimus Keyboard Per questioni di mercato e piccoli difetti ancora da risolvere, i settori che ha accolto gli schermi OLED con interesse sono solo quelli dei portable player, delle telecamere digitali e della telefonia mobile o delle tastiere evolute come la Optimus Keyboard della Art Lebedev (il cui prezzo varia da 371,40€ per un solo tasto OLED programmabile a 1256,86€ per tutti i 113 tasti OLED programmabili). Si sta parlando, quindi, di piccole unità che hanno reso particolarmente appariscenti ed accattivanti numerosi lettori MP3 della Sony e della Creative, nonché alcuni modelli di cellulari firmati Sony-Ericsson e Motorola, i cui mini-display OLED non possono far altro che colpire per l’incredibile luminosità e la cromia vivace. Ultimo nato è il piccolo lettore MP3 S10 della iRiver.

Nel mercato dei monitor e TV, fortemente caratterizzato dalla competizione tra la tecnologia LCD e Plasma, quella che, invece, rappresenterà la tecnologia del futuro nella visualizzazione delle immagini, è solo da poco più di un anno che è giunta ad equipaggiare schermi di dimensioni importanti, uscendo dalla nicchia di display per cellulari ed LCD TV portatili. I produttori, infatti, ora guardano ormai con piena fiducia ad OLED che sta acquisendo la maturità necessaria allo sbarco sul mercato, nonostante i costi siano ancora elevati.

l primo dispositivo TV basato su questa tecnologia è XEL-1 di Sony, un 11 pollici che viene venduto ad oltre 1700 dollari. Uscito ad Ottobre del 2007 è spesso appena 3 millimetri, ha una velocità di risposta superiore di 1.000 volte rispetto ai tradizionali Lcd e consumi inferiori del 40%. Pesa 2Kg, le sue dimensioni soo 287x253x140mm, risoluzione 960×540 pixel, una porta Host USB, una HDMI e una Ethernet Lan. Speaker da 2 Watt, sintonizzatore Tv analogico/digitale. Con un uso medio di 10 ore al giorno il monitor dovrebbe durare oltre 10 anni.

Sony Oled

Samsung ha, invece, annunciato di avere creato uno schermo ultrapiatto in tecnologia Oled da 31 pollici. La produzione deve ancora iniziare, ma nel mentre Samsung conta di commercializzare schermi Oled da 14 pollici a partire dal 2008.
Alcune indiscrezioni rivelano, però, che Samsung ha già pronto il display OLED da 40 pollici, che forse verrà tenuto per i prossimi mesi lasciando spazio al più piccolo 31 pollici perché “il più grande e più costoso potrebbe incontrare difficoltà nell’attrarre una fetta maggiore di consumatori”.
Ma la prima ad interessarsi seriamente del mondo OLED è stata la Sony che il mese scorso ha iniziato a vendere televisori Oled da undici pollici e aveva già mostrato un prototipo da 27”.

Samsung Oled

Per quanto concerne il 31′ Samsung, l’azienda coreana dichiara un consumo di corrente inferiore alla metà di quello di un 32 pollici LCD convenzionale, mentre lo schermo ha una durata stimata di 35000 ore, pari a 4 anni di funzionamento ininterrotto, il valore più alto finora dichiarato per un pannello OLED. Inoltre, afferma che il proprio schermo da 31” è spesso 4,3 millimetri, un decimo di un pannello Lcd tipico, e consuma meno di metà dell’elettricità richiesta da un Lcd da 32”.

Samsung, nel frattempo, ha già accelerato i suoi processi produttivi per soddisfare la futura domanda. iSupply ha stimato, infatti, che entro il 2012 le vendite raggiungeranno quota 24 miliardi di dollari. Un risultato notevole se si considera che nel 2007 difficilmente saranno superati i 7 miliardi di dollari. “Il prezzo di un display OLED è di 1,7 /1,8 volte superiore rispetto ad un LCD e non sarà competitivo fino a quando le cose non cambieranno”, ha dichiarato a Reuters Peter Chen, presidente di CMEL, azienda taiwanese leader nella produzione OLED.

Purtroppo, Sony, che ha ha iniziato in novembre a vendere televisori OLED da 11 pollici, non riesce a consegnare più di duemila televisori ogni mese e all’inizio di dicembre Toshiba ha annunciato di avere rinunciato alla messa in vendita di televisori Oled entro il 2009-2010 a causa degli alti costi di produzione, mentre tiene ferma l’intenzione di commercializzare piccoli schermi OLED per gli smartphone il prossimo anno.

Oltre a questi scenari, è ragionevole prevedere che i prossimi sviluppi possano aprire ulteriori mercati ora non quantificabili, ma che possono essere individuati in una nuova generazione di prodotti che utilizzano schermi sottili come pellicole che si possono `srotolare’, o trasparenti da inserire in una finestra, o stampati su tessuto per T-shirt `interattive’.

Sony Oled Flessibile
Tag:lcd, oled, plasma, televisore
CONTINUE READING >
2 comments
Gen 2 2008

Come risparmiare banda del proprio sito riducendo le dimensioni dei file javascript e attivando la compressione HTTP da WordPress

Posted by Antonio Troise
Tweet

Il 28 Dicembre 2007 il mio sito aveva finito la banda messa a disposizione dal mio server di hosting Blooweb: ben 40 GB mensili. Se questo, da un lato, non poteva che farmi contento perché significava che avevo un discreto numero di visitatori quotidiani, da un altro correvo il rischio di rendere inaccessibile il mio sito per ben 3 giorni consecutivi. Fortuna che i ragazzi del servizio di assistenza tecnica mi sono venuti incontri e gentilmente mi hanno concesso qualche giga in più per arrivare a fine mese! Il problema però rimaneva: se qualche mese prima arrivavo a 20-25 GB di banda mensile adesso in soli 31 giorni superavo la quota di 40 GB. Cosa era accaduto in questo periodo? Sicuramente un aumento del numero di utenti era stata una delle cause ma qualcos’altro era latente nel codice html del mio sito.

Analisi del log degli accessi

Dalle statistiche mensile di Awstats ho scoperto che se le pagine html/xhtml occupano al mese 10 GB di banda (in teoria questo valore dovrebbe essere direttamente proporzionale al numero di articoli che scrivo), quello che mi sconcertava era che i file Javascript occupavano ben 15.31 GB complessivi! Una cifra davvero spropositata.

Banda Dicembre 2007

Ecco allora che era venuto il momento di porre rimedio alla situazione.

Analisi del codice HTML

Come prima cosa ho analizzato il codice html della homepage e ho preso nota dei file javascript che caricava.
Così ho visto che nell’header caricava:

mentre nel footer

Rispettivamente abbiamo, quindi:

prototype.js?ver=1.5.1.1 -> 94.05 KB
addicted_live_search/js/prototype.js -> 53.86 KB
addicted_live_search/js/live_search.js -> 692 bytes
audio-player/audio-player.js -> 767 bytes
syntax/Scripts/shBrush*.js -> 42.13 KB

Eliminare le ridondanze

Come vedete il plugin Addicted To Live Search caricava il file prototype.js che è lo stesso che nativamente usa WordPress. Cambia solo la release: se WordPress usa la versione 1.5.1.1, questo plugin usava la 1.5.0_rc0 (attualmente esiste la release 1.6).
Come primo passo, quindi, era inevitabile che modificassi il plugin “Addicted To Live Search” in modo da non caricare inutilmente due volte lo stesso framework javascript. Quindi ho editato il file live_search.php e commentato la riga relativa al framework prototype:

Con questa piccola modifica ho risparmiato 53.86 KB che, moltiplicato il numero di visite mensili, è sicuramente un valore non trascurabile, dato che questi codici javascript vengono caricati ad ogni singola pagina!

Per intenderci meglio, se un sito ha un numero giornaliero di pagine viste pari a 1.000, al mese abbiamo 31.000 pagine viste che moltiplicato quasi 54 KB, abbiamo un risparmio netto di oltre 1,6 GB di banda mensile (in questi calcoli ho considerato trascurabili gli effetti cache dei browser)! Con 100.000 visite al mese, avremmo un risparmio di 5,4GB di banda. Insomma, a conti fatti, risparmiare 54 KB non sembra poi una operazione inutile!

Comprimere i file Javascript

A questo punto bisognava risolvere anche il problema dell’eccessiva dimensione del file Prototype.js: ben 94.05 KB. Per farlo non ho fatto altro che comprimere il contenuto di questo file con uno dei tanti compressori di file javascript che si trovano in giro per la rete, in grado di ridurne le dimensioni, il tempo di caricamento di una pagina e, conseguentemente, la banda complessiva occupata!

Per scegliere quale fosse il miglior compressore per il file Prototype.js 1.5.1.1 ho eseguito diversi test con i seguenti 3 popolari compressori javascript online: Dean Edwards’ Javascript Compressor, Dojo ShrinkSafe e MemTronic’s HTML/JavaScript Cruncher & Compressor.
I risultati sono visualizzati in questa tabella riepilogativa:

  Original Dean Edwards’ ShrinkSafe MemTronic’s
file size(kb) 94.0 39.2 64.5 40.4
gzipped size(kb) 20.6 16.7 18.4 20.4

Anche se per pochi kilobyte, ho deciso, quindi, di prendere in considerazione Dean Edwards’ Javascript Compressor. Come risultato ho ottenuto, quindi, una riduzione delle dimensione di oltre il 50%, da 94.05 KB a 39.23 KB, per un risparmio complessivo di ben 54,82 KB.

Ovviamente, per continuare ad adottare questa soluzione, ad ogni upgrade della propria piattaforma di blogging WordPress, ci si dovrà ricordare di comprimere il nuovo file JS, operazione che consta in appena 2 minuti di attività.

UPDATE: Se però volete risparmiare tempo ed evitare di dover, ogni volta, comprimere i nuovi file Prototype.js che vengono rilasciati insieme alla distribuzione di WordPress, potete, allora, fare riferimento all’ottimo lavoro svolto da John-David Dalton che ha compresso per noi le versioni di Prototype 1.4, 1.5, 1.5.1.1, 1.6.0. Quello che dovrete fare voi è scaricare il file protopacked_v2.17.zip, scompattarlo e vi troverete una ricca collezione di framework Prototype/Scriptaculous. In particolare questo package contiene la release 1.4, 1.5, 1.5.1.1, 1.6.0 di Prototype e la release 1.7.1_beta3, 1.8.0 di Scriptaculous. Se sul vostro sito usate anche Scriptaculous allora dovete far riferimento al file Protoculous, che altro non è che la combinazione in un unico file di Prototype and Scriptaculous.

In generale, però, una volta scompattato il pacchetto zip, aprite la cartella “files” e vi troverete 3 cartelle: qui scegliete di aprire la cartella “compressed“, quindi la cartella “prototype” e, infine, entrate nella directory “v1.5.1.1“. Qui, vi troverete, dinanzi a due differenti versioni compresse dello stesso file Prototype.js:

prototype-1.5.1.1-packer.js : compresso con Dean Edward’s Packer 3 \w con le opzioni “Base62 encode” e “Shrink variables”
prototype-1.5.1.1-shrinkvars.js : compresso con Dean Edward’s Packer 3 \w con la sola opzione “Shrink variables”.

La differenza sta nelle dimensioni: il prototype-1.5.1.1-packer.js è grande neanche 40 KB mentre prototype-1.5.1.1-shrinkvars.js arriva fino a 60 KB. Io, per il mio sito, ho usato prototype-1.5.1.1-packer.js che ho, ovviamente, rinominato in prototype.js e, quindi, salvato nel percorso “wp-includes/js” sostituendo il precedente file.

Quindi, in definitiva, ad ogni aggiornamento di WordPress, quello che dovrete fare è, andare su Prototype: Core e scaricare la versione desiderate del framework Prototype compresso.

Attivare la compressione HTTP da WordPress

Un’altra cosa da fare è quello di andare nel Pannello di Controllo di Wordpress e, nella sezione Opzioni/Lettura, spuntare la voce “WordPress deve comprimere gli articoli (gzip) se il browser lo richiede“.
Infatti, WordPress permette di comprimere in formato Gzip (attivando la compressione HTTP), se il browser del visitatore lo supporta, in modo da alleggerire la dimensione della pagina e diminuirne il tempo trasferimento facendo lavorare un po’ di più il computer dei vostri lettori.

Gzip WordPress

In pratica, quindi, quando un visitatore richiede una pagina questa viene creata dal server, compressa in Gzip ed inviata al browser del nostro lettore che provvederà in automatico a scompattarla e successivamente a visualizzarla.
Fate attenzione però che, se usate dei plugin che velocizzano il blog mediante lavoro sulla cache, come WP-Cache o WP Super-Cache (di fatto l’evoluzione di WP-Cache) e attivate la compressione Gzip, i plugin potrebbero non funzionare.
In particolare, nel caso di WP-Cache, per far convivere entrambe le soluzioni, dovrete modificare il file wp-cache-phase1.php seguendo la procedura indicata da Davide Salerno.

In definitiva questa operazione dovrebbe influenzare il valore della banda occupata dalle pagine HTML/XHTML static page (che, ne mio caso, a Dicembre 2007 era di ben 10.80 GB senza alcuna compressione attiva!)

C’è da dire che la compressione Gzip era sempre stata attiva sul mio sito: presumo quindi che, in seguito all’ultimo grande cambio release alla versione 2.3 di WordPress, questo opzione deve essere stata disabilitata per errore. Sono curioso, ora, di vedere quanto possa influenzare sulle banda complessiva.

Non resta che attendere

Per ora, mi sono fermato così. Al momento ho risparmiato complessivamente, per ogni pagina caricata ben 109 KB di Javascript, e un valore imprecisato di kilobyte attivando la compressione html, che al mese significa (sempre riportando un valore medio di 100.000 pagine) un risparmio di quasi 11 GB di bandwidth!

Al momento, gli altri file javascript non li ho compressi e forse, ad una analisi successiva, potrei anche rimuovere i plugin ad essi correlati (sostituendoli con altri più leggeri). Per il momento ho intenzione di aspettare 15 giorni per capire se tutte queste modifiche sono state sufficienti per recuperare un po’ di banda. Se così non fosse potrei provare a comprimere tutti i file Javascript e, magari, spostare su un altro server le immagini JPG, GIF e PNG che complessivamente occupano 4.81 GB di banda.

Infine, potrebbe anche essere utile comprimere i file CSS (nel mio caso arrivo a circa 18.14 KB complessivi): in questo caso vi suggerisco Compressor, una applicazione online in grado di comprimere sia codice Javascript o i fogli di stile CSS.

Intanto, per fosse interessato, metto a disposizione il file Prototype.js 1.5.1.1 compresso di WordPress 2.3.2: lo potete scaricare qui.

Tag:Ajax, bandwidth, browser, Css, Javascript, Php, Plugin, prototype, Wordpress
CONTINUE READING >
26 comments
Gen 1 2008

Buon 2008 a tutti!

Posted by Antonio Troise
Tweet
Buon Anno a tutti voi!

Attribution Image CC: 2008

Tag:capodanno
CONTINUE READING >
4 comments
SeguiPrezzi - Risparmia con Amazon.it

Categorie

Commenti Recenti

  • Antonio Troise on UltraEdit: per i programmatori esigenti il miglior editor di testo per Windows, Mac OS e Linux
  • Fioredicollina on UltraEdit: per i programmatori esigenti il miglior editor di testo per Windows, Mac OS e Linux
  • Antonio Troise on UltraEdit: per i programmatori esigenti il miglior editor di testo per Windows, Mac OS e Linux
  • Emanuele on UltraEdit: per i programmatori esigenti il miglior editor di testo per Windows, Mac OS e Linux
  • Luca on iDatabase: la valida alternativa di Bento per macOS e iOS per i database personali
PREV 1 … 17 18

Meta

  • Accedi
  • Entries RSS
  • Comments RSS
  • WordPress.org

Friends Link

  • GamerTagMatch
  • SeguiPrezzi.it – Risparmia con Amazon.it
  • Trendy Nail

Seguimi su:

  • facebook
  • twitter
  • rss
Creative Commons License
Levysoft by Antonio Troise is licensed under a Creative Commons Attribuzione-Non commerciale 2.5 Italia License.
© Copyright 2004 - 2014 - Levysoft by Antonio Troise