<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/atom10full.xsl" type="text/xsl" media="screen"?><?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/itemcontent.css" type="text/css" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">
    <title>Simone Carletti's Blog</title>
    <link rel="alternate" type="text/html" href="http://www.simonecarletti.com/blog/" />
    
    <id>tag:www.simonecarletti.com,2005-09-18:/blog//1</id>
    <updated>2008-07-06T16:28:18Z</updated>
    <subtitle>Un piccolo spazio nel web dedicato al web con approfondimenti su marketing, feed RSS / Atom e motori di ricerca.</subtitle>
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type Personal 4.1</generator>
    

<link rel="self" href="http://feeds.feedburner.com/simonecarletti" type="application/atom+xml" /><feedburner:emailServiceId>133661</feedburner:emailServiceId><feedburner:feedburnerHostname>http://www.feedburner.com</feedburner:feedburnerHostname><feedburner:browserFriendly>This is an XML content feed. It is intended to be viewed in a newsreader or syndicated to another site, subject to copyright and fair use.</feedburner:browserFriendly><entry>
    <title>Recensione libro Interface Oriented Design</title>
    <link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/simonecarletti/~3/328150167/interface-oriented-design.php" />
    <id>tag:www.simonecarletti.com,2008:/blog//1.765</id>

    <published>2008-07-06T16:22:38Z</published>
    <updated>2008-07-06T16:28:18Z</updated>

    <summary>Recensione del libro Interface Oriented Design edito da Pragmatic Bookshelf (The Pragmatic Programmers).</summary>
    <author>
        <name>Simone Carletti</name>
        <uri>http://www.simonecarletti.com</uri>
    </author>
    
    <!-- categories start -->
    
        <category term="Ho letto" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Programmazione" scheme="http://www.sixapart.com/ns/types#category" />
    
    <!-- categories end -->
    
    <!-- tags start -->
    <category term="design" label="design" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="interfacce" label="interfacce" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="libri" label="libri" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="recensioni" label="recensioni" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="software" label="software" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <!-- tags end -->
    
    <content type="html" xml:lang="en" xml:base="http://www.simonecarletti.com/blog/">
        &lt;p&gt;&lt;a href="http://www.amazon.com/gp/product/0976694050?ie=UTF8&amp;tag=simonecarletti-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=0976694050"&gt;&lt;img src="http://www.simonecarletti.com/blog/images/pragprog/190x228/kpiod.jpg" class="alignleft" /&gt;&lt;/a&gt;&lt;img src="http://www.assoc-amazon.com/e/ir?t=simonecarletti-20&amp;l=as2&amp;o=1&amp;a=0976694050" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /&gt;
Dopo una serie di letture una più gustosa dell'altra, doveva arrivare prima o poi il momento di un libro che non suscitasse quell'interesse che mi sarei aspettato. &lt;/p&gt;

&lt;p&gt;Devo dire che, fin dall'inizio, l'incontro con &lt;a href="http://www.amazon.com/gp/product/0976694050?ie=UTF8&amp;tag=simonecarletti-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=0976694050"&gt;Interface Oriented Design: With Patterns (Pragmatic Programmers)&lt;/a&gt;&lt;img src="http://www.assoc-amazon.com/e/ir?t=simonecarletti-20&amp;l=as2&amp;o=1&amp;a=0976694050" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /&gt; non è stato tra i più felici. Lo acquistai a dicembre, &lt;a href="http://www.simonecarletti.com/blog/2007/12/pragmatic-programmers-addicted.php" title="Pragmatic programmers addicted - Simone Carletti's Blog"&gt;in un ordine con altri classici&lt;/a&gt; come &lt;a href="http://www.simonecarletti.com/blog/2008/02/learn-to-program.php" title="Libro Learn to Program - Simone Carletti's Blog"&gt;Learn to Program&lt;/a&gt; e &lt;a href="http://www.simonecarletti.com/blog/2008/04/ship-it.php" title="Libro Ship it! A Practical Guide to Successful Software Projects - Simone Carletti's Blog"&gt;Ship It!&lt;/a&gt;. Per una serie di motivi lo scambiai per un libro legato alla progettazione di interfacce utente e solo dopo mi accorsi che riguardava invece il componente interfaccia in termini di sviluppo del software.&lt;/p&gt;

&lt;p&gt;Potete immaginare il mio disappunto! Non che non conosca le interfacce, non che mi manchino le competenze per comprendere l'argomento... ma considerato che ad oggi Ruby è il linguaggio di programmazione che uso quotidianamente, un libro sulle interfacce è utile quanto spiegare ad un beduino come si guida una motoslitta.&lt;/p&gt;

&lt;p&gt;Passato l'amaro in bocca e messo in testa il &lt;a href="http://www.java.com/"&gt;Java&lt;/a&gt;-cappello, ho deciso di intraprendere ugualmente la lettura.&lt;/p&gt;
        &lt;h2&gt;Struttura del libro&lt;/h2&gt;

&lt;p&gt;&lt;a href="http://www.amazon.com/gp/product/0976694050?ie=UTF8&amp;tag=simonecarletti-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=0976694050"&gt;Interface Oriented Design: With Patterns (Pragmatic Programmers)&lt;/a&gt;&lt;img src="http://www.assoc-amazon.com/e/ir?t=simonecarletti-20&amp;l=as2&amp;o=1&amp;a=0976694050" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /&gt; è organizzato in 3 parti:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;All about Interfaces&lt;/li&gt;
  &lt;li&gt;Developing Interfaces&lt;/li&gt;
  &lt;li&gt;Interfaces in the Real World&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;All about Intefaces&lt;/strong&gt; è un'introduzione alle interfacce. Ken Pugh apre il libro subito con un esempio, dimostrando come in realtà un servizio di pizza a domicilio possa essere descritto con una o più interfacce.
Il secondo capitolo elenca e descrive le &lt;strong&gt;tre leggi delle interfacce&lt;/strong&gt; utilizzando, ancora una volta, l'esempio Pizza Delivery per dimostrare un'applicazione pratica dell'argomento.&lt;/p&gt;

&lt;p&gt;La prima parte prosegue poi trattando gli elementi di un'interfaccia, le sue caratteristiche come l'ereditarietà ed il polimorfismo per dedicare infine un capitolo alle &lt;strong&gt;interfacce remote&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;La seconda parte, &lt;strong&gt;Developing Interfaces&lt;/strong&gt;, contiene un solo capitolo ed analizza come orientare lo sviluppo di un software utilizzando le interfacce sia in fase di design, sia in fase di scrittura effettiva del codice sorgente.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Interfaces in the Real World&lt;/strong&gt;, l'ultima parte, contiene 3 esempi d'utilizzo di interfacce nella vita reale per lo sviluppo di software. L'ultimo capitolo di questa sezione, &lt;strong&gt;Patters&lt;/strong&gt;, accenna infine ai principali Design Patter basati su interfacce.&lt;/p&gt;

&lt;h2&gt;Mi aspettavo qualcosa di diverso...&lt;/h2&gt;

&lt;p&gt;E' possibile che il mio giudizio sia stato in qualche modo influenzato fin dall'inizio, dai motivi anticipati in apertura di questo post. Ad ogni modo, l'interesse per questo libro è andato via via scemando durante la lettura.&lt;/p&gt;

&lt;p&gt;Abbastanza interessante la prima parte. L'introduzione è chiara, significativa ed i concetti affrontati possono essere molto utili nella progettazione di un software, indipendentemente dal fatto che il linguaggio scelto supporti o meno l'uso di interfacce.
In alcuni frangenti non ho apprezzato la volontà dell'autore di dimostrare come "praticamente tutto può essere ricondotto ad un'interfaccia", anche in situazioni dove una classe astratta o altri elementi avrebbero rappresentato una scelta più adeguata.&lt;/p&gt;

&lt;p&gt;In generale, il libro è molto ricco di informazioni ma buona parte degli argomenti è trattata in modo superficiale.
Lo sviluppo con le interfacce è limitato ad un solo capitolo, il capitolo 11 &lt;strong&gt;Patterns&lt;/strong&gt; è poco più che un elenco di nomi e non trasmette in alcun modo le reali potenzialità dei design pattern analizzati.&lt;/p&gt;

&lt;p&gt;Gli esempi forniti coprono quasi esclusivamente l'aspetto di design ed analizi delle interfacce e quasi mai offrono un'effettiva dimostrazione dell'implementazione di un'interfaccia da parte di diversi elementi di un software.
Lo stesso terzo capitolo, offre tre esempi reali ma in tutti e tre ci si limita ad offrire porzioni di codice saltellando da una prospettiva all'altra. Probabilmente, un solo reale esempio con a corredo un prototipo di applicazione funzionante avrebbe offerto una prospettiva più diretta.&lt;/p&gt;

&lt;h2&gt;In conclusione&lt;/h2&gt;

&lt;p&gt;Come buona parte degli altri libri editi dalla Pragmatic Programmers, anche &lt;a href="http://www.amazon.com/gp/product/0976694050?ie=UTF8&amp;tag=simonecarletti-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=0976694050"&gt;Interface Oriented Design: With Patterns (Pragmatic Programmers)&lt;/a&gt;&lt;img src="http://www.assoc-amazon.com/e/ir?t=simonecarletti-20&amp;l=as2&amp;o=1&amp;a=0976694050" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /&gt; è una lettura relativamente rapida e non troppo impegnativa. Tuttavia, rispetto alla qualità generale delle altre pubblicazioni, questa volta non sono rimasto soddisfatto dell'acquisto e probabilmente non l'avrei inserito nel carrello se (1) non mi fossi confuso di argomento (2) ed avessi potuto sfogliare il libro curiosandone il contenuto.&lt;/p&gt;

&lt;p&gt;Per chi desiderasse approfondire il tema di interfacce e design patterns consiglio in alternativa la lettura di un libro dedicato ai design pattern, per chi desiderasse una trattazione specifica sull'applicazione delle interfacce in Java consiglio l'acquisto di una pubblicazione specifica per Java, per chi desiderasse un'introduzione teorica alle interfacce &lt;a href="http://www.amazon.com/gp/product/0976694050?ie=UTF8&amp;tag=simonecarletti-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=0976694050"&gt;Interface Oriented Design: With Patterns (Pragmatic Programmers)&lt;/a&gt;&lt;img src="http://www.assoc-amazon.com/e/ir?t=simonecarletti-20&amp;l=as2&amp;o=1&amp;a=0976694050" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /&gt; potrebbe essere una soluzione adeguata per tragettarvi in seguito verso l'acquisto di una lettura più specifica.&lt;/p&gt;


&lt;hr /&gt;
&lt;p&gt;News Source: &lt;a href="http://www.simonecarletti.com/blog/2008/07/interface-oriented-design.php" title="Recensione libro Interface Oriented Design"&gt;Recensione libro Interface Oriented Design&lt;/a&gt;&lt;br /&gt;
News URI: http://www.simonecarletti.com/blog/2008/07/interface-oriented-design.php&lt;/p&gt;
&lt;p&gt;Copyright &amp;copy; 2005-2008 &lt;strong&gt;&lt;a href="http://www.simonecarletti.com"&gt;Simone Carletti&lt;/a&gt;&lt;/strong&gt;. This Feed is for non-commercial use only and licensed under &lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/"&gt;Creative Common Attribution-NonCommercial-ShareAlike 2.5&lt;/a&gt; license. If you are not reading this material in your feed aggregator, the site you are looking at may be guilty of copyright infringement. Please contact me, so I can take appropriate action.&lt;/p&gt;    
    
&lt;p&gt;&lt;a href="http://feeds.feedburner.com/~a/simonecarletti?a=zPI3nP"&gt;&lt;img src="http://feeds.feedburner.com/~a/simonecarletti?i=zPI3nP" border="0"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/simonecarletti?a=kPGgwJ"&gt;&lt;img src="http://feeds.feedburner.com/~f/simonecarletti?i=kPGgwJ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/simonecarletti?a=aXGrMJ"&gt;&lt;img src="http://feeds.feedburner.com/~f/simonecarletti?i=aXGrMJ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/simonecarletti?a=3pM81j"&gt;&lt;img src="http://feeds.feedburner.com/~f/simonecarletti?i=3pM81j" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/simonecarletti?a=xZgjkj"&gt;&lt;img src="http://feeds.feedburner.com/~f/simonecarletti?i=xZgjkj" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/simonecarletti?a=luX4Aj"&gt;&lt;img src="http://feeds.feedburner.com/~f/simonecarletti?i=luX4Aj" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/simonecarletti/~4/328150167" height="1" width="1"/&gt;</content>

    <!-- slash namespace -->
    <slash:comments>0</slash:comments>

<feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=simonecarletti&amp;itemurl=http%3A%2F%2Fwww.simonecarletti.com%2Fblog%2F2008%2F07%2Finterface-oriented-design.php</feedburner:awareness><feedburner:origLink>http://www.simonecarletti.com/blog/2008/07/interface-oriented-design.php</feedburner:origLink></entry>

<entry>
    <title>Buoni motivi per non togliere il www dall'URL</title>
    <link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/simonecarletti/~3/309994580/buoni-motivi-non-togliere-www.php" />
    <id>tag:www.simonecarletti.com,2008:/blog//1.763</id>

    <published>2008-06-11T23:07:15Z</published>
    <updated>2008-06-12T07:25:33Z</updated>

    <summary>Alcuni buoni motivi per non togliere il www dall'indirizzo di un dominio.</summary>
    <author>
        <name>Simone Carletti</name>
        <uri>http://www.simonecarletti.com</uri>
    </author>
    
    <!-- categories start -->
    
        <category term="Marketing" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="SEO" scheme="http://www.sixapart.com/ns/types#category" />
    
    <!-- categories end -->
    
    <!-- tags start -->
    <category term="domini" label="domini" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="icann" label="icann" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="www" label="www" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <!-- tags end -->
    
    <content type="html" xml:lang="en" xml:base="http://www.simonecarletti.com/blog/">
        &lt;p&gt;A settembre &lt;a href="http://blog.html.it/archivi/2007/09/28/ti-piace-con-o-senza-www.php"&gt;pubblicai una curiosità&lt;/a&gt; che indicava come, secondo l'ICANN, nel 2004 la necessità di digitare www davanti ad un indirizzo internet sia costata ben 25 miliardi di dollari.&lt;/p&gt;
&lt;p&gt;Siccome io ho cura del portafoglio dei miei utenti, qualche giorno fa ho deciso di condurre un esperimento e configurare &lt;a href="http://www.simonecarletti.com/blog/2008/06/nuovo-sito-per-asp-stats-generator.php"&gt;il nuovo sito di ASP Stats Generator&lt;/a&gt; in modo tale da indirizzare ogni richiesta inviata al dominio &lt;a href="http://www.asp-stats.com"&gt;www.asp-stats.com&lt;/a&gt; verso &lt;a href="http://www.asp-stats.com"&gt;asp-stats.com&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Il risultato? Ecco alcuni buoni motivi che forse l'ICANN si è scordato di considerare.&lt;/p&gt;

        &lt;h2&gt;&lt;strong&gt;Quante pagine indicizzate?&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;Cercare il numero di pagine indicizzate per un dominio senza www è praticamente impossibile nel caso in cui siano online dei sottodomini.
Una semplice ricerca per &lt;a href="http://www.google.com/search?q=site%3Aasp-stats.com"&gt;site:asp-stats.com&lt;/a&gt;, infatti, restituisce indistintamente sia pagine del livello principale sia pagine dei sottolivelli.&lt;/p&gt;
&lt;p&gt;Esistono vari workaround, certamente, ma scrivendo &lt;a href="http://www.google.com/search?q=site%3Awww.asp-stats.com"&gt;site:www.asp-stats.com&lt;/a&gt; ho risolto in principio ogni problema di disambiguazione.&lt;/p&gt;
&lt;h2&gt;&lt;strong&gt;Quanto ho guadagnato con AdSense?&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;Ipotiziammo che siate dei publisher AdSense. Ipotizziamo inoltre che decidiate di configurare un criterio URL per monitorare quanto sia redditizio il vostro dominio.&lt;/p&gt;
&lt;p&gt;Ma... quale dominio usare? Inserendo un criterio per asp-stats.com Google considererà parte del criterio ogni pagina con host *asp-stats.com, inclusi dunque i sottolivelli. Ancora una volta, l'unico modo è avere un dominio www.asp-stats.com da indicare come criterio di monitoraggio URL.&lt;/p&gt;
&lt;h2&gt;&lt;strong&gt;L'utente vuole il www&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;Per la maggior parte del pubblico non tecnico che circola in rete, i siti internet sono quelle cose che cominciano con www. Avete mai pensato a quanto l'utente possa diffidare di un indirizzo senza www o, più semplicemente, non comprendere che si tratti di un sito web?&lt;/p&gt;
&lt;p&gt;Probabilmente, a voi che fate colazione con pane e DNS, questa situazione potrebbe sembrare assurda ma non lo è assolutamente. Utilizzare un dominio senza www per un sito non tecnico è potenzialmente rischioso in termini di riscontro dell'utente.&lt;/p&gt;
&lt;h2&gt;&lt;strong&gt;La forza dell'abitudine&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;Potrebbe capitare poi che, come il sottoscritto, &lt;a href="http://forums.weppos.com/showthread.php?p=11927#post11927"&gt;vi dimentichiate che la configurazione è cambiata&lt;/a&gt; con il rischio di invalidare il funzionamento di servizi e prodotti correlati.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;In conclusione&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Non so voi, ma ho idea che io continuerò a mettere online siti www-muniti.&lt;/p&gt;


&lt;hr /&gt;
&lt;p&gt;News Source: &lt;a href="http://www.simonecarletti.com/blog/2008/06/buoni-motivi-non-togliere-www.php" title="Buoni motivi per non togliere il www dall'URL"&gt;Buoni motivi per non togliere il www dall'URL&lt;/a&gt;&lt;br /&gt;
News URI: http://www.simonecarletti.com/blog/2008/06/buoni-motivi-non-togliere-www.php&lt;/p&gt;
&lt;p&gt;Copyright &amp;copy; 2005-2008 &lt;strong&gt;&lt;a href="http://www.simonecarletti.com"&gt;Simone Carletti&lt;/a&gt;&lt;/strong&gt;. This Feed is for non-commercial use only and licensed under &lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/"&gt;Creative Common Attribution-NonCommercial-ShareAlike 2.5&lt;/a&gt; license. If you are not reading this material in your feed aggregator, the site you are looking at may be guilty of copyright infringement. Please contact me, so I can take appropriate action.&lt;/p&gt;    
    
&lt;p&gt;&lt;a href="http://feeds.feedburner.com/~a/simonecarletti?a=VYiG0I"&gt;&lt;img src="http://feeds.feedburner.com/~a/simonecarletti?i=VYiG0I" border="0"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/simonecarletti?a=AUDWwI"&gt;&lt;img src="http://feeds.feedburner.com/~f/simonecarletti?i=AUDWwI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/simonecarletti?a=EQ3SAI"&gt;&lt;img src="http://feeds.feedburner.com/~f/simonecarletti?i=EQ3SAI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/simonecarletti?a=Q4zZmi"&gt;&lt;img src="http://feeds.feedburner.com/~f/simonecarletti?i=Q4zZmi" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/simonecarletti?a=Q2Jmvi"&gt;&lt;img src="http://feeds.feedburner.com/~f/simonecarletti?i=Q2Jmvi" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/simonecarletti?a=4xHOUi"&gt;&lt;img src="http://feeds.feedburner.com/~f/simonecarletti?i=4xHOUi" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/simonecarletti/~4/309994580" height="1" width="1"/&gt;</content>

    <!-- slash namespace -->
    <slash:comments>8</slash:comments>

<feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=simonecarletti&amp;itemurl=http%3A%2F%2Fwww.simonecarletti.com%2Fblog%2F2008%2F06%2Fbuoni-motivi-non-togliere-www.php</feedburner:awareness><feedburner:origLink>http://www.simonecarletti.com/blog/2008/06/buoni-motivi-non-togliere-www.php</feedburner:origLink></entry>

<entry>
    <title>Installare contemporaneamente Firefox 2 e Firefox 3 su Mac OSX</title>
    <link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/simonecarletti/~3/306863435/firefox-2-firefox3-macosx-leopard.php" />
    <id>tag:www.simonecarletti.com,2008:/blog//1.762</id>

    <published>2008-06-07T16:15:52Z</published>
    <updated>2008-07-02T07:56:54Z</updated>

    <summary>Come installare contemporaneamente Firefox 2 e Firefox 3 su Mac OSX.</summary>
    <author>
        <name>Simone Carletti</name>
        <uri>http://www.simonecarletti.com</uri>
    </author>
    
    <!-- categories start -->
    
        <category term="Software" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Trucchi &amp; Segreti" scheme="http://www.sixapart.com/ns/types#category" />
    
    <!-- categories end -->
    
    <!-- tags start -->
    <category term="firefox" label="firefox" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="firefox20" label="firefox2.0" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="firefox3" label="firefox3" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="macosx" label="macosx" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <!-- tags end -->
    
    <content type="html" xml:lang="en" xml:base="http://www.simonecarletti.com/blog/">
        &lt;p&gt;Oltre un anno fa, all'epoca del rilascio della seconda beta di Mozilla Firefox 2, scrissi un articolo spiegando &lt;a href="http://www.simonecarletti.com/blog/2006/09/installare_piu_copie_di_firefox.php" title="Installare più versioni di Firefox su Windows - Simone Carletti's Blog"&gt;come installare più copie di Firefox su Microsoft Windows&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;In questi giorni &lt;a href="http://www.oneopensource.it/05/06/2008/rilasciato-firefox-3-rc2/" title="Rilasciato Firefox 3 RC2 | oneOpenSource"&gt;è uscita la seconda Release Candidate&lt;/a&gt; per un'altra importante milestone del panda rosso, ovvero la terza major release.
Mi sono quindi deciso di provarla (ho resistito a stento fino ad oggi!)&lt;/p&gt;

&lt;p&gt;Sebbene l'articolo che pubblicai nel 2006 dovrebbe essere ancora valido (qualcuno me lo conferma?), qualcosa è cambiato da questo lato della barricata e mi trovo dunque a dover affrontare l'&lt;strong&gt;installazione di più versioni di Firefox su Mac OSX&lt;/strong&gt;, più precisamente &lt;strong&gt;Leopard&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Ecco una guida passo passo per chi volesse procedere.&lt;/p&gt;
        &lt;h2&gt;Dowload e preparazione Firefox 3&lt;/h2&gt;

&lt;p&gt;Andate sul sito &lt;a href="http://www.mozilla.com/" title="Mozilla | Firefox web browser &amp;amp; Thunderbird email client"&gt;Mozilla&lt;/a&gt; e scaricate la release di Firefox 3 che preferite. Attualmente la versione più recente è una &lt;a href="http://www.mozilla.com/en-US/firefox/all-rc.html" title="Firefox web browser | International versions: Get Firefox in your language"&gt;Release Candidate&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Decompattate l'archivio &lt;strong&gt;.dmg&lt;/strong&gt; scaricato e copiate l'applicazione Firefox.app da qualche parte, ad esempio su &lt;code&gt;Desktop&lt;/code&gt;, ma &lt;strong&gt;non in Applications&lt;/strong&gt;. Sovrascrivereste infatti la versione precedente, ovvero Firefox 2.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://www.simonecarletti.com/blog/public/2008/06/firefox-2-firefox3-macosx-leopard/firefox3.png" alt="Firefox 3 package" class="centered" /&gt;&lt;/p&gt;

&lt;p&gt;Ora rinominate il file da Firefox a Firefox3 e spostatelo nella cartella &lt;code&gt;Applications&lt;/code&gt;.
In realtà potreste fare anche l'inverso, ovvero rinominare Firefox in Firefox2 e mantenere inalterato il download della nuova versione, ma in genere io preferisco mantenere di default la stable release.&lt;/p&gt;

&lt;p&gt;A questo punto la cartella &lt;code&gt;Applications&lt;/code&gt; (o &lt;code&gt;Applicazioni&lt;/code&gt; in italiano) conterrà entrambe le release.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://www.simonecarletti.com/blog/public/2008/06/firefox-2-firefox3-macosx-leopard/double-firefox.png" alt="Applications folder with 2 Firefox installations" class="centered" /&gt;&lt;/p&gt;

&lt;h2&gt;Creazione di un nuovo profilo&lt;/h2&gt;

&lt;p&gt;Il passo successivo è la creazione di un nuovo &lt;a href="http://support.mozilla.com/en-US/kb/Profiles" title="Profiles"&gt;profilo&lt;/a&gt;, per gestire in contemporanea le due version di Firefox.
Senza la creazione di un nuovo profilo, Firefox 3 al primo avvio tenterebbe di usare e convertire quello di Firefox 2 causando problemi di compatibilità nel tentativo di riaprirlo con Firefox 2.&lt;/p&gt;

&lt;p&gt;Per avviare il gestore dei profili di Firefox eseguite il seguente comando da console. Consiglio: utilizzate il tasto TAB per l'autocompletamento del percorso.&lt;/p&gt;

&lt;pre name="code" class="bash"&gt;
/Applications/Firefox3.app/Contents/MacOS/firefox -profilemanager
&lt;/pre&gt;
 
&lt;p&gt;Create un nuovo profilo con un nome a piacere ed assicuratevi di non selezionare &lt;strong&gt;Don't ask at startup&lt;/strong&gt;.
In questo modo, Firefox vi chiederà quale profilo utilizzare ad ogni avvio!&lt;/p&gt;

&lt;p&gt;&lt;img src="http://www.simonecarletti.com/blog/public/2008/06/firefox-2-firefox3-macosx-leopard/firefox-profile-manager.png" alt="Firefox profile manager" class="centered" /&gt;&lt;/p&gt;

&lt;h2&gt;Enjoy Firefox(s)&lt;/h2&gt;

&lt;p&gt;Fatto! Ora potete avviare in contemporanea Firefox 2 o Firefox 3 su Leopard, ciascuno con un suo profilo, ed utilizzare in contemporanea le &lt;strong&gt;due versioni di Firefox sullo stesso sistema operativo&lt;/strong&gt;.&lt;/p&gt;

&lt;hr /&gt;
&lt;p&gt;News Source: &lt;a href="http://www.simonecarletti.com/blog/2008/06/firefox-2-firefox3-macosx-leopard.php" title="Installare contemporaneamente Firefox 2 e Firefox 3 su Mac OSX"&gt;Installare contemporaneamente Firefox 2 e Firefox 3 su Mac OSX&lt;/a&gt;&lt;br /&gt;
News URI: http://www.simonecarletti.com/blog/2008/06/firefox-2-firefox3-macosx-leopard.php&lt;/p&gt;
&lt;p&gt;Copyright &amp;copy; 2005-2008 &lt;strong&gt;&lt;a href="http://www.simonecarletti.com"&gt;Simone Carletti&lt;/a&gt;&lt;/strong&gt;. This Feed is for non-commercial use only and licensed under &lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/"&gt;Creative Common Attribution-NonCommercial-ShareAlike 2.5&lt;/a&gt; license. If you are not reading this material in your feed aggregator, the site you are looking at may be guilty of copyright infringement. Please contact me, so I can take appropriate action.&lt;/p&gt;    
    
&lt;p&gt;&lt;a href="http://feeds.feedburner.com/~a/simonecarletti?a=O45OAg"&gt;&lt;img src="http://feeds.feedburner.com/~a/simonecarletti?i=O45OAg" border="0"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/simonecarletti?a=oG8TxI"&gt;&lt;img src="http://feeds.feedburner.com/~f/simonecarletti?i=oG8TxI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/simonecarletti?a=QzIpUI"&gt;&lt;img src="http://feeds.feedburner.com/~f/simonecarletti?i=QzIpUI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/simonecarletti?a=lJRdxi"&gt;&lt;img src="http://feeds.feedburner.com/~f/simonecarletti?i=lJRdxi" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/simonecarletti?a=6HIS6i"&gt;&lt;img src="http://feeds.feedburner.com/~f/simonecarletti?i=6HIS6i" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/simonecarletti?a=Re5Eji"&gt;&lt;img src="http://feeds.feedburner.com/~f/simonecarletti?i=Re5Eji" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/simonecarletti/~4/306863435" height="1" width="1"/&gt;</content>

    <!-- slash namespace -->
    <slash:comments>0</slash:comments>

<feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=simonecarletti&amp;itemurl=http%3A%2F%2Fwww.simonecarletti.com%2Fblog%2F2008%2F06%2Ffirefox-2-firefox3-macosx-leopard.php</feedburner:awareness><feedburner:origLink>http://www.simonecarletti.com/blog/2008/06/firefox-2-firefox3-macosx-leopard.php</feedburner:origLink></entry>

<entry>
    <title>Il mio talk al phpDay 2008 (video)</title>
    <link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/simonecarletti/~3/304034609/video-talk-phpday-2008.php" />
    <id>tag:www.simonecarletti.com,2008:/blog//1.761</id>

    <published>2008-06-03T21:36:59Z</published>
    <updated>2008-06-03T21:53:28Z</updated>

    <summary>Il video del mio intervento al phpDay 2008 su Zend Framework e Web Services.</summary>
    <author>
        <name>Simone Carletti</name>
        <uri>http://www.simonecarletti.com</uri>
    </author>
    
    <!-- categories start -->
    
        <category term="PHP" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Video" scheme="http://www.sixapart.com/ns/types#category" />
    
    <!-- categories end -->
    
    <!-- tags start -->
    <category term="php" label="php" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="php5" label="php5" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="phpday" label="phpday" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="phpday2008" label="phpday2008" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="video" label="video" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="youtube" label="youtube" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="zend" label="zend" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="zendframework" label="zend framework" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <!-- tags end -->
    
    <content type="html" xml:lang="en" xml:base="http://www.simonecarletti.com/blog/">
        &lt;p&gt;Poiché qualcuno nei giorni scorsi mi ha chiesto se non ci fosse qualche contributo multimediale del mio intervento al phpDay 2008 (incredibile ma vero, c'è chi ancora non si è stufato di &lt;a href="http://www.simonecarletti.com/blog/news-generali/video/" title="Simone Carletti's Blog: Archivio Video"&gt;vedermi in video&lt;/a&gt;), segnalo che grazie al contributo di &lt;a href="http://www.delymyth.net/" title="My DElyMyth - /dev/null | DElyMyth - /dev/null"&gt;Elena&lt;/a&gt; la sessione è stata interamente registrata e &lt;a href="http://www.delymyth.net/video/video-phpday-simone-carletti-zend-framework-e-i-web-service" title="[Video - PhpDay] Simone Carletti - Zend Framework e i Web Service | DElyMyth - /dev/null"&gt;pubblicata su Youtube/Mogulus&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;La &lt;a href="http://www.phpday.it/site/phpday-2008/calendario-conferenze/canale-developers/zend-framework-ed-i-web-service/" title="phpDay &amp;raquo; 15.45-17.15 - Simone Carletti: Zend Framework ed i Web Service"&gt;pagina del talk&lt;/a&gt; sul sito del phpDay è stata aggiornata con tutto il materiale disponibile, &lt;a href="http://www.simonecarletti.com/blog/2008/05/zend-framework-web-service.php" title="Zend Framework ed i Web Service - Simone Carletti's Blog"&gt;incluse le slide&lt;/a&gt; che ho pubblicato qualche giorno fa.&lt;/p&gt;
        &lt;p&gt;Tutti i video li trovate (anche) su Google Video con la ricerca &lt;a href="http://video.google.com/videosearch?q=phpday&amp;amp;hl=en" title="phpday - Google Video"&gt;phpDay&lt;/a&gt;.&lt;br /&gt;
Segue il video del sottoscritto.&lt;/p&gt;

&lt;div class="centered"&gt;
&lt;embed id="VideoPlayback" style="width:400px;height:326px" allowFullScreen="true" flashvars="fs=true" src="http://video.google.com/googleplayer.swf?docid=8435000312181307354&amp;hl=en" type="application/x-shockwave-flash"&gt; &lt;/embed&gt;
&lt;/div&gt;

&lt;hr /&gt;
&lt;p&gt;News Source: &lt;a href="http://www.simonecarletti.com/blog/2008/06/video-talk-phpday-2008.php" title="Il mio talk al phpDay 2008 (video)"&gt;Il mio talk al phpDay 2008 (video)&lt;/a&gt;&lt;br /&gt;
News URI: http://www.simonecarletti.com/blog/2008/06/video-talk-phpday-2008.php&lt;/p&gt;
&lt;p&gt;Copyright &amp;copy; 2005-2008 &lt;strong&gt;&lt;a href="http://www.simonecarletti.com"&gt;Simone Carletti&lt;/a&gt;&lt;/strong&gt;. This Feed is for non-commercial use only and licensed under &lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/"&gt;Creative Common Attribution-NonCommercial-ShareAlike 2.5&lt;/a&gt; license. If you are not reading this material in your feed aggregator, the site you are looking at may be guilty of copyright infringement. Please contact me, so I can take appropriate action.&lt;/p&gt;    
    
&lt;p&gt;&lt;a href="http://feeds.feedburner.com/~a/simonecarletti?a=d7QH9Q"&gt;&lt;img src="http://feeds.feedburner.com/~a/simonecarletti?i=d7QH9Q" border="0"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/simonecarletti?a=vyHSDI"&gt;&lt;img src="http://feeds.feedburner.com/~f/simonecarletti?i=vyHSDI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/simonecarletti?a=HMuNII"&gt;&lt;img src="http://feeds.feedburner.com/~f/simonecarletti?i=HMuNII" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/simonecarletti?a=gR67ai"&gt;&lt;img src="http://feeds.feedburner.com/~f/simonecarletti?i=gR67ai" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/simonecarletti?a=NNGZni"&gt;&lt;img src="http://feeds.feedburner.com/~f/simonecarletti?i=NNGZni" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/simonecarletti?a=soRkHi"&gt;&lt;img src="http://feeds.feedburner.com/~f/simonecarletti?i=soRkHi" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/simonecarletti/~4/304034609" height="1" width="1"/&gt;</content>

    <!-- slash namespace -->
    <slash:comments>2</slash:comments>

<feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=simonecarletti&amp;itemurl=http%3A%2F%2Fwww.simonecarletti.com%2Fblog%2F2008%2F06%2Fvideo-talk-phpday-2008.php</feedburner:awareness><feedburner:origLink>http://www.simonecarletti.com/blog/2008/06/video-talk-phpday-2008.php</feedburner:origLink></entry>

<entry>
    <title>Nuovo sito per ASP Stats Generator</title>
    <link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/simonecarletti/~3/303269794/nuovo-sito-per-asp-stats-generator.php" />
    <id>tag:www.simonecarletti.com,2008:/blog//1.760</id>

    <published>2008-06-02T22:03:00Z</published>
    <updated>2008-06-02T22:07:44Z</updated>

    <summary>Nuovissimo sito per ASP Stats Generator, in concomitanza con il rilascio della release 2.1.5.</summary>
    <author>
        <name>Simone Carletti</name>
        <uri>http://www.simonecarletti.com</uri>
    </author>
    
    <!-- categories start -->
    
        <category term="ASP Stats Generator" scheme="http://www.sixapart.com/ns/types#category" />
    
    <!-- categories end -->
    
    <!-- tags start -->
    <category term="asp" label="asp" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="aspstatsgenerator" label="asp stats generator" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <!-- tags end -->
    
    <content type="html" xml:lang="en" xml:base="http://www.simonecarletti.com/blog/">
        &lt;p&gt;&lt;img src="http://asp-stats.com/images/asg-logo.png" alt="ASP Stats Generator logo" class="alignleft" /&gt;
Oggi è un giorno molto importante. E non solo perché è la festa della Repubblica, che compie ben 62 anni, ma anche perché finalmente è pronto ed ufficialmente online il &lt;a href="http://asp-stats.com/" title="ASP Stats Generators Homepage"&gt;nuovissimo sito di ASP Stats Generator&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Ci sono voluti la bellezza di oltre 3 anni per completare questo sito che entra nel mio personale guinness dei primati.
Ha cambiato 6 volte layout, 3 volte linguaggio.&lt;/p&gt;

&lt;ol&gt;
    &lt;li&gt;La prima era una versione non multilingua, scritta in ASP. La stessa poi è stata completamente riscritta per ospitare in modo agevole eventuali versioni localizzate, come il francese e lo spagnolo.&lt;/li&gt;
    &lt;li&gt;Seguendo il mutare delle mie preferenze di linguaggio, la successiva versione è stata sviluppata in PHP 5, basata sul framework &lt;a href="http://www.symfony-project.org/" title="symfony Web PHP Framework"&gt;Symfony&lt;/a&gt;.&lt;/li&gt;
    &lt;li&gt;Non contento, un bel giorno decisi di migrare nuovamente piattaforma ed utilizzare il nuovo sito come banco di prova per un progetto Ruby, scritto basandomi sul framework Rails.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Ed eccoci qua, alla versione definitiva!&lt;/p&gt;

        &lt;p&gt;In realtà in questi 3 anni ho potuto dedicare molto poco tempo, rosicchiando minuti tra un impegno e l'altro.
Il sito non è l'unico cambiamento riguardante l'ambiente di ASP Stats Generator. Ci terrei a ricordare:&lt;/p&gt;

&lt;ul&gt;
    &lt;li&gt;La &lt;a href="http://forums.weppos.com/" title="Forums - Weppos.com - Powered by vBulletin"&gt;migrazione del forum&lt;/a&gt; a vBulletin e &lt;a href="http://forums.weppos.com/showthread.php?t=1778" title="vBulletin upgrade - Forums - Weppos.com"&gt;relativi&lt;/a&gt; &lt;a href="http://forums.weppos.com/showthread.php?t=1801" title="vBulletin upgrade - Forums - Weppos.com"&gt;upgrade&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;La &lt;a href="http://forums.weppos.com/showthread.php?t=1783" title="Revealing Trac installation for docs and development - Forums - Weppos.com"&gt;migrazione dell'area di sviluppo&lt;/a&gt; su &lt;a href="http://trac.asp-stats.com/" title="ASP Stats Generator - Trac"&gt;Trac&lt;/a&gt;.&lt;/li&gt;
    &lt;li&gt;L'importazione del &lt;a href="http://svn.asp-stats.com/asg" title="Revision 166: /"&gt;repository di sviluppo su Subversion&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;Nuovo logo, grazie al contributo di Massimo (aka &lt;a href="http://forum.html.it/forum/member.php?action=getinfo&amp;userid=32895"&gt;Cyberman&lt;/a&gt;) che ha contribuito a dare un tocco di personalità al prodotto.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Altre varie ed eventuali le ho raccolte nell'&lt;a href="http://forums.weppos.com/showthread.php?t=1803" title="ASP Stats Generator brand new website! - Forums - Weppos.com"&gt;annuncio ufficiale&lt;/a&gt;.
Per l'occasione, ho rilasciato anche la &lt;a href="http://forums.weppos.com/showthread.php?t=1804" title="ASP Stats Generator 2.1.5 released - Forums - Weppos.com"&gt;release ASP Stats Generator 2.1.5&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Per ora è tutto, passo e chiudo.&lt;/p&gt;

&lt;hr /&gt;
&lt;p&gt;News Source: &lt;a href="http://www.simonecarletti.com/blog/2008/06/nuovo-sito-per-asp-stats-generator.php" title="Nuovo sito per ASP Stats Generator"&gt;Nuovo sito per ASP Stats Generator&lt;/a&gt;&lt;br /&gt;
News URI: http://www.simonecarletti.com/blog/2008/06/nuovo-sito-per-asp-stats-generator.php&lt;/p&gt;
&lt;p&gt;Copyright &amp;copy; 2005-2008 &lt;strong&gt;&lt;a href="http://www.simonecarletti.com"&gt;Simone Carletti&lt;/a&gt;&lt;/strong&gt;. This Feed is for non-commercial use only and licensed under &lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/"&gt;Creative Common Attribution-NonCommercial-ShareAlike 2.5&lt;/a&gt; license. If you are not reading this material in your feed aggregator, the site you are looking at may be guilty of copyright infringement. Please contact me, so I can take appropriate action.&lt;/p&gt;    
    
&lt;p&gt;&lt;a href="http://feeds.feedburner.com/~a/simonecarletti?a=5lZPc5"&gt;&lt;img src="http://feeds.feedburner.com/~a/simonecarletti?i=5lZPc5" border="0"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/simonecarletti?a=FsPLaI"&gt;&lt;img src="http://feeds.feedburner.com/~f/simonecarletti?i=FsPLaI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/simonecarletti?a=AMmMjI"&gt;&lt;img src="http://feeds.feedburner.com/~f/simonecarletti?i=AMmMjI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/simonecarletti?a=kw4Tui"&gt;&lt;img src="http://feeds.feedburner.com/~f/simonecarletti?i=kw4Tui" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/simonecarletti?a=vuDFWi"&gt;&lt;img src="http://feeds.feedburner.com/~f/simonecarletti?i=vuDFWi" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/simonecarletti?a=gOYIGi"&gt;&lt;img src="http://feeds.feedburner.com/~f/simonecarletti?i=gOYIGi" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/simonecarletti/~4/303269794" height="1" width="1"/&gt;</content>

    <!-- slash namespace -->
    <slash:comments>2</slash:comments>

<feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=simonecarletti&amp;itemurl=http%3A%2F%2Fwww.simonecarletti.com%2Fblog%2F2008%2F06%2Fnuovo-sito-per-asp-stats-generator.php</feedburner:awareness><feedburner:origLink>http://www.simonecarletti.com/blog/2008/06/nuovo-sito-per-asp-stats-generator.php</feedburner:origLink></entry>

<entry>
    <title>Questa sera, leggendo i log, ho scoperto che...</title>
    <link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/simonecarletti/~3/298656018/questa-sera-leggendo-i-log.php" />
    <id>tag:www.simonecarletti.com,2008:/blog//1.759</id>

    <published>2008-05-26T22:15:41Z</published>
    <updated>2008-05-26T22:59:42Z</updated>

    <summary>Ecco alcuni esempi di curiosità ed informazioni che si possono scoprire semplicemente analizzando i log del server.</summary>
    <author>
        <name>Simone Carletti</name>
        <uri>http://www.simonecarletti.com</uri>
    </author>
    
    <!-- categories start -->
    
        <category term="Motori di Ricerca" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Programmazione" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Trucchi &amp; Segreti" scheme="http://www.sixapart.com/ns/types#category" />
    
    <!-- categories end -->
    
    <!-- tags start -->
    <category term="blogbabel" label="blogbabel" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="log" label="log" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="server" label="server" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <!-- tags end -->
    
    <content type="html" xml:lang="en" xml:base="http://www.simonecarletti.com/blog/">
        &lt;p&gt;...molti SPAM-bot che inviano commenti e trackback di SPAM si affidano alla libreria Jakarta.&lt;br /&gt;
Con qualche riga nell'.htaccess è possibile alleggerire notevolmente il carico della vostra installazione di MovableType, impedendo l'accesso ai crawler.&lt;/p&gt;

&lt;pre name="code" class="bash"&gt;
# Block some user agents from posting TBs and CMs
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} ^(Jakarta\sCommons\-HttpClient) [NC] 
RewriteCond %{REQUEST_METHOD} ^POST$
RewriteRule (.*) - [F,L]
&lt;/pre&gt;

&lt;p&gt;... il bot di BlogBabel continua a macinare post, con una frequenza di almeno 1 volta ogni 3 ore.&lt;/p&gt;

&lt;pre name="code" class="bash"&gt;
[weppos]$ grep 'blogbabel' access.log
212.35.215.114 - - [26/May/2008:02:28:12 -0700] "GET /blog/index.xml HTTP/1.1" 302 546 "-" "BlogBabel +http://it.blogbabel.com/" 
212.35.215.114 - - [26/May/2008:04:25:07 -0700] "GET /blog/index.xml HTTP/1.1" 302 546 "-" "BlogBabel +http://it.blogbabel.com/" 
212.35.215.114 - - [26/May/2008:06:28:52 -0700] "GET /blog/index.xml HTTP/1.1" 302 546 "-" "BlogBabel +http://it.blogbabel.com/" 
212.35.215.114 - - [26/May/2008:08:32:02 -0700] "GET /blog/index.xml HTTP/1.1" 302 546 "-" "BlogBabel +http://it.blogbabel.com/" 
212.35.215.114 - - [26/May/2008:12:28:26 -0700] "GET /blog/index.xml HTTP/1.1" 302 546 "-" "BlogBabel +http://it.blogbabel.com/"
&lt;/pre&gt;

        &lt;p&gt;... mentre pensavo a questo post, in meno di due ore, l'idea numero 1 ha fermato 1399 commenti/trackback di SPAM.&lt;/p&gt;

&lt;pre name="code" class="bash"&gt;
[weppos]$ grep 'Jakarta Commons-HttpClient' -c access.log
1399
&lt;/pre&gt;

&lt;p&gt;... quando ho eseguito l'upgrade di MovableType, ho scordato di inserire un redirect 301 e quindi ho perso tutte le posizioni sui motori di ricerca acquisite grazie ai tag ed alle categorie!&lt;/p&gt;

&lt;pre name="code" class="bash"&gt;
82.146.52.98 - - [26/May/2008:11:59:39 -0700] "POST /mt/mt-search.cgi?tag=trackback&amp;amp;blog_id=1 HTTP/1.1" 404 589 "-" "-" 
209.85.238.12 - - [26/May/2008:12:05:30 -0700] "GET /mt/mt-search.cgi?tag=trenitalia HTTP/1.1" 404 587 "-" "Feedfetcher-Google; (+http://www.google.com/feedfetcher.html)" 
209.85.238.12 - - [26/May/2008:12:24:12 -0700] "GET /mt/mt-search.cgi?tag=chuck%20norris&amp;amp;Template=feed&amp;amp;IncludeBlogs=1 HTTP/1.1" 404 587 "-" "Feedfetcher-Google; (+http://www.google.com/feedfetcher.html; 1 subscribers; feed-id=988241075584828268)"
&lt;/pre&gt;

&lt;p&gt;Meglio tardi che mai, ora c'è un bellissimo RedirectMatch.&lt;/p&gt;

&lt;pre name="code" class="bash"&gt;
# Old versions redirect
RedirectMatch 301 ^/mt/(.*) /mt4/$1
&lt;/pre&gt;

&lt;p&gt;... la scorsa settimana è passato a trovarmi Robozilla. In totale, in un anno Robozilla ha controllato lo status del mio sito 3 volte. Dite che è un po' poco?&lt;/p&gt;

&lt;pre name="code" class="bash"&gt;
[weppos]$ zgrep 'Robozilla' access.log.*.gz
access.log.2007-08-11.gz:207.200.81.166 - - [11/Aug/2007:15:37:00 -0700] "GET /blog/ HTTP/1.0" 200 12292 "http://directory.mozilla.org" "Robozilla/1.0"
access.log.2007-12-13.gz:207.200.81.166 - - [13/Dec/2007:01:36:25 -0800] "GET /blog/ HTTP/1.0" 200 10733 "http://directory.mozilla.org" "Robozilla/1.0"
access.log.2008-05-14.gz:207.200.81.166 - - [14/May/2008:17:18:19 -0700] "GET /blog/ HTTP/1.0" 200 11559 "http://directory.mozilla.org" "Robozilla/1.0"
&lt;/pre&gt;

&lt;p&gt;... in totale le righe di log accumulate in un anno per questo sito corrispondono a &lt;strong&gt;7.229.578&lt;/strong&gt;. Il giorno che ha generato più log è stato 2007-06-18.gz (40620), il giorno con meno log il 2007-12-25 (11400).&lt;/p&gt;

&lt;p&gt;Volete scoprirlo anche voi? Create un file &lt;code&gt;log_total_lines.rb&lt;/code&gt; e piazzateci dentro il seguente script Ruby&lt;/p&gt;

&lt;pre name="code" class="ruby"&gt;#!/usr/bin/env ruby -wKU  

log_pattern = ARGV.shift || (raise 'Missing search pattern')
log_files_with_nof_lines = %x(zgrep 'HTTP/' -c #{log_pattern}).split("\n")

puts "Found #{log_files_with_nof_lines.length} log files matching pattern #{log_pattern}:"

total = log_files_with_nof_lines.inject(0) do |sum, line|
  log_file, nof_lines = line.split(':')
  sum + nof_lines.to_i
end
puts "Total nof log lines: #{total}"&lt;/pre&gt;

&lt;p&gt;poi eseguitelo da shell&lt;/p&gt;

&lt;pre name="code" class="bash"&gt;
[weppos]$ ruby log_total_lines.rb "access.log.*.gz"
Found 365 log files matching pattern access.log.*.gz:
Total nof log lines: 7229578
&lt;/pre&gt;

&lt;p&gt;Per conoscere invece i log con maggiore/minore righe create un file &lt;code&gt;log_sort_lines.rb&lt;/code&gt; con il seguente script.&lt;/p&gt;

&lt;pre name="code" class="ruby"&gt;#!/usr/bin/env ruby -wKU

log_pattern = ARGV.shift || (raise 'Missing search pattern')
log_files_with_nof_lines = %x(zgrep 'HTTP/' -c #{log_pattern}).split("\n")

puts "Found #{log_files_with_nof_lines.length} log files matching pattern #{log_pattern}:"

log_files = log_files_with_nof_lines.collect do |line|
  log_file, nof_lines = line.split(':')
  [nof_lines.to_i, log_file]
end.sort { |a,b| a.first &lt;=&gt; b.first }

puts "Log with the lowest nof lines: #{log_files.first.inspect}"
puts "Log with the highest nof lines: #{log_files.last.inspect}"
&lt;/pre&gt;

&lt;p&gt;ed eseguitelo&lt;/p&gt;

&lt;pre name="code" class="bash"&gt;
[weppos]$ ruby log_sort_lines.rb "access.log.*.gz"
Found 365 log files matching pattern access.log.*.gz:
Log with the lowest nof lines: [11400, "access.log.2007-12-25.gz"]
Log with the highest nof lines: [40620, "access.log.2007-06-18.gz"]
&lt;/pre&gt;

&lt;p&gt;Quante cose che si scoprono dai log. E voi ogni tanto li leggete?&lt;/p&gt;

&lt;hr /&gt;
&lt;p&gt;News Source: &lt;a href="http://www.simonecarletti.com/blog/2008/05/questa-sera-leggendo-i-log.php" title="Questa sera, leggendo i log, ho scoperto che..."&gt;Questa sera, leggendo i log, ho scoperto che...&lt;/a&gt;&lt;br /&gt;
News URI: http://www.simonecarletti.com/blog/2008/05/questa-sera-leggendo-i-log.php&lt;/p&gt;
&lt;p&gt;Copyright &amp;copy; 2005-2008 &lt;strong&gt;&lt;a href="http://www.simonecarletti.com"&gt;Simone Carletti&lt;/a&gt;&lt;/strong&gt;. This Feed is for non-commercial use only and licensed under &lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/"&gt;Creative Common Attribution-NonCommercial-ShareAlike 2.5&lt;/a&gt; license. If you are not reading this material in your feed aggregator, the site you are looking at may be guilty of copyright infringement. Please contact me, so I can take appropriate action.&lt;/p&gt;    
    
&lt;p&gt;&lt;a href="http://feeds.feedburner.com/~a/simonecarletti?a=2I48Bp"&gt;&lt;img src="http://feeds.feedburner.com/~a/simonecarletti?i=2I48Bp" border="0"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/simonecarletti?a=7N2U6H"&gt;&lt;img src="http://feeds.feedburner.com/~f/simonecarletti?i=7N2U6H" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/simonecarletti?a=zG8ujH"&gt;&lt;img src="http://feeds.feedburner.com/~f/simonecarletti?i=zG8ujH" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/simonecarletti?a=QUiEfh"&gt;&lt;img src="http://feeds.feedburner.com/~f/simonecarletti?i=QUiEfh" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/simonecarletti?a=EqD46h"&gt;&lt;img src="http://feeds.feedburner.com/~f/simonecarletti?i=EqD46h" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/simonecarletti?a=YDVmZh"&gt;&lt;img src="http://feeds.feedburner.com/~f/simonecarletti?i=YDVmZh" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/simonecarletti/~4/298656018" height="1" width="1"/&gt;</content>

    <!-- slash namespace -->
    <slash:comments>5</slash:comments>

<feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=simonecarletti&amp;itemurl=http%3A%2F%2Fwww.simonecarletti.com%2Fblog%2F2008%2F05%2Fquesta-sera-leggendo-i-log.php</feedburner:awareness><feedburner:origLink>http://www.simonecarletti.com/blog/2008/05/questa-sera-leggendo-i-log.php</feedburner:origLink></entry>

<entry>
    <title>Zend Framework ed i Web Service</title>
    <link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/simonecarletti/~3/298469450/zend-framework-web-service.php" />
    <id>tag:www.simonecarletti.com,2008:/blog//1.758</id>

    <published>2008-05-26T15:42:22Z</published>
    <updated>2008-06-03T21:53:07Z</updated>

    <summary>Introduzione a Zend Framework e componenti per scrivere, creare ed interagire con i web service.</summary>
    <author>
        <name>Simone Carletti</name>
        <uri>http://www.simonecarletti.com</uri>
    </author>
    
    <!-- categories start -->
    
        <category term="PHP" scheme="http://www.sixapart.com/ns/types#category" />
    
    <!-- categories end -->
    
    <!-- tags start -->
    <category term="php" label="php" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="php5" label="php5" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="phpday" label="phpday" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="phpday2008" label="phpday2008" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="presentazioni" label="presentazioni" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="slideshare" label="slideshare" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="zend" label="zend" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="zendframework" label="zend framework" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <!-- tags end -->
    
    <content type="html" xml:lang="en" xml:base="http://www.simonecarletti.com/blog/">
        &lt;p&gt;Si è concluso ieri, anzi sabato, il &lt;a href="http://www.phpday.it/"&gt;phpDay 2008&lt;/a&gt;, un evento di due giorni dedicato agli sviluppatori PHP.&lt;/p&gt;

&lt;p&gt;Era la prima volta che partecipavo e sono rimasto piacevolmente sorpreso.
L'evento si è rivelato di gran lunga più interessante rispetto alle mie aspettative sia sul piano personale sia sul piano dei contenuti.&lt;/p&gt;

&lt;p&gt;Confesso di essere ancora un po' frastornato tra viaggio ed impegni, dunque per ora mi limito a pubblicare le slide della mia presentazione intitolata &lt;a href="http://www.phpday.it/site/phpday-2008/calendario-conferenze/canale-developers/zend-framework-ed-i-web-service/"&gt;Zend Framework ed i Web Service&lt;/a&gt; e l'&lt;a href="http://www.simonecarletti.com/blog/public/2008/05/zend-framework-web-service/phpday2008.tgz"&gt;archivio con gli script e gli esempi utilizzati&lt;/a&gt;.&lt;/p&gt;

&lt;div class="centered" id="__ss_428462"&gt;&lt;object style="margin:0px" height="355" width="425"&gt;&lt;param name="movie" value="http://static.slideshare.net/swf/ssplayer2.swf?doc=zendframeworkwebservice-1211803293358634-9"/&gt;&lt;param name="allowFullScreen" value="true"/&gt;&lt;param name="allowScriptAccess" value="always"/&gt;&lt;embed src="http://static.slideshare.net/swf/ssplayer2.swf?doc=zendframeworkwebservice-1211803293358634-9" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div style="font-size:11px;font-family:tahoma,arial;height:26px;padding-top:2px;"&gt;&lt;a href="http://www.slideshare.net/?src=embed"&gt;&lt;img src="http://static.slideshare.net/swf/logo_embd.png" style="border:0px none;margin-bottom:-5px" alt="SlideShare"/&gt;&lt;/a&gt; | &lt;a href="http://www.slideshare.net/weppos/zendframework-e-web-service" title="View this slideshow on SlideShare"&gt;View&lt;/a&gt; | &lt;a href="http://www.slideshare.net/upload"&gt;Upload your own&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;img style="visibility:hidden;width:0px;height:0px;" border=0 width=0 height=0 src="http://counters.gigya.com/wildfire/CIMP/bT*xJmx*PTEyMTE4MTcyMDYxODYmcHQ9MTIxMTgxNzIwODc3NSZwPTEwMTkxJmQ9Jm49Jmc9Mg==.jpg" /&gt;
        

&lt;hr /&gt;
&lt;p&gt;News Source: &lt;a href="http://www.simonecarletti.com/blog/2008/05/zend-framework-web-service.php" title="Zend Framework ed i Web Service"&gt;Zend Framework ed i Web Service&lt;/a&gt;&lt;br /&gt;
News URI: http://www.simonecarletti.com/blog/2008/05/zend-framework-web-service.php&lt;/p&gt;
&lt;p&gt;Copyright &amp;copy; 2005-2008 &lt;strong&gt;&lt;a href="http://www.simonecarletti.com"&gt;Simone Carletti&lt;/a&gt;&lt;/strong&gt;. This Feed is for non-commercial use only and licensed under &lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/"&gt;Creative Common Attribution-NonCommercial-ShareAlike 2.5&lt;/a&gt; license. If you are not reading this material in your feed aggregator, the site you are looking at may be guilty of copyright infringement. Please contact me, so I can take appropriate action.&lt;/p&gt;    
    
&lt;p&gt;&lt;a href="http://feeds.feedburner.com/~a/simonecarletti?a=xZ8FLA"&gt;&lt;img src="http://feeds.feedburner.com/~a/simonecarletti?i=xZ8FLA" border="0"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/simonecarletti?a=gJ5bTH"&gt;&lt;img src="http://feeds.feedburner.com/~f/simonecarletti?i=gJ5bTH" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/simonecarletti?a=wCglUH"&gt;&lt;img src="http://feeds.feedburner.com/~f/simonecarletti?i=wCglUH" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/simonecarletti?a=YoP6vh"&gt;&lt;img src="http://feeds.feedburner.com/~f/simonecarletti?i=YoP6vh" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/simonecarletti?a=ViwMTh"&gt;&lt;img src="http://feeds.feedburner.com/~f/simonecarletti?i=ViwMTh" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/simonecarletti?a=iOAdbh"&gt;&lt;img src="http://feeds.feedburner.com/~f/simonecarletti?i=iOAdbh" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/simonecarletti/~4/298469450" height="1" width="1"/&gt;</content>

    <!-- slash namespace -->
    <slash:comments>1</slash:comments>

<feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=simonecarletti&amp;itemurl=http%3A%2F%2Fwww.simonecarletti.com%2Fblog%2F2008%2F05%2Fzend-framework-web-service.php</feedburner:awareness><feedburner:origLink>http://www.simonecarletti.com/blog/2008/05/zend-framework-web-service.php</feedburner:origLink></entry>

<entry>
    <title>Non lo faccio perché ci vuole tempo... ma lo so fare!</title>
    <link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/simonecarletti/~3/295762319/non-lo-faccio-perche-ci-vuole-tempo.php" />
    <id>tag:www.simonecarletti.com,2008:/blog//1.756</id>

    <published>2008-05-22T11:36:12Z</published>
    <updated>2008-05-22T11:43:06Z</updated>

    <summary>Dove sono finiti i professionisti? Le aziende sanno valorizzarli?</summary>
    <author>
        <name>Simone Carletti</name>
        <uri>http://www.simonecarletti.com</uri>
    </author>
    
    <!-- categories start -->
    
        <category term="Business" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Pensieri" scheme="http://www.sixapart.com/ns/types#category" />
    
    <!-- categories end -->
    
    <!-- tags start -->
    <category term="professionisti" label="professionisti" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <!-- tags end -->
    
    <content type="html" xml:lang="en" xml:base="http://www.simonecarletti.com/blog/">
        &lt;p&gt;&lt;em&gt;Normalmente non lo faccio, ma questa volta vorrei ripubblicare il &lt;a href="http://blog.html.it/archivi/2008/05/21/non-lo-faccio-perche-ci-vuole-tempo-ma-lo-so-fare.php"&gt;post&lt;/a&gt; che ho pubblicato oggi sul blog di HTML.it dato che lo reputo particolarmente significativo ed esula da un target più tecnico come quello che caratterizza quel blog.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Ci risiamo. Per l'ennesima volta, in più di uno dei colloqui che sto affrontando recentemente, alla mia domanda: &lt;em&gt;noi cerchiamo un candidato con i requisiti XYZ&lt;/em&gt; mi sono sentito rispondere &lt;em&gt;ma io questo lo so fare, solo non lo faccio normalmente perché ci vuole troppo tempo. E poi... lo sai come sono i clienti.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ricapitoliamo&lt;/strong&gt;. Non si fanno i layout tableless perché meno veloci di quelli a tabelle... ed il cliente paga poco.
Non si usano gli &lt;a href="http://blog.html.it/archivi/2008/02/19/limportanza-di-utilizzare-gli-unit-test.php" title="L'importanza di utilizzare gli unit test | &amp;lt;edit&amp;gt; - Il blog di HTML.it"&gt;unit test&lt;/a&gt; perché richiedono tempo... tanto è solo per quel cliente che non vedremo mai più. Non si progetta un'applicazione performante perché l'ottimizzazione richiede tempo e test... e si sa, i test richiedono tempo ed il cliente non farà mai così tante visite.&lt;/p&gt;

&lt;p&gt;Scusate... &lt;strong&gt;ma dove sono finiti i professionisti?&lt;/strong&gt;
Ci vuole veramente molto più tempo a fare le cose per bene?&lt;/p&gt;

        &lt;p&gt;Forse sì, o &lt;strong&gt;forse chi oggigiorno si spaccia per professionista forse forse non lo è&lt;/strong&gt; e &lt;strong&gt;forse ci mette tanto a fare le cose perché non le sa fare&lt;/strong&gt;. E non parlo per sentito dire.&lt;/p&gt;

&lt;p&gt;Ogni funzione che scrivo, che sia per me o per altri, è accompagnata da un commento che ne descrive il comportamento e, nella maggior parte dei casi, da test funzionali. Il tempo totale, se considero poi l'evoluzione del progetto, non è mai (e dico mai) superiore al tempo speso a sbattere testate contro il muro nel tentativo di risolvere &lt;strong&gt;bug, errori e regressioni dettate dalla mancanza di uno sviluppo adeguato&lt;/strong&gt; e minimamente orientato alle best practice.&lt;/p&gt;

&lt;p&gt;Conosco &lt;strong&gt;professionisti dei CSS&lt;/strong&gt;, tra cui &lt;strong&gt;Alessandro&lt;/strong&gt;, &lt;strong&gt;Fabrizio&lt;/strong&gt; ed altri che bazzicano in questo blog e nel forum, che sanno dettarmi un CSS al telefono e ci mettono meno tempo loro a scrivere un layout che io a capire le modifiche che hanno fatto al CSS (anche qui, parlo per esperienza diretta... Fabrizio, ti ricorda qualcosa? ;) ).&lt;/p&gt;
&lt;p&gt;Non è forse giunto il momento di smetterla di prostituire certi servizi? Ho avuto nel tempo la fortuna ed il piacere di incontrare molti professionisti, la maggior parte dei quali a &lt;em&gt;certe&lt;/em&gt; domande risponde &lt;em&gt;i miei servizi costano questo, prendere o lasciare&lt;/em&gt;.
Una discreta parte di potenziali clienti lascia... ma &lt;strong&gt;siamo proprio sicuri che varrebbe la pena di considerare quelle persone clienti&lt;/strong&gt;?&lt;/p&gt;

&lt;p&gt;Come giustamente diceva Francesco, &lt;a href="http://blog.html.it/archivi/2006/01/25/accessi-al-sito-con-chiavi-fuori-tema.php" title="Accessi al sito con chiavi fuori tema | &amp;lt;edit&amp;gt; - Il blog di HTML.it"&gt;io certi utenti non li voglio&lt;/a&gt;.
Per prendere tutto si finisce per avere nulla, per prendere tutto si finisce per avere solo grane, per prendere tutto si finisce per svendersi.&lt;/p&gt;

&lt;p&gt;Il professionista, a mio avviso, è tale anche quando è in grado di &lt;strong&gt;valutare la giusta dose di compromessi senza mai rinunciare a quelli che sono i fondamenti del proprio lavoro&lt;/strong&gt; e, soprattutto, alla possibilità di lavorare ed offrire un servizio professionale.
E non barrichiamoci dietro alla frase "ci vuole tempo". Per qualsiasi cosa ci vuole tempo, ma impariamo a considerare che il tempo diminuisce nel momento in cui chi opera acquisisce esperienza. L'esperienza si ottiene sperimentando, quindi chi non prova non potrà mai imparare.
L'esperienza si ottiene &lt;a href="http://blog.html.it/archivi/2008/05/09/ma-qualcuno-legge-libri-di-programmazione.php" title="Ma qualcuno legge libri di programmazione? | &amp;lt;edit&amp;gt; - Il blog di HTML.it"&gt;studiando&lt;/a&gt; e sì, lo studio richiede tempo e fatica... ma parliamoci chiaro, mica si nasce professionisti.&lt;/p&gt;

&lt;p&gt;Per correttezza, &lt;strong&gt;due paroline le spenderei volentieri anche nei confronti delle aziende&lt;/strong&gt;. Da una parte ci si lamenta che non si trovano professionisti (e questo è fuori d'ogni dubbio), dall'altra &lt;strong&gt;quei pochi che emergono difficilmente vengono apprezzati come si dovrebbe&lt;/strong&gt;. E non parlo solo di compenso economico, anche se questo aspetto certamente non è da tralasciare.
Cara azienda, &lt;strong&gt;ti sei mai chiesta quanto valorizzi i tuoi professionisti&lt;/strong&gt;?&lt;/p&gt;

&lt;p&gt;Hai mai pubblicato in uno dei tuoi comunicati stampa il &lt;strong&gt;nome dei professionisti che hanno lavorato al progetto&lt;/strong&gt;, oltre al solito responsabile commerciale che ti ha portato in casa il contratto? Hai mai creato una &lt;strong&gt;pagina dello staff&lt;/strong&gt; dove esponi chiaramente i tuoi professionisti alla luce del sole, dando loro il giusto risalto?
Hai mai pensato che un professionista pagato come si deve e giustamente stimolato può costarti (in termini assoluti) meno di molti junior, anche se (in termini relativi) il suo stipendio è più alto?&lt;/p&gt;

&lt;p&gt;Inoltre, cara azienda, &lt;strong&gt;ogni tanto chiediti se è ancora possibile vendere la luna&lt;/strong&gt; o se forse sarebbe meglio accontentarsi a vendere qualcosa di meno astratto, magari rispettando le tempistiche ed evitando di acquisire un cliente oggi e perderlo domani (scontento) per il solo scopo di mettersi in tasca la commessa. Perché un cliente insoddisfatto è peggio di un cliente non acquisito. Perchè, azienda, &lt;strong&gt;i clienti tra di loro parlano&lt;/strong&gt;.&lt;/p&gt;

&lt;hr /&gt;
&lt;p&gt;News Source: &lt;a href="http://www.simonecarletti.com/blog/2008/05/non-lo-faccio-perche-ci-vuole-tempo.php" title="Non lo faccio perché ci vuole tempo... ma lo so fare!"&gt;Non lo faccio perché ci vuole tempo... ma lo so fare!&lt;/a&gt;&lt;br /&gt;
News URI: http://www.simonecarletti.com/blog/2008/05/non-lo-faccio-perche-ci-vuole-tempo.php&lt;/p&gt;
&lt;p&gt;Copyright &amp;copy; 2005-2008 &lt;strong&gt;&lt;a href="http://www.simonecarletti.com"&gt;Simone Carletti&lt;/a&gt;&lt;/strong&gt;. This Feed is for non-commercial use only and licensed under &lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/"&gt;Creative Common Attribution-NonCommercial-ShareAlike 2.5&lt;/a&gt; license. If you are not reading this material in your feed aggregator, the site you are looking at may be guilty of copyright infringement. Please contact me, so I can take appropriate action.&lt;/p&gt;    
    
&lt;p&gt;&lt;a href="http://feeds.feedburner.com/~a/simonecarletti?a=yhoTIF"&gt;&lt;img src="http://feeds.feedburner.com/~a/simonecarletti?i=yhoTIF" border="0"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/simonecarletti?a=dMEDkH"&gt;&lt;img src="http://feeds.feedburner.com/~f/simonecarletti?i=dMEDkH" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/simonecarletti?a=vhAvWH"&gt;&lt;img src="http://feeds.feedburner.com/~f/simonecarletti?i=vhAvWH" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/simonecarletti?a=5k8xOh"&gt;&lt;img src="http://feeds.feedburner.com/~f/simonecarletti?i=5k8xOh" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/simonecarletti?a=7zsL3h"&gt;&lt;img src="http://feeds.feedburner.com/~f/simonecarletti?i=7zsL3h" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/simonecarletti?a=34wPJh"&gt;&lt;img src="http://feeds.feedburner.com/~f/simonecarletti?i=34wPJh" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/simonecarletti/~4/295762319" height="1" width="1"/&gt;</content>

    <!-- slash namespace -->
    <slash:comments>10</slash:comments>

<feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=simonecarletti&amp;itemurl=http%3A%2F%2Fwww.simonecarletti.com%2Fblog%2F2008%2F05%2Fnon-lo-faccio-perche-ci-vuole-tempo.php</feedburner:awareness><feedburner:origLink>http://www.simonecarletti.com/blog/2008/05/non-lo-faccio-perche-ci-vuole-tempo.php</feedburner:origLink></entry>

<entry>
    <title>Ruby WWW::Delicious</title>
    <link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/simonecarletti/~3/295383150/www-delicious.php" />
    <id>tag:www.simonecarletti.com,2008:/blog//1.757</id>

    <published>2008-05-21T22:39:05Z</published>
    <updated>2008-05-21T22:41:28Z</updated>

    <summary>WWW::Delicious è un client Ruby per le API di delicious.</summary>
    <author>
        <name>Simone Carletti</name>
        <uri>http://www.simonecarletti.com</uri>
    </author>
    
    <!-- categories start -->
    
        <category term="Ruby" scheme="http://www.sixapart.com/ns/types#category" />
    
    <!-- categories end -->
    
    <!-- tags start -->
    <category term="delicious" label="delicious" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="ruby" label="ruby" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="wwwdelicious" label="www-delicious" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <!-- tags end -->
    
    <content type="html" xml:lang="en" xml:base="http://www.simonecarletti.com/blog/">
        &lt;p&gt;Non so se a qualcuno può interessare, ad ogni modo vi segnalo che tra una cosa e l'altra nei giorni scorsi ho trovato il tempo di rilasciare una libreria Ruby chiamata &lt;a href="http://code.simonecarletti.com/www-delicious" title="WWW::Delicious - Overview - Simone Carletti's Code collection"&gt;WWW::Delicious&lt;/a&gt; (in gergo una GEM).&lt;/p&gt;

&lt;p&gt;Difficile a dirsi, WWW::Delicious è un client Ruby per le API di delicious.&lt;br /&gt;
Permette di recuperare, aggiornare, modificare e cancellare i post su delicious così come tag e bundle in pochi clic.&lt;/p&gt;

&lt;p&gt;Non ci credete?&lt;br /&gt;
Aprite irb e digitate&lt;/p&gt;

&lt;pre name="code" class="ruby"&gt;
require 'rubygems'
require 'www/delicious'

# qua ci vogliono i vostri dati
d = WWW::Delicious.new('username', 'password')

d.posts_recent.each do |p|
  puts p.title
end
&lt;/pre&gt;

&lt;p&gt;ed ecco apparire per magia i vostri ultimi post.&lt;/p&gt;

&lt;p&gt;Ovviamente c'è molto più di questo. Per i dettagli vi invito a consultare la &lt;a href="http://www-delicious.rubyforge.org/" title="www-delicious -- Ruby client for del.icio.us API."&gt;documentazione di WWW::Delicious&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;WWW::Delicious è la prima libreria che pubblico nella nuova sezione code, che in un futuro sviluppo di questo sito (mica penserete che terrò solo il blog per sempre...) sarà un repository di progetti pubblici del sottoscritto.
WWW::Delicious è anche la prima libreria che gestisco interamente su &lt;a href="http://git.or.cz/" title="Git - Fast Version Control System"&gt;GIT&lt;/a&gt; ed hostata su &lt;a href="http://github.com/weppos" title="weppos's Profile &amp;mdash; GitHub"&gt;GitHub&lt;/a&gt;.&lt;/p&gt;

        

&lt;hr /&gt;
&lt;p&gt;News Source: &lt;a href="http://www.simonecarletti.com/blog/2008/05/www-delicious.php" title="Ruby WWW::Delicious"&gt;Ruby WWW::Delicious&lt;/a&gt;&lt;br /&gt;
News URI: http://www.simonecarletti.com/blog/2008/05/www-delicious.php&lt;/p&gt;
&lt;p&gt;Copyright &amp;copy; 2005-2008 &lt;strong&gt;&lt;a href="http://www.simonecarletti.com"&gt;Simone Carletti&lt;/a&gt;&lt;/strong&gt;. This Feed is for non-commercial use only and licensed under &lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/"&gt;Creative Common Attribution-NonCommercial-ShareAlike 2.5&lt;/a&gt; license. If you are not reading this material in your feed aggregator, the site you are looking at may be guilty of copyright infringement. Please contact me, so I can take appropriate action.&lt;/p&gt;    
    
&lt;p&gt;&lt;a href="http://feeds.feedburner.com/~a/simonecarletti?a=YvdmFQ"&gt;&lt;img src="http://feeds.feedburner.com/~a/simonecarletti?i=YvdmFQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/simonecarletti?a=4PfuxH"&gt;&lt;img src="http://feeds.feedburner.com/~f/simonecarletti?i=4PfuxH" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/simonecarletti?a=WsqMeH"&gt;&lt;img src="http://feeds.feedburner.com/~f/simonecarletti?i=WsqMeH" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/simonecarletti?a=aBUYkh"&gt;&lt;img src="http://feeds.feedburner.com/~f/simonecarletti?i=aBUYkh" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/simonecarletti?a=xxqndh"&gt;&lt;img src="http://feeds.feedburner.com/~f/simonecarletti?i=xxqndh" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/simonecarletti?a=YX8QKh"&gt;&lt;img src="http://feeds.feedburner.com/~f/simonecarletti?i=YX8QKh" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/simonecarletti/~4/295383150" height="1" width="1"/&gt;</content>

    <!-- slash namespace -->
    <slash:comments>2</slash:comments>

<feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=simonecarletti&amp;itemurl=http%3A%2F%2Fwww.simonecarletti.com%2Fblog%2F2008%2F05%2Fwww-delicious.php</feedburner:awareness><feedburner:origLink>http://www.simonecarletti.com/blog/2008/05/www-delicious.php</feedburner:origLink></entry>

<entry>
    <title>Benvenuto Ruby.HTML.it</title>
    <link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/simonecarletti/~3/289490663/benvenuto-ruby-html.php" />
    <id>tag:www.simonecarletti.com,2008:/blog//1.755</id>

    <published>2008-05-13T15:08:29Z</published>
    <updated>2008-05-13T15:04:38Z</updated>

    <summary>Nasce oggi Ruby.HTML.it, la nuova sezione di HTML.it dedicata al linguaggio Ruby, al framework Ruby on Rails ed affini.</summary>
    <author>
        <name>Simone Carletti</name>
        <uri>http://www.simonecarletti.com</uri>
    </author>
    
    <!-- categories start -->
    
        <category term="Ruby" scheme="http://www.sixapart.com/ns/types#category" />
    
    <!-- categories end -->
    
    <!-- tags start -->
    <category term="htmlit" label="html.it" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="ruby" label="ruby" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <!-- tags end -->
    
    <content type="html" xml:lang="en" xml:base="http://www.simonecarletti.com/blog/">
        &lt;p&gt;&lt;img src="http://www.simonecarletti.com/blog/public/2008/05/benvenuto-ruby-html/guida_thumb_975ccb77f298cabc.gif"  alt="Ruby HTML.it" class="alignleft" /&gt;
Fiocco rosso per &lt;a href="http://www.html.it/" title="HTML.it"&gt;HTML.it&lt;/a&gt; che festeggia oggi la nascita di &lt;a href="http://ruby.html.it/" title="Ruby | ruby.HTML.it"&gt;Ruby.HTML.it&lt;/a&gt;: una nuova sezione interamente dedicata al &lt;strong&gt;linguaggio  Ruby&lt;/strong&gt;, al &lt;strong&gt;framework Ruby on Rails&lt;/strong&gt; e a tutte le risorse correlate incluse le centinaia di &lt;a href="http://rubygems.org/" title="RubyGems Manuals"&gt;GEM&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Contestualmente alla nascita della sezione Ruby non poteva mancare il &lt;a href="http://forum.html.it/forum/forumdisplay.php?s=&amp;amp;forumid=93" title="HTML.it forum | HTML.it forum"&gt;forum Ruby&lt;/a&gt; ed una &lt;a href="http://blog.html.it/archivi/ruby/" title="Ruby | &amp;lt;edit&amp;gt; - Il blog di HTML.it"&gt;categoria Ruby su &amp;lt;edit&amp;gt;&lt;/a&gt;.
Questo progetto mi vede particolarmente coinvolto considerando che ho contribuito ad oltre il 90% dei post su edit, &lt;a href="http://ruby.html.it/faq/" title="FAQ Ruby | Ruby.HTML.it"&gt;al 100% delle FAQ&lt;/a&gt;, a &lt;a href="http://ruby.html.it/articoli/" title="Categorie articoli Ruby | Ruby.HTML.it"&gt;qualche articolo&lt;/a&gt; (altri prossimamente) ed ho un piccolo posticino anche sul nuovo forum.&lt;/p&gt;

&lt;p&gt;Ah, dimenticavo... &lt;a href="http://www.ictv.it/" title="ICTv - WebTv e video su tecnologia, informatica e digital Life"&gt;tenete d'occhio anche ICTV.it&lt;/a&gt; (a buon intenditor poche parole! ;) ).&lt;/p&gt;
        &lt;p&gt;Sono particolarmente felice di questa inaugurazione.&lt;br /&gt;
In primo luogo per soddisfazione personale. Sono passati poco più di 5 mesi da quando con &lt;a href="http://blog.html.it/archivi/2008/05/13/benvenuto-rubysan.php"&gt;Andrea&lt;/a&gt; si scherzava sull'idea di creare un progetto interamente dedicato a Ruby su HTML.it ed ora eccoci qua!&lt;br /&gt;
Complimenti quindi a tutti quanti ci hanno lavorato, soprattutto &lt;strong&gt;alla redazione e all'area tecnica di HTML.it&lt;/strong&gt;: posso solo immaginare l'impegno che richieda l'organizzazione di una nuova sezione.&lt;/p&gt;

&lt;p&gt;In secondo luogo, sono fiducioso che la sezione e soprattutto il forum possano raccogliere nel tempo i rubisti italiani sparsi qua e là.&lt;br /&gt;
Oggigiorno gli sviluppatori Ruby italiani di un certo livello si contano sulle dita di qualche mano e spero che questo progetto possa essere un nuovo punto di riferimento contribuendo e favorendo lo scambio di idee ed aiutando la diffusione di Ruby!&lt;/p&gt;

&lt;p&gt;A questo punto, non mi resta che sperare in una prossima apertura di un progetto dedicato a Python!... Andrea? Ci sei? :P&lt;/p&gt;


&lt;hr /&gt;
&lt;p&gt;News Source: &lt;a href="http://www.simonecarletti.com/blog/2008/05/benvenuto-ruby-html.php" title="Benvenuto Ruby.HTML.it"&gt;Benvenuto Ruby.HTML.it&lt;/a&gt;&lt;br /&gt;
News URI: http://www.simonecarletti.com/blog/2008/05/benvenuto-ruby-html.php&lt;/p&gt;
&lt;p&gt;Copyright &amp;copy; 2005-2008 &lt;strong&gt;&lt;a href="http://www.simonecarletti.com"&gt;Simone Carletti&lt;/a&gt;&lt;/strong&gt;. This Feed is for non-commercial use only and licensed under &lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/"&gt;Creative Common Attribution-NonCommercial-ShareAlike 2.5&lt;/a&gt; license. If you are not reading this material in your feed aggregator, the site you are looking at may be guilty of copyright infringement. Please contact me, so I can take appropriate action.&lt;/p&gt;    
    
&lt;p&gt;&lt;a href="http://feeds.feedburner.com/~a/simonecarletti?a=MKJVts"&gt;&lt;img src="http://feeds.feedburner.com/~a/simonecarletti?i=MKJVts" border="0"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/simonecarletti?a=mW9U6H"&gt;&lt;img src="http://feeds.feedburner.com/~f/simonecarletti?i=mW9U6H" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/simonecarletti?a=raRNXH"&gt;&lt;img src="http://feeds.feedburner.com/~f/simonecarletti?i=raRNXH" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/simonecarletti?a=27aBZh"&gt;&lt;img src="http://feeds.feedburner.com/~f/simonecarletti?i=27aBZh" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/simonecarletti?a=j5R8Th"&gt;&lt;img src="http://feeds.feedburner.com/~f/simonecarletti?i=j5R8Th" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/simonecarletti?a=gBKMKh"&gt;&lt;img src="http://feeds.feedburner.com/~f/simonecarletti?i=gBKMKh" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/simonecarletti/~4/289490663" height="1" width="1"/&gt;</content>

    <!-- slash namespace -->
    <slash:comments>3</slash:comments>

<feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=simonecarletti&amp;itemurl=http%3A%2F%2Fwww.simonecarletti.com%2Fblog%2F2008%2F05%2Fbenvenuto-ruby-html.php</feedburner:awareness><feedburner:origLink>http://www.simonecarletti.com/blog/2008/05/benvenuto-ruby-html.php</feedburner:origLink></entry>

<entry>
    <title>The SuckRank ®</title>
    <link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/simonecarletti/~3/279361573/suckrank.php" />
    <id>tag:www.simonecarletti.com,2008:/blog//1.754</id>

    <published>2008-04-28T12:00:31Z</published>
    <updated>2008-04-28T12:40:14Z</updated>

    <summary>Il SuckRank è un indice per misurare la qualità di un servizio attraverso la sua reputazione online.</summary>
    <author>
        <name>Simone Carletti</name>
        <uri>http://www.simonecarletti.com</uri>
    </author>
    
    <!-- categories start -->
    
        <category term="Marketing" scheme="http://www.sixapart.com/ns/types#category" />
    
    <!-- categories end -->
    
    <!-- tags start -->
    <category term="reputationmanagement" label="reputation management" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="suckrank" label="suckrank" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <!-- tags end -->
    
    <content type="html" xml:lang="en" xml:base="http://www.simonecarletti.com/blog/">
        &lt;p&gt;Avrei voluto scrivere un bell'articolo sull'&lt;acronym="Online Reputation Management"&gt;ORM&lt;/acronym&gt;, ovvero &lt;strong&gt;Online Reputation Management&lt;/strong&gt;, ma come avrete notato dal numero di aggiornamenti recenti del blog... mi manca un po' di tempo!&lt;br /&gt;
Così vorrei giusto spendere un paio di parole su quello che ho definito the &lt;strong&gt;SuckRank&lt;/strong&gt;... tra un attimo capirete perché.&lt;/p&gt;

&lt;p&gt;La quasi totalità del budget destinato alla promozione online da parte delle aziende, ad oggi, si concentra esclusivamente nella promozione online attraverso i vari mezzi che un po' tutti conosciamo: web marketing, advertising, search engine optimization...&lt;br /&gt;
Sono pochissime le aziende che, invece, dedicano una parte di questo budget al monitoraggio di cosa gli utenti dicono di loro nel web. Ancora meno sono le aziende che, presa coscienza delle critiche, si attivano per colmare le lacune o migliorare i propri servizi.&lt;/p&gt;

&lt;p&gt;Per chi acquista prodotti su eCommerce, vende prodotti su eBay, controlla il treno su trenitalia.com, prenota l'albergo su Expedia e passa metà della sua giornata online sembra inconcepibile il fatto che le aziende non tengano in considerazione &lt;strong&gt;cosa gli utenti dicono online&lt;/strong&gt;.&lt;br /&gt;
Così, poiché un esempio vale più di mille parole, ecco una mia esperienza diretta di un acquisto influenzato da un nuovo criterio di ricerca che definirò &lt;strong&gt;SuckRank&lt;/strong&gt;.&lt;/p&gt;
        &lt;h2&gt;Storie di vita vissuta&lt;/h2&gt;

&lt;p&gt;Da qualche settimana sto valutando la scelta di un nuovo provider di hosting che offra servizi a metà tra un hosting ed un &lt;acronym title="Virtual Private Server"&gt;VPS&lt;/acronym&gt;.&lt;br /&gt;
Per varie ragioni, il mio account su Dreamhost non è attualmente in grado di coprire &lt;em&gt;alcune&lt;/em&gt; mie esigenze.&lt;/p&gt;

&lt;p&gt;La maggior parte delle persone che conosco, all'atto della scelta di un hosting si affida a consigli di amici e parenti. Il settore hosting è diventato quasi come quello del gioco d'azzardo: scegliere un servizio veramente affidabile alla cieca è una scommessa!&lt;br /&gt;
Chi offre questo ma non quello, chi promette quello ma ti sfila questo... un disastro!&lt;/p&gt;

&lt;p&gt;Come scegliere?&lt;/p&gt;

&lt;h2&gt;Il SuckRank&lt;/h2&gt;

&lt;p&gt;Dopo aver girato alcuni forum di settore, scartato molte proposte, valutato una serie di servizi che si avvicinavano alle mie esigenze (oltre 1 settimana di lavoro) ecco giunto il fatidico momento della scelta fra 4 provides. Quale servizio acquistare? A chi chiedere?&lt;/p&gt;

&lt;p&gt;Ecco la risposta: il &lt;strong&gt;SuckRank&lt;/strong&gt;!&lt;br /&gt;
Questo sistema di ranking funziona tipicamente per il mercato internazionale dove il modo più semplice per esprimere il proprio dissenso verso un servizio è affermare che &lt;strong&gt;sucks&lt;/strong&gt;, ovvero &lt;strong&gt;fa schifo&lt;/strong&gt; (per usare una traduzione raffinata).&lt;/p&gt;

&lt;p&gt;Utilizzare questo algoritmo è molto semplice.&lt;br /&gt;
E' sufficiente eseguire una ricerca online per la keyword &lt;strong&gt;NOMESERVIZIO sucks&lt;/strong&gt; (dove NOMESERVIZIO è il nome del servizio che volete acquistare o dell'azienda) e verificare il numero di feedback.&lt;/p&gt;

&lt;p&gt;Ad esempio, nel mio caso ero indeciso tra hostgator, site5 ed un paio di altri hoster. &lt;br /&gt;
Vediamo i risultati della ricerca:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href="http://www.google.com/search?q=hostgator+sucks" title="hostgator sucks - Google Search"&gt;hostgator sucks&lt;/a&gt;: ~ 16,800 risultati&lt;/li&gt;
  &lt;li&gt;&lt;a href="http://www.google.com/search?q=site5+sucks" title="site5 sucks - Google Search"&gt;site5 sucks&lt;/a&gt;: ~ 10,600 risultati&lt;/li&gt;
  &lt;li&gt;&lt;a href="http://www.google.com/search?q=dreamhost+sucks" title="dreamhost sucks - Google Search"&gt;dreamhost sucks&lt;/a&gt;: ~ 76,900 risultati&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A questo punto è abbastanza palese che &lt;strong&gt;Dreamhost&lt;/strong&gt; non goda di una reputazione altrettanto positiva rispetto, ad esempio, a &lt;strong&gt;hostgator&lt;/strong&gt;.&lt;br /&gt;
Allo stesso tempo, il &lt;strong&gt;sucksrank&lt;/strong&gt; di &lt;strong&gt;hostgator&lt;/strong&gt; sembra essere moderatamente superiore rispetto a quello di &lt;strong&gt;site5&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;In questa preliminare, l'algoritmo &lt;strong&gt;SuckRank&lt;/strong&gt; non tiene in considerazione l'anzianità del dominio, la presenza o meno di trusted sources o trusted hubs, lo scambio di recensioni negative che potrebbero impattare sulla qualità del &lt;strong&gt;SuckRank&lt;/strong&gt; finale.&lt;/p&gt;

&lt;p&gt;L'algoritmo potrebbe quindi presentare dei falsi positivi in questa sua fase embrionale ma, d'altronde, anche il PageRank non è perfetto! ;)&lt;/p&gt;


&lt;hr /&gt;
&lt;p&gt;News Source: &lt;a href="http://www.simonecarletti.com/blog/2008/04/suckrank.php" title="The SuckRank ®"&gt;The SuckRank ®&lt;/a&gt;&lt;br /&gt;
News URI: http://www.simonecarletti.com/blog/2008/04/suckrank.php&lt;/p&gt;
&lt;p&gt;Copyright &amp;copy; 2005-2008 &lt;strong&gt;&lt;a href="http://www.simonecarletti.com"&gt;Simone Carletti&lt;/a&gt;&lt;/strong&gt;. This Feed is for non-commercial use only and licensed under &lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/"&gt;Creative Common Attribution-NonCommercial-ShareAlike 2.5&lt;/a&gt; license. If you are not reading this material in your feed aggregator, the site you are looking at may be guilty of copyright infringement. Please contact me, so I can take appropriate action.&lt;/p&gt;    
    
&lt;p&gt;&lt;a href="http://feeds.feedburner.com/~a/simonecarletti?a=XY9hOL"&gt;&lt;img src="http://feeds.feedburner.com/~a/simonecarletti?i=XY9hOL" border="0"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/simonecarletti?a=hWF2pG"&gt;&lt;img src="http://feeds.feedburner.com/~f/simonecarletti?i=hWF2pG" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/simonecarletti?a=RkUpTG"&gt;&lt;img src="http://feeds.feedburner.com/~f/simonecarletti?i=RkUpTG" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/simonecarletti?a=DmtLUg"&gt;&lt;img src="http://feeds.feedburner.com/~f/simonecarletti?i=DmtLUg" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/simonecarletti?a=uXNvzg"&gt;&lt;img src="http://feeds.feedburner.com/~f/simonecarletti?i=uXNvzg" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/simonecarletti?a=X0sxXg"&gt;&lt;img src="http://feeds.feedburner.com/~f/simonecarletti?i=X0sxXg" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/simonecarletti/~4/279361573" height="1" width="1"/&gt;</content>

    <!-- slash namespace -->
    <slash:comments>8</slash:comments>

<feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=simonecarletti&amp;itemurl=http%3A%2F%2Fwww.simonecarletti.com%2Fblog%2F2008%2F04%2Fsuckrank.php</feedburner:awareness><feedburner:origLink>http://www.simonecarletti.com/blog/2008/04/suckrank.php</feedburner:origLink></entry>

<entry>
    <title>Quale framework PHP utilizzare?</title>
    <link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/simonecarletti/~3/275994483/quale-framework-php.php" />
    <id>tag:www.simonecarletti.com,2008:/blog//1.753</id>

    <published>2008-04-23T07:53:34Z</published>
    <updated>2008-04-23T08:00:37Z</updated>

    <summary>Presentazione sui web framework, con una comparazione tra i 3 framework PHP più diffusi.</summary>
    <author>
        <name>Simone Carletti</name>
        <uri>http://www.simonecarletti.com</uri>
    </author>
    
    <!-- categories start -->
    
        <category term="PHP" scheme="http://www.sixapart.com/ns/types#category" />
    
    <!-- categories end -->
    
    <!-- tags start -->
    <category term="framework" label="framework" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="php" label="php" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="php5" label="php5" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="presentazioni" label="presentazioni" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="slideshare" label="slideshare" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="zend" label="zend" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="zendframework" label="zend framework" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <!-- tags end -->
    
    <content type="html" xml:lang="en" xml:base="http://www.simonecarletti.com/blog/">
        &lt;p&gt;Ho &lt;a href="http://www.slideshare.net/weppos/quale-framework-php-utilizzare/"&gt;pubblicato su Slideshare&lt;/a&gt; la presentazione creata in occasione del Workshop di &lt;a href="http://www.zend.com/it/"&gt;Zend Italia&lt;/a&gt; su &lt;a href="http://www.zend-framework.it/2008/03/18/arriva-zend-framework-15/"&gt;Zend Framework 1.5&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;La presentazione consiste in una breve panoramica sull'argomento &lt;strong&gt;framework&lt;/strong&gt; e &lt;strong&gt;web framework&lt;/strong&gt;.&lt;br /&gt;
La seconda parte, invece, è una comparazione tra i 3 framework PHP più utilizzati: &lt;strong&gt;Symfony&lt;/strong&gt;, &lt;strong&gt;CakePHP&lt;/strong&gt; e &lt;strong&gt;Zend Framework&lt;/strong&gt;.&lt;/p&gt;

&lt;div id="__ss_360643" class="centered"&gt;&lt;object style="margin:0px" width="425" height="355"&gt;&lt;param name="movie" value="http://static.slideshare.net/swf/ssplayer2.swf?doc=workshopframework-1208553478186425-9"/&gt;&lt;param name="allowFullScreen" value="true"/&gt;&lt;param name="allowScriptAccess" value="always"/&gt;&lt;embed src="http://static.slideshare.net/swf/ssplayer2.swf?doc=workshopframework-1208553478186425-9" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div style="font-size:11px;font-family:tahoma,arial;height:26px;padding-top:2px;"&gt;&lt;a href="http://www.slideshare.net/?src=embed"&gt;&lt;img src="http://static.slideshare.net/swf/logo_embd.png" style="border:0px none;margin-bottom:-5px" alt="SlideShare"/&gt;&lt;/a&gt; | &lt;a href="http://www.slideshare.net/weppos/quale-framework-php-utilizzare?src=embed" title="View 'Quale framework PHP utilizzare?' on SlideShare"&gt;View&lt;/a&gt; | &lt;a href="http://www.slideshare.net/upload?src=embed"&gt;Upload your own&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;
        

&lt;hr /&gt;
&lt;p&gt;News Source: &lt;a href="http://www.simonecarletti.com/blog/2008/04/quale-framework-php.php" title="Quale framework PHP utilizzare?"&gt;Quale framework PHP utilizzare?&lt;/a&gt;&lt;br /&gt;
News URI: http://www.simonecarletti.com/blog/2008/04/quale-framework-php.php&lt;/p&gt;
&lt;p&gt;Copyright &amp;copy; 2005-2008 &lt;strong&gt;&lt;a href="http://www.simonecarletti.com"&gt;Simone Carletti&lt;/a&gt;&lt;/strong&gt;. This Feed is for non-commercial use only and licensed under &lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/"&gt;Creative Common Attribution-NonCommercial-ShareAlike 2.5&lt;/a&gt; license. If you are not reading this material in your feed aggregator, the site you are looking at may be guilty of copyright infringement. Please contact me, so I can take appropriate action.&lt;/p&gt;    
    
&lt;p&gt;&lt;a href="http://feeds.feedburner.com/~a/simonecarletti?a=mvTfXg"&gt;&lt;img src="http://feeds.feedburner.com/~a/simonecarletti?i=mvTfXg" border="0"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/simonecarletti?a=caHRGI"&gt;&lt;img src="http://feeds.feedburner.com/~f/simonecarletti?i=caHRGI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/simonecarletti?a=bjWDQI"&gt;&lt;img src="http://feeds.feedburner.com/~f/simonecarletti?i=bjWDQI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/simonecarletti?a=ac60ii"&gt;&lt;img src="http://feeds.feedburner.com/~f/simonecarletti?i=ac60ii" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/simonecarletti?a=BxhHZi"&gt;&lt;img src="http://feeds.feedburner.com/~f/simonecarletti?i=BxhHZi" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/simonecarletti?a=N55AJi"&gt;&lt;img src="http://feeds.feedburner.com/~f/simonecarletti?i=N55AJi" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/simonecarletti/~4/275994483" height="1" width="1"/&gt;</content>

    <!-- slash namespace -->
    <slash:comments>2</slash:comments>

<feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=simonecarletti&amp;itemurl=http%3A%2F%2Fwww.simonecarletti.com%2Fblog%2F2008%2F04%2Fquale-framework-php.php</feedburner:awareness><feedburner:origLink>http://www.simonecarletti.com/blog/2008/04/quale-framework-php.php</feedburner:origLink></entry>

<entry>
    <title>Libro Ship it! A Practical Guide to Successful Software Projects</title>
    <link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/simonecarletti/~3/274199036/ship-it.php" />
    <id>tag:www.simonecarletti.com,2008:/blog//1.752</id>

    <published>2008-04-20T19:00:04Z</published>
    <updated>2008-07-06T16:30:09Z</updated>

    <summary>Ship it! è un libro eccellente, una delle pubblicazioni di maggiore livello per quanto riguarda la corretta gestione dello sviluppo di un software.</summary>
    <author>
        <name>Simone Carletti</name>
        <uri>http://www.simonecarletti.com</uri>
    </author>
    
    <!-- categories start -->
    
        <category term="Ho letto" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Programmazione" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Software" scheme="http://www.sixapart.com/ns/types#category" />
    
    <!-- categories end -->
    
    <!-- tags start -->
    <category term="libri" label="libri" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="recensioni" label="recensioni" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="software" label="software" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <!-- tags end -->
    
    <content type="html" xml:lang="en" xml:base="http://www.simonecarletti.com/blog/">
        &lt;p&gt;&lt;a href="http://www.amazon.com/gp/product/0974514047?ie=UTF8&amp;tag=simonecarletti-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=0974514047"&gt;&lt;img src="http://www.simonecarletti.com/blog/images/pragprog/190x228/prj.jpg" class="alignleft" /&gt;&lt;/a&gt;&lt;img src="http://www.assoc-amazon.com/e/ir?t=simonecarletti-20&amp;l=as2&amp;o=1&amp;a=0974514047" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /&gt;
Difficile trovare le parole giuste per scrivere una degna recensione al libro &lt;a href="http://www.amazon.com/gp/product/0974514047?ie=UTF8&amp;tag=simonecarletti-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=0974514047"&gt;Ship it! A Practical Guide to Successful Software Projects&lt;/a&gt;&lt;img src="http://www.assoc-amazon.com/e/ir?t=simonecarletti-20&amp;l=as2&amp;o=1&amp;a=0974514047" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /&gt;.&lt;br /&gt;
Ship it! è veramente un libro eccellente, una delle &lt;strong&gt;pubblicazioni di maggiore livello&lt;/strong&gt; per quanto riguarda la corretta gestione dei progetti software.&lt;br /&gt; Ship it! non è solo una raccolta di linee guida, suggerimenti e consigli su come organizzare in modo efficiente lo sviluppo di un software, è un libro in grado di aprirvi la mente con esempi e suggerimenti talmente comprensibili che, lo scommetto, più di una volta vi capiterà di esclamare "&lt;em&gt;ma cavolo, perché non ci ho pensato prima, è fantastico!&lt;/em&gt;".&lt;/p&gt;

&lt;p&gt;La pubblicazione di Ship it! risale al 2005 ma è tutt'altro che datato.&lt;br /&gt;
Rileggendo con attenzione ed occhio critico i suoi capitoli e confrontandoli con le realtà software che ho avuto modo di incontrare, mi sono reso conto che meno della metà delle aziende di sviluppo adottano anche solo la metà dei consigli e delle best practice disponibili per la gestione di un progetto software: &lt;strong&gt;unit test&lt;/strong&gt;, &lt;strong&gt;gestione dei sorgenti&lt;/strong&gt;, &lt;strong&gt;continuous integrations&lt;/strong&gt;, &lt;strong&gt;issue tracking&lt;/strong&gt;, &lt;strong&gt;code review&lt;/strong&gt;, &lt;strong&gt;code change notification&lt;/strong&gt;, &lt;strong&gt;automatic builds&lt;/strong&gt;... questi sono solo alcuni dei concetti fondamentali affrontati, discussi ed approfonditi dal libro.&lt;/p&gt;
        &lt;h2&gt;Introduzione&lt;/h2&gt;

&lt;p&gt;L'introduzione è, da sola, una delle migliori che abbia mai avuto modo di leggere. Concisa, efficace e soprattutto incredibilmente profonda. Vi consiglio di non perdere neppure una pagina di questo libro, prefazione compresa, ad opera di Andy Hunt.&lt;/p&gt;

&lt;p&gt;Nell'introduzione vengono da subito chiariti quelli che saranno gli argomenti essenziali trattati nel libro&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Techniques (tecniche)&lt;/li&gt;
&lt;li&gt;Infrastructure (infrastrutture)&lt;/li&gt;
&lt;li&gt;Process (processi)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Ciascuno di questi elementi verrà ripreso ed approfondito in un capitolo dedicato.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://www.simonecarletti.com/blog/public/2008/04/ship-it/ship-it-poster.png" width="400" class="centered" /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Sviluppatori&lt;/strong&gt;, &lt;strong&gt;tester&lt;/strong&gt;, &lt;strong&gt;team leader&lt;/strong&gt; o &lt;strong&gt;project manager&lt;/strong&gt;: non importa quale sia il vostro ruolo all'interno dello sviluppo di un software, questo libro è orientato ad ognuna delle quattro figure indicate. Ogni capitolo permette la lettura sotto diversi punti di vista e non c'è argomento che, alla fine, non possa influenzare il vostro modo di lavorare.&lt;/p&gt;

&lt;p&gt;Per tutta la durata del libro, di tanto in tanto, una frase essenziale o un'affermazione chiave viene evidenziata come &lt;strong&gt;TIP&lt;/strong&gt;.&lt;br /&gt;
L'appendice A, dal titolo &lt;strong&gt;Tip Summary&lt;/strong&gt;, è un riepilogo dei 42 suggerimenti chiave per una corretta gestione di un progetto software.&lt;/p&gt;

&lt;p&gt;Dopo l'introduzione, il libro si sviluppa in 4 capitoli:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Tools and Infrastructure&lt;/li&gt;
&lt;li&gt;Pragmatic Project Techniques&lt;/li&gt;
&lt;li&gt;Tracer Bullet Development&lt;/li&gt;
&lt;li&gt;Common Problems and How to Fix Them&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Tools and Infrastructure&lt;/h2&gt;

&lt;p&gt;Questo capitolo analizza e descrive una &lt;strong&gt;corretta architettura per lo sviluppo di software&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;L'apertura è dedicata all'analisi di come gli &lt;strong&gt;strumenti di Source Code Management&lt;/strong&gt; (&lt;acronym title="Source Code Management"&gt;SCM&lt;/acronym&gt;), come ad esempio &lt;a href="http://www.simonecarletti.com/blog/2007/03/strumenti-sviluppo-subversion-svn.php" title="Strumenti di sviluppo: Subversion (SVN)"&gt;Subversion&lt;/a&gt;, sono tanto essenziali quanto indispensabili per qualsiasi progetto software, ma non solo! Possono infatti essere utilizzati in tantissimi ambiti come quello editoriale per tenere traccia dell'evoluzione di un libro e collegare l'attività di un autore a quella di un editore.&lt;/p&gt;

&lt;p&gt;Altro tema affrontato è quello della &lt;strong&gt;compilazione automatica di un progetto&lt;/strong&gt;. In alcuni casi si tratta di una vera e propria compilazione in binario, come per un eseguibile, in altri casi la compilazione è semplicemente la creazione di un pacchetto distribuibile come i file GEM in Ruby.&lt;br /&gt;
Indipendentemente dalla situazione, Ship it! suggerisce una ricca lista di accorgimenti per rendere quest'operazione indolore. Interessante la discussione sull'argomento &lt;a href="http://www.martinfowler.com/articles/continuousIntegration.html" title="Continuous Integration"&gt;Continuous Integration&lt;/a&gt;, con tanto di strumenti ed esempi.&lt;/p&gt;

&lt;p&gt;Non manca una sezione dedicata al tema degli &lt;a href="http://www.simonecarletti.com/blog/2007/09/strumenti-sviluppo-issue-tracker.php" title="Strumenti di Sviluppo: Issue Tracker"&gt;Issue Tracker&lt;/a&gt;, con utilissimi suggerimenti per non vanificare le potenzialità dello strumento, indipendentemente da quale si tratti.&lt;br /&gt;
Non dobbiamo infatti dimenticare che &lt;strong&gt;anche lo strumenti migliore, nelle mani di un incapace, può trasformarsi in un'arma letale&lt;/strong&gt;. &lt;/p&gt;

&lt;p&gt;Eccezionale la panoramica sull'argomento Testing: Functional Test, Performance Test, Load Test, Smoke test ed Integration Test.&lt;br /&gt;
Ovviamente c'è da considerare che questi temi meriterebbero un libro dedicato, ma Ship it! è in grado di offrire le informazioni essenziali per suscitare almeno la curiosità per ulteriori approfondimenti personali.&lt;/p&gt;

&lt;p&gt;Il capitolo si conclude con una sezione chiamata &lt;strong&gt;When Not to Experiment&lt;/strong&gt;, essenziale per quanti soffrono di "mal del voglio provare tutto ora perché figo"!&lt;br /&gt;
In altre parole, gli autori sottolineano quanto sia fondamentale la scelta di tecnologie che si conoscono ma, soprattutto, non introdurre nuove tecnologie in momenti critici, come quello che precede il rilascio di una nuova versione, solo perché qualcuno ha detto che "questo prodotto funziona meglio di quello".&lt;/p&gt;

&lt;p&gt;Per citare Jared Richardson e William Gwaltney: &lt;em&gt;Never let a critical technology (like your build system) be created as a technology expediment&lt;/em&gt; o &lt;em&gt;Don't use wizard code you don't understand&lt;/em&gt;.&lt;br /&gt;
Cosa? Queste affermazioni vi sembrano banali? Allora non avete idea di quanti utilizzino script copia incolla per scrivere routine essenziali di un sistema senza neppure comprendere il loro funzionamento!&lt;/p&gt;

&lt;h2&gt;Pragmatic Project Techniques&lt;/h2&gt;

&lt;p&gt;Il capitolo &lt;strong&gt;Pragmatic Project Techniques&lt;/strong&gt; sposta l'attenzione dalle tecnologie alle &lt;strong&gt;abitudini e tecniche&lt;/strong&gt;. &lt;br /&gt;
Si parla delle caratteristiche essenziali di un Tech Leader, così come dell'importanza di &lt;strong&gt;riunioni quotidiane&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Una decina di pagine sono dedicate all'argomento Code Review descrivendo nel dettaglio vantaggi e svantaggi di questa pratica di sviluppo.
Ci tengo a sottolineare come ogni affermazione del libro sia corredata da esempi pratici ed esperienze reali che arricchiscono ulteriormente il valore di ogni consiglio.&lt;/p&gt;

&lt;p&gt;L'intero terzo capitolo ruota attorno all'argomento "The List". Chiunque debba organizzare la propria attività ben conosce l'&lt;strong&gt;importanza delle TODO list&lt;/strong&gt;, di un agenda o di un qualsiasi strumento dove annotare e raccogliere i propri appuntamenti.&lt;br /&gt;
Gli autori si spingono oltre fino a dedicare decine di pagine a come organizzare al meglio la propria lista delle attività e quella dell'intero team, nel caso il vostro ruolo sia quello di team leader o manager.&lt;/p&gt;

&lt;h2&gt;Tracer Bullet Development&lt;/h2&gt;

&lt;p&gt;Il quarto capitolo è interamente dedicato alla pratica di sviluppo &lt;strong&gt;Tracer Bullet Development&lt;/strong&gt; (&lt;acronym title="Tracer Bullet Development"&gt;TBD&lt;/acronym&gt;). Come il &lt;strong&gt;Test Driven Development&lt;/strong&gt; (&lt;acronym title="Test Driven Development"&gt;TDD&lt;/acronym&gt;) o l'&lt;strong&gt;Extreme Programming&lt;/strong&gt; (&lt;acronym title="Extreme Programming"&gt;XP&lt;/acronym&gt;), il &lt;acronym title="Tracer Bullet Development"&gt;TBD&lt;/acronym&gt; è una delle tecniche che si possono adottare nello sviluppo di un software.&lt;br /&gt;
Questo capitolo ne analizza caratteristiche, pregi e difetti.&lt;/p&gt;

&lt;h2&gt;Common Problems and How to Fix Them&lt;/h2&gt;

&lt;p&gt;Come ben saprà chi di voi è abituato a leggere libri ed articoli, un conto è scrivere di buone abitudini un conto è mettere in pratica quanto qualcun altro scrive.&lt;br /&gt;
Ci sono innumerevoli motivi che possono portare all'impossibilità di adottare una o l'altra tecnologia o condizionare una scelta.&lt;/p&gt;

&lt;p&gt;Nel quinto capitolo sono riassunti oltre una decina dei principali problemi collegati alle best practice trattate nel libro, con relativi suggerimenti su come risolverli.&lt;br /&gt;
Anche in questo caso, ogni problema è documentato con esperienze reali che rendono le soluzioni qualcosa diverso dai classici consigli inutilizzabili.&lt;/p&gt;

&lt;h2&gt;Non finisce qui!&lt;/h2&gt;

&lt;p&gt;I capitoli sono terminati, ma il libro non finisce qui.&lt;br /&gt;
Ben 8 appendici completano la pubblicazione con risorse ed approfondimenti su &lt;strong&gt;sistemi di gestione del codice&lt;/strong&gt;, &lt;strong&gt;scripting tool&lt;/strong&gt;, &lt;strong&gt;issue tracker&lt;/strong&gt;, &lt;strong&gt;framework per il test di prodotti&lt;/strong&gt; e &lt;strong&gt;metodi di sviluppo&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;In conclusione&lt;/h2&gt;

&lt;p&gt;Non più di qualche mese fa, in risposta ad un mio post su HTML.it dedicato allo unit testing, un utente commentò dicendo di quanto sia difficile introdurre certe tecniche nello sviluppo di un software, considerando che spesso i project manager non le conoscono o non ne comprendono l'efficacia.&lt;br /&gt;
La mia risposta, nuda e cruda, fu che un project manager che non conosca o comprenda l'efficacia di tecniche come l'unit testing o la gestione organizzata di un progetto probabilmente ha ancora molto da imparare e dovrebbe tornare a studiare.&lt;/p&gt;

&lt;p&gt;Ad oggi, probabilmente, in quell'occasione avrei allegato un collegamento a Ship it!. Questo libro è infatti un concentrato di molti degli aspetti che un buon project manager dovrebbe conoscere (ed applicare), ma non solo.&lt;br /&gt;
Per quanto mi riguarda, la lettura di &lt;a href="http://www.amazon.com/gp/product/0974514047?ie=UTF8&amp;tag=simonecarletti-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=0974514047"&gt;Ship it! A Practical Guide to Successful Software Projects&lt;/a&gt;&lt;img src="http://www.assoc-amazon.com/e/ir?t=simonecarletti-20&amp;l=as2&amp;o=1&amp;a=0974514047" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /&gt; è stata l'occasione per trovare conferma su molte abitudini maturate nel tempo grazie all'esperienza, abitudini che per un motivo o per l'altro non mi sono mai state insegnate direttamente ma ho appreso nel tempo.&lt;br /&gt;
Ship it! mi ha permesso di consolidarne l'efficacia e, in molti casi, mi ha aperto la mente permettendomi un uso ancora più professionale.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.amazon.com/gp/product/0974514047?ie=UTF8&amp;tag=simonecarletti-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=0974514047"&gt;Ship it! A Practical Guide to Successful Software Projects&lt;/a&gt;&lt;img src="http://www.assoc-amazon.com/e/ir?t=simonecarletti-20&amp;l=as2&amp;o=1&amp;a=0974514047" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /&gt; ha un costo irrisorio se paragonato al reale valore professionale e non è un caso che compaia in molte presentazioni, non per ultima in quella di Alex Martelli in occasione della &lt;a href="http://www.pycon.it/" title="Benvenuti! | PyCon2 - La seconda conferenza italiana dedicata al linguaggio Python."&gt;PyCon 2007&lt;/a&gt;.&lt;br /&gt;
L'acquisto è &lt;strong&gt;assolutamente consigliato&lt;/strong&gt;, non solo a chi si occupa di sviluppo software. Molti suggerimenti del libro sono infatti applicabili ad altri ambienti dell'informatica e del web.&lt;/p&gt;

&lt;hr /&gt;
&lt;p&gt;News Source: &lt;a href="http://www.simonecarletti.com/blog/2008/04/ship-it.php" title="Libro Ship it! A Practical Guide to Successful Software Projects"&gt;Libro Ship it! A Practical Guide to Successful Software Projects&lt;/a&gt;&lt;br /&gt;
News URI: http://www.simonecarletti.com/blog/2008/04/ship-it.php&lt;/p&gt;
&lt;p&gt;Copyright &amp;copy; 2005-2008 &lt;strong&gt;&lt;a href="http://www.simonecarletti.com"&gt;Simone Carletti&lt;/a&gt;&lt;/strong&gt;. This Feed is for non-commercial use only and licensed under &lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/"&gt;Creative Common Attribution-NonCommercial-ShareAlike 2.5&lt;/a&gt; license. If you are not reading this material in your feed aggregator, the site you are looking at may be guilty of copyright infringement. Please contact me, so I can take appropriate action.&lt;/p&gt;    
    
&lt;p&gt;&lt;a href="http://feeds.feedburner.com/~a/simonecarletti?a=CVuLeO"&gt;&lt;img src="http://feeds.feedburner.com/~a/simonecarletti?i=CVuLeO" border="0"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/simonecarletti?a=ZhAiCI"&gt;&lt;img src="http://feeds.feedburner.com/~f/simonecarletti?i=ZhAiCI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/simonecarletti?a=tQkxgI"&gt;&lt;img src="http://feeds.feedburner.com/~f/simonecarletti?i=tQkxgI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/simonecarletti?a=yUU35i"&gt;&lt;img src="http://feeds.feedburner.com/~f/simonecarletti?i=yUU35i" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/simonecarletti?a=oa7Eji"&gt;&lt;img src="http://feeds.feedburner.com/~f/simonecarletti?i=oa7Eji" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/simonecarletti?a=qNGuzi"&gt;&lt;img src="http://feeds.feedburner.com/~f/simonecarletti?i=qNGuzi" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/simonecarletti/~4/274199036" height="1" width="1"/&gt;</content>

    <!-- slash namespace -->
    <slash:comments>1</slash:comments>

<feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=simonecarletti&amp;itemurl=http%3A%2F%2Fwww.simonecarletti.com%2Fblog%2F2008%2F04%2Fship-it.php</feedburner:awareness><feedburner:origLink>http://www.simonecarletti.com/blog/2008/04/ship-it.php</feedburner:origLink></entry>

<entry>
    <title>C'è (34.821) posta per te</title>
    <link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/simonecarletti/~3/262267802/ce-posta-per-te.php" />
    <id>tag:www.simonecarletti.com,2008:/blog//1.751</id>

    <published>2008-04-01T22:58:15Z</published>
    <updated>2008-04-05T20:31:40Z</updated>

    <summary>Come comportarsi quando avete da leggere 34.821 email.</summary>
    <author>
        <name>Simone Carletti</name>
        <uri>http://www.simonecarletti.com</uri>
    </author>
    
    <!-- categories start -->
    
        <category term="Pensieri" scheme="http://www.sixapart.com/ns/types#category" />
    
    <!-- categories end -->
    
    <!-- tags start -->
    <category term="email" label="email" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="software" label="software" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <!-- tags end -->
    
    <content type="html" xml:lang="en" xml:base="http://www.simonecarletti.com/blog/">
        &lt;p&gt;Quando nei miei ultimi post ho scritto che è un periodo in cui sono particolarmente occupato non scherzavo e quando dico occupato... dico occupato!&lt;br /&gt;
E giusto per sottolineare che non scherzo, oggi ho scoperto per caso che non leggo un account di posta da settembre. Ecco il risultato:&lt;/p&gt;

&lt;p&gt;&lt;img src="http://www.simonecarletti.com/blog/public/2008/04/ce-posta-per-te/mailwasher-on-action.png" class="centered" /&gt;&lt;/p&gt;

&lt;p&gt;Sì, avete letto bene: 34.821 messaggi. Certo, un buon 80% è spam, ma fate due calcoli!&lt;/p&gt;

&lt;p&gt;Ora, qualcuno potrebbe comprensibilmente affermare &lt;em&gt;e a me che me ne frega di quante email ha da leggere sto tipo qua?&lt;/em&gt;&lt;br /&gt;
Giusto, ma siccome non voglio lasciarvi a bocca asciutta vi comunico che, &lt;strong&gt;con 34.821 email da leggere:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;l'unico programma a non andare in crash è &lt;a href="http://www.simonecarletti.com/blog/2007/05/microsoft-outlook-pst.php"&gt;Outlook (preferibilmente 2007)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;l'unico protocollo a non andare in timeout è IMAP (scordatevi POP3)&lt;/li&gt;
&lt;li&gt;l'unico programma utile per sfoltire le email di SPAM in questo caso è &lt;a href="http://www.mailwasher.net/"&gt;MailWasher&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Provare per credere.&lt;/p&gt;

&lt;p&gt;Ah, se qualcuno di voi avesse suggerimenti per smaltire questo malloppo in tempi non biblici, sarò felice di dargli ascolto.&lt;/p&gt;
        

&lt;hr /&gt;
&lt;p&gt;News Source: &lt;a href="http://www.simonecarletti.com/blog/2008/04/ce-posta-per-te.php" title="C'è (34.821) posta per te"&gt;C'è (34.821) posta per te&lt;/a&gt;&lt;br /&gt;
News URI: http://www.simonecarletti.com/blog/2008/04/ce-posta-per-te.php&lt;/p&gt;
&lt;p&gt;Copyright &amp;copy; 2005-2008 &lt;strong&gt;&lt;a href="http://www.simonecarletti.com"&gt;Simone Carletti&lt;/a&gt;&lt;/strong&gt;. This Feed is for non-commercial use only and licensed under &lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/"&gt;Creative Common Attribution-NonCommercial-ShareAlike 2.5&lt;/a&gt; license. If you are not reading this material in your feed aggregator, the site you are looking at may be guilty of copyright infringement. Please contact me, so I can take appropriate action.&lt;/p&gt;    
    
&lt;p&gt;&lt;a href="http://feeds.feedburner.com/~a/simonecarletti?a=Eie4XB"&gt;&lt;img src="http://feeds.feedburner.com/~a/simonecarletti?i=Eie4XB" border="0"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/simonecarletti?a=vjlSGI"&gt;&lt;img src="http://feeds.feedburner.com/~f/simonecarletti?i=vjlSGI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/simonecarletti?a=lSyjdI"&gt;&lt;img src="http://feeds.feedburner.com/~f/simonecarletti?i=lSyjdI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/simonecarletti?a=dW90Ki"&gt;&lt;img src="http://feeds.feedburner.com/~f/simonecarletti?i=dW90Ki" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/simonecarletti?a=GhUfsi"&gt;&lt;img src="http://feeds.feedburner.com/~f/simonecarletti?i=GhUfsi" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/simonecarletti?a=ndZbMi"&gt;&lt;img src="http://feeds.feedburner.com/~f/simonecarletti?i=ndZbMi" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/simonecarletti/~4/262267802" height="1" width="1"/&gt;</content>

    <!-- slash namespace -->
    <slash:comments>3</slash:comments>

<feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=simonecarletti&amp;itemurl=http%3A%2F%2Fwww.simonecarletti.com%2Fblog%2F2008%2F04%2Fce-posta-per-te.php</feedburner:awareness><feedburner:origLink>http://www.simonecarletti.com/blog/2008/04/ce-posta-per-te.php</feedburner:origLink></entry>

<entry>
    <title>Versione evoluta dei Google Sitelinks: sitelinks e form di ricerca</title>
    <link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/simonecarletti/~3/260237219/versione-evoluta-google-sitelinks.php" />
    <id>tag:www.simonecarletti.com,2008:/blog//1.750</id>

    <published>2008-03-29T13:50:53Z</published>
    <updated>2008-03-29T13:55:12Z</updated>

    <summary>Screenshot di una versione particolare dei Google Sitelinks, contenente una form di ricerca.</summary>
    <author>
        <name>Simone Carletti</name>
        <uri>http://www.simonecarletti.com</uri>
    </author>
    
    <!-- categories start -->
    
        <category term="Google" scheme="http://www.sixapart.com/ns/types#category" />
    
    <!-- categories end -->
    
    <!-- tags start -->
    <category term="google" label="google" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="sitelinks" label="sitelinks" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <!-- tags end -->
    
    <content type="html" xml:lang="en" xml:base="http://www.simonecarletti.com/blog/">
        &lt;p&gt;Periodo particolarmente impegnativo per il sottoscritto e, inevitabilmente, questo si riflette su una diminuzione delle pubblicazioni su questo blog.
Spero, prossimamente, di riprendere la mia naturale regolarità (no, in questo caso non c'entrano né Activia né la Marcuzzi!). Mi conforta, in un certo senso, sapere che &lt;a href="http://www.motoricerca.info/" title="Guida al posizionamento nei motori di ricerca"&gt;non sono&lt;/a&gt; &lt;a href="http://www.mauriziopetrone.com/blog/news/i-segreti-del-link-building/" title="I Segreti del Link Building | News | Blog di Petro"&gt;l'unico&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Rompo il silenzio con una breve segnalazione. Potrei aver scoperto l'acqua calda, o forse no.&lt;br /&gt;
Oggi, eseguendo una ricerca mi sono imbattuto in una forma che potremmo definire "evoluta" dei &lt;a href="http://www.simonecarletti.com/blog/2007/10/google-sitelinks.php" title="Che cosa sono i Google Sitelinks - Simone Carletti's Blog"&gt;Google Sitelinks&lt;/a&gt;: &lt;strong&gt;i Sitelinks con form di ricerca&lt;/strong&gt;.&lt;/p&gt;
        &lt;p&gt;&lt;img src="http://www.simonecarletti.com/blog/public/2008/03/versione-evoluta-google-sitelinks/sitelinks-searchform.png" alt="Google Sitelinks with Search Form" class="centered" /&gt;&lt;/p&gt;

&lt;p&gt;E' la prima volta e non saprei dire se si tratta di un test oppure di una feature definitiva.
Senz'altro, se fosse un test, non è uno dei classici "split test" a cui ci ha abituato Google dato che lo stesso comportamento avviene da qualsiasi computer per la stessa query.&lt;/p&gt;

&lt;p&gt;Altri di voi hanno esempi simili da segnalare?&lt;/p&gt;

&lt;hr /&gt;
&lt;p&gt;News Source: &lt;a href="http://www.simonecarletti.com/blog/2008/03/versione-evoluta-google-sitelinks.php" title="Versione evoluta dei Google Sitelinks: sitelinks e form di ricerca"&gt;Versione evoluta dei Google Sitelinks: sitelinks e form di ricerca&lt;/a&gt;&lt;br /&gt;
News URI: http://www.simonecarletti.com/blog/2008/03/versione-evoluta-google-sitelinks.php&lt;/p&gt;
&lt;p&gt;Copyright &amp;copy; 2005-2008 &lt;strong&gt;&lt;a href="http://www.simonecarletti.com"&gt;Simone Carletti&lt;/a&gt;&lt;/strong&gt;. This Feed is for non-commercial use only and licensed under &lt;a href="http://creativecommons.org/licenses/by-nc-sa/2.5/"&gt;Creative Common Attribution-NonCommercial-ShareAlike 2.5&lt;/a&gt; license. If you are not reading this material in your feed aggregator, the site you are looking at may be guilty of copyright infringement. Please contact me, so I can take appropriate action.&lt;/p&gt;    
    
&lt;p&gt;&lt;a href="http://feeds.feedburner.com/~a/simonecarletti?a=F05vDt"&gt;&lt;img src="http://feeds.feedburner.com/~a/simonecarletti?i=F05vDt" border="0"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/simonecarletti?a=ysKFKJ"&gt;&lt;img src="http://feeds.feedburner.com/~f/simonecarletti?i=ysKFKJ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/simonecarletti?a=PQkhUJ"&gt;&lt;img src="http://feeds.feedburner.com/~f/simonecarletti?i=PQkhUJ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/simonecarletti?a=vjwj6j"&gt;&lt;img src="http://feeds.feedburner.com/~f/simonecarletti?i=vjwj6j" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/simonecarletti?a=Phv6jj"&gt;&lt;img src="http://feeds.feedburner.com/~f/simonecarletti?i=Phv6jj" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/simonecarletti?a=HPYtjj"&gt;&lt;img src="http://feeds.feedburner.com/~f/simonecarletti?i=HPYtjj" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/simonecarletti/~4/260237219" height="1" width="1"/&gt;</content>

    <!-- slash namespace -->
    <slash:comments>8</slash:comments>

<feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=simonecarletti&amp;itemurl=http%3A%2F%2Fwww.simonecarletti.com%2Fblog%2F2008%2F03%2Fversione-evoluta-google-sitelinks.php</feedburner:awareness><feedburner:origLink>http://www.simonecarletti.com/blog/2008/03/versione-evoluta-google-sitelinks.php</feedburner:origLink></entry>

<feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetFeedData?uri=simonecarletti</feedburner:awareness></feed>
