Archive for February, 2007

L’uomo della chat

Thursday, February 15th, 2007

Ciao sono l’uomo della chat
vivo nella rete
e come un ragno ti sorprenderò in silenzio
perché sei gia in bilico
se mi scrivi che la noia si è gia impossessata di te
e ti ho vista entrare nella chat
con un fare timido
ma poi hai cambiato nick
e sei rimasta qui ed hai bussato alla mia stanza…

Hei sono l’uomo della chat
mi presento bene e le parole sono il mio mestiere
e ho fatto il calciatore ed il medico
corro per 3 ore al giorno
e sui miei addominali
c’è mia madre che di solito ci lava i panni
e non ti immagini l’odore e poi
so di sapone di marsiglia

Mi sa che mi sono innamorato già di te
anche se non so che faccia avrai
mi sa che mi sono innamorato forse del profilo
anche se vorrei una foto o il tuo telefono

Hei sono quella della chat
di che segno sei
aspetta lascia che indovini
capricorno ascendente vergine
sai perché con te sto bene
e mi dai sicurezza come nessun altro mai
e dalla cam
sembri De Niro del 73
ti sto mandando la mia foto su Skype

Mi sa che mi sono innamorata gia di te
anche se non so che faccia avrai
mi sa che mi sono innamorata forse del profilo
o del tramonto e i fiori sul tuo blog

E… adesso stiamo insieme da due anni
e presto in tre
la chiameremo chiocciola e per fare presto at
se è maschio un nome o un nick lo troverai
ma torna a letto adesso che fa freddo…

Mi sa che mi sono innamorato gia di te
anche se la foto non è tua
Mi sa che mi sono innamorato quando ho visto che eri vera
e che hai difetti come me

Puro amore in chat
Vero amore in chat

E’ una canzoncina che ho sentito per caso su Radio Deejay. Il pezzo è un po’ insipido, ma ve lo linko lo stesso per dovere di informazione :D

Ciò che mi ha incuriosito, tuttavia, non è il pezzo in sé, ma una riflessione che mi è balzata in testa sentendolo: per quanto io viva e lavori ormai da anni in un ambiente in cui termini come “chat”, “nick” o “at” sono assolutamente familiari, mi ha fatto uno strano effetto sentirli utilizzare in una canzone. E’ come se, per quanto si stiano facendo strada a grandi passi, non fossero ancora entrati nell’immaginario collettivo tanto da poter essere considerati common ground di ciascuno.

Sono io che ho una percezione distorta?

Silenzio radio

Wednesday, February 14th, 2007

Alla fin fine pare che l’abolizione dei costi di ricarica dei cellulari entrerà in vigore il 4 Marzo, come deciso inizialmente, nonostante le pressioni dei grandi gruppi di telefonia mobile che volevano un rinvio.

Io sulla mia scheda ho ancora 11.56€ e non ho alcuna intenzione di ricaricare finché non vedrò che effettivamente i soldi che pago sono quelli che posso utilizzare. Quindi, fino al 4 Marzo, chiamatemi voi :D

Una notte al fuMuseo

Saturday, February 10th, 2007

Ho visto Una notte al museo, l’ultimo film natalizio con Ben Stiller (anche se da noi è uscito a Febbraio), che ha avuto a quanto pare un buon successo negli USA.

Una commedia senza infamia e senza lode, che va vista con spirito necessariamente leggero e senza aspettarsi nulla di sensazionale. Una sola la battuta che in tutto il film riesce davvero a fare effetto, cogliendo di sorpresa (le altre si intuiscono 10 minuti prima) e in generale nessun colpo di scena mozzafiato. A contorno, tanti personaggi-macchietta (inevitabilmente, visto il ruolo) e la struttura tipica delle favole, con tanto di imprescindibile lieto fine. Evidentemente la scelta ha pagato.

Il titolo del post non è un refuso: uscendo dal Bicocca Village ci siamo infatti affumicati a puntino stando neanche due minuti nella tromba delle scale (senza nessuno che stesse fumando). Alla faccia dell’aerazione…

Subversion 1.4 su Ubuntu

Thursday, February 8th, 2007

Ultimamente sto usando tantissimo Subversion (SVN), sia al lavoro che per i miei progetti che per la tesi. A settembre 2006 è stata rilasciata la versione 1.4.0 di SVN, che apporta molti miglioramenti ma è incompatibile con i client relativi alla versione 1.3. Altra informazione degna di nota è che lavorando con un client 1.4 su un repository 1.3, quest’ultimo viene automaticamente aggiornato alla nuova versione (e quindi diventa incompatibile con i client 1.3).

Il client SVN da riga di comando per Ubuntu è fermo alla versione 1.3.2. Poiché ormai i miei repository condivisi sono stati tutti tacitamente aggiornati alla 1.4, sono stato costretto a cercare una soluzione. I forum di supporto di Ubuntu offrono una spiegazione molto dettagliata sulla procedura da seguire, ma scavando un po’ di più ho scoperto che per aggiornare solo il client alla versione 1.4.0 bastano due semplicissime operazioni:

$ wget http://www.shiftingheat.com/packages/subversion/subversion_1.4.0-1_i386.deb
$ sudo dpkg -i subversion_1.4.0-1_i386.deb

Grazie alla solerzia di chi ha creato il package è possibile installare il client aggiornato con facilità e soprattutto gestirlo in maniera pulita attraverso apt-get.

Google apre Gmail

Thursday, February 8th, 2007

Credo che ormai non esista un solo abitante del Pianeta dotato di connessione internet che non abbia un account su Gmail, ma forse a qualcuno farà piacere sapere che le iscrizioni al servizio sono ora aperte a tutti (mentre prima richiedevano un invito).

A parte questo, in conformità con i dettami del Web 2.0, il servizio resta in beta :D

Poche idee ma confuse

Tuesday, February 6th, 2007

Apple: «Nessuna clemenza per il prof pirata» titola il Corriere online. Occhiello: Bill Gates risponde picche all’accorato appello di Gorbaciov.

Accidenti! Apple a Microsoft si sono fuse ed io non ne sapevo niente! :D

appleredmond

EDIT: l’articolo è stato sostituito con una versione corretta.

Perdono

Monday, February 5th, 2007

Always forgive your enemies; nothing annoys them so much.

Oscar Wilde

Modificare TinyMCE con una plugin per WordPress

Sunday, February 4th, 2007

La versione 2.1 di WordPress offre un’interessante possibilità agli sviluppatori di plugin per TinyMCE (l’editor di testo visuale di WP), che ho recentemente sfruttato per rendere il packaging di ZenPress più razionale.

Il problema: le plugin di WordPress stanno solitamente in wp-content/plugins, mentre quelle di TinyMCE stanno in wp-includes/js/tinymce/plugins. Una plugin che debba interagire sia con WordPress che con TinyMCE (come ad esempio ZenPress) rendeva quindi obbligatorio – fino alla versione 2.1 – piazzare alcuni file in una cartella ed alcuni nell’altra, con conseguente confusione sia in fase di installazione che di rimozione.

La soluzione: sta tutta nella funzione tinyMCE.loadPlugin, che permette di caricare plugin per TinyMCE senza che sia necessario mettere i file in wp-includes. Facciamo però un passo indietro: vedremo come usare questo utile metodo dopo un paio di indispensabili note introduttive.

Innanzitutto, vediamo come si fa ad aggiungere plugins per TinyMCE nella maniera classica: sono praticamente le stesse operazioni che dovremo mettere in atto nel nostro caso.
Tutto parte da due hooks, mce_plugins ed mce_buttons, che permettono rispettivamente di modificare l’elenco delle plugin e quello dei pulsanti di TinyMCE. Se vi state chiedendo cosa siano gli hooks, possiamo dire semplicemente che sono gli strumenti per “agganciare” una plugin a WordPress (maggiori dettagli sul WP Codex). Associando ai due hooks delle funzioni dai noi specificate diremo quindi a WordPress di eseguirle durante l’inizializzazione di TinyMCE. Vediamo in pratica questo primo passo:

add_filter('mce_plugins', 'my_add_plugin');
add_filter('mce_buttons', 'my_add_button');

Naturalmente dovremo definire le due funzioni che abbiamo associato agli hooks. Eccole qua:

function my_add_plugin($plugins) {
array_push($plugins, '-myplug');
return $plugins;
}

function my_add_button($buttons) {
array_push($buttons, 'separator', 'myplug');
return $buttons;
}

La prima funzione prende l’array delle plugin di TinyMCE, aggiunge la nostra plugin myplug e ritorna poi l’array modificato. Allo stesso modo la secoda funzione aggiunge alla lista di pulsanti sulla barra di TinyMCE un separatore (una linea verticale) ed il nostro pulsante. E’ da notare che nella funzione my_add_plugin il nome della plugin è preceduto da un trattino: questo comunica a TinyMCE che si tratta di una plugin esterna.

Ora la parte finale della magia sta nella formula tinymce_before_init, un hook che era già presente nelle versioni precedenti di WordPress. Specificando una nostra funzione ed associandola a tinymce_before_init diremo a WordPress di eseguirla subito prima di inizializzare TinyMCE. Aggiungiamo quindi l’associazione:

add_action('tinymce_before_init',
'my_add_tinymce_plugin');

Poi, nella funzione, richiamiamo il metodo loadPlugins di cui abbiamo parlato all’inizio:

function my_add_tinymce_plugin() {
$url = get_bloginfo('wpurl') . '/' . PLUGINDIR .
'/myplug/';
echo 'tinyMCE.loadPlugin("myplug", "'.$url.'");'."\n";
}

Questa funzione aggiunge alla pagina una riga di Javascript, con la quale si richiama il metodo tinyMCE.loadPlugin. La costruzione dell’URL sfrutta alcuni dei meccanismi interni di WordPress (tra cui la costante PLUGINDIR, che è stata introdotta con la versione 2.1): in sostanza possiamo fornire alla funzione loadPlugin qualsiasi URL che punti alla cartella in cui si trovano i file della nostra plugin TinyMCE (tra cui l’indispensabile editor_plugin.js). E’ ovvio che il posto migliore per posizionare questi file è la cartella in cui stanno anche i file della plugin per WordPress.

Ricapitolando: mce_buttons dice a TinyMCE di aggiungere un pulsante (relativo alla nostra plugin), mce_plugins dice di andare a cercare una plugin di nome myplug e TinyMCE.loadPlugins (richiamato tramite tinymce_before_init) dice dove la plugin va cercata.

Se anelate a qualche complicazione in più, potete provare a dare un’occhiata al codice sorgente di ZenPress ;)

Esperienza

Sunday, February 4th, 2007

Idealism is what precedes experience; cynicism is what follows.

David T. Wolf