<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><!-- generator="Joomla! 1.5 - Open Source Content Management" --><feed xmlns="http://www.w3.org/2005/Atom" xml:base="http://www.invernomuto.net/index.php" xml:lang="it-it">
	<title type="text">Invernomuto - un urlo mentale</title>
	<subtitle type="text" />
	<link rel="alternate" type="text/html" href="/component/content/frontpage" />
	<id>/component/content/frontpage</id>
	<updated>2009-11-12T13:19:06Z</updated>
	<generator uri="http://joomla.org" version="1.5">Joomla! 1.5 - Open Source Content Management</generator>

	<link rel="self" href="http://feeds.feedburner.com/invernomutonet" type="application/atom+xml" /><feedburner:emailServiceId xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">invernomutonet</feedburner:emailServiceId><feedburner:feedburnerHostname xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://feedburner.google.com</feedburner:feedburnerHostname><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><entry>
		<title>Culo contro culo di Jennifer Connely</title>
		<link rel="alternate" type="text/html" href="/novembre-2009/325-culo-contro-culo-di-jennifer-connely" />
		<published>2009-11-11T18:02:27Z</published>
		<updated>2009-11-11T18:02:27Z</updated>
		<id>/novembre-2009/325-culo-contro-culo-di-jennifer-connely</id>
		<summary type="html">&lt;p&gt;&lt;img style="float: left;" alt="requiem-for-a-dream" src="images/stories/img/requiem-for-a-dream.jpg" height="214" width="150" /&gt;Requiem for a Dream è un film terribilmente bello: forte, cattivo, senza pietà per lo spettatore. Una delle scene  più "forti" è quella in cui la protagonista femminile Marion (Jennifer Connely) per potersi "fare" arriva fino al punto di "vendersi" ad un gruppo di ricconi. La scena è delle più forti ed è consigliata la visione sono a persone smalizziate che non credono più che i bambini nascono sotti i cavoli oppure che sono portati da imbrobabili volatili dalle lunghe zampe.&lt;/p&gt;
&lt;p&gt;Ecco qui di seguito il filmato del Culo contro Culo, così viene chiamata la parte finale del filmato nella traduzione italiana; non è quindi difficile capire il tema del video che avete qui sotto...&lt;/p&gt;

&lt;p&gt;Forse decontestualizzato questo filmato risulta anche vagamente erotico, ma nel continuum del film vi assicuro che spiazza e distrugge.&lt;/p&gt;
&lt;p&gt;{metacafe}1275561/jennifer_connelly{/metacafe}&lt;/p&gt;</summary>
		<content type="html">&lt;p&gt;&lt;img style="float: left;" alt="requiem-for-a-dream" src="images/stories/img/requiem-for-a-dream.jpg" height="214" width="150" /&gt;Requiem for a Dream è un film terribilmente bello: forte, cattivo, senza pietà per lo spettatore. Una delle scene  più "forti" è quella in cui la protagonista femminile Marion (Jennifer Connely) per potersi "fare" arriva fino al punto di "vendersi" ad un gruppo di ricconi. La scena è delle più forti ed è consigliata la visione sono a persone smalizziate che non credono più che i bambini nascono sotti i cavoli oppure che sono portati da imbrobabili volatili dalle lunghe zampe.&lt;/p&gt;
&lt;p&gt;Ecco qui di seguito il filmato del Culo contro Culo, così viene chiamata la parte finale del filmato nella traduzione italiana; non è quindi difficile capire il tema del video che avete qui sotto...&lt;/p&gt;

&lt;p&gt;Forse decontestualizzato questo filmato risulta anche vagamente erotico, ma nel continuum del film vi assicuro che spiazza e distrugge.&lt;/p&gt;
&lt;p&gt;{metacafe}1275561/jennifer_connelly{/metacafe}&lt;/p&gt;</content>
	</entry>
	<entry>
		<title>Ottimizzare i guadagni di Adsense (e non solo)</title>
		<link rel="alternate" type="text/html" href="/banner-e-click/324-ottimizzare-i-guadagni-di-adsense-e-non-solo" />
		<published>2009-10-21T18:27:58Z</published>
		<updated>2009-10-21T18:27:58Z</updated>
		<id>/banner-e-click/324-ottimizzare-i-guadagni-di-adsense-e-non-solo</id>
		<summary type="html">
I formati che ottengono un maggior riscontro sia per editori che inserzionisti sono:&lt;br /&gt;* 300×250 medium rectangle&lt;br /&gt;* 728×90 leaderboard&lt;br /&gt;* 160×600 skyscraper&lt;br /&gt;&lt;br /&gt;I banner devono essere il più possibile integrati con i contenuti del sito: utilizzare colori simili al layout del sito, non utilizzare il bordo;&lt;br /&gt;&lt;br /&gt;Posizionare i banner above the fold, allineati ai contenuti oppure alla fine di un articolo.</summary>
		<content type="html">
I formati che ottengono un maggior riscontro sia per editori che inserzionisti sono:&lt;br /&gt;* 300×250 medium rectangle&lt;br /&gt;* 728×90 leaderboard&lt;br /&gt;* 160×600 skyscraper&lt;br /&gt;&lt;br /&gt;I banner devono essere il più possibile integrati con i contenuti del sito: utilizzare colori simili al layout del sito, non utilizzare il bordo;&lt;br /&gt;&lt;br /&gt;Posizionare i banner above the fold, allineati ai contenuti oppure alla fine di un articolo.</content>
	</entry>
	<entry>
		<title>Chiavi di ricerca competitive contro chiavi di ricerca da Long Tail</title>
		<link rel="alternate" type="text/html" href="/posizionamento/323-chiavi-di-ricerca-competitive-contro-chiavi-di-ricerca-da-long-tail" />
		<published>2009-10-18T18:26:53Z</published>
		<updated>2009-10-18T18:26:53Z</updated>
		<id>/posizionamento/323-chiavi-di-ricerca-competitive-contro-chiavi-di-ricerca-da-long-tail</id>
		<summary type="html">
Da alcuni studi realizzati da Aaron Wall sembra che le strategie da adottare per posizionarsi per le chiavi competive siano differenti rispetto a quelle da impiegare per la coda lunga. Se per quest'ultima sembra infatti fondamentale l'importanza dell'ottimizzazione on-page (50%), ovvero un buon titolo e del testo originale, magari formattato con una strizzatina d'occhio al seo, nel caso di Chiavi competitive questo viene a pesare solo il 5%. Le anchor text dei link risultano invece avere una importanza quasi costante mentre per le key competitive diventano fondamentali i fattori off-page, ovvero essere citati su altri siti e avere molti link in entrata da fonti differenti.</summary>
		<content type="html">
Da alcuni studi realizzati da Aaron Wall sembra che le strategie da adottare per posizionarsi per le chiavi competive siano differenti rispetto a quelle da impiegare per la coda lunga. Se per quest'ultima sembra infatti fondamentale l'importanza dell'ottimizzazione on-page (50%), ovvero un buon titolo e del testo originale, magari formattato con una strizzatina d'occhio al seo, nel caso di Chiavi competitive questo viene a pesare solo il 5%. Le anchor text dei link risultano invece avere una importanza quasi costante mentre per le key competitive diventano fondamentali i fattori off-page, ovvero essere citati su altri siti e avere molti link in entrata da fonti differenti.</content>
	</entry>
	<entry>
		<title>Le 4 regole da rispettare per realizzare un banner attiri i click</title>
		<link rel="alternate" type="text/html" href="/banner-e-click/322-le-4-regole-da-rispettare-per-realizzare-un-banner-attiri-i-click" />
		<published>2009-10-16T18:21:01Z</published>
		<updated>2009-10-16T18:21:01Z</updated>
		<id>/banner-e-click/322-le-4-regole-da-rispettare-per-realizzare-un-banner-attiri-i-click</id>
		<summary type="html">
&lt;strong&gt;Tenere a mente il Target di riferimento&lt;/strong&gt;&lt;br /&gt;Sembra banale, ma bisogna tenere sempre a mente a chi ci stiamo rivolgendo. Il nostro pubblico è spessp ben delineato, con particolari caratteristiche. E' importante riuscire a sfruttare questa conoscenza del target nel veicolare il messaggio, cercare di sviluppare il cosiddetto "autoriconoscimento", un legame che si sviluppa con il target quando capisce che il messaggio che sta vedendo parla la sua stessa lingua ed è diretto proprio a lui in quanto facente parte di un gruppo ben definito.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Mistero&lt;/strong&gt;&lt;br /&gt;La sacra tecnica del dire e non dire, del lasciar intuire. Sfruttare un enigma che induca curiosità è il secondo traguardo da raggiungere. Dopo aver selezionato il pubblico ed aver guadagnato l'attenzione doppiamo invitare al click, alla scoperta. Interessare senza rivelare tutto. Far pensare che cliccando si può scoprire il tassello mancante.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Sesso&lt;/strong&gt;&lt;br /&gt;E' la tecnica più vecchia del mondoe e se da sempre funziona un motivo ci sarà. Fare dei richiami al sesso aiuta ad attirare l'attenzione, se fatto con un gioco di parole può indurre alla risata e ben disporre al click.&lt;br /&gt;Mettere un viso gradevole inoltre può aiutare ad attirare l'attenzione perchè istintivamente siamo portati a guardare negli occhi un soggetto che ci troviamo davanti, anche se mediato da un monitor. Alcuni studi dimostrano addirittura che degli occhi o un viso che guardano in una certa direzione ci portano a nostra volta a spostare l'attenzione sull'oggetto osservato.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Paura e stress&lt;/strong&gt;&lt;br /&gt;Se il richiamo sessuale non fosse praticabile, meglio buttarla sulla paura. In clima di serenità le persone tendono ad essere superficiali. Per predisposizione istintiva invece se si rileva qualche elemento di pericolo, di incoerenza o simili si tende a condentrare l'attenzione per "farsi tornare i conti", per analizzare l'ambiente cirostante alla ricerca di un possibile pericolo. Questo riflesso del sistema rettileo può essere sfruttato nella creazione di un banner. Immagini catastrofiche o dissonanti rispetto al contesto attirano maggiormente l'attenzione del pubblico.</summary>
		<content type="html">
&lt;strong&gt;Tenere a mente il Target di riferimento&lt;/strong&gt;&lt;br /&gt;Sembra banale, ma bisogna tenere sempre a mente a chi ci stiamo rivolgendo. Il nostro pubblico è spessp ben delineato, con particolari caratteristiche. E' importante riuscire a sfruttare questa conoscenza del target nel veicolare il messaggio, cercare di sviluppare il cosiddetto "autoriconoscimento", un legame che si sviluppa con il target quando capisce che il messaggio che sta vedendo parla la sua stessa lingua ed è diretto proprio a lui in quanto facente parte di un gruppo ben definito.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Mistero&lt;/strong&gt;&lt;br /&gt;La sacra tecnica del dire e non dire, del lasciar intuire. Sfruttare un enigma che induca curiosità è il secondo traguardo da raggiungere. Dopo aver selezionato il pubblico ed aver guadagnato l'attenzione doppiamo invitare al click, alla scoperta. Interessare senza rivelare tutto. Far pensare che cliccando si può scoprire il tassello mancante.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Sesso&lt;/strong&gt;&lt;br /&gt;E' la tecnica più vecchia del mondoe e se da sempre funziona un motivo ci sarà. Fare dei richiami al sesso aiuta ad attirare l'attenzione, se fatto con un gioco di parole può indurre alla risata e ben disporre al click.&lt;br /&gt;Mettere un viso gradevole inoltre può aiutare ad attirare l'attenzione perchè istintivamente siamo portati a guardare negli occhi un soggetto che ci troviamo davanti, anche se mediato da un monitor. Alcuni studi dimostrano addirittura che degli occhi o un viso che guardano in una certa direzione ci portano a nostra volta a spostare l'attenzione sull'oggetto osservato.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Paura e stress&lt;/strong&gt;&lt;br /&gt;Se il richiamo sessuale non fosse praticabile, meglio buttarla sulla paura. In clima di serenità le persone tendono ad essere superficiali. Per predisposizione istintiva invece se si rileva qualche elemento di pericolo, di incoerenza o simili si tende a condentrare l'attenzione per "farsi tornare i conti", per analizzare l'ambiente cirostante alla ricerca di un possibile pericolo. Questo riflesso del sistema rettileo può essere sfruttato nella creazione di un banner. Immagini catastrofiche o dissonanti rispetto al contesto attirano maggiormente l'attenzione del pubblico.</content>
	</entry>
	<entry>
		<title>Ordinare un array multidimensionale in php</title>
		<link rel="alternate" type="text/html" href="/php/321-ordinare-un-array-multidimensionale-in-php" />
		<published>2009-09-25T12:28:44Z</published>
		<updated>2009-09-25T12:28:44Z</updated>
		<id>/php/321-ordinare-un-array-multidimensionale-in-php</id>
		<summary type="html">&lt;p&gt;&lt;img style="float: left;" alt="php_logo" src="images/stories/appunti/php/php_logo.jpg" height="100" width="100" /&gt;Mi è capitato ultimamente di dover ordinare gli elementi di un array multimensionale ( per capirci un array di array ) secondo uno degli elementi dell'array. Dopo aver ipotizzato soluzioni iperboliche e complicatissime ho fatto quello che ogni buon programmatore dovrebbe fare. Cercare con Google se qualcuno ha avuto lo stesso problema e vedere come lo ha risolto. Per capirci io ho il seguente array:&lt;/p&gt;

&lt;p&gt;{CODE}&lt;br /&gt; $citta = array (&lt;br /&gt; array( 'Torino', 130, 908193 ),&lt;br /&gt; array( 'Roma', 1285, 2728296 ),&lt;br /&gt; array( 'Milano', 181, 1299652 )&lt;br /&gt; );&lt;br /&gt; {/CODE}&lt;/p&gt;
&lt;p&gt;Ogni elemento è composta da array( 'nome_città', 'superficie', 'popolazione' ). Se volessi ordinare l'array secondo la superficie crescente, quindi per il secondo lavore dell'array, ovvero per il valore in posizione [1] (il conteggio per gli elementi dell'array in php partono da 0) avrò necessità di includere nel codice la seguente funzione:&lt;/p&gt;
&lt;p&gt;{CODE}&lt;br /&gt; function compare($x, $y)&lt;br /&gt; {&lt;br /&gt; if ( $x[1] == $y[1] )&lt;br /&gt; return 0;&lt;br /&gt; else if ( $x[1] &amp;lt; $y[1] )&lt;br /&gt; return -1;&lt;br /&gt; else&lt;br /&gt; return 1;&lt;br /&gt; }&lt;br /&gt; {/CODE}&lt;/p&gt;
&lt;p&gt;Il valore [1] chiamato nella funzione è quello secondo il quale va eseguito l'ordinamento. Per eseguire l'ordinamento dovrò chiamare poi la funzione:&lt;/p&gt;
&lt;p&gt;{CODE}&lt;br /&gt; usort($citta, 'compare');&lt;br /&gt; {/CODE}&lt;/p&gt;
&lt;p&gt;La funzione personalizzata viene passata alla funzione usort come secondo parametro. Attenzione al fatto che va passata come stringa e senza le classiche parentesi tonde con le quali si passano parametri alle funzioni. La funzione &lt;strong&gt;usort()&lt;/strong&gt; così per come viene chiamata in pratica prende l'array &lt;strong&gt;$citta&lt;/strong&gt; e impiega la funzione &lt;strong&gt;compare()&lt;/strong&gt; per eseguire l'ordinamento.&lt;/p&gt;
&lt;p&gt;La funzione &lt;strong&gt;usort()&lt;/strong&gt; infatti sta per User SORT, ovvero un ordinamento eseguito in bas ad una funzione definita dall'utente. Similarmente possono essere usate &lt;strong&gt;uasort()&lt;/strong&gt; e &lt;strong&gt;uksort()&lt;/strong&gt; che sono gli equivalenti di &lt;strong&gt;asort()&lt;/strong&gt; e &lt;strong&gt;ksort()&lt;/strong&gt; con funzioni &lt;em&gt;user-defined&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Per ordinare invece un array multidimensionale in ordine decrescente occorre utilizzare la seguente funzione definita dall'utente:&lt;/p&gt;
&lt;p&gt;{CODE}&lt;br /&gt; function compare($x, $y)&lt;br /&gt; {&lt;br /&gt; if ( $x[1] == $y[1] )&lt;br /&gt; return 0;&lt;br /&gt; else if ( $x[1] &amp;lt; $y[1] )&lt;br /&gt; return 1;&lt;br /&gt; else&lt;br /&gt; return -1;&lt;br /&gt; }&lt;br /&gt; {/CODE}&lt;/p&gt;
&lt;p&gt;Non esiste infatti la versione "reverse" sort come per le altre funzioni sort(), asort() e ksort() che si ottiene aggiungendo la lettera "r" alla chiamata ( es. arsort() ). Da notare che a cambiare sono semplicemente i valori ritornati dalla funzione che vengono invertiti di segno.&lt;/p&gt;</summary>
		<content type="html">&lt;p&gt;&lt;img style="float: left;" alt="php_logo" src="images/stories/appunti/php/php_logo.jpg" height="100" width="100" /&gt;Mi è capitato ultimamente di dover ordinare gli elementi di un array multimensionale ( per capirci un array di array ) secondo uno degli elementi dell'array. Dopo aver ipotizzato soluzioni iperboliche e complicatissime ho fatto quello che ogni buon programmatore dovrebbe fare. Cercare con Google se qualcuno ha avuto lo stesso problema e vedere come lo ha risolto. Per capirci io ho il seguente array:&lt;/p&gt;

&lt;p&gt;{CODE}&lt;br /&gt; $citta = array (&lt;br /&gt; array( 'Torino', 130, 908193 ),&lt;br /&gt; array( 'Roma', 1285, 2728296 ),&lt;br /&gt; array( 'Milano', 181, 1299652 )&lt;br /&gt; );&lt;br /&gt; {/CODE}&lt;/p&gt;
&lt;p&gt;Ogni elemento è composta da array( 'nome_città', 'superficie', 'popolazione' ). Se volessi ordinare l'array secondo la superficie crescente, quindi per il secondo lavore dell'array, ovvero per il valore in posizione [1] (il conteggio per gli elementi dell'array in php partono da 0) avrò necessità di includere nel codice la seguente funzione:&lt;/p&gt;
&lt;p&gt;{CODE}&lt;br /&gt; function compare($x, $y)&lt;br /&gt; {&lt;br /&gt; if ( $x[1] == $y[1] )&lt;br /&gt; return 0;&lt;br /&gt; else if ( $x[1] &amp;lt; $y[1] )&lt;br /&gt; return -1;&lt;br /&gt; else&lt;br /&gt; return 1;&lt;br /&gt; }&lt;br /&gt; {/CODE}&lt;/p&gt;
&lt;p&gt;Il valore [1] chiamato nella funzione è quello secondo il quale va eseguito l'ordinamento. Per eseguire l'ordinamento dovrò chiamare poi la funzione:&lt;/p&gt;
&lt;p&gt;{CODE}&lt;br /&gt; usort($citta, 'compare');&lt;br /&gt; {/CODE}&lt;/p&gt;
&lt;p&gt;La funzione personalizzata viene passata alla funzione usort come secondo parametro. Attenzione al fatto che va passata come stringa e senza le classiche parentesi tonde con le quali si passano parametri alle funzioni. La funzione &lt;strong&gt;usort()&lt;/strong&gt; così per come viene chiamata in pratica prende l'array &lt;strong&gt;$citta&lt;/strong&gt; e impiega la funzione &lt;strong&gt;compare()&lt;/strong&gt; per eseguire l'ordinamento.&lt;/p&gt;
&lt;p&gt;La funzione &lt;strong&gt;usort()&lt;/strong&gt; infatti sta per User SORT, ovvero un ordinamento eseguito in bas ad una funzione definita dall'utente. Similarmente possono essere usate &lt;strong&gt;uasort()&lt;/strong&gt; e &lt;strong&gt;uksort()&lt;/strong&gt; che sono gli equivalenti di &lt;strong&gt;asort()&lt;/strong&gt; e &lt;strong&gt;ksort()&lt;/strong&gt; con funzioni &lt;em&gt;user-defined&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Per ordinare invece un array multidimensionale in ordine decrescente occorre utilizzare la seguente funzione definita dall'utente:&lt;/p&gt;
&lt;p&gt;{CODE}&lt;br /&gt; function compare($x, $y)&lt;br /&gt; {&lt;br /&gt; if ( $x[1] == $y[1] )&lt;br /&gt; return 0;&lt;br /&gt; else if ( $x[1] &amp;lt; $y[1] )&lt;br /&gt; return 1;&lt;br /&gt; else&lt;br /&gt; return -1;&lt;br /&gt; }&lt;br /&gt; {/CODE}&lt;/p&gt;
&lt;p&gt;Non esiste infatti la versione "reverse" sort come per le altre funzioni sort(), asort() e ksort() che si ottiene aggiungendo la lettera "r" alla chiamata ( es. arsort() ). Da notare che a cambiare sono semplicemente i valori ritornati dalla funzione che vengono invertiti di segno.&lt;/p&gt;</content>
	</entry>
	<entry>
		<title>La Traduzione Italiana di CodeIgniter</title>
		<link rel="alternate" type="text/html" href="/codeigniter/320-la-traduzione-italiana-di-codeigniter" />
		<published>2009-09-22T08:30:48Z</published>
		<updated>2009-09-22T08:30:48Z</updated>
		<id>/codeigniter/320-la-traduzione-italiana-di-codeigniter</id>
		<summary type="html">&lt;p&gt;&lt;img style="float: left;" alt="codeIgniter_logo" src="images/stories/applicazioni/codeigniter/codeIgniter_logo.jpg" height="104" width="100" /&gt;Ecco disponibile, per tutti gli sviluppatori che la stavano cercando perché troppo pigri per spendere 1 oretta nel farsela da soli, &lt;strong&gt;la traduzione di CodeIgniter in italiano&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;CodeIgniter &lt;/strong&gt;è un framework molto leggero e versatile che facilità la creazione di applicazioni web-based su piattaforma &lt;em&gt;php / mysql&lt;/em&gt;. &lt;strong&gt;CodeIgniter &lt;/strong&gt;gestisce in modo semi-automatico i messaggi di errore di eventuali form o altri alert di sistema, che però sono in inglese. Siccome non tutti gli utenti delle nostre applicazioni possono sopportare la vista della lingua inglese, è comodo poter fare in modo che questi messaggi appaiano ai non anglofoni nella nostra lingua madre, l'&lt;strong&gt;italiano&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Cercando online ho trovato diversi riferimenti ad una traduzione, ma nessuno dei link per scaricare i file funzionava correttamente. Così ho pensato che, pur non essendo un madrelingua inglese, potevo almeno provare a fare per conto mio&lt;strong&gt; la traduzione di CodeIgniter in italiano&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Ecco il file: &lt;a href="images/stories/applicazioni/codeigniter/italian_1.7.x.zip"&gt;italian_1.7.x.zip&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Questi file vanno messi nella cartella &lt;strong&gt;system/language/italian&lt;/strong&gt; e poi all'interno del file di configurazione system/application/config/config.php va modificato il settaggio corrispondente:&lt;/p&gt;
&lt;p&gt;{CODE gutter:true; first-line:69;}&lt;br /&gt;$config['language']    = "italian";&lt;br /&gt;{/CODE}&lt;/p&gt;
&lt;p&gt;Dopo di che fate un bel "F5" per aggiornare la pagina della vostra applicazione e vedrete che i messaggi di sistema appariranno in lingua italiana.&lt;/p&gt;
&lt;p&gt;Riferimenti:&lt;a href="http://www.codeigniter.com" target="_blank" rel="nofollow"&gt;&lt;br /&gt;CodeIgniter.com&lt;/a&gt;&lt;/p&gt;</summary>
		<content type="html">&lt;p&gt;&lt;img style="float: left;" alt="codeIgniter_logo" src="images/stories/applicazioni/codeigniter/codeIgniter_logo.jpg" height="104" width="100" /&gt;Ecco disponibile, per tutti gli sviluppatori che la stavano cercando perché troppo pigri per spendere 1 oretta nel farsela da soli, &lt;strong&gt;la traduzione di CodeIgniter in italiano&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;CodeIgniter &lt;/strong&gt;è un framework molto leggero e versatile che facilità la creazione di applicazioni web-based su piattaforma &lt;em&gt;php / mysql&lt;/em&gt;. &lt;strong&gt;CodeIgniter &lt;/strong&gt;gestisce in modo semi-automatico i messaggi di errore di eventuali form o altri alert di sistema, che però sono in inglese. Siccome non tutti gli utenti delle nostre applicazioni possono sopportare la vista della lingua inglese, è comodo poter fare in modo che questi messaggi appaiano ai non anglofoni nella nostra lingua madre, l'&lt;strong&gt;italiano&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Cercando online ho trovato diversi riferimenti ad una traduzione, ma nessuno dei link per scaricare i file funzionava correttamente. Così ho pensato che, pur non essendo un madrelingua inglese, potevo almeno provare a fare per conto mio&lt;strong&gt; la traduzione di CodeIgniter in italiano&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Ecco il file: &lt;a href="images/stories/applicazioni/codeigniter/italian_1.7.x.zip"&gt;italian_1.7.x.zip&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Questi file vanno messi nella cartella &lt;strong&gt;system/language/italian&lt;/strong&gt; e poi all'interno del file di configurazione system/application/config/config.php va modificato il settaggio corrispondente:&lt;/p&gt;
&lt;p&gt;{CODE gutter:true; first-line:69;}&lt;br /&gt;$config['language']    = "italian";&lt;br /&gt;{/CODE}&lt;/p&gt;
&lt;p&gt;Dopo di che fate un bel "F5" per aggiornare la pagina della vostra applicazione e vedrete che i messaggi di sistema appariranno in lingua italiana.&lt;/p&gt;
&lt;p&gt;Riferimenti:&lt;a href="http://www.codeigniter.com" target="_blank" rel="nofollow"&gt;&lt;br /&gt;CodeIgniter.com&lt;/a&gt;&lt;/p&gt;</content>
	</entry>
	<entry>
		<title>GROUP BY e GROUP_CONCAT all'interno di una query SQL</title>
		<link rel="alternate" type="text/html" href="/component/content/article/97-sql/319-group-by-e-groupconcat-allinterno-di-una-query-sql" />
		<published>2009-09-18T11:48:07Z</published>
		<updated>2009-09-18T11:48:07Z</updated>
		<id>/component/content/article/97-sql/319-group-by-e-groupconcat-allinterno-di-una-query-sql</id>
		<summary type="html">&lt;img style="float: left;" alt="tipiconSQL" src="images/stories/appunti/sql/tipiconSQL.png" height="50" width="50" /&gt;Può succedere di dover estrarre da una tabella di un database dei dati raggruppandoli per un determinato campo della SELECT che stiamo eseguendo e questo può essere fatto facilmente con una query del tipo:&lt;br /&gt; {CODE brush:sql; gutter:false;}&lt;br /&gt; SELECT * FROM nome_tabella GROUP BY campo_group;&lt;br /&gt; {/CODE}&lt;br /&gt; 

&lt;br /&gt; Ad esempio la query &lt;br /&gt; &lt;em&gt;"SELECT modello, casa_produttirce FROM macchine GROUP BY casa_produttrice"&lt;/em&gt;&lt;br /&gt; ritornerà &lt;strong&gt;n&lt;/strong&gt; elementi, dove &lt;strong&gt;n&lt;/strong&gt; è il numero di valori &lt;span style="text-decoration: underline;"&gt;diversi&lt;/span&gt; per il campo &lt;strong&gt;casa_produttrice&lt;/strong&gt;. In pratica se abbiamo 20 modelli di macchine, ma solo due case produttrici diverse otterremo solo 2 risultati con i il primo modello, per ciascuna casa, che la query ritornerà.&lt;br /&gt; &lt;br /&gt; Se invece volessimo ottenere per ogni casa produttrice tutti i modelli delle macchine separati da una virgola dovremmo usare il comando GROUP_CONCAT con la seguente sintassi:&lt;br /&gt; {CODE brush:sql;}&lt;br /&gt; SELECT GROUP_CONCAT( campo ORDER BY campo_ordinamento SEPARATOR 'string' ) FROM nome_tabella GROUP BY campo_group;&lt;br /&gt; {/CODE}&lt;br /&gt; &lt;br /&gt; Tornato all'esempio di cui sopra avremo:&lt;br /&gt; &lt;em&gt;"SELECT GROUP_CONCAT(modello ORDER BY modello SEPARATOR ', ') AS elenco modelli, casa_produttirce FROM macchine GROUP BY casa_produttrice"&lt;/em&gt;.&lt;br /&gt; Questa query tornerà due record aventi nel campo elenco_modelli, creato utilizzando il comando "AS", una stringa contenente tutti i modelli trovati, separati da una virgola.&lt;br /&gt; In questo modo si riesce ad avere un report dei diversi valori del campo "modello" che altrimenti non sarebbero visibili.</summary>
		<content type="html">&lt;img style="float: left;" alt="tipiconSQL" src="images/stories/appunti/sql/tipiconSQL.png" height="50" width="50" /&gt;Può succedere di dover estrarre da una tabella di un database dei dati raggruppandoli per un determinato campo della SELECT che stiamo eseguendo e questo può essere fatto facilmente con una query del tipo:&lt;br /&gt; {CODE brush:sql; gutter:false;}&lt;br /&gt; SELECT * FROM nome_tabella GROUP BY campo_group;&lt;br /&gt; {/CODE}&lt;br /&gt; 

&lt;br /&gt; Ad esempio la query &lt;br /&gt; &lt;em&gt;"SELECT modello, casa_produttirce FROM macchine GROUP BY casa_produttrice"&lt;/em&gt;&lt;br /&gt; ritornerà &lt;strong&gt;n&lt;/strong&gt; elementi, dove &lt;strong&gt;n&lt;/strong&gt; è il numero di valori &lt;span style="text-decoration: underline;"&gt;diversi&lt;/span&gt; per il campo &lt;strong&gt;casa_produttrice&lt;/strong&gt;. In pratica se abbiamo 20 modelli di macchine, ma solo due case produttrici diverse otterremo solo 2 risultati con i il primo modello, per ciascuna casa, che la query ritornerà.&lt;br /&gt; &lt;br /&gt; Se invece volessimo ottenere per ogni casa produttrice tutti i modelli delle macchine separati da una virgola dovremmo usare il comando GROUP_CONCAT con la seguente sintassi:&lt;br /&gt; {CODE brush:sql;}&lt;br /&gt; SELECT GROUP_CONCAT( campo ORDER BY campo_ordinamento SEPARATOR 'string' ) FROM nome_tabella GROUP BY campo_group;&lt;br /&gt; {/CODE}&lt;br /&gt; &lt;br /&gt; Tornato all'esempio di cui sopra avremo:&lt;br /&gt; &lt;em&gt;"SELECT GROUP_CONCAT(modello ORDER BY modello SEPARATOR ', ') AS elenco modelli, casa_produttirce FROM macchine GROUP BY casa_produttrice"&lt;/em&gt;.&lt;br /&gt; Questa query tornerà due record aventi nel campo elenco_modelli, creato utilizzando il comando "AS", una stringa contenente tutti i modelli trovati, separati da una virgola.&lt;br /&gt; In questo modo si riesce ad avere un report dei diversi valori del campo "modello" che altrimenti non sarebbero visibili.</content>
	</entry>
	<entry>
		<title>Espressioni condizionali dei CSS</title>
		<link rel="alternate" type="text/html" href="/css-a-html/318-espressioni-condizionali-dei-css" />
		<published>2009-09-17T08:14:11Z</published>
		<updated>2009-09-17T08:14:11Z</updated>
		<id>/css-a-html/318-espressioni-condizionali-dei-css</id>
		<summary type="html">Quale programmatore non odia Internet Explorer 6 (quando non l'intera produzione di browser di casa Microsoft)? I layout che su altri browser funzionano correttamente vedendoli con questo browser vecchio risultano disallineati e per questo motivo è necessario inserire delle istruzioni apposite solo per lui che magari riscrivano anche in parte quelle settate per altri browser.&lt;br /&gt; Ecco quindi un compendio di tecniche per poter fare assegnazioni css "ad hoc" per i vari browser e le varie versioni.&lt;br /&gt; 

&lt;br /&gt; Ecco come selezionare i fogli di stile css a seconda del browser in uso:&lt;br /&gt; &lt;br /&gt; {CODE type:html; gutter: false;}&lt;br /&gt; // Css applicato solo per il browser Internet Explorer, qualsiasi versione&lt;br /&gt; &amp;lt; !--[if IE]&amp;gt;&lt;br /&gt; &amp;lt; link rel="stylesheet" type="text/css" href="ie-only.css" /&amp;gt;&lt;br /&gt; &amp;lt; ![endif]--&amp;gt;&lt;br /&gt; &lt;br /&gt; // Css applicato a tutti i browser che NON sono Internet Explorer&lt;br /&gt; &amp;lt; !--[if !IE]&amp;gt;&lt;br /&gt; &amp;lt; link rel="stylesheet" type="text/css" href="not-ie.css" /&amp;gt;&lt;br /&gt; &amp;lt; ![endif]--&amp;gt;&lt;br /&gt; &lt;br /&gt; // Css applicato solo ad Internet Explorer versione 7&lt;br /&gt; // Cambiando il numero dopo "IE" si può cambiare la versione del browser&lt;br /&gt; &amp;lt; !--[if IE 7]&amp;gt;&lt;br /&gt; &amp;lt; link href="IE-7-SPECIFIC.css" rel="stylesheet" type="text/css"&amp;gt;&lt;br /&gt; &amp;lt; ![endif]--&amp;gt;&lt;br /&gt; &lt;br /&gt; // Css applicato a tutte le versioni di Internet Explorer minori a 7 (ovvero 6 e inferiori)&lt;br /&gt; &amp;lt; !--[if lt IE 7]&amp;gt;&lt;br /&gt; &amp;lt; link rel="stylesheet" type="text/css" href="IE-6-OR-LOWER-SPECIFIC.css" /&amp;gt;&lt;br /&gt; &amp;lt; ![endif]--&amp;gt;&lt;br /&gt; {/CODE} &lt;br /&gt; Oltre alla stringa "&lt;strong&gt;lt&lt;/strong&gt;" utilizzata per definire il concetto di "less than" ( inferiore a ) all'interno dell'istruzione if ne esistono altre che sono:&lt;br /&gt; 
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;gt&lt;/strong&gt;: greater than (maggiore di)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;gte&lt;/strong&gt;: greater than or equal to (maggiore di o uguale a)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;lte&lt;/strong&gt;: lessa than or equal to (inferiore di o uguale a)&lt;/li&gt;
&lt;/ul&gt;
Queste istruzioni possono contenere anche dei frammenti di codice html che saranno eventualmente visualizzati solo sui browser selezionati (utile per inviare qualche insulto a chi ha ancora Internet Explore 5.5)&lt;br /&gt; &lt;br /&gt; E' possibile, nel caso non si volesse realizzare un foglio di stile dedicato, inserire istruzioni selettive all'interno della definizione di stile:&lt;br /&gt; &lt;br /&gt; {CODE type:css;gutter: false;}&lt;br /&gt; // Per IE-7 aggiungere un * (asterisco)&lt;br /&gt; #div {&lt;br /&gt; *height: 300px;&lt;br /&gt; }&lt;br /&gt; // Per i browser inferiori a IE-7 aggiungere un _ (underscore)&lt;br /&gt; #div {&lt;br /&gt; _height: 300px;&lt;br /&gt; }&lt;br /&gt; // nasconde le istruzioni ai browser IE-6 e inferiori&lt;br /&gt; #div {&lt;br /&gt; height/**/: 300px;&lt;br /&gt; }&lt;br /&gt; {/CODE}&lt;br /&gt;</summary>
		<content type="html">Quale programmatore non odia Internet Explorer 6 (quando non l'intera produzione di browser di casa Microsoft)? I layout che su altri browser funzionano correttamente vedendoli con questo browser vecchio risultano disallineati e per questo motivo è necessario inserire delle istruzioni apposite solo per lui che magari riscrivano anche in parte quelle settate per altri browser.&lt;br /&gt; Ecco quindi un compendio di tecniche per poter fare assegnazioni css "ad hoc" per i vari browser e le varie versioni.&lt;br /&gt; 

&lt;br /&gt; Ecco come selezionare i fogli di stile css a seconda del browser in uso:&lt;br /&gt; &lt;br /&gt; {CODE type:html; gutter: false;}&lt;br /&gt; // Css applicato solo per il browser Internet Explorer, qualsiasi versione&lt;br /&gt; &amp;lt; !--[if IE]&amp;gt;&lt;br /&gt; &amp;lt; link rel="stylesheet" type="text/css" href="ie-only.css" /&amp;gt;&lt;br /&gt; &amp;lt; ![endif]--&amp;gt;&lt;br /&gt; &lt;br /&gt; // Css applicato a tutti i browser che NON sono Internet Explorer&lt;br /&gt; &amp;lt; !--[if !IE]&amp;gt;&lt;br /&gt; &amp;lt; link rel="stylesheet" type="text/css" href="not-ie.css" /&amp;gt;&lt;br /&gt; &amp;lt; ![endif]--&amp;gt;&lt;br /&gt; &lt;br /&gt; // Css applicato solo ad Internet Explorer versione 7&lt;br /&gt; // Cambiando il numero dopo "IE" si può cambiare la versione del browser&lt;br /&gt; &amp;lt; !--[if IE 7]&amp;gt;&lt;br /&gt; &amp;lt; link href="IE-7-SPECIFIC.css" rel="stylesheet" type="text/css"&amp;gt;&lt;br /&gt; &amp;lt; ![endif]--&amp;gt;&lt;br /&gt; &lt;br /&gt; // Css applicato a tutte le versioni di Internet Explorer minori a 7 (ovvero 6 e inferiori)&lt;br /&gt; &amp;lt; !--[if lt IE 7]&amp;gt;&lt;br /&gt; &amp;lt; link rel="stylesheet" type="text/css" href="IE-6-OR-LOWER-SPECIFIC.css" /&amp;gt;&lt;br /&gt; &amp;lt; ![endif]--&amp;gt;&lt;br /&gt; {/CODE} &lt;br /&gt; Oltre alla stringa "&lt;strong&gt;lt&lt;/strong&gt;" utilizzata per definire il concetto di "less than" ( inferiore a ) all'interno dell'istruzione if ne esistono altre che sono:&lt;br /&gt; 
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;gt&lt;/strong&gt;: greater than (maggiore di)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;gte&lt;/strong&gt;: greater than or equal to (maggiore di o uguale a)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;lte&lt;/strong&gt;: lessa than or equal to (inferiore di o uguale a)&lt;/li&gt;
&lt;/ul&gt;
Queste istruzioni possono contenere anche dei frammenti di codice html che saranno eventualmente visualizzati solo sui browser selezionati (utile per inviare qualche insulto a chi ha ancora Internet Explore 5.5)&lt;br /&gt; &lt;br /&gt; E' possibile, nel caso non si volesse realizzare un foglio di stile dedicato, inserire istruzioni selettive all'interno della definizione di stile:&lt;br /&gt; &lt;br /&gt; {CODE type:css;gutter: false;}&lt;br /&gt; // Per IE-7 aggiungere un * (asterisco)&lt;br /&gt; #div {&lt;br /&gt; *height: 300px;&lt;br /&gt; }&lt;br /&gt; // Per i browser inferiori a IE-7 aggiungere un _ (underscore)&lt;br /&gt; #div {&lt;br /&gt; _height: 300px;&lt;br /&gt; }&lt;br /&gt; // nasconde le istruzioni ai browser IE-6 e inferiori&lt;br /&gt; #div {&lt;br /&gt; height/**/: 300px;&lt;br /&gt; }&lt;br /&gt; {/CODE}&lt;br /&gt;</content>
	</entry>
	<entry>
		<title>Inviti superflui. Dino Buzzati</title>
		<link rel="alternate" type="text/html" href="/settembre-2009/317-inviti-superflui-dino-buzzati" />
		<published>2009-09-15T08:17:02Z</published>
		<updated>2009-09-15T08:17:02Z</updated>
		<id>/settembre-2009/317-inviti-superflui-dino-buzzati</id>
		<summary type="html">&lt;p&gt;Un grazie a Silvia, sempre preziosa spacciatrice di letteratura.&lt;/p&gt;

&lt;p&gt;&lt;img style="float: left;" alt="fiaba" src="images/stories/img/fiaba.jpg" height="241" width="251" /&gt;Vorrei che tu venissi da me in una sera d'inverno e, stretti assieme dietro i vetri, guardando la solitudine delle strade buie e gelate, ricordassimo gli inverni delle favole, dove si visse insieme senza saperlo. Per gli stessi sentieri fatati passammo infatti tu ed io, con passi timidi, insieme andammo per le foreste piene di lupi, e i medesimi genii ci spianavano dai ciuffi di muschio sospesi alle torri, tra svolazzare di corvi. Insieme, senza saperlo, di là forse guardammo entrambi la vita misteriosa, che ci aspettava. Ivi palpitarono in noi per la prima volta pazzi e teneri desideri. "Ti ricordi?" ci diremo l'un l'altro, stringendoci dolcemente, nella calda stanza, e tu mi sorriderai fiduciosa mentre fuori daran tetro suono le lamiere scosse dal vento. Ma tu - ora mi ricordo - non conosci le favole antiche dei re senza nome, degli orchi e dei giardini stregati. Mai passasti, rapita, sotto gli alberi magici che parlano con voce umana, nè battesti mai alla porta del castello deserto, nè camminasti nella notte verso il lume lontano lontano, nè ti addormentasti sotto le stelle d'Oriente, cullata da piroga sacra. Dietro i vetri, nella sera d'inverno, probabilmente noi rimarremmo muti, io perdendomi nelle favole morte, tu in altre cure a me ignote. Io chiederei "Ti ricordi?", ma tu non ricorderesti.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt; Vorrei con te passeggiare, un giorno di primavera, col cielo di color grigio e ancora qualche vecchia foglia dell'anno prima trascinata per le strade dal vento, nei quartieri della periferia; e che fosse domenica. In tali contrade nascono spesso pensieri malinconici e grandi; e in date ora vaga la poesia, congiungendo i cuori di quelli che si vogliono bene. Nascono inoltre speranze che non si sanno dire, favorite dagli orizzonti sterminati dietro le case, dai treni fuggenti, dalle nuvole del settentrione. Ci terremmo semplicemente per mano e andremo con passo leggero, dicendo cose insensate, stupide e care. Fino a che si accenderanno i lampioni e dai casamenti squallidi usciranno le storie sinistre della città, le avventure, i vagheggiati romanzi. E allora noi taceremo sempre tenendoci per mano, poichè le anime si parlano senza parola. Ma tu - adesso mi ricordo - non mi dicesti cose insensate, stupide e care. Nè puoi quindi amare quelle domeniche che io dico, nè l'anima tua sa parlare alla mia in silenzio, nè riconosci all'ora giusta l'incantesimo della città, nè le speranze che scendono dal settentrione. Tu preferisci le luci, la folla, gli uomini che ti guardano, le vie dove dicono si possa incontrare fortuna. Tu sei diversa da me e se venissi quel giorno a passeggiare, ti lamenteresti di essere stanca; solo questo e nient'altro.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt; &lt;img style="float: right;" alt="libro-fiabe" src="images/stories/img/libro-fiabe.jpg" height="300" width="300" /&gt;Vorrei anche andare con te d'estate in una valle solitaria, continuamente ridendo per le cose più semplici, ad esplorare i segreti dei boschi, delle strade bianche, di certe case abbandonate. Fermarci sul ponte di legno a guardare l'acqua che passa, ascoltare nei pali del telefono quella lunga storia senza fine che viene da un capo del mondo e chissà dove andrà mai. E strappare i fiori dei prati e qui, distesi sull'erba, nel silenzio del sole, contemplare gli abissi del cielo e le bianche nuvolette che passano e le cime delle montagne. Tu diresti "Che bello!" Niente altro diresti perchè noi saremmo felici; avendo il nostro corpo perduto il peso degli anni, le anime divenute fresche, come fossero nate allora.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt; Ma tu - ora che ci penso - tu ti guarderesti attorno senza capire, ho paura, e ti fermeresti preoccuoata a esaminare una calza, mi chiederesti un'altra sigaretta, impaziente di fare ritorno. E non diresti "Che bello!", ma altre povere cose che a me non importano. Perchè purtroppo sei fatta così. E non saremmo neppure per un istante felici.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt; Vorrei pure - lasciami dire - vorrei con te sottobraccio attraversare le grandi vie della città in un tramonto di novembre, quando il cielo è di puro cristallo. Quando i fantasmi della vita corrono sopra le cupole e sfiorano la gente nera, in fondo alla fossa delle strade, già colma di inquietudini. Quando memorie di età beate e nuovi presagi passano sopra la terra, lasciando sopra di sè una specie di musica. Con la candida superbia dei bambini guarderemo le facce degli altri, migliaia e migliaia, che a fiumi ci trascorrono accanto. Noi manderemo senza saperlo luce di gioia e tutti saran costretti a guardarci, non per invidia e malanimo; bensì sorridendo un poco, con sentimento di bontà, per via della sera che guarisce le debolezze dell'uomo. Ma tu - lo capisco bene - invece di guardare il cielo di cristallo e gli aerei colonnati battuti dall'estremo sole, vorrai fermarti a guardare le vetrine, gli ori, le ricchezze, le sete, quelle cose meschine. E non ti accorgerai quindi dei fantasmi, nè dei presentimenti che passano, nè ti sentirai, come me, chiamata a sorte orgogliosa. Nè udresti quella specie di musica, nè capiresti perchè la gente ci guardi con occhi buoni. Tu penseresti al tuo povero domani e inutilmente sopra di te le statue d'oro sulle guglie alzeranno le spade sugli ultimi raggi. Ed io sarei solo. E' inutile. Forse tutte queste sono sciocchezze, e tu migliore di me, non presumendo tanto dalla vita. Forse hai ragione tu e sarebbe stupido tentare. Ma almeno, questo sì almeno, vorrei rivederti. Sia quel che sia, noi staremo insieme in qualche modo, e troveremo la gioia. Non importa se di giorno o di notte, d'estate o d'autunno, in un paese sconosciuto, in una casa disadorna, in una squallida locanda. Mi basterà averti vicina. Io non starò qui ad ascoltare - ti prometto - gli scricchiolii misteriosi del tetto, nè guarderò le nubi, nè darò retta alle musiche o al vento. Rinuncerò a queste cose inutili, che pure io amo. Avrò pazienza se non capirai ciò che ti dico, se parlerai di fatti a me strani, se ti lamenterai dei vestiti e dei soldi. Non ci saranno la cosiddetta poesia, le comuni speranze, le mestizie così amiche all'amore. Ma io ti avrò vicina. E riusciremo, vedrai, a essere abbastanza felici, con molta semplicità, uomo con donna solamente, come suole accadere in ogni parte del mondo.&lt;br /&gt; Ma tu - adesso che ci penso - sei troppo lontana, centinaia e centinaia di chilometri difficili da valicare, tu sei dentro a una vita che ignoro, e gli altri uomini ti sono accanto, a cui probabilmente sorridi, come a me nei tempi passati. Ed è bastato poco perchè ti dimenticassi di me. Probabilmente non riesci più a ricordare il mio nome. Io sono ormai uscito da te, confuso fra le innumerevoli ombre. Eppure non so pensare che a te, e mi piace dirti queste cose.&lt;/p&gt;</summary>
		<content type="html">&lt;p&gt;Un grazie a Silvia, sempre preziosa spacciatrice di letteratura.&lt;/p&gt;

&lt;p&gt;&lt;img style="float: left;" alt="fiaba" src="images/stories/img/fiaba.jpg" height="241" width="251" /&gt;Vorrei che tu venissi da me in una sera d'inverno e, stretti assieme dietro i vetri, guardando la solitudine delle strade buie e gelate, ricordassimo gli inverni delle favole, dove si visse insieme senza saperlo. Per gli stessi sentieri fatati passammo infatti tu ed io, con passi timidi, insieme andammo per le foreste piene di lupi, e i medesimi genii ci spianavano dai ciuffi di muschio sospesi alle torri, tra svolazzare di corvi. Insieme, senza saperlo, di là forse guardammo entrambi la vita misteriosa, che ci aspettava. Ivi palpitarono in noi per la prima volta pazzi e teneri desideri. "Ti ricordi?" ci diremo l'un l'altro, stringendoci dolcemente, nella calda stanza, e tu mi sorriderai fiduciosa mentre fuori daran tetro suono le lamiere scosse dal vento. Ma tu - ora mi ricordo - non conosci le favole antiche dei re senza nome, degli orchi e dei giardini stregati. Mai passasti, rapita, sotto gli alberi magici che parlano con voce umana, nè battesti mai alla porta del castello deserto, nè camminasti nella notte verso il lume lontano lontano, nè ti addormentasti sotto le stelle d'Oriente, cullata da piroga sacra. Dietro i vetri, nella sera d'inverno, probabilmente noi rimarremmo muti, io perdendomi nelle favole morte, tu in altre cure a me ignote. Io chiederei "Ti ricordi?", ma tu non ricorderesti.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt; Vorrei con te passeggiare, un giorno di primavera, col cielo di color grigio e ancora qualche vecchia foglia dell'anno prima trascinata per le strade dal vento, nei quartieri della periferia; e che fosse domenica. In tali contrade nascono spesso pensieri malinconici e grandi; e in date ora vaga la poesia, congiungendo i cuori di quelli che si vogliono bene. Nascono inoltre speranze che non si sanno dire, favorite dagli orizzonti sterminati dietro le case, dai treni fuggenti, dalle nuvole del settentrione. Ci terremmo semplicemente per mano e andremo con passo leggero, dicendo cose insensate, stupide e care. Fino a che si accenderanno i lampioni e dai casamenti squallidi usciranno le storie sinistre della città, le avventure, i vagheggiati romanzi. E allora noi taceremo sempre tenendoci per mano, poichè le anime si parlano senza parola. Ma tu - adesso mi ricordo - non mi dicesti cose insensate, stupide e care. Nè puoi quindi amare quelle domeniche che io dico, nè l'anima tua sa parlare alla mia in silenzio, nè riconosci all'ora giusta l'incantesimo della città, nè le speranze che scendono dal settentrione. Tu preferisci le luci, la folla, gli uomini che ti guardano, le vie dove dicono si possa incontrare fortuna. Tu sei diversa da me e se venissi quel giorno a passeggiare, ti lamenteresti di essere stanca; solo questo e nient'altro.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt; &lt;img style="float: right;" alt="libro-fiabe" src="images/stories/img/libro-fiabe.jpg" height="300" width="300" /&gt;Vorrei anche andare con te d'estate in una valle solitaria, continuamente ridendo per le cose più semplici, ad esplorare i segreti dei boschi, delle strade bianche, di certe case abbandonate. Fermarci sul ponte di legno a guardare l'acqua che passa, ascoltare nei pali del telefono quella lunga storia senza fine che viene da un capo del mondo e chissà dove andrà mai. E strappare i fiori dei prati e qui, distesi sull'erba, nel silenzio del sole, contemplare gli abissi del cielo e le bianche nuvolette che passano e le cime delle montagne. Tu diresti "Che bello!" Niente altro diresti perchè noi saremmo felici; avendo il nostro corpo perduto il peso degli anni, le anime divenute fresche, come fossero nate allora.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt; Ma tu - ora che ci penso - tu ti guarderesti attorno senza capire, ho paura, e ti fermeresti preoccuoata a esaminare una calza, mi chiederesti un'altra sigaretta, impaziente di fare ritorno. E non diresti "Che bello!", ma altre povere cose che a me non importano. Perchè purtroppo sei fatta così. E non saremmo neppure per un istante felici.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt; Vorrei pure - lasciami dire - vorrei con te sottobraccio attraversare le grandi vie della città in un tramonto di novembre, quando il cielo è di puro cristallo. Quando i fantasmi della vita corrono sopra le cupole e sfiorano la gente nera, in fondo alla fossa delle strade, già colma di inquietudini. Quando memorie di età beate e nuovi presagi passano sopra la terra, lasciando sopra di sè una specie di musica. Con la candida superbia dei bambini guarderemo le facce degli altri, migliaia e migliaia, che a fiumi ci trascorrono accanto. Noi manderemo senza saperlo luce di gioia e tutti saran costretti a guardarci, non per invidia e malanimo; bensì sorridendo un poco, con sentimento di bontà, per via della sera che guarisce le debolezze dell'uomo. Ma tu - lo capisco bene - invece di guardare il cielo di cristallo e gli aerei colonnati battuti dall'estremo sole, vorrai fermarti a guardare le vetrine, gli ori, le ricchezze, le sete, quelle cose meschine. E non ti accorgerai quindi dei fantasmi, nè dei presentimenti che passano, nè ti sentirai, come me, chiamata a sorte orgogliosa. Nè udresti quella specie di musica, nè capiresti perchè la gente ci guardi con occhi buoni. Tu penseresti al tuo povero domani e inutilmente sopra di te le statue d'oro sulle guglie alzeranno le spade sugli ultimi raggi. Ed io sarei solo. E' inutile. Forse tutte queste sono sciocchezze, e tu migliore di me, non presumendo tanto dalla vita. Forse hai ragione tu e sarebbe stupido tentare. Ma almeno, questo sì almeno, vorrei rivederti. Sia quel che sia, noi staremo insieme in qualche modo, e troveremo la gioia. Non importa se di giorno o di notte, d'estate o d'autunno, in un paese sconosciuto, in una casa disadorna, in una squallida locanda. Mi basterà averti vicina. Io non starò qui ad ascoltare - ti prometto - gli scricchiolii misteriosi del tetto, nè guarderò le nubi, nè darò retta alle musiche o al vento. Rinuncerò a queste cose inutili, che pure io amo. Avrò pazienza se non capirai ciò che ti dico, se parlerai di fatti a me strani, se ti lamenterai dei vestiti e dei soldi. Non ci saranno la cosiddetta poesia, le comuni speranze, le mestizie così amiche all'amore. Ma io ti avrò vicina. E riusciremo, vedrai, a essere abbastanza felici, con molta semplicità, uomo con donna solamente, come suole accadere in ogni parte del mondo.&lt;br /&gt; Ma tu - adesso che ci penso - sei troppo lontana, centinaia e centinaia di chilometri difficili da valicare, tu sei dentro a una vita che ignoro, e gli altri uomini ti sono accanto, a cui probabilmente sorridi, come a me nei tempi passati. Ed è bastato poco perchè ti dimenticassi di me. Probabilmente non riesci più a ricordare il mio nome. Io sono ormai uscito da te, confuso fra le innumerevoli ombre. Eppure non so pensare che a te, e mi piace dirti queste cose.&lt;/p&gt;</content>
	</entry>
	<entry>
		<title>Conoscere il nome della classe di un oggetto in PHP</title>
		<link rel="alternate" type="text/html" href="/php/316-conoscere-il-nome-della-classe-di-un-oggetto-in-php" />
		<published>2009-09-09T17:56:26Z</published>
		<updated>2009-09-09T17:56:26Z</updated>
		<id>/php/316-conoscere-il-nome-della-classe-di-un-oggetto-in-php</id>
		<summary type="html">&lt;p&gt;&lt;img style="float: left;" alt="php_logo" src="images/stories/appunti/php/php_logo.jpg" height="100" width="100" /&gt;Non si tratta di una delle esigenze più immediate per i programmatori di php, ma quando si raggiungono livelli elevati di complessità riuscire a conoscere il nome della classe in cui stiamo lavorando può tornare utile. Utilizzando il modello MVC unitariamente ad un sistema di url rewrite del tipo &amp;lt;url&amp;gt;/&amp;lt;classe&amp;gt;/&amp;lt;funzione_della_classe&amp;gt; può essere utile conoscere il nome della classe di un oggetto $this-&amp;gt;nome_oggetto per poter costruire correttamente un link.&lt;/p&gt;

&lt;p&gt;Comunque, che sia utile o no, ecco le due funzioni:&lt;/p&gt;
&lt;p&gt;{CODE}&lt;br /&gt;// funzione per consocere il nome della classe di un oggetto&lt;br /&gt;$string = get_class($this);&lt;br /&gt;// oppure&lt;br /&gt;$baf = new modulo();&lt;br /&gt;echo get_class($baf); // restituira 'modulo';&lt;br /&gt;&lt;br /&gt;// per conoscere invece il parent o la classe di derivazione si utilizza&lt;br /&gt;$string = get_parent_class(); &lt;br /&gt;&lt;br /&gt;{/CODE}&lt;/p&gt;</summary>
		<content type="html">&lt;p&gt;&lt;img style="float: left;" alt="php_logo" src="images/stories/appunti/php/php_logo.jpg" height="100" width="100" /&gt;Non si tratta di una delle esigenze più immediate per i programmatori di php, ma quando si raggiungono livelli elevati di complessità riuscire a conoscere il nome della classe in cui stiamo lavorando può tornare utile. Utilizzando il modello MVC unitariamente ad un sistema di url rewrite del tipo &amp;lt;url&amp;gt;/&amp;lt;classe&amp;gt;/&amp;lt;funzione_della_classe&amp;gt; può essere utile conoscere il nome della classe di un oggetto $this-&amp;gt;nome_oggetto per poter costruire correttamente un link.&lt;/p&gt;

&lt;p&gt;Comunque, che sia utile o no, ecco le due funzioni:&lt;/p&gt;
&lt;p&gt;{CODE}&lt;br /&gt;// funzione per consocere il nome della classe di un oggetto&lt;br /&gt;$string = get_class($this);&lt;br /&gt;// oppure&lt;br /&gt;$baf = new modulo();&lt;br /&gt;echo get_class($baf); // restituira 'modulo';&lt;br /&gt;&lt;br /&gt;// per conoscere invece il parent o la classe di derivazione si utilizza&lt;br /&gt;$string = get_parent_class(); &lt;br /&gt;&lt;br /&gt;{/CODE}&lt;/p&gt;</content>
	</entry>
</feed>
