<?xml version="1.0" encoding="utf-16"?>
<rss xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <channel>
    <description>From our blogs</description>
    <item>
      <comments>http://blogs.ugidotnet.org/BlogEma/archive/2010/01/28/corso-tdd-a-bologna-again.aspx#feedback</comments>
      <description>&lt;p&gt;Segnalo agli interessati che il 25 e 26 Febbraio terrò a Bologna un’altra edizione del corso sul Test Driven Development. Il corso avrà un taglio molto pratico cosi da permettere ai partecipanti di sporcarsi le mani con i test e con i mock objects.&lt;/p&gt;  &lt;p&gt;Maggiori informazioni qui: &lt;a href="http://www.overneteducation.it/F_Corsi_detail.aspx?Cod_Corso=SQM006"&gt;http://www.overneteducation.it/F_Corsi_detail.aspx?Cod_Corso=SQM006&lt;/a&gt; Oppure contattatemi direttamente per saperne di più.&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/BlogEma/aggbug/97912.aspx" width="1" height="1" /&gt;</description>
      <guid>http://blogs.ugidotnet.org/BlogEma/archive/2010/01/28/corso-tdd-a-bologna-again.aspx</guid>
      <link>http://blogs.ugidotnet.org/BlogEma/archive/2010/01/28/corso-tdd-a-bologna-again.aspx</link>
      <pubDate>Thu, 28 Jan 2010 11:12:49 GMT</pubDate>
      <pubDateParsed>2010-01-28T11:12:49</pubDateParsed>
      <title>Corso TDD a Bologna</title>
    </item>
    <item>
      <comments>http://blogs.ugidotnet.org/BlogEma/archive/2010/01/14/wpf-ed-ereditarietagrave-visuale.aspx#feedback</comments>
      <description>&lt;p&gt;Una delle “mancanze” che alcuni lamentano in WPF è l’assenza dell’ereditarietà visuale delle Window e dei UserControl.&lt;/p&gt;  &lt;p&gt;In realtà (come per le griglie :-)) non è un problema, esistono semplici meccanismi che permettono di ottenere lo stesso risultato.&lt;/p&gt;  &lt;p&gt;Una delle tecniche è quella di utilizzare un template per stilare una BaseWindow o un BaseControl:&lt;/p&gt;  &lt;p&gt;Supponiamo di avere una BaseView (Window) base dalla quale facciamo derivare tutte le finestre della nostra applicazione:&lt;/p&gt;  &lt;p&gt;Definiremo una classe BaseView che eredita da Window e avrà tutti i metodi/propriertà necessarie:&lt;/p&gt;  &lt;div class="csharpcode"&gt;   &lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;class&lt;/span&gt; BaseView : Window&lt;/pre&gt;

  &lt;pre&gt;{&lt;/pre&gt;

  &lt;pre class="alt"&gt;  &lt;span class="rem"&gt;// ...&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;}&lt;/pre&gt;

  &lt;pre&gt; &lt;/pre&gt;

  &lt;p&gt;Questa è solo una classe e non ha parte visuale. &lt;/p&gt;

  &lt;p&gt;La parte “visuale” la disegno con Expression Blend come stile della BaseView e vado a ridefinire il ControlTemplate mettendo al suo interno tutti i controlli che voglio vedere in tutte le finestre che ereditano:&lt;/p&gt;

  &lt;div class="csharpcode"&gt;
    &lt;div class="csharpcode"&gt;
      &lt;pre class="alt"&gt;    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Style&lt;/span&gt; &lt;span class="attr"&gt;TargetType&lt;/span&gt;&lt;span class="kwrd"&gt;="{x:Type Common:BaseView}"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

      &lt;pre&gt;        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Setter&lt;/span&gt; &lt;span class="attr"&gt;Property&lt;/span&gt;&lt;span class="kwrd"&gt;="Template"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

      &lt;pre class="alt"&gt;            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Setter.Value&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

      &lt;pre&gt;                &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ControlTemplate&lt;/span&gt; &lt;span class="attr"&gt;TargetType&lt;/span&gt;&lt;span class="kwrd"&gt;="{x:Type Common:BaseView}"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

      &lt;pre class="alt"&gt;                    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;StacckPanel&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

      &lt;pre&gt;                            &lt;span class="rem"&gt;&amp;lt;!-- Altri controlli: toolbar? --&amp;gt;&lt;/span&gt;&lt;/pre&gt;

      &lt;pre class="alt"&gt;                            &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ContentPresenter&lt;/span&gt;&lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;

      &lt;pre&gt;                            &lt;span class="rem"&gt;&amp;lt;!-- Altri controlli: footer? --&amp;gt;&lt;/span&gt;&lt;/pre&gt;

      &lt;pre class="alt"&gt;                      &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;StackPanel&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

      &lt;pre&gt;                &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;ControlTemplate&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

      &lt;pre class="alt"&gt;            &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Setter.Value&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

      &lt;pre&gt;        &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Setter&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

      &lt;pre class="alt"&gt;    &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Style&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
    &lt;/div&gt;
    &lt;style type="text/css"&gt;&lt;![CDATA[


&lt;![cdata[csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
]&gt;]]&gt;&lt;/style&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Questo stile viene poi applicato a tutte i controlli di tipo BaseView che avranno quindi tutti un aspetto comune.&lt;/p&gt;

&lt;p&gt;Quindi per sfruttare il template è sufficiente che le finestre dell'applicazione ereditino da BaseView:&lt;/p&gt;

&lt;div class="csharpcode"&gt;
  &lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;MyApplication:BaseView&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

  &lt;pre&gt;....&lt;/pre&gt;

  &lt;pre class="alt"&gt;&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;MyApplication:BaseView&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;div class="csharpcode"&gt;&lt;font color="#333333" face="Trebuchet MS" /&gt;&lt;/div&gt;

&lt;div class="csharpcode"&gt;&lt;font color="#333333" face="Trebuchet MS" /&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;UPDATE&lt;/strong&gt;: ho messo un progetto d’esempio &lt;a href="http://www.codiceplastico.com/files/VisualInheritance.zip" target="_blank"&gt;qui&lt;/a&gt;. &lt;/p&gt;

&lt;div class="csharpcode"&gt;&lt;font color="#333333" face="Trebuchet MS" /&gt;&lt;/div&gt;

&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:c09d779a-a979-43d5-b440-f6c63569afb9" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Expression+Blend" rel="tag"&gt;Expression Blend&lt;/a&gt;,&lt;a href="http://technorati.com/tags/WPF" rel="tag"&gt;WPF&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Template" rel="tag"&gt;Template&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blogs.ugidotnet.org/BlogEma/aggbug/97860.aspx" width="1" height="1" /&gt;</description>
      <guid>http://blogs.ugidotnet.org/BlogEma/archive/2010/01/14/wpf-ed-ereditarietagrave-visuale.aspx</guid>
      <link>http://blogs.ugidotnet.org/BlogEma/archive/2010/01/14/wpf-ed-ereditarietagrave-visuale.aspx</link>
      <pubDate>Thu, 14 Jan 2010 18:34:52 GMT</pubDate>
      <pubDateParsed>2010-01-14T18:34:52</pubDateParsed>
      <title>WPF ed ereditariet&amp;agrave; visuale</title>
    </item>
    <item>
      <comments>http://blogs.ugidotnet.org/BlogEma/archive/2010/01/06/esperimenti-con-mongodb.aspx#feedback</comments>
      <description>&lt;p&gt;Durante questo periodo di ferie ho potuto affrontare alcuni temi presenti nella mia personale lista dei “TO-DO”. &lt;/p&gt;  &lt;p&gt;Il rumore intorno ai Database Documentali e al movimento &lt;a href="http://nosql-database.org/"&gt;#NoSQL&lt;/a&gt; sta crescendo grazie anche al fatto che grandi nomi (Facebook, Amazon, SourceForge e altri) li usano da tempo in produzione.&lt;/p&gt;  &lt;p&gt;Cosi ho scaricato gli eseguibili di &lt;a href="http://www.mongodb.org/"&gt;MongoDB&lt;/a&gt; e il relativo &lt;a href="http://github.com/samus/mongodb-csharp"&gt;driver C#&lt;/a&gt; ed ho scritto un primo esempio di utilizzo.&lt;/p&gt;  &lt;p&gt;Il server è un’applicazione console (che può essere installata come servizio) che rimane in ascolto su una certa porta (configurabile):&lt;/p&gt;  &lt;p /&gt;  &lt;div class="csharpcode"&gt;   &lt;pre class="alt"&gt;D:\mongodb-win32-x86_64-1.2.1\bin&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;mongod.exe --dbpath ./data&lt;/pre&gt;

  &lt;pre&gt; &lt;/pre&gt;

  &lt;pre class="alt"&gt;Tue Jan 05 19:16:20 Mongo DB : starting : pid = 0 port = 27017 dbpath = ./data master = 0 slave = 0  64-bit&lt;/pre&gt;

  &lt;pre&gt;Tue Jan 05 19:16:20 db version v1.2.1, pdfile version 4.5&lt;/pre&gt;

  &lt;pre class="alt"&gt;Tue Jan 05 19:16:20 git version: 45992de574979343f34fdfe96b069d5d1eff0182&lt;/pre&gt;

  &lt;pre&gt;Tue Jan 05 19:16:20 sys info: windows (6, 0, 6002, 2, 'Service Pack 2') BOOST_LIB_VERSION=1_39&lt;/pre&gt;

  &lt;pre class="alt"&gt;Tue Jan 05 19:16:20 waiting for connections on port 27017&lt;/pre&gt;
&lt;/div&gt;
&lt;style type="text/css"&gt;&lt;![CDATA[
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }]]&gt;&lt;/style&gt;

&lt;p&gt;Cosi il server è avviato e in ascolto per eventuali comandi. Non ho creato nessun database per ora.&lt;/p&gt;

&lt;p&gt;Da visual studio ho creato un mini progetto per fare alcuni esperimenti:&lt;/p&gt;

&lt;div class="csharpcode"&gt;
  &lt;pre class="alt"&gt;Mongo mongo = &lt;span class="kwrd"&gt;new&lt;/span&gt; Mongo();&lt;/pre&gt;

  &lt;pre&gt;mongo.Connect();&lt;/pre&gt;

  &lt;pre class="alt"&gt;Database db = mongo.getDB(&lt;span class="str"&gt;"MyTestDb"&lt;/span&gt;);&lt;/pre&gt;

  &lt;pre&gt;IMongoCollection posts = db.GetCollection(&lt;span class="str"&gt;"Persons"&lt;/span&gt;);&lt;/pre&gt;

  &lt;pre class="alt"&gt; &lt;/pre&gt;

  &lt;pre&gt;Document doc = &lt;span class="kwrd"&gt;new&lt;/span&gt; Document();&lt;/pre&gt;

  &lt;pre class="alt"&gt;doc[&lt;span class="str"&gt;"Name"&lt;/span&gt;] = &lt;span class="str"&gt;"Emanele"&lt;/span&gt;;&lt;/pre&gt;

  &lt;pre&gt;doc[&lt;span class="str"&gt;"Surname"&lt;/span&gt;] = &lt;span class="str"&gt;"DelBono"&lt;/span&gt;;&lt;/pre&gt;

  &lt;pre class="alt"&gt;posts.Insert(doc);&lt;/pre&gt;

  &lt;pre&gt; &lt;/pre&gt;

  &lt;pre class="alt"&gt;Document example = &lt;span class="kwrd"&gt;new&lt;/span&gt; Document();&lt;/pre&gt;

  &lt;pre&gt;example[&lt;span class="str"&gt;"Name"&lt;/span&gt;] = &lt;span class="str"&gt;"Emanuele"&lt;/span&gt;;&lt;/pre&gt;

  &lt;pre class="alt"&gt;ICursor cursor = posts.Find(example);&lt;/pre&gt;

  &lt;pre&gt;&lt;span class="kwrd"&gt;foreach&lt;/span&gt; (Document document &lt;span class="kwrd"&gt;in&lt;/span&gt; cursor.Documents)&lt;/pre&gt;

  &lt;pre class="alt"&gt;{&lt;/pre&gt;

  &lt;pre&gt;  Console.WriteLine(document.ToString());&lt;/pre&gt;

  &lt;pre class="alt"&gt;}&lt;/pre&gt;
&lt;/div&gt;
&lt;style type="text/css"&gt;&lt;![CDATA[
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }]]&gt;&lt;/style&gt;

&lt;p /&gt;

&lt;p&gt;&lt;font size="2" face="Trebuchet MS"&gt;Nel primo blocco creo un database “MyDbTest” e seleziono la collection su cui lavorare (“Persons”).&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;Poi creo un nuovo documento. La classe Document, messa a disposizione dal driver C#, rappresenta un “chunk” di informazione da salvare nel database. Alla base è un Dictionary in cui key, value raprresentano nome della proprietà e valore ma può contenere qualsiasi tipo di gerarchia complessa. Internamente i dati sono memorizzati in JSON (come molti database documentali).&lt;/p&gt;

&lt;p&gt;Il documento creato viene salvato nel database usando l’istruzione insert.&lt;/p&gt;

&lt;p&gt;Nell’ultimo blocco vado a recuperare l’informazione. Nello specifico costruisco un documento che fa da “esempio” per la ricerca e il metodo Find estrae tutti i documenti che hanno la chiave Name = “Emanuele”.&lt;/p&gt;

&lt;p&gt;Insomma, il succo della semplicità, più di cosi non si può pretendere. Le performance sembrano buone, ci sono altri metodi per estrapolare le informazioni in modo più mirato, supporta lo storage per grossi documenti (video, foto, ecc…).&lt;/p&gt;

&lt;p&gt;Sicuramente bisogna lavorarci un po’ per capirne i limiti e apprezzarne ancora di più i pregi, ma l’inizio è fantastico (e sta, ripeto, nella semplicità) e in applicazioni non troppo complesse dal punto di vista dei dati sembra essere l’ottimo: pensate ad un blog engine in cui potete salvare un intero post (con testo, foto, commenti, tags, ecc…) con una semplice insert di un Documento.&lt;/p&gt;

&lt;p&gt;Sul sito di &lt;a href="http://www.mongodb.org/"&gt;MongoDB&lt;/a&gt; trovate molta documentazione.&lt;/p&gt;

&lt;p&gt;Nel frattempo i miei esperimenti continueranno (spero). Sto provando a scrivere un mapper che permette di trasformare oggetti di dominio in Document cosi da evitare il mapping manuale. Dovrebbe essere abbastanza semplice prendendo spunto dai vari serializzatori e deserializzatori JSON. &lt;/p&gt;

&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:5ebfede3-b679-4715-bde7-4bebc051dff5" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/MongoDB" rel="tag"&gt;MongoDB&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Document+Database" rel="tag"&gt;Document Database&lt;/a&gt;,&lt;a href="http://technorati.com/tags/NoSQL" rel="tag"&gt;NoSQL&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blogs.ugidotnet.org/BlogEma/aggbug/97810.aspx" width="1" height="1" /&gt;</description>
      <guid>http://blogs.ugidotnet.org/BlogEma/archive/2010/01/06/esperimenti-con-mongodb.aspx</guid>
      <link>http://blogs.ugidotnet.org/BlogEma/archive/2010/01/06/esperimenti-con-mongodb.aspx</link>
      <pubDate>Wed, 06 Jan 2010 10:57:06 GMT</pubDate>
      <pubDateParsed>2010-01-06T10:57:06</pubDateParsed>
      <title>Esperimenti con MongoDb</title>
    </item>
    <item>
      <comments>http://blogs.ugidotnet.org/BlogEma/archive/2009/11/28/v-ugialt.net-conference-a-che-punto-siamo.aspx#feedback</comments>
      <description>&lt;p&gt;Lunedi scorso alle ore 10.00 AM abbiamo ufficialmente aperto le iscrizioni tramite il sito &lt;a href="http://conference.ugialt.net"&gt;http://conference.ugialt.net&lt;/a&gt; e i 130 posti disponibili si sono esauriti in meno di 9 ore. Il record va a &lt;a href="http://dotnetmarche.org/blogs/andreabalducci/default.aspx" target="_blank"&gt;Andrea Balducci&lt;/a&gt; che si è iscritto alle ore 10:00:16 e si aggiudica il  premio per il partecipante più agile!&lt;/p&gt;  &lt;p&gt;I posti sono esauriti, adesso siamo a 165 iscritti, ma consiglio a tutti coloro che vorrebbero partecipare di mettersi comunque in lista, sicuramente alcuni posti si libereranno e la coda si accorcierà.&lt;/p&gt;  &lt;p&gt;Buona anche la raccolta donazioni, quest’anno avremo alcuni speaker stranieri e stiamo raccogliendo un po’ di soldi per riuscire a ripagarli i costi di viaggio, quindi se siete iscritti e non l’avete ancora fatto potete donare qualcosa tramite paypal cliccando &lt;a href="https://www.paypal.com/cgi-bin/webscr?cmd=_donations&amp;amp;business=EB4B3V62GHSZ6&amp;amp;lc=IT&amp;amp;item_name=UgiALT%2enet&amp;amp;currency_code=EUR&amp;amp;bn=PP%2dDonationsBF%3abtn_donateCC_LG%2egif%3aNonHosted" target="_blank"&gt;qui&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;La cosa interessante è tutti gli iscritti lo hanno fatto sulla fiducia. Infatti solo questa settimana abbiamo iniziato a pubblicare stralci di agenda ma la raccolta delle sessioni non è ancora terminata.&lt;/p&gt;  &lt;p&gt;Potete trovare l’elenco delle sessioni fin’ora proposte &lt;a href="http://ugialt.net/V%20UgiALT.net%20Conference.ashx" target="_blank"&gt;qui&lt;/a&gt;. Come vedrete ce n’è per tutti i gusti: Monotouch, Distributed Version Control, Database Documentali e Relazionali, BDD, Jquery, REST, DDD, HTML5, Validazione e altri ancora.&lt;/p&gt;  &lt;p&gt;Quindi le premesse ci sono tutte, nelle prossime settimane definiremo l’agenda definitiva e dopo Natale ci dedicheremo alla logistica, ai libri e alle licenze omaggio che stiamo raccogliendo dagli sponsors.&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:0764b325-d963-412a-a86a-e45f4063abb4" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/ugiALT.net" rel="tag"&gt;ugiALT.net&lt;/a&gt;,&lt;a href="http://technorati.com/tags/conference" rel="tag"&gt;conference&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blogs.ugidotnet.org/BlogEma/aggbug/97627.aspx" width="1" height="1" /&gt;</description>
      <guid>http://blogs.ugidotnet.org/BlogEma/archive/2009/11/28/v-ugialt.net-conference-a-che-punto-siamo.aspx</guid>
      <link>http://blogs.ugidotnet.org/BlogEma/archive/2009/11/28/v-ugialt.net-conference-a-che-punto-siamo.aspx</link>
      <pubDate>Sat, 28 Nov 2009 16:51:25 GMT</pubDate>
      <pubDateParsed>2009-11-28T16:51:25</pubDateParsed>
      <title>V UgiALT.net Conference: a che punto siamo</title>
    </item>
    <item>
      <comments>http://blogs.ugidotnet.org/BlogEma/archive/2009/11/27/avoid-datagrid-seconda-puntata.aspx#feedback</comments>
      <description>&lt;p&gt;In un mio  post di qualche giorno fa ho scritto di come la pigrizia dei programmatori porta spesso ad un uso spropositato e inopportuno della “mitica” DataGrid.&lt;/p&gt;
&lt;p&gt;Volevo riportare alcuni esempi per dimostrare che si può vivere felici anche senza usare la datagrid, ma prima voglio fare alcune premesse. La DataGrid spesso arriva perchè qualcuno ha pensato male alla gestione delle informazioni:&lt;/p&gt;
&lt;p&gt;1) Se a seguito di una ricerca o all’apertura di una pagina/form visualizzate una griglia con n-mila righe in decine di pagine avete un problema: visualizzare più di 20-30 record e visualizzarne 1000 è la stessa cosa: l’utente non sta trovando quello che cerca. Se una ricerca ritorna più di 20 record sarebbe meglio consigliare all’utente di cambiare le chiavi di ricerca: chi è mai arrivato a pagina 3 della ricerca di google? Se non trovo qualcosa in pagina 1 (o al massimo in pagina 2) rifaccio la ricerca. Impiego meno tempo!&lt;/p&gt;
&lt;p&gt;2) Se visualizzare più di 5 campi avete un problema: che senso ha visulizzare subito tutte le informazioni di una persona in una griglia di 15 colonne? Date la possibilità all’utente di identificare la persona cercata (nome e cognome) e usate un modo alternativo per visualizzare i dettagli solo quando e se serve. &lt;/p&gt;
&lt;p&gt;3) Se fate l’editing in griglia avete un problema: l’editing in-line è scomodo per l’utente, non permette di visualizzare agevolmente tutte le informazioni, lascia poco spazio per gli evenutali messaggi d’errore ed esteticamente è brutto.&lt;/p&gt;
&lt;p&gt;Detto ciò, ecco alcuni esempi, trovati in rete, per mostrare un elenco di record che non sia una griglia :&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/BlogEma/WindowsLiveWriter/AvoidDataGridSecondapuntata_B281/shot_000015_2.png"&gt;&lt;img style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title="shot_000015" border="0" alt="shot_000015" width="381" height="256" src="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/BlogEma/WindowsLiveWriter/AvoidDataGridSecondapuntata_B281/shot_000015_thumb.png" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/BlogEma/WindowsLiveWriter/AvoidDataGridSecondapuntata_B281/shot_000016_4.png"&gt;&lt;img style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title="shot_000016" border="0" alt="shot_000016" width="104" height="80" src="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/BlogEma/WindowsLiveWriter/AvoidDataGridSecondapuntata_B281/shot_000016_thumb_1.png" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/BlogEma/WindowsLiveWriter/AvoidDataGridSecondapuntata_B281/shot_000017_2.png"&gt;&lt;img style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title="shot_000017" border="0" alt="shot_000017" width="62" height="104" src="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/BlogEma/WindowsLiveWriter/AvoidDataGridSecondapuntata_B281/shot_000017_thumb.png" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/BlogEma/WindowsLiveWriter/AvoidDataGridSecondapuntata_B281/shot_000018_2.png"&gt;&lt;img style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title="shot_000018" border="0" alt="shot_000018" width="262" height="128" src="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/BlogEma/WindowsLiveWriter/AvoidDataGridSecondapuntata_B281/shot_000018_thumb.png" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/BlogEma/WindowsLiveWriter/AvoidDataGridSecondapuntata_B281/shot_000019_2.png"&gt;&lt;img style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title="shot_000019" border="0" alt="shot_000019" width="5" height="5" src="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/BlogEma/WindowsLiveWriter/AvoidDataGridSecondapuntata_B281/shot_000019_thumb.png" /&gt;&lt;/a&gt;   &lt;a href="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/BlogEma/WindowsLiveWriter/AvoidDataGridSecondapuntata_B281/shot_000020_4.png"&gt;&lt;img style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title="shot_000020" border="0" alt="shot_000020" width="104" height="74" src="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/BlogEma/WindowsLiveWriter/AvoidDataGridSecondapuntata_B281/shot_000020_thumb_1.png" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/BlogEma/WindowsLiveWriter/AvoidDataGridSecondapuntata_B281/Capture3_2.png"&gt;&lt;img style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title="Capture3" border="0" alt="Capture3" width="104" height="68" src="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/BlogEma/WindowsLiveWriter/AvoidDataGridSecondapuntata_B281/Capture3_thumb.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;div style="PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; DISPLAY: inline; FLOAT: none; PADDING-TOP: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:d070ba22-dfe9-4842-92e7-f0f77c543fe9" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a rel="tag" href="http://technorati.com/tags/Rant"&gt;Rant&lt;/a&gt;,&lt;a rel="tag" href="http://technorati.com/tags/DataGrid"&gt;DataGrid&lt;/a&gt;,&lt;a rel="tag" href="http://technorati.com/tags/Avoid+DataGrid"&gt;Avoid DataGrid&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blogs.ugidotnet.org/BlogEma/aggbug/97520.aspx" width="1" height="1" /&gt;</description>
      <guid>http://blogs.ugidotnet.org/BlogEma/archive/2009/11/27/avoid-datagrid-seconda-puntata.aspx</guid>
      <link>http://blogs.ugidotnet.org/BlogEma/archive/2009/11/27/avoid-datagrid-seconda-puntata.aspx</link>
      <pubDate>Thu, 26 Nov 2009 23:00:00 GMT</pubDate>
      <pubDateParsed>2009-11-26T23:00:00</pubDateParsed>
      <title>Avoid DataGrid (Seconda puntata)</title>
    </item>
    <item>
      <comments>http://blogs.ugidotnet.org/BlogEma/archive/2009/11/22/agile-day-2009.aspx#feedback</comments>
      <description>&lt;p&gt;Venerdi scorso a Bologna si è tenuto il sesto &lt;a target="_blank" href="http://www.agileday.it/"&gt;Agile Day&lt;/a&gt; una conferenza nazionale dedicata alle tematiche della progettazione e sviluppo agile delle applicazioni.&lt;/p&gt;
&lt;p&gt;Ritengo senza dubbio che sia la &lt;strong&gt;migliore conferenza in Italia &lt;/strong&gt;a cui uno sviluppatore/manager/cliente possa partecipare. A differenza delle altre è una giornata in cui impari cose che non troverai mai in un libro o in blog, è una conferenza da cui torni  pieno di idee e di spunti per migliorare il tuo modo di lavorare.&lt;/p&gt;
&lt;p&gt;La caratteristica più interessante è la possibilità di organizzare openspace al volo, e così fuori programma nel pomeriggio &lt;a target="_blank" href="http://ziobrando.blogspot.com/"&gt;Alberto Brandolini&lt;/a&gt; ha tenuto una sessione dedicata al DDD affrontandolo con un approccio molto diverso da come siamo abituati parlando di contesti e  discutendo casi reali.&lt;/p&gt;
&lt;p&gt;Molto interessante anche la sessione di apertura di &lt;a target="_blank" href="http://www.scrum-breakfast.com/"&gt;Peter Steven&lt;/a&gt; che ha spiegato come l’unico modo per affrontare con successo un progetto fixed price sia quello di farlo in modo agile (sul suo blog trovate le slide della sessione).&lt;/p&gt;
&lt;p&gt;Poi tutte le chiacchierate con i tanti amici che hanno partecipato!&lt;/p&gt;
&lt;p&gt;Per finire: fantastica la cena Bolognese doc. &lt;/p&gt;
&lt;p&gt;PS. Per chi volesse demo e slide della sessione mia e di &lt;a href="http://blogs.ugidotnet.org/amelchiori/Default.aspx"&gt;Alessandro&lt;/a&gt; sulla Continuous Integration li può scaricare da &lt;a href="http://www.codiceplastico.com/files/agiletestingdays.zip"&gt;qui&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;div style="PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; DISPLAY: inline; FLOAT: none; PADDING-TOP: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:c5108b46-d4e9-445b-a76f-477fa514410a" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a rel="tag" href="http://technorati.com/tags/Italian+Agile+Day"&gt;Italian Agile Day&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blogs.ugidotnet.org/BlogEma/aggbug/97587.aspx" width="1" height="1" /&gt;</description>
      <guid>http://blogs.ugidotnet.org/BlogEma/archive/2009/11/22/agile-day-2009.aspx</guid>
      <link>http://blogs.ugidotnet.org/BlogEma/archive/2009/11/22/agile-day-2009.aspx</link>
      <pubDate>Sun, 22 Nov 2009 18:02:48 GMT</pubDate>
      <pubDateParsed>2009-11-22T18:02:48</pubDateParsed>
      <title>Agile Day 2009</title>
    </item>
    <item>
      <comments>http://blogs.ugidotnet.org/BlogEma/archive/2009/11/13/avoid-datagrid-ot-del-venerdi.aspx#feedback</comments>
      <description>&lt;p&gt;In questo periodo molte aziende stanno migrando o scrivendo nuove applicazioni usando WPF.&lt;/p&gt;  &lt;p&gt;Questo framework ha il considerevole vantaggio di lasciare la massima libertà per poter realizzare applicazioni con un &lt;em&gt;appeal&lt;/em&gt; e un modello di interazione davvero alternativi ai vecchi modelli di windowsforms e sicuramente migliori per l’utente finale.&lt;/p&gt;  &lt;p&gt;E cosa succede?&lt;/p&gt;  &lt;p&gt;Appena aperta la toolbox mi chiedono: “Dove la DataGrid?”&lt;/p&gt;  &lt;p&gt;Ma è possibile che l’unico modo di visualizzare le informazioni su uno schermo sia  di metterle in una griglia? &lt;/p&gt;  &lt;p&gt;Ho ormai alle spalle parecchie applicazioni WPF e solo in un caso ho usato la DataGrid perchè il contesto lo richiedeva, ma in tutti gli altri casi ho usato ListBox, ItemsControls, StackPanel, ecc…applicando un template che mettesse in risalto le informazioni importanti e lasciasse all’utente la possibilità di entrare nel dettaglio.&lt;/p&gt;  &lt;p&gt;Quindi,visto che possiamo disegnare qualsiasi controllo, visto che abbiamo in mano un pennello e una tavolozza di strumenti, vi prego non disegnate una DataGrid e pensate ai vostri clienti :-)&lt;/p&gt;  &lt;p&gt;* Non è stata usata nessuna datagrid per generare questo post&lt;/p&gt;  &lt;p&gt;** Si ringrazia &lt;a href="http://blog.vivendobyte.net/Default.aspx" target="_blank"&gt;Igor Damiani&lt;/a&gt; per la concessione del titolo.&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:fbef5e97-f04d-43bb-a1e6-550dc07a55c2" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/DataGrid" rel="tag"&gt;DataGrid&lt;/a&gt;,&lt;a href="http://technorati.com/tags/WPF" rel="tag"&gt;WPF&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Rant" rel="tag"&gt;Rant&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blogs.ugidotnet.org/BlogEma/aggbug/97513.aspx" width="1" height="1" /&gt;</description>
      <guid>http://blogs.ugidotnet.org/BlogEma/archive/2009/11/13/avoid-datagrid-ot-del-venerdi.aspx</guid>
      <link>http://blogs.ugidotnet.org/BlogEma/archive/2009/11/13/avoid-datagrid-ot-del-venerdi.aspx</link>
      <pubDate>Fri, 13 Nov 2009 12:06:48 GMT</pubDate>
      <pubDateParsed>2009-11-13T12:06:48</pubDateParsed>
      <title>Avoid DataGrid* [OT del Venerdi**]</title>
    </item>
    <item>
      <comments>http://blogs.ugidotnet.org/BlogEma/archive/2009/11/07/internet-in-italia-reprise.aspx#feedback</comments>
      <description>&lt;p&gt;Mi riaggancio al &lt;a target="_blank" href="http://blogs.ugidotnet.org/piyo/archive/2009/11/06/internet-in-italia-vs-internet-in-europa.aspx"&gt;post&lt;/a&gt; di &lt;a target="_blank" href="http://blogs.ugidotnet.org/piyo/"&gt;Simone&lt;/a&gt; sulle differenze di investimenti tra Italia e Europa, segnalando questo video preso da Current TV: &lt;a title="http://current.com/items/91311404_file-1-i-padroni-di-internet.htm" href="http://current.com/items/91311404_file-1-i-padroni-di-internet.htm"&gt;http://current.com/items/91311404_file-1-i-padroni-di-internet.htm&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;Nella seconda parte del video si parla della questione digital divide da un’altra prospettiva alla quale non avevo mai pensato. Nel video non si fa riferimento diretto all’Italia, ma si racconta di come in molti paesi non democratici la connettività sia volutamente messa in secondo piano per evitare che la gente trovi canali alternativi per avere informazione (quindi cultura).&lt;/p&gt;
&lt;p&gt;Pensiamoci un attimo: perchè mai l’attuale governo italiano dovrebbe investire sull’accesso ad Internet per tutti? Abbiamo già bellissime televisioni (ora anche digitali!!) e giornali, molto meglio costruire un ponte!&lt;/p&gt;
&lt;p&gt; :-|&lt;/p&gt;
&lt;div style="PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; DISPLAY: inline; FLOAT: none; PADDING-TOP: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:dde51240-a15a-4b3f-87af-48e08bcd6435" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a rel="tag" href="http://technorati.com/tags/Rant"&gt;Rant&lt;/a&gt;,&lt;a rel="tag" href="http://technorati.com/tags/Digital+Divide"&gt;Digital Divide&lt;/a&gt;,&lt;a rel="tag" href="http://technorati.com/tags/Italia"&gt;Italia&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blogs.ugidotnet.org/BlogEma/aggbug/97465.aspx" width="1" height="1" /&gt;</description>
      <guid>http://blogs.ugidotnet.org/BlogEma/archive/2009/11/07/internet-in-italia-reprise.aspx</guid>
      <link>http://blogs.ugidotnet.org/BlogEma/archive/2009/11/07/internet-in-italia-reprise.aspx</link>
      <pubDate>Sat, 07 Nov 2009 09:03:35 GMT</pubDate>
      <pubDateParsed>2009-11-07T09:03:35</pubDateParsed>
      <title>Internet in Italia (reprise)</title>
    </item>
    <item>
      <comments>http://blogs.ugidotnet.org/BlogEma/archive/2009/10/17/nuova-edizione-del-corso-sul-tdd.aspx#feedback</comments>
      <description>&lt;p&gt;Il 16 e 17 Novembre a Milano presso &lt;a href="http://www.overneteducation.it/" target="_blank"&gt;Overnet&lt;/a&gt; terrò il corso sul Test Driven Development già tenuto la scorsa primavera a Bologna.&lt;/p&gt;  &lt;p&gt;Il corso inizia con l’introduzione dello unit testing e degli strumenti necessari (xUnit, Moq), passa dal refactoring e arriva al design test driven.&lt;/p&gt;  &lt;p&gt;In questa occasione ci saranno alcune novità dovute all’aggiornamento alla versione 3.0 del linguaggio C#.&lt;/p&gt;  &lt;p&gt;Maggiori informazioni e iscrizioni qui: &lt;a title="http://www.overneteducation.it/F_Corsi_Detail.aspx?Cod_Corso=SQM006" href="http://www.overneteducation.it/F_Corsi_Detail.aspx?Cod_Corso=SQM006"&gt;http://www.overneteducation.it/F_Corsi_Detail.aspx?Cod_Corso=SQM006&lt;/a&gt;&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:1dad7816-b04d-47fb-8f34-18a10a512138" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Corsi" rel="tag"&gt;Corsi&lt;/a&gt;,&lt;a href="http://technorati.com/tags/TDD" rel="tag"&gt;TDD&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blogs.ugidotnet.org/BlogEma/aggbug/97274.aspx" width="1" height="1" /&gt;</description>
      <guid>http://blogs.ugidotnet.org/BlogEma/archive/2009/10/17/nuova-edizione-del-corso-sul-tdd.aspx</guid>
      <link>http://blogs.ugidotnet.org/BlogEma/archive/2009/10/17/nuova-edizione-del-corso-sul-tdd.aspx</link>
      <pubDate>Sat, 17 Oct 2009 13:25:10 GMT</pubDate>
      <pubDateParsed>2009-10-17T13:25:10</pubDateParsed>
      <title>Nuova edizione del corso sul TDD</title>
    </item>
    <item>
      <comments>http://blogs.ugidotnet.org/BlogEma/archive/2009/10/16/back-from-berlin-agiletestingdays.aspx#feedback</comments>
      <description>&lt;p&gt;In questi giorni sono stato a Berlino per gli "&lt;a href="http://www.agiletestingdays.com/" target="_blank"&gt;Agile Testing Days&lt;/a&gt;" una conferenza dedicata al tema del testing delle applicazioni. Tra gli speaker nomi eccellenti come &lt;a href="http://poppendieck.com/" target="_blank"&gt;Mary e Tom Poppendieck&lt;/a&gt;, &lt;a href="http://www.gilb.com/" target="_blank"&gt;Tom Gilb&lt;/a&gt;, &lt;a href="http://lisa.crispin.home.att.net/" target="_blank"&gt;Lisa Crispin&lt;/a&gt;, Emanuele DelBono (:-D), &lt;a href="http://gojko.net/" target="_blank"&gt;Gojko Adzic&lt;/a&gt; e altri.    &lt;br /&gt;I partecipanti vanivano da varie parti del mondo: norvegia, germania, francia, svezia, corea, australia, USA, ecc.. (nessun italiano a parte noi e uno degli organizzatori) e lavorano in grandi nomi del nostro mercato: Nokia, Siemens, Samsung, Motorola ecc...    &lt;br /&gt;E' stato molto interessante conoscere queste persone e parlare con loro di processi, agilità, testing ecc...ma la cosa che più mi ha stupito è che per la maggior parte di loro è normale parlare di agilità, di user stories, di scrum, di TDD ecc...tutti applicano queste pratiche da tempo nello stesso modo in cui noi mangiamo la pizza. Ciò vuol dire che mentre da noi è &lt;em&gt;cool&lt;/em&gt; usare le user story qui è da &lt;em&gt;lamer&lt;/em&gt; non usarle e la gente si stupisce se gli diciamo che da noi i team non scrivono i test per le loro applicazioni. &lt;/p&gt;  &lt;p&gt;Tutto questo per ribadire che sarebbe ora che anche in Italia queste pratiche venissero applicate senza scusanti del tipo "bello ma da noi non funziona", altrimenti rischiamo di rimanere piccoli artigiani di provincia in un mondo che sta davvero applicando i principi di industrializzazione e di ingegneria al software.   &lt;br /&gt;Non si tratta di un divario tecnologico ma di mentalità e metodologico, cosi la smetteremo di fare conferenze in cui si spiega come introdurre un processo agile in azienda per evitare l’ennesimo fallimento ma faremo conferenze per capire come migliorare il nostro processo di sviluppo per renderlo ancora più efficace.&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:33362bde-f61f-447f-b811-f1c58f385b8d" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/AgileTD" rel="tag"&gt;AgileTD&lt;/a&gt;,&lt;a href="http://technorati.com/tags/rant" rel="tag"&gt;rant&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blogs.ugidotnet.org/BlogEma/aggbug/97267.aspx" width="1" height="1" /&gt;</description>
      <guid>http://blogs.ugidotnet.org/BlogEma/archive/2009/10/16/back-from-berlin-agiletestingdays.aspx</guid>
      <link>http://blogs.ugidotnet.org/BlogEma/archive/2009/10/16/back-from-berlin-agiletestingdays.aspx</link>
      <pubDate>Fri, 16 Oct 2009 13:13:13 GMT</pubDate>
      <pubDateParsed>2009-10-16T13:13:13</pubDateParsed>
      <title>Back from Berlin AgileTestingDays</title>
    </item>
    <item>
      <comments>http://blogs.ugidotnet.org/AMelchiori/archive/2009/10/14/agile-testing-days-storie-di-vita-vissuta.aspx#feedback</comments>
      <description>&lt;p&gt;&lt;font size="2" face="Verdana"&gt;Oggi è stato il gran giorno: il mio primo speech ad una &lt;a href="http://www.agiletestingdays.com/" target="_blank"&gt;conferenza internazionale&lt;/a&gt;, e soprattutto il primo speech in inglese.       &lt;br /&gt;Direi che non è andata male, a parte un po’ di preoccupazione iniziale e tanta, tanta tensione durante la demo-live. Ora aspettiamo i feedback, ma sembrerebbe che i partecipanti abbiano gradito…staremo a vedere!!!&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Verdana"&gt;La conferenza ora è in fase di stallo per la pausa pranzo, per poi lanciare lo sprint finale. E’ stata un’ottima esperienza e soprattutto l’occasione di toccare con mano la visione dell’ “agilità” che si ha oltre i confini italiani. La cosa che più mi ha colpito è come, negli altri paesi, l’adozione delle pratiche agili e una loro continua evoluzione sia lo standard-di-fatto…parlare con gli altri speacker di user stories o continuous integration e capire che per loro sono una piacevole abitudine, mi ha fatto molto riflettere. Spesso e volentieri quando io e/o &lt;a href="http://blogs.ugidotnet.org/blogema" target="_blank"&gt;Ema&lt;/a&gt; proponiamo ai nostri clienti l’adozione delle user stories o altri “gingilli” agili veniamo accolti con facce stralunate e perplesse…speriamo che anche in Italia, prima o poi, la conoscenza e l’adozione delle pratiche agili diventi di uso più comune e non solo dei casi rari e isolati.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Verdana"&gt;Ora mi posso gustare le ultime sessioni (senza la tensione dei giorni scorsi) e domani ci gustiamo Berlino da turisti…sperando che il clima ci venga in aiuto!&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Verdana"&gt;Certo…essere al tavolo con &lt;a href="http://www.poppendieck.com/" target="_blank"&gt;Tom e Mary Poppendieck&lt;/a&gt; e avere la possibilità di confrontarsi con loro non ha prezzo… &amp;lt;cit.&amp;gt;&lt;/font&gt;&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/AMelchiori/aggbug/97255.aspx" width="1" height="1" /&gt;</description>
      <guid>http://blogs.ugidotnet.org/AMelchiori/archive/2009/10/14/agile-testing-days-storie-di-vita-vissuta.aspx</guid>
      <link>http://blogs.ugidotnet.org/AMelchiori/archive/2009/10/14/agile-testing-days-storie-di-vita-vissuta.aspx</link>
      <pubDate>Wed, 14 Oct 2009 11:07:20 GMT</pubDate>
      <pubDateParsed>2009-10-14T11:07:20</pubDateParsed>
      <title>Agile testing days: storie di vita vissuta</title>
    </item>
    <item>
      <comments>http://blogs.ugidotnet.org/AMelchiori/archive/2009/10/12/finalmente-a-berlinohellip.aspx#feedback</comments>
      <description>&lt;p&gt;&lt;font size="2" face="Verdana"&gt;Eccoci qua!!! Siamo arrivati ieri dopo una levataccia e un viaggio piuttosto “tortuoso”.      &lt;br /&gt;Il clima è abbastanza “agghiacciante”: sabato giravo in mezze maniche, qui quasi nevica. Ieri mezza-maratona con &lt;/font&gt;&lt;a href="http://blogs.ugidotnet.org/blogema" target="_blank"&gt;&lt;font size="2" face="Verdana"&gt;Ema&lt;/font&gt;&lt;/a&gt;&lt;font size="2" face="Verdana"&gt; per le vie di Berlino…non è un granchè, sarà per il clima, la pioggia e soprattutto perchè ero sveglio da quasi 24 ore. L’albergo è super e le sale della &lt;/font&gt;&lt;a href="http://www.agiletestingdays.com/" target="_blank"&gt;&lt;font size="2" face="Verdana"&gt;conferenza&lt;/font&gt;&lt;/a&gt;&lt;font size="2" face="Verdana"&gt; non sono niente male.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Verdana"&gt;Ora vi saluto, la &lt;/font&gt;&lt;a href="http://www.agiletestingdays.com/" target="_blank"&gt;&lt;font size="2" face="Verdana"&gt;conferenza&lt;/font&gt;&lt;/a&gt;&lt;font size="2" face="Verdana"&gt; sta per iniziare e oggi è giorno di tutorial…potrei aprofittarne per terminare la demo per mercoledì. Speriamo in bene…&lt;/font&gt;&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/AMelchiori/aggbug/97240.aspx" width="1" height="1" /&gt;</description>
      <guid>http://blogs.ugidotnet.org/AMelchiori/archive/2009/10/12/finalmente-a-berlinohellip.aspx</guid>
      <link>http://blogs.ugidotnet.org/AMelchiori/archive/2009/10/12/finalmente-a-berlinohellip.aspx</link>
      <pubDate>Mon, 12 Oct 2009 07:41:49 GMT</pubDate>
      <pubDateParsed>2009-10-12T07:41:49</pubDateParsed>
      <title>Finalmente a berlino&amp;hellip;</title>
    </item>
    <item>
      <comments>http://blogs.ugidotnet.org/AMelchiori/archive/2009/10/08/agile-testing-days-arriviamohellipquasi.aspx#feedback</comments>
      <description>&lt;p&gt;&lt;font size="2" face="Verdana"&gt;Oggi pomeriggio, insieme al &lt;/font&gt;&lt;a target="_blank" href="http://blogs.ugidotnet.org/blogema"&gt;&lt;font size="2" face="Verdana"&gt;socio&lt;/font&gt;&lt;/a&gt;&lt;font size="2" face="Verdana"&gt;, “un quattro o cinque pomodori”…et voilà…la demo per gli &lt;/font&gt;&lt;a target="_blank" href="http://www.agiletestingdays.com/"&gt;&lt;font size="2" face="Verdana"&gt;AgileTestingDays&lt;/font&gt;&lt;/a&gt;&lt;font size="2" face="Verdana"&gt; è pronta (o quasi) &lt;br /&gt;
L’idea è quella di riprodurre (più o meno completamente) l’intero processo di build che il &lt;/font&gt;&lt;a target="_blank" href="http://www.codiceplastico.com"&gt;&lt;font size="2" face="Verdana"&gt;team&lt;/font&gt;&lt;/a&gt;&lt;font size="2" face="Verdana"&gt; utilizza nei progetti di tutti i giorni. I task per ora “schedulati” sono:&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2" face="Verdana"&gt;     - &lt;/font&gt;&lt;a target="_blank" href="http://nant.sourceforge.net/release/0.85-rc1/help/tasks/asminfo.html"&gt;&lt;font size="2" face="Verdana"&gt;versionamento automatico degli assembly&lt;/font&gt;&lt;/a&gt; &lt;br /&gt;
&lt;font size="2" face="Verdana"&gt;     - allineamento dello schema del database &lt;br /&gt;
     - build &lt;br /&gt;
     - unit test &lt;br /&gt;
     - integration test &lt;br /&gt;
     - deploy &lt;br /&gt;
     - metriche del codice (ed oltre) con: &lt;br /&gt;
          - &lt;/font&gt;&lt;a target="_blank" href="http://www.campwoodsw.com/sourcemonitor.html"&gt;&lt;font size="2" face="Verdana"&gt;source monitor&lt;/font&gt;&lt;/a&gt; &lt;br /&gt;
&lt;font size="2" face="Verdana"&gt;          - &lt;/font&gt;&lt;a target="_blank" href="http://msdn.microsoft.com/en-us/library/bb429476(VS.80).aspx"&gt;&lt;font size="2" face="Verdana"&gt;fxcop&lt;/font&gt;&lt;/a&gt; &lt;br /&gt;
&lt;font size="2" face="Verdana"&gt;          - &lt;/font&gt;&lt;a target="_blank" href="http://www.redhillconsulting.com.au/products/simian/"&gt;&lt;font size="2" face="Verdana"&gt;simian&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2" face="Verdana"&gt;Il tempo a disposizione non è troppo e quindi abbiamo cercato di condensare nei sessanta minuti a nostra disposizione i task più utili (per noi, ovviamente) &lt;br /&gt;
Altre idee? Suggerimenti? Cose che avreste voluto vedere, ma nessuno ha mai avuto il coraggio di chiedere? :-) &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2" face="Verdana"&gt;Alla prossima &lt;br /&gt;
- melkio -&lt;/font&gt;&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/AMelchiori/aggbug/97217.aspx" width="1" height="1" /&gt;</description>
      <guid>http://blogs.ugidotnet.org/AMelchiori/archive/2009/10/08/agile-testing-days-arriviamohellipquasi.aspx</guid>
      <link>http://blogs.ugidotnet.org/AMelchiori/archive/2009/10/08/agile-testing-days-arriviamohellipquasi.aspx</link>
      <pubDate>Thu, 08 Oct 2009 18:30:11 GMT</pubDate>
      <pubDateParsed>2009-10-08T18:30:11</pubDateParsed>
      <title>Agile testing days: arriviamo&amp;hellip;(quasi)</title>
    </item>
    <item>
      <comments>http://blogs.ugidotnet.org/AMelchiori/archive/2009/10/02/ot-traininghellip.aspx#feedback</comments>
      <description>&lt;p&gt;&lt;font size="2" face="Verdana"&gt;In questo ultimo mese, per la prima volta nella mia seppur breve carriera di MCT, ho passato più giorni in aula che in ufficio. L’attività di training è un’attività veramente dispendiosa, soprattutto se svolta con una certa assiduità…e quindici giornate sulle venti disponibili nel mese sono, per me, veramente tante!      &lt;br /&gt;L’attività formativa, seppur stancante, mi da la possibilità di entrare in contatto con realtà differenti da quella in cui sono abituato a “sguazzare” e questo è per me un motivo di arricchimento non indifferente. La possibilità, poi, di incontrare ottimi professionisti è motivo di confronto e quindi di crescita. Insomma anche in qualità di docente cerco di “portare via” da ogni giornata passata in aula un qualcosa in più che mi faccia crescere.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Verdana"&gt;Questa cavalcata, che ci ha portati dall’introduzione al .Net framework fino a WPF, mi ha fatto riflettere parecchio: i&lt;/font&gt;&lt;font size="2" face="Verdana"&gt;l valore aggiunto che un trainer deve poter dare alle sue lezioni è l’esperienza sul campo.      &lt;br /&gt;L’attività formativa, secondo il mio punto di vista, non può essere predominante nelle attività del docente perchè rischia di fargli perdere il contatto con la “vita in trincea” che ogni giorno, chi fa il nostro mestiere, deve affrontare. Un buon corso è, per me, un giusto mix tra la pura teoria ed esempi di vita vissuta che garantiscono a chi segue, un costante contatto con la realtà che già affronta o che dovrà affrontare al termine del corso.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Verdana"&gt;Comunque con questo post mi sento di ringraziare Jonny, Matteo, Michele e tutti gli altri ragazzi che si sono alternati in queste giornate insieme e augurare a tutti loro un grosso in bocca al lupo per la loro nuova avventura nel “fantastico” modo del .Net framework. Alla prossima…&lt;/font&gt;&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/AMelchiori/aggbug/97162.aspx" width="1" height="1" /&gt;</description>
      <guid>http://blogs.ugidotnet.org/AMelchiori/archive/2009/10/02/ot-traininghellip.aspx</guid>
      <link>http://blogs.ugidotnet.org/AMelchiori/archive/2009/10/02/ot-traininghellip.aspx</link>
      <pubDate>Fri, 02 Oct 2009 15:16:38 GMT</pubDate>
      <pubDateParsed>2009-10-02T15:16:38</pubDateParsed>
      <title>[OT] Training&amp;hellip;</title>
    </item>
    <item>
      <comments>http://blogs.ugidotnet.org/AMelchiori/archive/2009/09/24/ot-my-new-english-blog.aspx#feedback</comments>
      <description>&lt;p&gt;&lt;font size="2" face="Verdana"&gt;Da oggi prende il via un’avventura da troppo tempo rimandata: tenere un blog in inglese.      &lt;br /&gt;Per ora l’idea è quella di pubblicare (quasi sempre) i contenuti sia sul blog in italiano (qui su &lt;/font&gt;&lt;a href="http://www.ugidotnet.org" target="_blank"&gt;&lt;font size="2" face="Verdana"&gt;UgiDotNet&lt;/font&gt;&lt;/a&gt;&lt;font size="2" face="Verdana"&gt;), sia su quello in inglese…per il futuro vedremo.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Verdana"&gt;Comunque, chi fosse interessato, può seguire dirattamente i miei post da qui: &lt;/font&gt;&lt;a href="http://blog.codiceplastico.com/index.php/category/alessandro/" target="_blank"&gt;&lt;font size="2" face="Verdana"&gt;EnglishBlog&lt;/font&gt;&lt;/a&gt;&lt;font size="2" face="Verdana"&gt;, oppure quelli di tutto il &lt;/font&gt;&lt;a href="http://www.codiceplastico.com/" target="_blank"&gt;&lt;font size="2" face="Verdana"&gt;team&lt;/font&gt;&lt;/a&gt;&lt;font size="2" face="Verdana"&gt; da qui &lt;/font&gt;&lt;a href="http://blog.codiceplastico.com/" target="_blank"&gt;&lt;font size="2" face="Verdana"&gt;Plastic/Blog&lt;/font&gt;&lt;/a&gt;&lt;font size="2" face="Verdana"&gt;.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Verdana"&gt;A presto      &lt;br /&gt;- melkio -&lt;/font&gt;&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/AMelchiori/aggbug/97101.aspx" width="1" height="1" /&gt;</description>
      <guid>http://blogs.ugidotnet.org/AMelchiori/archive/2009/09/24/ot-my-new-english-blog.aspx</guid>
      <link>http://blogs.ugidotnet.org/AMelchiori/archive/2009/09/24/ot-my-new-english-blog.aspx</link>
      <pubDate>Thu, 24 Sep 2009 12:31:22 GMT</pubDate>
      <pubDateParsed>2009-09-24T12:31:22</pubDateParsed>
      <title>[OT] My new english blog</title>
    </item>
    <item>
      <comments>http://blogs.ugidotnet.org/AMelchiori/archive/2009/09/16/sql2008-prevent-saving-changes.aspx#feedback</comments>
      <description>&lt;p&gt;&lt;font size="2" face="Verdana"&gt;Da quando ho installato Sql2008 mi sono ripromesso di imparare lo stretto indispensabile di T-Sql per creare o modificare tabelle, gestire gli indici (and so on…) in modo da creare gli script necessari per gestire e completare l’automatizzazione del &lt;a target="_blank" href="http://www.codiceplastico.com/"&gt;nostro&lt;/a&gt; processo di build.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2" face="Verdana"&gt;&lt;font size="2" face="Verdana"&gt;L’altro giorno, dopo parecchio tempo, mi è capitata la necessità di modificare tramite il designer la struttura di una tabella e con mio “sommo piacere” mi sono accorto che non è più così immediato come con Sql Management Studio 2005.&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2" face="Verdana"&gt;&lt;a href="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/AMelchiori/WindowsLiveWriter/Sql2008preventsavingchanges_B07E/Sql%20error_4.png"&gt;&lt;font color="#393925" size="2" face="Verdana"&gt;&lt;img style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; MARGIN-LEFT: 0px; BORDER-TOP: 0px; MARGIN-RIGHT: 0px; BORDER-RIGHT: 0px" title="Sql error" border="0" alt="Sql error" align="top" width="400" height="428" src="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/AMelchiori/WindowsLiveWriter/Sql2008preventsavingchanges_B07E/Sql%20error_thumb_1.png" /&gt;&lt;/font&gt;&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2" face="Verdana"&gt;&lt;font size="2" face="Verdana"&gt;&lt;font size="2" face="Verdana"&gt;&lt;font size="2" face="Verdana"&gt;&lt;font size="2" face="Verdana"&gt;&lt;font size="2" face="Verdana"&gt;&lt;font size="2" face="Verdana"&gt;&lt;font size="2" face="Verdana"&gt;&lt;font size="2" face="Verdana"&gt;&lt;font size="2" face="Verdana"&gt;&lt;font size="2" face="Verdana"&gt;&lt;font size="2" face="Verdana"&gt;&lt;font size="2" face="Verdana"&gt;&lt;font size="2" face="Verdana"&gt;&lt;font size="2" face="Verdana"&gt;&lt;font size="2" face="Verdana"&gt;L’arcano è, però, presto risolto: bisogna disabilitare l’opzione “Prevent saving changes that require table re-creation” che si trova nel menu Tools –&amp;gt; Options&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/AMelchiori/WindowsLiveWriter/Sql2008preventsavingchanges_B07E/Options_2.png"&gt;&lt;img style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title="Options" border="0" alt="Options" width="640" height="509" src="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/AMelchiori/WindowsLiveWriter/Sql2008preventsavingchanges_B07E/Options_thumb.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;font size="2" face="Verdana"&gt;&lt;font size="2" face="Verdana"&gt;&lt;font size="2" face="Verdana"&gt;&lt;font size="2" face="Verdana"&gt;&lt;font size="2" face="Verdana"&gt;&lt;font size="2" face="Verdana"&gt;&lt;font size="2" face="Verdana"&gt;&lt;font size="2" face="Verdana"&gt;&lt;font size="2" face="Verdana"&gt;&lt;font size="2" face="Verdana"&gt;&lt;font size="2" face="Verdana"&gt;&lt;font size="2" face="Verdana"&gt;&lt;font size="2" face="Verdana"&gt;&lt;font size="2" face="Verdana"&gt;&lt;font size="2" face="Verdana"&gt;
&lt;p&gt;&lt;a href="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/AMelchiori/WindowsLiveWriter/Sql2008preventsavingchanges_B07E/Options_2.png"&gt;&lt;/a&gt; &lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;img src="http://blogs.ugidotnet.org/AMelchiori/aggbug/97054.aspx" width="1" height="1" /&gt;</description>
      <guid>http://blogs.ugidotnet.org/AMelchiori/archive/2009/09/16/sql2008-prevent-saving-changes.aspx</guid>
      <link>http://blogs.ugidotnet.org/AMelchiori/archive/2009/09/16/sql2008-prevent-saving-changes.aspx</link>
      <pubDate>Wed, 16 Sep 2009 10:32:17 GMT</pubDate>
      <pubDateParsed>2009-09-16T10:32:17</pubDateParsed>
      <title>Sql2008: prevent saving changes</title>
    </item>
    <item>
      <comments>http://blogs.ugidotnet.org/AMelchiori/archive/2009/08/26/video-della-ndc09.aspx#feedback</comments>
      <description>&lt;p&gt;&lt;font size="2" face="Verdana"&gt;A &lt;/font&gt;&lt;a href="http://blogs.msdn.com/grothaug/pages/downloadable-ndc2009-videos.aspx" target="_blank"&gt;&lt;font size="2" face="Verdana"&gt;questo indirizzo&lt;/font&gt;&lt;/a&gt;&lt;font size="2" face="Verdana"&gt; è possibile scaricare alcuni video della &lt;/font&gt;&lt;a href="http://www.ndc2009.no/" target="_blank"&gt;&lt;font size="2" face="Verdana"&gt;Norvegian Developer Conference ‘09&lt;/font&gt;&lt;/a&gt;&lt;font size="2" face="Verdana"&gt;.      &lt;br /&gt;Anche quest’anno alla NDC09 c’erano &lt;/font&gt;&lt;a href="http://www.ndc2009.no/en/index.aspx?cat=1070" target="_blank"&gt;&lt;font size="2" face="Verdana"&gt;speakers&lt;/font&gt;&lt;/a&gt;&lt;font size="2" face="Verdana"&gt; di “portata internazionale”…direi che per l’anno prossimo ci potrei fare un pensierino.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Verdana"&gt;-melkio-&lt;/font&gt;&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/AMelchiori/aggbug/96937.aspx" width="1" height="1" /&gt;</description>
      <guid>http://blogs.ugidotnet.org/AMelchiori/archive/2009/08/26/video-della-ndc09.aspx</guid>
      <link>http://blogs.ugidotnet.org/AMelchiori/archive/2009/08/26/video-della-ndc09.aspx</link>
      <pubDate>Wed, 26 Aug 2009 21:25:12 GMT</pubDate>
      <pubDateParsed>2009-08-26T21:25:12</pubDateParsed>
      <title>Video della NDC09</title>
    </item>
    <item>
      <comments>http://blogs.ugidotnet.org/AMelchiori/archive/2009/08/21/r-alias-o-clr-types.aspx#feedback</comments>
      <description>&lt;p&gt;&lt;font size="2" face="Verdana"&gt;Una delle cose che proprio non mi è mai piaciuta (l’unica ?!?!?) di R# è proprio il fatto che, ogni volta che aggiunge una variabile, una property o un metodo che prevede l’utilizzo di tipi primitivi, li implementa utilizzando i loro alias. E quindi String è string, Boolean è bool, Int32 è int and so on…      &lt;br /&gt;Lo so, fossero tutti questi i problemi nel lavoro di tutti i giorni, ma per un “feticista” del codice come me, quegli alias rappresentavano un nota stonata.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Verdana"&gt;Ho girato in lungo e in largo tutte le opzioni di configurazione di R#, ma non sono mai riuscito a trovarne una che mi permettesse di fare in modo che venissero utilizzati i tipi del framework e non i rispettivi alias.      &lt;br /&gt;Fino a quando mi sono imbattuto in questo SPETTACOLARE &lt;/font&gt;&lt;a href="http://neovolvex.codeplex.com/Wiki/View.aspx?title=Using%20ReSharper%20Plugins%201.0" target="_blank"&gt;&lt;font size="2" face="Verdana"&gt;plugin&lt;/font&gt;&lt;/a&gt;&lt;font size="2" face="Verdana"&gt;!!!&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Verdana"&gt;E’ vero, i tipi vengono definiti ancora con i loro alias, ma basta un semplice Ctrl+Alt+F per riformattare i miei progetti e farmi finalmente felice.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Verdana"&gt;Alla prossima      &lt;br /&gt;- melkio -&lt;/font&gt;&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/AMelchiori/aggbug/96894.aspx" width="1" height="1" /&gt;</description>
      <guid>http://blogs.ugidotnet.org/AMelchiori/archive/2009/08/21/r-alias-o-clr-types.aspx</guid>
      <link>http://blogs.ugidotnet.org/AMelchiori/archive/2009/08/21/r-alias-o-clr-types.aspx</link>
      <pubDate>Fri, 21 Aug 2009 08:48:05 GMT</pubDate>
      <pubDateParsed>2009-08-21T08:48:05</pubDateParsed>
      <title>R#: alias o CLR types?</title>
    </item>
    <item>
      <comments>http://blogs.ugidotnet.org/AMelchiori/archive/2009/08/20/moqltimessagebrokergt-come-fare.aspx#feedback</comments>
      <description>&lt;p&gt;&lt;font size="2" face="Verdana"&gt;In giro per la rete, sempre con maggiore frequenza, si trovano blog e/o articoli che introducono, approfondiscono, sviscera il pattern M-V-VM evidenziando la necessità di disaccoppiare fortemente le componenti della nostra applicazione per renderla il più modulare possibile.      &lt;br /&gt;Una delle compontenti maggiormente chiamate in gioco, insieme ai “famosi” DelegateCommand è il cosiddetto MessageBroker, o come viene chiamato in &lt;a href="http://www.codeplex.com/CompositeWPF" target="_blank"&gt;Prism&lt;/a&gt; &lt;a href="http://martinfowler.com/eaaDev/EventAggregator.html" target="_blank"&gt;EventAggregator&lt;/a&gt;: un gestore centralizzato di eventi che rende completamente “ignoranti” publisher e subscribers.       &lt;br /&gt;La rete pullula di diverse implementazioni e non è intenzione di questo post fornirne una, tutta nuova e fiammante.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Verdana"&gt;Il comportamento del MessageBroker è molto semplice, così come la versione della sua interfaccia minimalista che per ora sto utilizzando nello sviluppo delle mie applicazioni WPF:&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/AMelchiori/WindowsLiveWriter/MoqIMessageBrokercomefare_D921/image_6.png"&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/AMelchiori/WindowsLiveWriter/MoqIMessageBrokercomefare_D921/image_thumb_2.png" width="644" height="133" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Verdana"&gt;Semplice e funzionale…quindi ottimo! &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Verdana"&gt;Ma come potremmo fare nel caso in cui volessimo mockare il broker dei messaggi per utilizzarlo nei nostri unit-test? Come possiamo fare a simulare il Post di un messaggio da un pubblisher di cui non conosciamo nemmeno l’esistenza?      &lt;br /&gt;La soluzione che ho trovato (con Moq) è abbastanza semplice anche se non del tutto intuitiva, ma mi permette di mockare effettivamente il MessageBroker senza doverne utilizzare un’implementazione concreta.       &lt;br /&gt;Ecco il codice, che come al solito rende l’idea più di mille parole:&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/AMelchiori/WindowsLiveWriter/MoqIMessageBrokercomefare_D921/image_4.png"&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/AMelchiori/WindowsLiveWriter/MoqIMessageBrokercomefare_D921/image_thumb_1.png" width="644" height="404" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Verdana"&gt;Che ne pensate? Soluzioni alternative?&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Verdana"&gt;Alla prossima     &lt;br /&gt;- melkio -&lt;/font&gt;&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/AMelchiori/aggbug/96889.aspx" width="1" height="1" /&gt;</description>
      <guid>http://blogs.ugidotnet.org/AMelchiori/archive/2009/08/20/moqltimessagebrokergt-come-fare.aspx</guid>
      <link>http://blogs.ugidotnet.org/AMelchiori/archive/2009/08/20/moqltimessagebrokergt-come-fare.aspx</link>
      <pubDate>Thu, 20 Aug 2009 13:36:12 GMT</pubDate>
      <pubDateParsed>2009-08-20T13:36:12</pubDateParsed>
      <title>Moq&amp;lt;IMessageBroker&amp;gt;: come fare?</title>
    </item>
    <item>
      <comments>http://blogs.ugidotnet.org/AMelchiori/archive/2009/07/12/sketchflow-la-risposta-a-due-lingue-diverse.aspx#feedback</comments>
      <description>&lt;p&gt;&lt;font size="2" face="Verdana"&gt;“Tecnico” e cliente parlano spesso (sempre?) due lingue diverse. Questa diversità porta a notevoli incomprensioni che sfociano più o meno palesemente nei famosi ritardi o, nel peggiore dei casi, nel fallimento dei progetti.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Verdana"&gt;Il modo più “safe” che &lt;/font&gt;&lt;a href="http://www.codiceplastico.com/" target="_blank"&gt;&lt;font size="2" face="Verdana"&gt;abbiamo&lt;/font&gt;&lt;/a&gt;&lt;font size="2" face="Verdana"&gt; trovato per evitare questo genere di incomprensioni è quello di disegnare insieme al cliente le funzionalità desiderate definendo l’unico punto di contatto tra il nostro mondo e il loro: l’interfaccia grafica.     &lt;br /&gt;Così facendo la definizione delle funzionalità e quindi la scrittura e il peso delle user stories nasce spontaneo (quasi) sempre senza possibilità di fraintendimento.      &lt;br /&gt;Lo strumento più usato e più produttivo per questo genere di attività è come al solito la famosa accoppiata “carta e penna”, ma ultimamente stiamo sperimentando anche alcuni tool.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Verdana"&gt;L’efficacia della carta, come è noto, non  ha paragoni, ma uno strumento semplice ed intuitivo, integrato con i nostri “ferri del mestiere” non può che far bene a questo genere di attività. Ecco, &lt;/font&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=92e1db7a-5d36-449b-8c6b-d25f078f3609" target="_blank"&gt;&lt;font size="2" face="Verdana"&gt;SketchFlow&lt;/font&gt;&lt;/a&gt;&lt;font size="2" face="Verdana"&gt; si inserisce in questo panorama e credo che darà nuovo impulso a questo nostro (e non solo, ovviamente) modo di approcciare i progetti.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Verdana"&gt;Visto che qualcuno di più illustre di me ci ha fatto una “puntata” presso il .Net London User Group, l’unica cosa che posso fare è suggerirvi di guardarvi il &lt;/font&gt;&lt;a href="http://exposureroom.com/members/RIAViewMirror.aspx/assets/091473af99d14ba2b73daebc161c8473/" target="_blank"&gt;&lt;font size="2" face="Verdana"&gt;video&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2" face="Verdana"&gt; &lt;/font&gt;&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/AMelchiori/aggbug/96681.aspx" width="1" height="1" /&gt;</description>
      <guid>http://blogs.ugidotnet.org/AMelchiori/archive/2009/07/12/sketchflow-la-risposta-a-due-lingue-diverse.aspx</guid>
      <link>http://blogs.ugidotnet.org/AMelchiori/archive/2009/07/12/sketchflow-la-risposta-a-due-lingue-diverse.aspx</link>
      <pubDate>Sun, 12 Jul 2009 18:25:07 GMT</pubDate>
      <pubDateParsed>2009-07-12T18:25:07</pubDateParsed>
      <title>SketchFlow: la risposta a due lingue diverse?</title>
    </item>
    <link>http://www.codiceplastico.com/Feeds/Blog.aspx</link>
    <title>CodicePlastico</title>
  </channel>
</rss>