<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/" version="2.0">
    <channel>
        <title>[ topics . it ]</title>
        <link>http://blogs.ugidotnet.org/topics/Default.aspx</link>
        <description>Mauro e lo Sviluppo Sostenibile</description>
        <language>it-IT</language>
        <copyright>Mauro Servienti</copyright>
        <generator>Subtext Version 2.1.0.3</generator>
        <image>
            <title>[ topics . it ]</title>
            <url>http://blogs.ugidotnet.org/images/RSS2Image.gif</url>
            <link>http://blogs.ugidotnet.org/topics/Default.aspx</link>
            <width>77</width>
            <height>60</height>
        </image>
        <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/tpx" type="application/rss+xml" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
            <title>Outlook to the max</title>
            <category>whynot</category>
            <link>http://blogs.ugidotnet.org/topics/archive/2009/11/06/outlook-to-the-max.aspx</link>
            <description>&lt;p&gt;Fino ad un paio di anni fa avevo l’abitudine di categorizzare le mail utilizzando una &lt;em&gt;pletora&lt;/em&gt; di subfolder della Inbox, il problema è che spesso questo le rende introvabili :-) perchè a distanza di tempo quando vi chiedete “dove ho messo quella roba” giustamente non vi ricordate più l’associazione mentale fatta al tempo e tipicamente passate un buon quarto d’ora a scartabellare tra le folder… oppure semplicemente avrebbe senso mettere la stessa mail in più subfolder.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Ho regalato troppi “quarto d’ora” :-)&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Due anni fa circa, in una mattina a Barcellona, ero seduto di fianco a &lt;a href="http://blog.knodev.com/"&gt;Davide Vernole&lt;/a&gt; e facendo il curioso noto che non ha subfolder ma ha semplicemente tutto spiattellato nella Inbox e mi spiega che usa le categorie per taggare la mail… figo :-)&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;…l’inghippo purtroppo è che chi ha pensato le categorie evidentemente non le ha mai usate perchè per taggare una singola mail perdete ben più di un quarto d’ora… :-/&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;Rules rulez&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Ma anche qui piegare lo strumento è abbastanza facile:&lt;/p&gt;
&lt;p&gt;&lt;a rel="lightbox" href="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/topics/WindowsLiveWriter/Outlooktothemax_8170/image_4.png"&gt;&lt;img style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title="image" border="0" alt="image" width="244" height="239" src="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/topics/WindowsLiveWriter/Outlooktothemax_8170/image_thumb_1.png" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;Mi sono fatto una pletora di regole che fanno il 90% del lavoro, se non di più, lasciando a me l’onere di rifinirlo ove necessario. Queste regole fanno si che all’arrivo ogni mail venga automaticamente taggata:&lt;/p&gt;
&lt;p&gt;&lt;a rel="lightbox" href="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/topics/WindowsLiveWriter/Outlooktothemax_8170/image_6.png"&gt;&lt;img style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title="image" border="0" alt="image" width="244" height="102" src="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/topics/WindowsLiveWriter/Outlooktothemax_8170/image_thumb_2.png" /&gt;&lt;/a&gt; &lt;a rel="lightbox" href="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/topics/WindowsLiveWriter/Outlooktothemax_8170/image_10.png"&gt;&lt;img style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title="image" border="0" alt="image" width="168" height="102" src="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/topics/WindowsLiveWriter/Outlooktothemax_8170/image_thumb_4.png" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;Il fatto che le regole siano &lt;em&gt;client only&lt;/em&gt; è un non problema perchè Outlook le applica anche ai messaggi già letti, quindi se segno come già letto un messaggio da OWA o dal Device quando arriva in Outlook viene comunque processato e categorizzato.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Cerca che ti passa…&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Ma poi come sfruttiamo questo tagging? Semplicemente si può cercare per categoria, ma la cosa che adoro sono le Search Folder che con un piccolo trick diventano veramente fantastiche:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Windows Registry Editor Version 5.00 &lt;/p&gt;
&lt;p&gt;[HKEY_CURRENT_USER\Software\Microsoft\Office\&lt;em&gt;14.0&lt;/em&gt;\Outlook\QueryBuilder]&lt;/p&gt;
&lt;p&gt;&lt;font size="1"&gt;(&lt;em&gt;Funziona su tutte le versioni di Outlook, basta sostituire a 14.0 il vostro numero di versione&lt;/em&gt;)&lt;/font&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Se provate a creare quella chiave di registro, senza metterci nulla basta che esista, e poi provate ad editare/creare una Search Folder… tada!:&lt;/p&gt;
&lt;p&gt;&lt;a rel="lightbox" href="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/topics/WindowsLiveWriter/Outlooktothemax_8170/image_2.png"&gt;&lt;img style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title="image" border="0" alt="image" width="244" height="134" src="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/topics/WindowsLiveWriter/Outlooktothemax_8170/image_thumb.png" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;Avete un potente sistema di filtro a vostra disposizione per fare query anche molto articolate.&lt;/p&gt;
&lt;p&gt;Dimenticavo: prestazionalmente non cambia nulla avere tutto nella Inbox:&lt;/p&gt;
&lt;p&gt;&lt;a rel="lightbox" href="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/topics/WindowsLiveWriter/Outlooktothemax_8170/image_12.png"&gt;&lt;img style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title="image" border="0" alt="image" width="244" height="84" src="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/topics/WindowsLiveWriter/Outlooktothemax_8170/image_thumb_5.png" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;Questa è la dimenisione della mia Inbox attuale con i messaggi dall’inzio dell’anno, la ListView dei messaggi è virtualizzata quindi…&lt;/p&gt;
&lt;p&gt;.m&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/topics/aggbug/97410.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Mauro Servienti</dc:creator>
            <guid>http://blogs.ugidotnet.org/topics/archive/2009/11/06/outlook-to-the-max.aspx</guid>
            <pubDate>Fri, 06 Nov 2009 14:00:00 GMT</pubDate>
            <wfw:comment>http://blogs.ugidotnet.org/topics/comments/97410.aspx</wfw:comment>
            <comments>http://blogs.ugidotnet.org/topics/archive/2009/11/06/outlook-to-the-max.aspx#feedback</comments>
            <slash:comments>5</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/topics/comments/commentRss/97410.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/topics/services/trackbacks/97410.aspx</trackback:ping>
        </item>
        <item>
            <title>[OT] Pensieri sparsi&amp;hellip; &amp;ldquo;reloaded&amp;rdquo;</title>
            <category>whynot</category>
            <link>http://blogs.ugidotnet.org/topics/archive/2009/11/05/ot-pensieri-sparsihellip-ldquoreloadedrdquo.aspx</link>
            <description>&lt;p&gt;Sono a Torino e tipicamente quando sono in albergo mi capita di guardare la televisione, a casa non c’è.&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Qui c’è già stato lo switch-over: il digitale terrestre fa pietà, non tanto per i contenuti che facevano pietà prima e adesso sono solo aumentati, quindi peggio su peggio :-) ma piuttosto fa tecnologicamente pietà, mi metto nei panni di un utente, non tecnico, che prima aveva un televisore e adesso ha un televisore + un “coso” con a bordo del software che è fatto tipicamente con i piedi, il decoder che ho qui in albergo è pressochè inutilizzabile… crasha: cribbio ma come è possibile che un televisore (perchè quello è il percepito) crashi… è come se crashasse il frigorifero;&lt;/li&gt;    &lt;li&gt;Per ora ho cumulato circa 1h di “visione” e:&lt;/li&gt;    &lt;ol&gt;     &lt;li&gt;L’abitudine che in molti hanno di parlare addosso agli altri per zittirli è veramente odiosa;&lt;/li&gt;      &lt;li&gt;non ho trovato nulla che richiedesse un QI superiore a –1;&lt;/li&gt;      &lt;li&gt;Guardando un telegiornale capisci molte cose, ma proprio tante;&lt;/li&gt;      &lt;li&gt;La trasmissione di Papi, su Italia 1, è decisamente inutile, se la levassero e facessero mezz’ora di fermo immagine saremmo tutti molti più felici ;-);&lt;/li&gt;   &lt;/ol&gt;    &lt;li&gt;La fretta è sempre una cattiva consigliera, vedi punto 1, e, prima o poi, ti si ritorcerà contro;&lt;/li&gt;    &lt;li&gt;Il sarcasmo gratuito e mal celato è un’altra cosa che mi da molto fastidio;&lt;/li&gt;    &lt;li&gt;La formazione è alla base del successo tanto quanto l’ignoranza della controparte (vedi sempre punto 1);&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;.m&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/topics/aggbug/97455.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Mauro Servienti</dc:creator>
            <guid>http://blogs.ugidotnet.org/topics/archive/2009/11/05/ot-pensieri-sparsihellip-ldquoreloadedrdquo.aspx</guid>
            <pubDate>Thu, 05 Nov 2009 20:21:08 GMT</pubDate>
            <wfw:comment>http://blogs.ugidotnet.org/topics/comments/97455.aspx</wfw:comment>
            <comments>http://blogs.ugidotnet.org/topics/archive/2009/11/05/ot-pensieri-sparsihellip-ldquoreloadedrdquo.aspx#feedback</comments>
            <slash:comments>6</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/topics/comments/commentRss/97455.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/topics/services/trackbacks/97455.aspx</trackback:ping>
        </item>
        <item>
            <title>Componente != Servizio</title>
            <category>Software Mason</category>
            <link>http://blogs.ugidotnet.org/topics/archive/2009/11/05/componente-servizio.aspx</link>
            <description>&lt;p&gt;Stavo leggendo una &lt;a href="http://mikehadlow.blogspot.com/2008/11/windsor-wcf-integration.html"&gt;interessante serie di post&lt;/a&gt; sull’integrazione tra &lt;a href="http://www.castleproject.org/container/index.html"&gt;Castle&lt;/a&gt; e WCF, illuminante e istruttiva per molti versi ma sinceramente faccio molta fatica a digerire questo mascheramento.&lt;/p&gt;  &lt;p&gt;Credo che in generale ci sia un problema di fondo nella teminologia usata: quando si parla di IoC si usa indifferentemente &lt;em&gt;componente&lt;/em&gt; o &lt;em&gt;servizio&lt;/em&gt;. L’errore secondo me sta nell’utilizzare poi indifferentemente &lt;em&gt;servizio&lt;/em&gt; quando questo viene inteso come &lt;em&gt;componente&lt;/em&gt; e quando questo invece viene inteso come &lt;em&gt;servizio&lt;/em&gt; nel senso &lt;em&gt;SOA&lt;/em&gt; del temine, portando alla convinzione che siano concettualmente utilizzabili allo stesso modo.&lt;/p&gt;  &lt;p&gt;Secondo me non c’è nulla di più sbagliato, ho la ferma convinzione che il codice debba esplicitare, e non nascondere, che si sta utilizzando un servizio nel senso SOA del temine perchè l’approccio da utilizzare e le problematiche da gestire e prendere in considerazione sono abissalmente diverse.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;Secondo me è un grave errore pensare che la differenza tra &lt;em&gt;n&lt;/em&gt;-layer e &lt;em&gt;n&lt;/em&gt;-tier stia solo nel fatto che il boundary è diverso. Non è possibile pensare di scrivere uin’applicazione &lt;em&gt;n&lt;/em&gt;-layer e migrarla a &lt;em&gt;n&lt;/em&gt;-tier piazzando un po’ qua e un po’ la Wcf e una facility per Castle.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Pensate a questo scenario:&lt;/p&gt;  &lt;blockquote&gt;   &lt;pre class="code"&gt;&lt;span style="color: blue"&gt;using&lt;/span&gt;( &lt;span style="color: blue"&gt;var &lt;/span&gt;dc = &lt;span style="color: blue"&gt;this&lt;/span&gt;.dataContextFactory.Create() )
{
    &lt;span style="color: blue"&gt;using&lt;/span&gt;( &lt;span style="color: blue"&gt;var &lt;/span&gt;tx = dc.BegingTransaction( IsolationLevel.Serializable ) )
    {
        dc.Insert( entity );
        dc.FlushChanges();

        tx.Commit();
    }
}&lt;/pre&gt;
  &lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&lt;/blockquote&gt;

&lt;p&gt;IDataContextFactory è un &lt;a href="http://blogs.ugidotnet.org/topics/archive/0001/01/01/wrappare-un-ormhellip.aspx"&gt;wrapper&lt;/a&gt; per la session factory di &lt;a href="https://www.hibernate.org/343.html"&gt;NHibernate&lt;/a&gt;, nulla di trascendentale, il codice esplicita molto bene quello che succede. La IDataContextFactory viene iniettata con Castle Windsor. Adesso immaginamo che:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Qualcuno scrive una nuova implementazione di IDataContextFactory e IDataContext che utilizzano Wcf;&lt;/li&gt;

  &lt;li&gt;Qualcuno modifica il file di configurazione di Castle per utilizzare la nuova implementazione e la WcfFacility;&lt;/li&gt;

  &lt;li&gt;Qualcuno configura Wcf per utilizzare Message Queue;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Il codice la sopra scala immediatamente verso una transazione distribuita senza che nessuno abbia chiesto nulla ma peggio del peggio quella transazione distribuita passa da una Message Queue Transazionale…&lt;/p&gt;

&lt;p&gt;Cosa succede se il servizio Wcf è giù?&lt;/p&gt;

&lt;p&gt;.m&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/topics/aggbug/97413.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Mauro Servienti</dc:creator>
            <guid>http://blogs.ugidotnet.org/topics/archive/2009/11/05/componente-servizio.aspx</guid>
            <pubDate>Thu, 05 Nov 2009 10:00:00 GMT</pubDate>
            <wfw:comment>http://blogs.ugidotnet.org/topics/comments/97413.aspx</wfw:comment>
            <comments>http://blogs.ugidotnet.org/topics/archive/2009/11/05/componente-servizio.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/topics/comments/commentRss/97413.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/topics/services/trackbacks/97413.aspx</trackback:ping>
        </item>
        <item>
            <title>Code Snippets</title>
            <category>Visual Studio Addiction</category>
            <category>Software Mason</category>
            <link>http://blogs.ugidotnet.org/topics/archive/2009/11/04/code-snippets.aspx</link>
            <description>&lt;p&gt;Parliamo un po’ di produttività… ma non tanto in termini di linee di codice scritte in una unità di tempo quanto piuttosto di come e quanto cali la nostra, la mia sicuramente, resa a causa della noia che scrivere codice sempre uguale produce…&lt;/p&gt;  &lt;p&gt;Se usate Wpf (o in generale sviluppo di applicazione rich client) questo è un esempio di noia mortale:&lt;/p&gt;  &lt;blockquote&gt;   &lt;pre class="code"&gt;&lt;span style="color: blue"&gt;private &lt;/span&gt;&lt;span style="color: #2b91af"&gt;String &lt;/span&gt;_myValue = &lt;span style="color: blue"&gt;null&lt;/span&gt;;
&lt;span style="color: blue"&gt;public &lt;/span&gt;&lt;span style="color: #2b91af"&gt;String &lt;/span&gt;MyValue
{
    &lt;span style="color: blue"&gt;get &lt;/span&gt;{ &lt;span style="color: blue"&gt;return this&lt;/span&gt;._myValue; }
    &lt;span style="color: blue"&gt;set
    &lt;/span&gt;{
        &lt;span style="color: blue"&gt;if&lt;/span&gt;( &lt;span style="color: blue"&gt;value &lt;/span&gt;!= &lt;span style="color: blue"&gt;this&lt;/span&gt;.MyValue )
        {
            &lt;span style="color: blue"&gt;this&lt;/span&gt;._myValue = &lt;span style="color: blue"&gt;value&lt;/span&gt;;
            &lt;span style="color: blue"&gt;this&lt;/span&gt;.OnPropertyChanged( () =&amp;gt; &lt;span style="color: blue"&gt;this&lt;/span&gt;.MyValue );
        }
    }
}&lt;/pre&gt;
  &lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&lt;/blockquote&gt;

&lt;p&gt;il supporto per INotifyPropertyChanged è veramente tedioso da scrivere e ad esempio in un’applicazione Wpf basata su M-V-VM lo scrivere &lt;em&gt;decinaia e decinaia&lt;/em&gt; di volte :-)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Code Snippets&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Perchè quindi non farsi un Code Snippet? che scritta una cosa del genere:&lt;/p&gt;

&lt;p&gt;&lt;a href="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/topics/WindowsLiveWriter/CodeSnippets_BEDB/image_2.png" rel="lightbox"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/topics/WindowsLiveWriter/CodeSnippets_BEDB/image_thumb.png" width="404" height="54" /&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;esploda in questo?:&lt;/p&gt;

&lt;p&gt;&lt;a href="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/topics/WindowsLiveWriter/CodeSnippets_BEDB/image_4.png" rel="lightbox"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/topics/WindowsLiveWriter/CodeSnippets_BEDB/image_thumb_1.png" width="244" height="110" /&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;permettendoci di ridurre all’osso quello che dobbiamo scrivere.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How to…&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Un Code Snippet è semplicemente un file xml con estensione “.snippet” che opportunamente piazzato viene egregiamente digerito da Visual Studio e dall’intellisense:&lt;/p&gt;

&lt;p&gt;&lt;a href="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/topics/WindowsLiveWriter/CodeSnippets_BEDB/image_6.png" rel="lightbox"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/topics/WindowsLiveWriter/CodeSnippets_BEDB/image_thumb_2.png" width="244" height="203" /&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;Il Code Snippet che produce quella proprietà è questo:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;pre class="code"&gt;&lt;span style="color: blue"&gt;&amp;lt;?&lt;/span&gt;&lt;span style="color: #a31515"&gt;xml &lt;/span&gt;&lt;span style="color: red"&gt;version&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;1.0&lt;/span&gt;" &lt;span style="color: red"&gt;encoding&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;UTF-8&lt;/span&gt;"&lt;span style="color: blue"&gt;?&amp;gt;
&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;CodeSnippets &lt;/span&gt;&lt;span style="color: red"&gt;xmlns&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet&lt;/span&gt;"&lt;span style="color: blue"&gt;&amp;gt;
  &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;CodeSnippet &lt;/span&gt;&lt;span style="color: red"&gt;Format&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;1.0.0&lt;/span&gt;"&lt;span style="color: blue"&gt;&amp;gt;
    &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;Header&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;
      &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;Title&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;Creates a Property with PropertyChanged Support using lambda expressions.&lt;span style="color: blue"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;Title&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;
      &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;Author&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;topics.it&lt;span style="color: blue"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;Author&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;
      &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;Description&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;Description&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;
      &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;Shortcut&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;ppcl&lt;span style="color: blue"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;Shortcut&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;
      &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;SnippetTypes&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;
        &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;SnippetType&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;Expansion&lt;span style="color: blue"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;SnippetType&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;
      &amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;SnippetTypes&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;
    &amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;Header&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;
    &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;Snippet&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;
      &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;Declarations&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;
        &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;Literal &lt;/span&gt;&lt;span style="color: red"&gt;Editable&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;true&lt;/span&gt;"&lt;span style="color: blue"&gt;&amp;gt;
          &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;ID&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;PropertyName&lt;span style="color: blue"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;ID&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;
          &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;Default&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;PropertyName&lt;span style="color: blue"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;Default&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;
        &amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;Literal&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;
        &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;Literal &lt;/span&gt;&lt;span style="color: red"&gt;Editable&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;true&lt;/span&gt;"&lt;span style="color: blue"&gt;&amp;gt;
          &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;ID&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;PropertyField&lt;span style="color: blue"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;ID&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;
          &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;Default&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;propertyField&lt;span style="color: blue"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;Default&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;
        &amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;Literal&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;
        &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;Literal &lt;/span&gt;&lt;span style="color: red"&gt;Editable&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;true&lt;/span&gt;"&lt;span style="color: blue"&gt;&amp;gt;
          &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;ID&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;PropertySystemType&lt;span style="color: blue"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;ID&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;
          &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;Default&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;System.Object&lt;span style="color: blue"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;Default&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;
        &amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;Literal&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;
        &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;Literal &lt;/span&gt;&lt;span style="color: red"&gt;Editable&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;true&lt;/span&gt;"&lt;span style="color: blue"&gt;&amp;gt;
          &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;ID&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;PropertyDefaultValue&lt;span style="color: blue"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;ID&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;
          &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;Default&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;null&lt;span style="color: blue"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;Default&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;
        &amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;Literal&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;
      &amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;Declarations&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;
      &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;Code &lt;/span&gt;&lt;span style="color: red"&gt;Language&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;csharp&lt;/span&gt;"&lt;span style="color: blue"&gt;&amp;gt;
        &amp;lt;![CDATA[&lt;/span&gt;&lt;span style="color: gray"&gt;private $PropertySystemType$ _$PropertyField$ = $PropertyDefaultValue$;
public $PropertySystemType$ $PropertyName$
{
    get { return this._$PropertyField$; }
    set 
    {
        if( value != this.$PropertyName$ )
        {
            this._$PropertyField$ = value;
            this.OnPropertyChanged( () =&amp;gt; this.$PropertyName$ );
        }
    }
}$end$&lt;/span&gt;&lt;span style="color: blue"&gt;]]&amp;gt;
      &amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;Code&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;
    &amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;Snippet&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;
  &amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;CodeSnippet&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;
&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;CodeSnippets&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;
&lt;/span&gt;&lt;/pre&gt;
  &lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&lt;/blockquote&gt;

&lt;p&gt;Le 2 cose degne di nota sono la sezione “Declarations”:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;pre class="code"&gt;&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;Declarations&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;
  &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;Literal &lt;/span&gt;&lt;span style="color: red"&gt;Editable&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;true&lt;/span&gt;"&lt;span style="color: blue"&gt;&amp;gt;
    &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;ID&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;PropertyName&lt;span style="color: blue"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;ID&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;
    &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;Default&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;PropertyName&lt;span style="color: blue"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;Default&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;
  &amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;Literal&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;
&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;Declarations&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;
&lt;/span&gt;&lt;/pre&gt;
  &lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&lt;/blockquote&gt;

&lt;p&gt;che serve per aggiungere elementi editabili durante la fase di editing, appunto :-), dello snippet, usando il tabulatore sarà possibile “navigare” tra i vari elementi all’interno dell’editor, e la sezione “Code”:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;pre class="code"&gt;&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;Code &lt;/span&gt;&lt;span style="color: red"&gt;Language&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;"&lt;span style="color: blue"&gt;csharp&lt;/span&gt;"&lt;span style="color: blue"&gt;&amp;gt;
  &amp;lt;![CDATA[&lt;/span&gt;&lt;span style="color: gray"&gt;private $PropertySystemType$ _$PropertyField$ = $PropertyDefaultValue$;
public $PropertySystemType$ $PropertyName$
{
    get { return this._$PropertyField$; }
    set 
    {
        if( value != this.$PropertyName$ )
        {
            this._$PropertyField$ = value;
            this.OnPropertyChanged( () =&amp;gt; this.$PropertyName$ );
        }
    }
}$end$&lt;/span&gt;&lt;span style="color: blue"&gt;]]&amp;gt;
&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;Code&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;
&lt;/span&gt;&lt;/pre&gt;
  &lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&lt;/blockquote&gt;

&lt;p&gt;In cui inserire il blocco di codice che vogliamo snippettare :-)&lt;/p&gt;

&lt;p&gt;Ci sono svariati tool per la gestione degli snippet ma secondo me l’unico che merita, oltre naturalmente ad un decente editor per file xml (ad esempio Visual Studio :-) ) è &lt;a href="http://exportascodesnippet.codeplex.com/"&gt;questo add-in&lt;/a&gt; del “compare” &lt;a href="http://community.visual-basic.it/Alessandro"&gt;Alessandro&lt;/a&gt;… che è un bravo ragazzo nonstante il set di che ha sul blog sembri dire tutto il contrario :-P&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Happy snippetting…&lt;/em&gt; ok, ok, scusate :-)&lt;/p&gt;

&lt;p&gt;.m&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/topics/aggbug/97411.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Mauro Servienti</dc:creator>
            <guid>http://blogs.ugidotnet.org/topics/archive/2009/11/04/code-snippets.aspx</guid>
            <pubDate>Wed, 04 Nov 2009 08:30:00 GMT</pubDate>
            <wfw:comment>http://blogs.ugidotnet.org/topics/comments/97411.aspx</wfw:comment>
            <comments>http://blogs.ugidotnet.org/topics/archive/2009/11/04/code-snippets.aspx#feedback</comments>
            <slash:comments>4</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/topics/comments/commentRss/97411.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/topics/services/trackbacks/97411.aspx</trackback:ping>
        </item>
        <item>
            <title>Lo sapevo io&amp;hellip;</title>
            <category>tales of an outlier</category>
            <link>http://blogs.ugidotnet.org/topics/archive/2009/11/03/lo-sapevo-iohellip.aspx</link>
            <description>&lt;p&gt;&lt;a href="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/topics/WindowsLiveWriter/Losapevoio_11AB8/IMAGE_031_2.jpg" rel="lightbox"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="IMAGE_031" border="0" alt="IMAGE_031" src="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/topics/WindowsLiveWriter/Losapevoio_11AB8/IMAGE_031_thumb.jpg" width="244" height="216" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;…che se stamattina la stazione di Treviglio era crashata e continuava a fare boot a nastro la giornata ferroviaria sarebbe stata un delirio…&lt;/p&gt;  &lt;p&gt;Esco dal cliente e punto a prendere il Milano-Brescia delle 18.00… magari… il mondo si è fermato ed entro in casa adesso… ben più di 2h per fare 31km.&lt;/p&gt;  &lt;p&gt;.m&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/topics/aggbug/97426.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Mauro Servienti</dc:creator>
            <guid>http://blogs.ugidotnet.org/topics/archive/2009/11/03/lo-sapevo-iohellip.aspx</guid>
            <pubDate>Tue, 03 Nov 2009 19:06:12 GMT</pubDate>
            <wfw:comment>http://blogs.ugidotnet.org/topics/comments/97426.aspx</wfw:comment>
            <comments>http://blogs.ugidotnet.org/topics/archive/2009/11/03/lo-sapevo-iohellip.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/topics/comments/commentRss/97426.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/topics/services/trackbacks/97426.aspx</trackback:ping>
        </item>
        <item>
            <title>Visual Studio Template</title>
            <category>Visual Studio Addiction</category>
            <category>Software Mason</category>
            <link>http://blogs.ugidotnet.org/topics/archive/2009/11/03/visual-studio-template.aspx</link>
            <description>&lt;p&gt;Nell’ottica di addomesticare lo strumento e non di piegare noi stessi ai limiti, o presunti tali, dello strumento stesso, ci sono una quantità notevole di piccole cose che possiamo fare per semplificarci la vita.&lt;/p&gt;  &lt;p&gt;Faccio Unit Test e TDD, credo nella giusta misura, e uso con soddisfazione MSTest per tutta una serie di buone ragioni, ma se c’è una cosa che mi da veramente fastidio è questa:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/topics/WindowsLiveWriter/VisualStudioTemplate_9E1F/image_2.png" rel="lightbox"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/topics/WindowsLiveWriter/VisualStudioTemplate_9E1F/image_thumb.png" width="244" height="163" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Che cosa notate? mi sono limitato ad aggiungere ad un progetto di test un nuovo test, nulla di più, eppure:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Il codice del template è commentato… non serve, e per molti, me compreso, è pessima pratica commentare i test; &lt;/li&gt;    &lt;li&gt;la scroll bar è lunga come la fame…; &lt;/li&gt;    &lt;li&gt;C’è già scritto un sacco di codice; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Insomma non ho ancora fatto nulla e c’è un sacco di rumore di fondo, non va bene; questo è quello che vorrei:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/topics/WindowsLiveWriter/VisualStudioTemplate_9E1F/image_4.png" rel="lightbox"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/topics/WindowsLiveWriter/VisualStudioTemplate_9E1F/image_thumb_1.png" width="244" height="126" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;sintetico ed essenziale, senza fronzoli e rumore di fondo.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Facciamolo!!&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Credo non ci sia nulla di più facile, basta provare… con un progetto aperto provate a fare: File =&amp;gt; Export Template e seguite il semplice wizard :-) poi andate a dare una sbirciatina nella cartella dei settings di Visual Studio, tipicamente: “&lt;em&gt;User Profilo&lt;/em&gt;\Documents\Visual Studio 2008\My Exported Templates”… it’s a kind of magic, magic &amp;lt;cit.&amp;gt;&lt;/p&gt;  &lt;p&gt;.m&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/topics/aggbug/97402.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Mauro Servienti</dc:creator>
            <guid>http://blogs.ugidotnet.org/topics/archive/2009/11/03/visual-studio-template.aspx</guid>
            <pubDate>Tue, 03 Nov 2009 10:30:00 GMT</pubDate>
            <wfw:comment>http://blogs.ugidotnet.org/topics/comments/97402.aspx</wfw:comment>
            <comments>http://blogs.ugidotnet.org/topics/archive/2009/11/03/visual-studio-template.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/topics/comments/commentRss/97402.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/topics/services/trackbacks/97402.aspx</trackback:ping>
        </item>
        <item>
            <title>Un paio di settimane di &amp;ldquo;pomodori&amp;rdquo;</title>
            <category>whynot</category>
            <category>Software Mason</category>
            <link>http://blogs.ugidotnet.org/topics/archive/2009/11/02/un-paio-di-settimane-di-ldquopomodorirdquo.aspx</link>
            <description>&lt;p&gt;Sono un paio di settimane che sto seguendo la “&lt;a href="http://www.pomodorotechnique.com/"&gt;ricetta&lt;/a&gt;” e ho notato che il fatto di averne parlato ha &lt;a href="http://blog.dottor.net/post/2009/10/29/La-Tecnica-del-Pomodoro.aspx"&gt;stuzzicato&lt;/a&gt; l’interesse.&lt;/p&gt;  &lt;p&gt;Quoto &lt;a href="http://blog.dottor.net/"&gt;Andrea Dottor&lt;/a&gt;:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;…&lt;strong&gt;Per quanto mi riguarda&lt;/strong&gt;, non la conoscevo e ne sono rimasto da un lato affascinato, nel senso che, porsi degli obiettivi da 25 minuti non è affatto complesso, e rimanere concentrati per 25 minuti è una cosa fattibile…&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;L’esperienza di queste 2 settimane mi fa dire che:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;25 minuti sono lunghissimi :-)&lt;/li&gt;    &lt;li&gt;Stare concentrati per 25 minuti su un obiettivo è impegnativo, devi imparare a gestirti: è fondamentale che l’ecosistema in cui sei calato ti sia amico:&lt;/li&gt;    &lt;ol&gt;     &lt;li&gt;&lt;a href="http://blogs.ugidotnet.org/topics/archive/2009/10/27/la-preparazionehellip.aspx"&gt;Sistema i tuoi strumenti&lt;/a&gt; in quell’ottica;&lt;/li&gt;      &lt;li&gt;Rendi partecipe chi ti circonda del &lt;em&gt;perchè&lt;/em&gt; e del &lt;em&gt;percome&lt;/em&gt;;&lt;/li&gt;      &lt;li&gt;Fatti rispettare da chi ti circonda;&lt;/li&gt;   &lt;/ol&gt; &lt;/ol&gt;  &lt;p&gt;&lt;em&gt;Punto 2.1&lt;/em&gt;: ho fatto un’altro piccolo esperimento, riuscito alla perfezione, modificando nuovamente il comportamento del mio fido Outlook, da così:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/topics/WindowsLiveWriter/Unpaiodisettimanedipomodori_77BC/image_2.png" rel="lightbox"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/topics/WindowsLiveWriter/Unpaiodisettimanedipomodori_77BC/image_thumb.png" width="244" height="201" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;a così:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/topics/WindowsLiveWriter/Unpaiodisettimanedipomodori_77BC/image_4.png" rel="lightbox"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/topics/WindowsLiveWriter/Unpaiodisettimanedipomodori_77BC/image_thumb_1.png" width="244" height="163" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Ho &lt;em&gt;semplicemente&lt;/em&gt; tolto dai “Favorites” la Search Folder dei messagi marcati con un “Follow Up”, tendo ad essere un &lt;em&gt;filino&lt;/em&gt; maniacale nell’organizzazione delle mie cose e sapere che ho &lt;em&gt;qualcosa da fare che non ho ancora fatto&lt;/em&gt; mi infastidisce abbastanza.&lt;/p&gt;  &lt;p&gt;Giusto per capirci, per me sarebbe impossibile avere una &lt;em&gt;Inbox&lt;/em&gt; con dei messaggi non letti, quindi nella &lt;u&gt;pause&lt;/u&gt; una rapida occhiata ed eventuale marcatura con “Follow Up”, e pianificazione se necessaria (Get Things Done), su quelli che mi interessano. Vi garantisco che con circa 300/350 messaggi/giorno è un lavoraccio :-)&lt;/p&gt;  &lt;p&gt;In quest’ottica &lt;u&gt;vedere&lt;/u&gt; i “Follow Up” che crescono non mi aiuta a rispettare il ritmo del pomodoro.&lt;/p&gt;  &lt;p /&gt;  &lt;p&gt;.m&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/topics/aggbug/97409.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Mauro Servienti</dc:creator>
            <guid>http://blogs.ugidotnet.org/topics/archive/2009/11/02/un-paio-di-settimane-di-ldquopomodorirdquo.aspx</guid>
            <pubDate>Mon, 02 Nov 2009 15:00:00 GMT</pubDate>
            <wfw:comment>http://blogs.ugidotnet.org/topics/comments/97409.aspx</wfw:comment>
            <comments>http://blogs.ugidotnet.org/topics/archive/2009/11/02/un-paio-di-settimane-di-ldquopomodorirdquo.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/topics/comments/commentRss/97409.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/topics/services/trackbacks/97409.aspx</trackback:ping>
        </item>
        <item>
            <title>I file, le cartelle e&amp;hellip; questi sconosciuti</title>
            <category>Visual Studio Addiction</category>
            <category>Software Mason</category>
            <link>http://blogs.ugidotnet.org/topics/archive/2009/11/02/i-file-le-cartelle-ehellip-questi-sconosciuti.aspx</link>
            <description>&lt;p&gt;Iniziamo con una piccola nota polemica, concedetemelo :-)&lt;a rel="lightbox" href="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/topics/WindowsLiveWriter/Ifilelecartellequestisconosciuti_6FE8/image_2.png"&gt;&lt;img style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; MARGIN: 0px 5px 0px 20px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title="image" border="0" alt="image" align="right" width="204" height="209" src="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/topics/WindowsLiveWriter/Ifilelecartellequestisconosciuti_6FE8/image_thumb.png" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;un dev è un professionista come tanti altri, medici o idraulici ad esempio, e quello che mi aspetto da un medico o da un idraulico è che abbia una buona conoscenza, ma soprattutto confidenza, dei suoi strumenti… quindi come è normale che un idraulico sappia cosa è un sifone mi aspetto che un dev sappia cosa è &lt;em&gt;metticiunpoquellochevuoi&lt;/em&gt; di Visual Studio; non mi aspetto che lo sappia usare ma mi aspetto che la curiosità l’abbia spinto almeno a dargli un’occhiata.&lt;/p&gt;
&lt;p&gt;Purtroppo sempre più spesso consto che questo è molto lontano dalla realtà di tutti i giorni. Che opinione si farebbe un paziente di un dentista che &lt;em&gt;litiga&lt;/em&gt; con uno specillo?… e non ditemi che non sapete cosa sia uno specillo… no non è uno specchietto :-)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Detto questo vediamo di affrontare un altro nodo molto importante nell’organizzazione di un qualsiasi progetto software. Nel mio piccolo tendo ad essere un po’ allergico al &lt;em&gt;Class View&lt;/em&gt;, non chiedetemi perchè semplicemente faccio fatica ad usarlo e preferisco di gran lunga interfacciarmi con il &lt;em&gt;Solution Explorer&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a rel="lightbox" href="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/topics/WindowsLiveWriter/Ifilelecartellequestisconosciuti_6FE8/image_4.png"&gt;&lt;img style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; MARGIN: 0px 20px 0px 5px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title="image" border="0" alt="image" align="left" width="190" height="244" src="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/topics/WindowsLiveWriter/Ifilelecartellequestisconosciuti_6FE8/image_thumb_1.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Se confrontate le due immagini non è che ci sia molta differenza quindi direi che la scelta è puramente soggettiva, ma tutto d&lt;em&gt;e&lt;/em&gt;pende… &lt;em&gt;da che depende&lt;/em&gt;…&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Si ma il Class View cerca…&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;vero, questo è interessante, dal Class View è possibile cercare un membro per nome ma la domanda a questo punto è: se un progetto è ben organizzato a cosa mi serve cercare?&lt;/p&gt;
&lt;p&gt;Notate il solution explorer qui a sinistra? che differenze ha con il class view sopra? pressochè nessuna… perchè l’orgnizzazione dei progetti è parallela e sincrona, ad esempio, all’organizzazione dei namespace.&lt;/p&gt;
&lt;p&gt;Che senso ha in un’organizzazione di questo tipo cercare? potrebbe avere senso pensare che un qualcosa del tipo: &lt;em&gt;Topics.Radical.Model.NHibernate.NHibernateDataContext&lt;/em&gt; stia in un posto diverso dal progetto &lt;em&gt;Radical.Model.NHibernate&lt;/em&gt;?&lt;/p&gt;
&lt;p&gt;Espandendo uno dei progetti ci rendiamo immediatamente conto della cosa:&lt;/p&gt;
&lt;table border="0" cellspacing="0" cellpadding="2" align="center"&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td valign="top"&gt;&lt;a rel="lightbox" href="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/topics/WindowsLiveWriter/Ifilelecartellequestisconosciuti_6FE8/image_6.png"&gt;&lt;img style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title="image" border="0" alt="image" width="244" height="158" src="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/topics/WindowsLiveWriter/Ifilelecartellequestisconosciuti_6FE8/image_thumb_2.png" /&gt;&lt;/a&gt; &lt;/td&gt;
            &lt;td&gt;&lt;a rel="lightbox" href="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/topics/WindowsLiveWriter/Ifilelecartellequestisconosciuti_6FE8/image_8.png"&gt;&lt;img style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title="image" border="0" alt="image" width="244" height="158" src="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/topics/WindowsLiveWriter/Ifilelecartellequestisconosciuti_6FE8/image_thumb_3.png" /&gt;&lt;/a&gt; &lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;Ad ognuno il suo spazio&lt;/strong&gt; &lt;/p&gt;
&lt;p&gt;Supponiamo adesso di dover distribuire nella solution i seguenti elementi:&lt;/p&gt;
&lt;blockquote&gt;
&lt;pre class="code"&gt;&lt;span style="COLOR: blue"&gt;interface &lt;/span&gt;&lt;span style="COLOR: #2b91af"&gt;IEngine
&lt;/span&gt;{
    &lt;span style="COLOR: #2b91af"&gt;Boolean &lt;/span&gt;IsActive { &lt;span style="COLOR: blue"&gt;get&lt;/span&gt;; }
}

&lt;span style="COLOR: blue"&gt;interface &lt;/span&gt;&lt;span style="COLOR: #2b91af"&gt;IEngine&lt;/span&gt;&amp;lt;T&amp;gt; : &lt;span style="COLOR: #2b91af"&gt;IEngine
&lt;/span&gt;{
    &lt;span style="COLOR: #2b91af"&gt;EngineOperationResult &lt;/span&gt;OperateOn( T data );
}

&lt;span style="COLOR: blue"&gt;enum &lt;/span&gt;&lt;span style="COLOR: #2b91af"&gt;EngineOperationResult
&lt;/span&gt;{
    Success,
    Aborted,
    Denied
}&lt;/pre&gt;
&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;&lt;/blockquote&gt;
&lt;p&gt;tralasciate il design che è tutto tranne che importante adesso e nello specifico probabilmente è pure errato ;-) ma non ci interessa quello… come distribuireste gli elementi di cui sopra nella solution? così:&lt;/p&gt;
&lt;p&gt;&lt;a rel="lightbox" href="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/topics/WindowsLiveWriter/Ifilelecartellequestisconosciuti_6FE8/image_10.png"&gt;&lt;img style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title="image" border="0" alt="image" width="207" height="107" src="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/topics/WindowsLiveWriter/Ifilelecartellequestisconosciuti_6FE8/image_thumb_4.png" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;Con dentro il file Engine.cs tutto il necessario? o così:&lt;/p&gt;
&lt;p&gt;&lt;a rel="lightbox" href="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/topics/WindowsLiveWriter/Ifilelecartellequestisconosciuti_6FE8/image_12.png"&gt;&lt;img style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title="image" border="0" alt="image" width="207" height="122" src="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/topics/WindowsLiveWriter/Ifilelecartellequestisconosciuti_6FE8/image_thumb_5.png" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;lascio a voi la scelta, ma io preferisco la seconda soluzione, ci metto 12 secondi, netti, in più ma ho un colpo d’occhio molto più efficace, molto, ma molto :-)&lt;/p&gt;
&lt;p&gt;Il vostro obiettivo è la produttività e la produttività non si misura di certo con il tempo che il compilatore impiega ad analizzare 100.000 files piuttosto che 1 con 10.000.000 di righe, chi se ne frega, intanto che lui compila io bevo il caffè :-)&lt;/p&gt;
&lt;p&gt;La produttività secondo me si misura in dimistichezza, facilità di manutenzione, facilità di passaggio di consegne e condivisione del lavoro, facilità di capire al volo dove devo mettere mano per fare una certa cosa, nel primo esempio (Engine.cs) se devo mettere mano all’enumerazione devo per forza usare il Class View, nel secondo no… e se poriettate questo su una solution media:&lt;/p&gt;
&lt;p&gt;&lt;a rel="lightbox" href="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/topics/WindowsLiveWriter/Ifilelecartellequestisconosciuti_6FE8/image_14.png"&gt;&lt;img style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title="image" border="0" alt="image" width="244" height="56" src="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/topics/WindowsLiveWriter/Ifilelecartellequestisconosciuti_6FE8/image_thumb_6.png" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;con qualcosa come 5000 file, di soli sorgenti, è evidente che se le cose non sono &lt;u&gt;maniacalmente&lt;/u&gt; organizzate come si deve è più il tempo che passate a cercare che quello che passate a lavorare :-) non parliamo poi del fatto che magari dovete riprendere in mano lavori di qualche mese fa… se l’organizzazione è fallace: panico.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;ma… le Partial Class?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Diciamocelo subito, secondo me puzzano :-)&lt;/p&gt;
&lt;p&gt;Se non ricordo male le partial class sono state introdotte per poter tenere separato il codice generato dal designer di Windows Forms dal nostro codice, da li le possibilità sono cresciute e lo stesso meccanismo viene sfruttato da Wpf per la separazione tra il codebehind e lo xaml:&lt;/p&gt;
&lt;p&gt;&lt;a rel="lightbox" href="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/topics/WindowsLiveWriter/Ifilelecartellequestisconosciuti_6FE8/image_16.png"&gt;&lt;img style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title="image" border="0" alt="image" width="304" height="49" src="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/topics/WindowsLiveWriter/Ifilelecartellequestisconosciuti_6FE8/image_thumb_7.png" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;Le possiamo usare per organizzare meglio le nostre classi? certo che si, secondo me però prima di farlo val la pena di fare qualche considerazione: &lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;non è che stiamo utilizzando le Partial Class come utilizzeremmo le #region? &lt;/li&gt;
    &lt;li&gt;non è che le stiamo facendo diventare il tappeto sotto cui nascondere la fuffa?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Secondo me il rischio c’è e io tendo a sfruttare queste sensazioni per far emergere potenziali problemi di design: ho una semplice regola se il codice della &lt;em&gt;roba&lt;/em&gt; che sto scrivendo non ci sta tutto sullo schermo, e la scroll bar te lo fa capire molto bene, allora forse è il caso di fare un po’ di refactoring e non di fuffizzare il tutto in una Partial Class.&lt;/p&gt;
&lt;p&gt;Ovviamente, come per tutte le regole, non è un dogma e va valutato di caso in caso: ad esempio i controller di MVC e i ViewModel di M-V-VM tipicamente, in quanto accentratori, sono anche un collo di bottiglia per l’organizzazione del codice perchè da li ci passa un intero UseCase, o addirittura più di uno…&lt;/p&gt;
&lt;p&gt;.m&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/topics/aggbug/97388.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Mauro Servienti</dc:creator>
            <guid>http://blogs.ugidotnet.org/topics/archive/2009/11/02/i-file-le-cartelle-ehellip-questi-sconosciuti.aspx</guid>
            <pubDate>Mon, 02 Nov 2009 12:30:00 GMT</pubDate>
            <wfw:comment>http://blogs.ugidotnet.org/topics/comments/97388.aspx</wfw:comment>
            <comments>http://blogs.ugidotnet.org/topics/archive/2009/11/02/i-file-le-cartelle-ehellip-questi-sconosciuti.aspx#feedback</comments>
            <slash:comments>5</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/topics/comments/commentRss/97388.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/topics/services/trackbacks/97388.aspx</trackback:ping>
        </item>
        <item>
            <title>Sviluppo Web e qualit&amp;agrave;, ma in generare sviluppo e qualit&amp;agrave;</title>
            <category>Software Mason</category>
            <link>http://blogs.ugidotnet.org/topics/archive/2009/10/31/sviluppo-web-e-qualitagrave-ma-in-generare-sviluppo-e-qualitagrave.aspx</link>
            <description>&lt;p&gt;Avete mai provato a tenere abilitato lo script debugger di Internet Explorer?&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/topics/WindowsLiveWriter/SviluppoWebequalitmaingeneraresviluppoeq_697B/image_2.png" rel="lightbox"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/topics/WindowsLiveWriter/SviluppoWebequalitmaingeneraresviluppoeq_697B/image_thumb.png" width="244" height="91" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;e poi a navigare un po’ e un po’ la…? che esperienza &lt;em&gt;teribbile&lt;/em&gt; :-), tre quarti delle pagine contengone quintalate di errori JavaScript:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/topics/WindowsLiveWriter/SviluppoWebequalitmaingeneraresviluppoeq_697B/image_4.png" rel="lightbox"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/topics/WindowsLiveWriter/SviluppoWebequalitmaingeneraresviluppoeq_697B/image_thumb_1.png" width="224" height="244" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;producendo una experience che definire pessima è un complimento :-)&lt;/p&gt;  &lt;p&gt;L’unica fortuna, per chi produce ste cose, è che quelle opzioni devono essere esplicitamente configurate e quindi in pressochè tutti i browser le cose vanno bene, ma la domanda a questo punto è:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;ma il dev che ha scritto quello roba l’ha provata? &lt;/li&gt;    &lt;li&gt;ma il tester, di UAT, che l’ha testata ha il debug degli script abilitato? &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;.m&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/topics/aggbug/97408.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Mauro Servienti</dc:creator>
            <guid>http://blogs.ugidotnet.org/topics/archive/2009/10/31/sviluppo-web-e-qualitagrave-ma-in-generare-sviluppo-e-qualitagrave.aspx</guid>
            <pubDate>Sat, 31 Oct 2009 06:29:59 GMT</pubDate>
            <wfw:comment>http://blogs.ugidotnet.org/topics/comments/97408.aspx</wfw:comment>
            <comments>http://blogs.ugidotnet.org/topics/archive/2009/10/31/sviluppo-web-e-qualitagrave-ma-in-generare-sviluppo-e-qualitagrave.aspx#feedback</comments>
            <slash:comments>4</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/topics/comments/commentRss/97408.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/topics/services/trackbacks/97408.aspx</trackback:ping>
        </item>
        <item>
            <title>[OT] Certe cose mi fanno pensare&amp;hellip; molto&amp;hellip;</title>
            <category>whynot</category>
            <link>http://blogs.ugidotnet.org/topics/archive/2009/10/31/ot-certe-cose-mi-fanno-pensarehellip-moltohellip.aspx</link>
            <description>&lt;p&gt;Quoto (e condivido):&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;…snobbata dai più: ma spuntano le foto ed ecco che i grandi quotidiani si avventano allarmati su una notizia che già c’era: «Morto dopo l’arresto, diffuse le foto shock» ha titolato il Corriere, purché sia chiaro che la notizia ritenuta più interessante non era «Morto dopo l’arresto», ma «diffuse le foto shock», dunque le foto.&lt;/p&gt;    &lt;p&gt;E il video napoletano stile Gomorra? Avete notato che qualcuno aveva le maniche corte? L’esecuzione, già nota, è dell’11 maggio scorso, e tuttavia Repubblica: «Adesso la città ci aiuti». E perché solo «adesso»? Ah già, perché c’è il video, già, che stupidi.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Fonte: &lt;a href="http://www.macchianera.net/2009/10/31/la-notizia-nellera-della-sua-riproducibilita-tecnica/"&gt;Macchianera&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;.m&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/topics/aggbug/97407.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Mauro Servienti</dc:creator>
            <guid>http://blogs.ugidotnet.org/topics/archive/2009/10/31/ot-certe-cose-mi-fanno-pensarehellip-moltohellip.aspx</guid>
            <pubDate>Sat, 31 Oct 2009 06:18:43 GMT</pubDate>
            <wfw:comment>http://blogs.ugidotnet.org/topics/comments/97407.aspx</wfw:comment>
            <comments>http://blogs.ugidotnet.org/topics/archive/2009/10/31/ot-certe-cose-mi-fanno-pensarehellip-moltohellip.aspx#feedback</comments>
            <slash:comments>3</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/topics/comments/commentRss/97407.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/topics/services/trackbacks/97407.aspx</trackback:ping>
        </item>
    </channel>
</rss>
