Includere jQuery nel proprio tema wordpress

Il titolo potrebbe farvi pensare che questo post potrebbe essere inutile… Infatti il metodo più semplice per usare jQuery in un tema per wordpress è quello di inserire una nuova sorgente per uno script javascript con il tag:

<script type="text/javascript" src="......./jquery.js"></script>

Inizialmente il tutto potrebbe anche funzionare e non è detto che possa filare tutto liscio senza crearvi nessun fastidio.

I problemi però potrebbero iniziare quando deciderete di includere un plugin nel vostro blog.

Infatti molti plugin di wordpress richiedono un framework javascript (non necessariamente jQuery) per funzionare. WordPress include già il file .js di jQuery e quando un plugin lo richiede, il sistema include già lo script.

Per questo il modo più semplice è sicuro di inserire jQuery nel proprio tema è quello di inserire nel file header.php sopra il richiamo della funzione wp_head():

wp_enqueue_script("jquery");
wp_head();

Ora wordpress includerà il file javascript di jQuery, ma bisogna ancora compiere un passo per poter essere sicuri di aver risolto tutti i problemi. Se fossero necessarie altre librerie javascript diverse da jQuery, quest’ultimo potrebbe andare in conflitto, perciò risolviamo il problema con queste istruzioni javascript:

var $jQ = jQuery.noConflict();

$jQ(document).ready(function(){
       alert("Hello World!");
});

Se avrete fatto tutto come si deve, al caricamento della pagina apparirà una finestra di avviso con scritto Hello World! ;-)

È fatta! Macbook Pro in arrivo…

Ragazzi ci siamo, ho appena confermato l’ordine…. ;-)

Oggi Apple ha aggiornato la gamma dei portatili professionali e ovviamente come avevo già ampliamente anticipato, mi sono fatto un regalo ;-)

Era da tempo che avevo deciso di passare a mac e oggi, dopo tutte queste novità, ce l’ho fatta….

Le novità introdotte, come è stato più volte anticipato, riguardano il processore: dagli intel core 2 duo, ora i macbook pro montano gli intel i3 o i5 o i7. Processori altamente prestanti nei confronti degli ormai vecchi core 2 duo. Oltre a questa novità che riguarda la cpu, sono state introdotte anche nuove schede grafiche, che supportano una tecnologia proprietaria Apple che assomiglia ad OPTIMUS di NVIDIA. Le NVIDIA GeForce GT inserite come scheda dedicata consentono al sistema di passare in automatico alla scheda video integrata nel processore, quando non è necessario un’elaborazione grafica ad alte prestazioni, in modo da risparmiare la batteria ed aumentarne la durata. Proprio quest’ultima è anche stata migliorata e si parla di una durata di circa 10 ore per i 13″ e 8-9 ore per i 15″ e i 17″…

Be’? che dire? non credo ci sia altro da aggiungere……

Ah giusto! volete sapere cos’ho ordinato? :-P

Questo è il bolide che mi arriverà tra poco:

Macbook Pro 15″

CPU: 2.53GHz Intel Core i5
RAM: 4GB 1066MHz DDR3 SDRM – 2x2GB
“Hard disk”: 128GB Solid State Drive
Unità ottica: SuperDrive 8X DL
Schermo: 15″ High resolution Lucido

Che ne pensate del Ferrebook pro? :-)

Servire dinamicamente le immagini con php, Mysql e Imagick

Nessuno se ne sarà accorto ed effettivamente è un po’ impossibile notarlo se uno non lo sa ;-)

Ormai da una settimana però ho messo in funzione uno strumento “self-made” per la gestione delle immagini del mio blog.

Spulciando un po’ più attentamente google webmaster tools tra le funzioni sperimentali ho trovato un prestazioni del sito

In questa sezione google presenta un’analisi delle prestazioni del proprio sito (in termini di tempo e kilobyte di dati) e fornisce consigli su come ridurre i tempi di caricamento.

Siccome il mio hosting mi limita lo spazio web, utilizzavo un piccolo escamotage per caricare le foto del blog: le caricavo su picasa e sfruttavo i server di google per fornirle. Webmaster tools mi consigliava però di ridurre al minimo le ricerche DNS e infatti molto spesso le foto venivano reperite da diversi server di picasa. Tutto ciò contribuiva ad incrementare il tempo di caricamento del sito per cui ho preso la decisione di darmi da fare :-P

Come detto, il mio hosting mi limita lo spazio web, ma non ho limiti per quanto riguarda il db MySQL, per cui ho deciso di realizzare una mini-applicazione in php per salvare le immagini su database e servirle dinamicamente. Tutto questo con due funzioni che sfruttano la classe Imagick (installata sul server dove risiede il mio dominio).

Il concetto si basa in sostanza su tre pagine.

La prima sarà un form per far scegliere all’utente l’immagine da uploadare:

<form action="....." method="POST" enctype="multipart/form-data">.....</form>

La seconda, una pagina che riceve il parametro con l’immagine e la salva nel database:

il file è contenuto nell’array

$_FILES['image']['tmp_name']

dove image è il nome del parametro ricevuto via POST.

Qui ci servirà la prima funzione che sfrutterà la classe Imagick:

        public static function prepare_image($file){
		$img=new Imagick();
		$handler=fopen($file,'r');
		$ret=null;
		if(!feof($handler)){
			$fstr=fread($handler,filesize($file));
			$img->readImageBlob($fstr);
			/*Richiamo il metodo resize*/
			$img->setFormat('jpg');
			$img->setImageCompression(Imagick::COMPRESSION_JPEG);
			$img->setImageCompressionQuality(100);
			$ret=addslashes($img->getImageBlob());
			$img->destroy();
		}
		fclose($handler);
		return $ret;
	}

Dove la variabile $file sarà il contenuto dell’array di cui parlavamo prima. A questo punto potremo salvare il valore restituito dalla funzione nel database (il campo dovrà essere di tipo blob o meglio ancora longblob).

Fatto ciò possiamo passare alla terza pagina, quella che servirà l’immagine letta dal db.

Quest’ultima dovrà ricevere come parametro l’id dell’immagine da leggere sul db. La query la lascio fare a voi, io vi spiego la seconda funzione che ci servirà ;-) (molto più “leggera” della prima):

        public static function get_image_from_blob($blob){
		 $img=new Imagick();
		 $img->readImageBlob($blob);
		 $img->setFormat('jpg');
		 return $img;
	}

In questo caso il parametro $blob sarà il valore blob letto dal db, e la funzione ci restituirà l’immagine. A questo punto non vi resta che stampare l’immagine:

header('Content-Type: image/jpeg);
echo $img;

Abbastanza semplice no?
E dopo la prima settimana di utilizzo lascio a voi valutare i risultati ;-) :

Ovviamente tramite Imagick potete anche fare il resize dinamico delle immagini, ma non vorrei confondervi troppo le idee :-P

Cronaca di una resurrezione…

È Pasqua, festa della resurrezione e proprio oggi il mio ormai defunto “asus ferrebook pro” ha deciso di farmi una sorpresa….

Ormai era defunto, non si accendeva più e lo avevo riposto nel suo scatolone a prendere polvere e umidità nel sottotetto… Ieri sera però, siccome non avevo ricevuto uova di pasqua e di conseguenza non avevo nulla da scartare ho deciso di aprire il mio vecchio portatile… Non so per far cosa, forse come un bambino curioso volevo vedere cosa c’era dentro o forse in realtà non riuscivo a darmi pace che se ne fosse andato così, senza neppure salutare…

In ogni caso mi sono armato di cacciavite a stella e a taglio e di tanta buona volontà… Ho svitato tutto quello che c’era da svitare:

Ho staccato l’hard disk, ram, rom, ventola di raffraddamento del processore e lettore dvd…..

A guardare il mucchio di viti mi era passata la voglia di rimontare tutto:

Ma così quasi per scherzo ho provato a premere il pulsante di accension………

Subito credevo non fosse cambiato nulla, c’era solo una scritta che diceva Reboot and select proper boot device. Però ho provato a ricollegare l’hd e…….

Non sono riuscito a capire quale fosse il problema, ma ora il mio buon vecchio asus ferrebook pro è tornato tra noi…..

PS: dopo averlo completamente rimontato…..

Ne sono rimaste due!! Speriamo che non mi si squagli tra le mani… :-P

http://blog.davideferrero.com/image.php?i=16&w=300&h=300

Apple sbarca a… Torino!

Secondo quanto riporta la sezione di reclutamento del suo sito, Apple starebbe cercando impiegati da inserire nel settore retail a Torino…

Questo può significare solo una cosa: il terzo Apple Store italiano verrà aperto all’ombra della mole. Visto che la notizia pare ormai certa, resta da capire dove verrà aperto il nuovo negozio marchiato Apple. Se cupertino confermerà il trend per il quale i negozi italiani vengono aperti all’interno di grandi centri commerciali, possiamo sbizzarrirci con i pronostici, infatti ci sono una marea di centri adatti ad un Apple Store sia in Torino città, sia nei paesi della cintura.

I bookmakers danno come più probabile il centro commerciale per eccellenza di Torino, l’8 Gallery del lingotto. Come afferma macitynet infatti gli altri due Apple Store sono stati aperti in centri commerciali gestiti dal partner privilegiato Larry Smith, che manco a dirlo gestisce anche il centro del lingotto. Inoltre l’8 Gallery è situtata in una zona ben servita dai mezzi e attrae un numero molto elevato di visitatori ogni anno. Tutti punti a favore per questa scelta. In ogni caso l’importante è che Apple arrivi anche a Torino, ciò significa che a breve avremo un melavendolo quasi sotto casa! ;-)
[ad]

“Buongiorno”

“Il presidente del Consiglio è indagato per aver tentato di bloccare due puntate di Annozero, esercitando pressioni sull’Agenzia delle Comunicazioni, cioè sull’arbitro. Un prete pedofilo fu trasferito in Baviera, dove continuò a esercitare indisturbato il suo vizietto, negli anni in cui la diocesi di Monaco era guidata dal futuro papa Ratzinger. L’onorevole Speciale, generale della Guardia di Finanza in pensione, ha presentato una proposta di legge per aumentare la pensione dei generali della Guardia di Finanza. Un modenese incensurato di 38 anni organizzava la sezione italiana del Ku Klux Klan reclutando adepti sul web.

Un uomo si è affacciato alla finestra di un albergo di Roma con una pistola ad aria compressa e ha sparato contro una scolaresca in gita, colpendo un ragazzino di striscio alla testa. Nel pieno centro di Milano una coppia è stata sorpresa in una saletta del bancomat mentre faceva sesso, gratis. I giurati scandinavi hanno deciso all’unanimità di assegnare il premio Nobel per la pace a Luciano Moggi.

Una sola di queste notizie è falsa, per il momento. Indovinate quale. (Questo giochino amaro nasce da un’idea di Michele Serra, che l’ha lanciato la settimana scorsa. Ma ogni giorno, ahinoi, è buono per riproporlo con le infinite varianti offerte da una cronaca che sembra partorita dalla fantasia di un fumatore d’oppio).”

Ho riportato questo articolo letto su La Stampa di oggi, sabato 13 marzo, perchè mi è piaciuto particolarmente e condivido al 100% quanto detto da Massimo Gramellini editorialista del giornale torinese.. Di questo passo fino a che punto arriveremo?

Johan Lorbeer vs Julian Beever, anche questa è arte!

Non chiedetemi come ci sono arrivato e perchè, ma girovagando per la rete, ho trovato su flickr delle foto di un artista un tantino stravagante… Questo tizio, tale Johan Lorbeer va in giro per le strade ad attaccarsi con la mano ad una parete per farsi fotografare e creare attimi di scompiglio tra la folla.. Mi ha ricordato il tipo che faceva disegni all’apparenza tridimensionali per strada, Julian Beever, ve lo ricordate?

Siccome il secondo è già (meritatamente) molto famoso (qui trovate alcune sue opere), vi volevo portare a conoscenza anche del primo.. A mio parere anche le sue foto sono davvero divertenti… che ne dite? Ovviamente il trucco c’è e (a volte) si vede ;)
[ad]

Sottotitoli automatici per i filmati di YouTube!

Signori, questa a mio parere è una grande feature. Molti diranno: “I sottotitoli? e a cosa servono?”. Ora spiego l’origine di questa mia euforia.

Vi rendete conto che ora quando guarderemo un video su Youtube, che sia in inglese, russo, cinese o aramaico potremmo leggere che cosa stanno dicendo i protagonisti del video? Non vi convince vero? E allora ve lo dico: vi rendete conto che i sottotitoli non li scrive nessuno per voi, ma sono creati automaticamente da un algoritmo di riconoscimento vocale?

Al momento la funzione è disponibile solo per la lingua inglese, ma gli ingegneri di youtube stanno lavorando per rendere disponibile la feature in 50 lingue. Cioè in automatico voi potrete “switchare” dal sottotitolo in inglese a quello in italiano, francese, spagnolo ecc ecc. Uno spettacolo direi!

E per finire se i sottotitoli che il sw crea non sono di vostro gradimento allora potrete scaricarli, correggerli e reinviarli a youtube… Secondo me questa nuova funzionalità è una figata! (ah?! dite che si era già capito?) :-P
[ad]