sabato 24 settembre 2011

Neutrini, Tunnel e Stupidità Ministeriali

È tutto vero! La luce viene surclassata dall'evidenza sperimentale, dal primo al secondo posto. Ma se la teoria della Relatività dovrà essere rattoppata, Einstein può stare tranquillo perchè ci pensa il MIUR a consolarlo fornendo una conferma ad un'altra sua meno nota teoria, quella della Stupidità Umana.

Dal Gran Sasso e dal CERN ci dicono che dopo 6 mesi di controlli e ricerca di errori di misura, sembra proprio che i Neutrini viaggino oltre quel limite universale, e quasi rassicurante, che è stato il perno di tutta la fisica del Novecento: c, la velocità della luce, 299 792 458 m/s nel vuoto (Google It!).
http://www.infn.it/indexit.php


Ma il bello deve ancora venire! Poche ore dopo, giusto in tempo per incassare il plauso per il risultato (che viene visto come una "vittoria" ?!?!) - e per prendersi i meriti di uno stanziamento a ben vedere irrisorio se rapportato all'entità della scoperta - il Ministro Gelmini si congratula con gli scienziati tramite un comunicato stampa:
http://www.istruzione.it/web/ministero/cs230911

"E quindi?" mi direte, se lo hanno corretto e non leggete nulla di strano...
(A proposito secondo voi sarebbe ammissibile correggere un comunicato stampa?)


E quindi, ci penso io a gettarvi nello sconforto più totale, a farvi ridere istericamente o farvi suscitare una inarrestabile voglia di emigrare...
...e per tutto questo mi basta uno screenshot:



È proprio così! Secondo il ministro e il suo staff, la serie di esperimenti di cui si parla in queste ore si sono svolti in un tunnel rettilineo lungo 732 chilometri costruito tra Ginevra e il Gran Sasso raggiungendo quindi una profondità massima di 11,4 km nella crosta terrestre.


E noi avremmo orgogliosamente contribuito con una cifra "oggi stimabile intorno ai 45 milioni" alla costruzione di questo tunnel sperimentale.
Spiccioli se si considera che l'appena terminato tunnel di base del Gottardo, il più lungo del mondo con i suoi "miseri" 57 km, è costato 8 miliardi di €.

E noi.. sì, potremmo richiedere le dimissioni del ministro e l'epurazione degli idioti dall'ufficio stampa del Ministero. Ma siamo in Italia e non succederà proprio un bel niente... almeno fino a quando meritocrazia e professionalità non diventeranno, per il popolo italiano, valori condivisi. Proprio da qui passa qualsiasi reale crescita economica e culturale, nonchè un Paese migliore... uscito dal tunnel!
Due cose sono infinite: l'universo e la stupidità umana, ma riguardo l'universo ho ancora dei dubbi.
Albert Einstein

martedì 6 settembre 2011

Marinelli 3, Drupal 7: HTML entities mostrate in titolo e descrizione dei banner

Oggi ho cominciato a creare del nuovo contenuto in un sito in Drupal che ho rinnovato aggiornanto a D7 e installando il bellissimo tema Marinelli (7.x-3.0-beta11)
Dopo aver creati i primi banner, ho notato che alcuni caratteri nei titoli e nelle descrizioni venivano mostrati come HTML entities (ad esempio & #039; per il simbolo di singolo apice).

Mi sono addentrato nel codice e ho sistemato il problema in un modo un po' spartano.
Leggendo della funzione t() del bootstrap.inc di Drupal ho scoperto il significato dei parametri che precedono i nomi delle variabili in quella funzione:
  • !variable: Inserted as is. Use this for text that has already been sanitized.
  • @variable: Escaped to HTML using check_plain(). Use this for anything displayed on a page on the site. 
La generazione del titolo e della descrizione nel codice del tema è fatta usando il parametro @. Sfortunatamente da qualche altra parte nel codice, quelle stesse stringhe sono già oggetto di check_plain(). La seconda applicazione di check_plain() è la causa della conversione a codici HTML dei simboli contenuti nelle stringhe.

La mia soluzione è stata quindi rimpiazzare il parametro @ con il parametro ! nelle chiamate alla funzione t() eseguite nella funzione marinelli_banner_markups()
Questa funzione è contenuta nel file marinelli/logics/banners.inc

Eccovi il codice modificato:

'alt' => t('!image_desc', array('!image_desc'=>$banner['image_description'])),
'title'   => t('!image_title', array('!image_title'=>$banner['image_title'])),

...

'longdesc' => t('!image_desc', array('!image_desc'=>$banner['image_description']))

Keep on hackin' ;-)