Links http://blogs.ugidotnet.org/rucka/category/Links.aspx Links it-IT Gianluca Carucci Subtext Version 2.6.0.0 Migrare TFS 2005 a TFS 2008 Orcas http://blogs.ugidotnet.org/rucka/archive/2007/08/03/87283.aspx <p><a href="http://blogs.msdn.com/sudhir">Sudhir Hasbe</a> (Program Manager di Team Foundation Server) spiega in un <a href="http://blogs.msdn.com/sudhir/archive/2007/08/03/upgrade-tfs-2005-with-wss2-0-to-tfs-2008-orcas-with-existing-wss3-0-farm.aspx">post</a> come migrare un ambiente con installato TFS 2005 e WSS 2.0 a TFS 2008 e WSS 3.0.</p> <p><em>Many customers have WSS3.0 farms in house and they want to use these farms with TFS. In TFS 2005 you had to use WSS2.0 on TFS machine and you could not leverage the existing farms in the company. With TFS 2008 or Orcas you can use existing WSS3.0 farm. This is well known fact now but I have received many questions about upgrading the TFS 2005 with WSS2.0 environment to TFS 2008 with existing Share Point Farm.</em></p> <p>Trovo molto meglio provare la nuova versione di TFS partendo da un ambiente (clonato) più veritiero come quello in produzione piuttosto che da uno completamente vuoto.... Ovviamente a settembre dopo le ferie! </p> <p>Technorati Tags: <a rel="tag" href="http://www.technorati.com/tag/TFS+">TFS</a>, <a rel="tag" href="http://www.technorati.com/tag/Links+">Links </a></p><img src="http://blogs.ugidotnet.org/rucka/aggbug/87283.aspx" width="1" height="1" /> Gianluca Carucci http://blogs.ugidotnet.org/rucka/archive/2007/08/03/87283.aspx Fri, 03 Aug 2007 18:50:00 GMT http://blogs.ugidotnet.org/rucka/archive/2007/08/03/87283.aspx#feedback http://blogs.ugidotnet.org/rucka/comments/commentRss/87283.aspx TFS, Checkin Policy e TestManager http://blogs.ugidotnet.org/rucka/archive/2007/01/29/69024.aspx <p>Come ci racconta benissimo <a href="http://blogs.ugidotnet.org/lbarbieri/">Lorenzo</a> nei suoi <a href="http://blogs.ugidotnet.org/lbarbieri/articles/WebCast_VSTS_MSF_TFS_2006.aspx">webcast</a>, le <strong>checkin policy</strong> sono uno strumento che permette di assicurare che il checkin del codice sorgente su TFS sia sottoposta a determinate condizioni. E' quindi possibile obbligare lo sviluppatore a far sì che i file pending siano associati ad un workitem, soddifino la validazione del codice con FxCop, piuttosto che passino gli unit test. </p> <p>Proprio la policy fornita da TFS per validare i test soffre a mio avviso (e leggendo in giro non sono l'unico) di gravi problemi. E' infatti necessario configurare la policy in modo da associargli le liste dei test (chiamate <strong>List of</strong> <strong>Tests</strong>) di cui sarà controllato l'esito prima del checkin. Qui nascono i problemi. Le liste dei test sono contenute nel test Metadata File (*.vsdmi) ed è possibile definirle tramite il <strong>Test Manager</strong> che purtroppo è contenuto solo nelle versioni <a onclick="javascript:Track('ctl00_ctl01|ctl00_ctl07',this);" href="http://msdn2.microsoft.com/en-us/teamsystem/aa718822.aspx"><strong>Visual Studio 2005 Team Suite</strong></a> o <a onclick="javascript:Track('ctl00_ctl01|ctl00_ctl15',this);" href="http://msdn2.microsoft.com/en-us/teamsystem/aa718823.aspx"><strong>Visual Studio 2005 Team Edition for Software Testers</strong></a> (questa limitazione dovrebbe essere risolto in Orcas). Chiunque usi la versione <a onclick="javascript:Track('ctl00_ctl01|ctl00_ctl13',this);" href="http://msdn2.microsoft.com/en-us/teamsystem/aa718809.aspx"><strong>Visual Studio 2005 Team Edition for Software Developers</strong></a> (la versione più diffusa da chi sviluppa e quindi da chi deve essere controllato che il codice scritto sia testato correttamente) <strong>non può</strong> creare in modo comodo le liste dei tests utilizzate dal Testing Checkin Policy. Per risolvere questo "piccolo" inconveniente, la strada più semplice è quella di utilizzare un  tool di terze parti che offra le stesse funzionalità del Test Manager. Ad oggi l'unico che conosco (e funziona egregiamente) è il <a href="http://ognjenbajic.com/blog/2006/12/test-manager-add-in.html">Test Manager Add-in</a> di cui è possibile trovare una versione trial <a href="http://www.ekobit.com/download/EkobitTestManagerSetup.zip">qui</a>. E' anche possibile scriversi un proprio programma che editi i file vsdmi ma credo che il tempo necessario superi i 90 dollari del costo del tool.  </p> <p>Problemi finiti? Direi di no. Ammesso che riuscissimo a creare/modificare le liste dei test in modo agevole, esiste il forte rischio (anzi deve essere così altrimenti vuol dire che il codice non è testato) che più sviluppatori aggiornino in locale le liste dei test (e di conseguenza il file dei metadati). Poichè il file vsdmi fa parte dei file sotto source control, ci troveremmo di fronte a dover effettuare di continuo merge del file contenente i metadati dei test. Peggio ancora, se lo sviluppatore si dimentica di aggiungere i test appena creati nella lista dei test usata dalla policy, c'è il rischio che sia possibile il checkin di codice con test potenzialmente non passati (sperando che ci siano strumenti di continuos integration che mi segnalino il problema il più velocemente possibile). Io voglio (lo so sono maleducato si dice 'vorrei') che <strong>tutti i test creati siano <em>sottoposti</em> automaticamente alla policy di checkin</strong>. E se lo sviluppatore non scrive alcun test? In questo caso voglio (o vorrei:P) che <strong>il checkin sia bloccato se il codice sorgente non è <em>coperto</em> adeguatamente dai test</strong>.</p> <p>Visto che sono maleducato e tutte queste cose le voglio (non 'le vorrei'), la soluzione è stata quella di scrivermi una custom policy checkin:D <strong><a href="http://www.beije.it/ENG/index-1.html">CheckTestResultPolicy</a></strong> controlla se esistono risultati di test validi (ovvero posteriori all'ultima modifica dei sorgenti), li analizza e nega il checkin se esistono dei test non passati e se la percentuale di code coverage non è almeno pari a quella richiesta (definibile in fase di configurazione). Il link per scaricare la versione installabile è <a href="http://www.beije.it/download/CheckTestResultPolicy-bin.rar">qui</a>, mentre se volete la versione contenente anche il codice sorgente la trovate <a href="http://www.beije.it/download/CheckTestResultPolicy-src.rar">qui</a>.Ovviamente il tutto è <em>liberamente</em> scaricabile e modificabile. Qualsiasi suggerimento e/o modifica al codice è ben accetta!</p> <p>Sperando di aver fatto cosa gradita...</p> <p>Technorati Tags: <a rel="tag" href="http://technorati.com/tags/TFS">TFS</a>, <a rel="tag" href="http://technorati.com/tags/Agile">Agile</a>, <a rel="tag" href="http://technorati.com/tags/CodeCoverage">CodeCoverage</a>, <a rel="tag" href="http://technorati.com/tags/TDD">TDD</a>, <a rel="tag" href="http://technorati.com/tags/UnitTest">UnitTest</a></p><img src="http://blogs.ugidotnet.org/rucka/aggbug/69024.aspx" width="1" height="1" /> Gianluca Carucci http://blogs.ugidotnet.org/rucka/archive/2007/01/29/69024.aspx Mon, 29 Jan 2007 13:14:00 GMT http://blogs.ugidotnet.org/rucka/archive/2007/01/29/69024.aspx#feedback 4 http://blogs.ugidotnet.org/rucka/comments/commentRss/69024.aspx Generare un GUID http://blogs.ugidotnet.org/rucka/archive/2006/09/14/47827.aspx <p>Se abbiamo bisogno di generare a design time un guid (ad esempio quando creiamo un oggetto com) e non abbiamo una versione locale del tool guidgen.exe, <a href="http://www.guidgen.com/Index.aspx">questa pagina</a> risolve il problema.</p> <p>E' possibile inoltre utilizzare direttamente il <a href="http://www.guidgen.com/WS.asmx?WSDL">webservice</a> usato dalla pagina.</p><div style="margin: 0px; padding: 0px; display: inline;" contenteditable="false" class="wlWriterSmartContent">Technorati tags: <a rel="tag" href="http://technorati.com/tags/Utility">Utility</a>, <a rel="tag" href="http://technorati.com/tags/Guid">Guid</a></div><img src="http://blogs.ugidotnet.org/rucka/aggbug/47827.aspx" width="1" height="1" /> Gianluca Carucci http://blogs.ugidotnet.org/rucka/archive/2006/09/14/47827.aspx Thu, 14 Sep 2006 11:15:00 GMT http://blogs.ugidotnet.org/rucka/archive/2006/09/14/47827.aspx#feedback http://blogs.ugidotnet.org/rucka/comments/commentRss/47827.aspx Dove stiamo andando? http://blogs.ugidotnet.org/rucka/archive/2005/09/23/26957.aspx <p>Segnalo questo <a href="http://msdn.microsoft.com/msdnmag/issues/05/10/EndBracket/default.aspx">articoletto </a>di Don Box sull'msdn magazine di ottobre. Nell'articolo (molto breve) viene fatto un confronto tra i linguaggi dinamici (in particolare Scheme) e C#. Il succo è:</p> <p>"What I love about this approach versus defining a class is that I didn't need to go through the standard 20 questions one typically asks themselves when writing a new class. No class versus struct, interface versus abstract base, or other analysis was necessary. Instead I wrote a program that did what I wanted it to do. "</p> <p>Sfido chiunque legge questa frase a non essere d'accordo con lui. Quello che mi spaventa è l'approccio di questi linguaggi a problemi complessi. Gli indubbi vantaggi dei linguaggi dinamici che si hanno in "una somma", ci sono anche nei sistemi reali? Per ora io penso di no, ma se la MS, con C# 3.0 sta andando in questa direzione ci sono valide ragioni. E se lo dice Don Box....</p> <p>"This melding of code and data is central to all dialects of Lisp, and is fundamental to the way Microsoft is integrating multiple expression languages (most notably SQL) in future versions of the Microsoft<sup class="clsSmall">®</sup> .NET Framework."</p><div style="margin: 0px; padding: 0px; display: inline;" contenteditable="false" class="wlWriterSmartContent">Technorati tags: <a rel="tag" href="http://technorati.com/tags/Don%20Box">Don Box</a>, <a rel="tag" href="http://technorati.com/tags/linguaggi%20dinamici">linguaggi dinamici</a></div><img src="http://blogs.ugidotnet.org/rucka/aggbug/26957.aspx" width="1" height="1" /> Gianluca Carucci http://blogs.ugidotnet.org/rucka/archive/2005/09/23/26957.aspx Fri, 23 Sep 2005 11:11:00 GMT http://blogs.ugidotnet.org/rucka/archive/2005/09/23/26957.aspx#feedback http://blogs.ugidotnet.org/rucka/comments/commentRss/26957.aspx Windows Vista Beta 1 disponibile per il download http://blogs.ugidotnet.org/rucka/archive/2005/07/28/24430.aspx Dal <a href="http://www.pluralsight.com/blogs/dbox/default.aspx">blog </a>di Don Box scopro che la beta 1 di Windows Vista è disponibile su <a href="http://msdn.microsoft.com/subscriptions/">msdn subscriber</a>! E' anche disponibile la sezione  <a href="http://msdn.microsoft.com/windowsvista">MSDN Windows Vista Longhorn Developer Center</a> da cui reperire tutte le informazioni necessarie per scaricare e sviluppare sul nuovo sistema operativo Miscrosoft.<div style="margin: 0px; padding: 0px; display: inline;" contenteditable="false" class="wlWriterSmartContent">Technorati tags: <a rel="tag" href="http://technorati.com/tags/Vista">Vista</a>, <a rel="tag" href="http://technorati.com/tags/beta1">beta1</a></div><img src="http://blogs.ugidotnet.org/rucka/aggbug/24430.aspx" width="1" height="1" /> Gianluca Carucci http://blogs.ugidotnet.org/rucka/archive/2005/07/28/24430.aspx Thu, 28 Jul 2005 12:54:00 GMT http://blogs.ugidotnet.org/rucka/archive/2005/07/28/24430.aspx#feedback 4 http://blogs.ugidotnet.org/rucka/comments/commentRss/24430.aspx Keyhole http://blogs.ugidotnet.org/rucka/archive/2005/06/01/17703.aspx <p>Mi allaccio al <a href="http://blogs.ugidotnet.org/PierreGreborio/archive/2005/05/31/17698.aspx">post</a> di <a href="http://blogs.ugidotnet.org/PierreGreborio/">Pierre</a> per segnalarvi <a href="http://www.keyhole.com/">KeyHole</a>. E' incredibile il dettaglio a cui si può arrivare con lo zoom. Io l'ho provato e sono rimasto basito... Impressionante</p> <p>Questa è la descrizione del sito:</p> <p>"<span class="maintext">Fly from space to your home town. Visit exotic<br />locales such as Maui, Tokyo, Rome and Paris.<br />Satellite imagery makes it real. Explore restaurants,<br />hotels, parks and schools. Think magic carpet ride!</span>"</p> <p>Riuscite a vedere casa vostra? :) </p><div style="margin: 0px; padding: 0px; display: inline;" contenteditable="false" class="wlWriterSmartContent">Technorati tags: <a rel="tag" href="http://technorati.com/tags/map">map</a>, <a rel="tag" href="http://technorati.com/tags/keyhole">keyhole</a></div><img src="http://blogs.ugidotnet.org/rucka/aggbug/17703.aspx" width="1" height="1" /> Gianluca Carucci http://blogs.ugidotnet.org/rucka/archive/2005/06/01/17703.aspx Wed, 01 Jun 2005 00:54:00 GMT http://blogs.ugidotnet.org/rucka/archive/2005/06/01/17703.aspx#feedback 2 http://blogs.ugidotnet.org/rucka/comments/commentRss/17703.aspx Dove è finito l'SDK delle Directshow? http://blogs.ugidotnet.org/rucka/archive/2005/05/20/16964.aspx <p>Sicuramente non è più parte dell'Update di aprile delle <a href="http://download.microsoft.com/download/a/c/d/acdfb557-266f-4af4-8673-6ab8009b4ddd/dxsdk_apr2005.exe">DirectX</a>. La Microsoft ha deciso di spostare le DirectShow nel Platform SDK, scelta saggia visto che delle Platform SDK fanno parte anche le WindowsMediaSeries9. Forse però a questo punto andrebbe cambiato il nome... Questo spostamento spiega (forse) il perchè le DirectShow sono le uniche tecnologie DX a non avere un wrapper .NET sviluppato da MS(comunque scaricabile da <a href="http://www.codeproject.com/cs/media/directshownet.asp">qui</a>).</p> <p>Non mi resta che dare il <a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=A55B6B43-E24F-4EA3-A93E-40C0EC4F68E5&amp;displaylang=en">link</a> delle Platform SDK.</p><div style="margin: 0px; padding: 0px; display: inline;" contenteditable="false" class="wlWriterSmartContent">Technorati tags: <a rel="tag" href="http://technorati.com/tags/DirectShow">DirectShow</a>, <a rel="tag" href="http://technorati.com/tags/SDK">SDK</a></div><img src="http://blogs.ugidotnet.org/rucka/aggbug/16964.aspx" width="1" height="1" /> Gianluca Carucci http://blogs.ugidotnet.org/rucka/archive/2005/05/20/16964.aspx Fri, 20 May 2005 11:38:00 GMT http://blogs.ugidotnet.org/rucka/archive/2005/05/20/16964.aspx#feedback http://blogs.ugidotnet.org/rucka/comments/commentRss/16964.aspx Cosa mi regalo per natale? Un Media Center (alternativo)! http://blogs.ugidotnet.org/rucka/archive/2004/12/22/7577.aspx <p><a href="http://blogs.aspitalia.com/daniele/">Daniele</a> in <a href="http://blogs.aspitalia.com/daniele/post727.aspx">questo</a> post e in <a href="http://blogs.aspitalia.com/daniele/post803.aspx">questo</a> post spiega come costruirsi un mediacenter senza dover affrontare i costi eccessivi delle versioni offerte dai vari produttori. I post sono molto interessanti ed effettivamente permettono con una spesa di circa 800 euro di raggiungere lo scopo prefissato. Come sempre più cose fai da solo e più risparmi. Quindi prendo alla lettera il titolo del post di Daniele "Come costruirsi un MediaCenter" e provo a spingermi oltre e a fare di meglio (che in questo caso equivale a + economico). </p> <p>Un Media Center alternativo può essere costruito con una Xbox del costo di circa 150 euro e un pc server dotato di scheda tv chiuso in uno sgabuzzino. Può essere benissimo riciclato un pc di casa, non importa se esteticamente è brutto e rumoroso, tanto deve stare ben lontano dal televisore. A questo punto con una spesa massima di 300 euro (considerando l'acquisto della scheda tv, del telecomando e sperando di avere già un pc da riciclare) abbiamo concluso la parte hardware. Per quanto riguarda il software, sull'xbox andrà installato l'applicativo free <a href="http://www.xboxmediacenter.de/">XboxMediaCenter</a>, e sul server basterà condividere delle cartelle contenenti i nostri file multimediali. Ora abbiamo già pronto e utilizzabile un sistema per la riproduzione di file multimediali. E per la tv? Qui inizia il difficile (ma anche la parte divertente per uno sviluppatore). La parte di interfaccia con la tv è tutta da sviluppare, quindi armato di directshow, un protocollo di streaming compatibile con l'xboxmediacenter (io ho scelto XStream) mi sono messo a scrivere il codice. L'architettura è semplice, bisogna creare un grafo dshow che catturi il flusso audio video dalla scheda tv e spedisca lo stream sulla rete secondo il protocollo di streaming scelto. Inoltre, bisogna creare un canale di controllo tra xbox e il server per la gestione dei canali. Basterà scrivere uno scrippettino python (xbmc è in grado di eseguire script in questo linguaggio) che apre un socket verso il server e manda i comandi ricevuti dal telecomando. Ovviamente il server dovrà catturare questi comandi e controllare il tuner della scheda tv (tutto attraverso dshow e quindi in maniera indipendente dal tipo di scheda tv) per cambiare i canali ed avviare eventuali registrazioni dei programmi. La parte interessante è che lato client non bisogna scrivere codice, l'xbmc ci mette già a disposizione tutto quello che ci serve.</p> <p>Cosa è stato fatto fino ad ora? Per ora è stata sviluppata tutta la parte che si interfaccia con le directshow (un activex in c++) ed è praticamente conclusa anche la parte che implementa il protocollo di streaming. Cosa manca? Poco (per iniziare ad avere qualche risultato) e abbastanza (per avere un sistema completo) allo stesso tempo.... Va scritto l'applicativo (penso sarà scelto c# come linguaggio) di controllo del server che pilota l'activex, eventualmente gestise la guida tv (tramite protocollo xmltv) e la registrazione dei programmi.</p> <p>Ricapitolando... Molto lavoro è stato fatto, ne manca ancora parecchio ma a breve si potranno vedere dei risultati. Volevo mettere su un progetto su sourceforge (licenza lgpl) ma aspettavo di avere a disposizione almeno una piccola demo. Se però pensate che possa aver senso farlo prima, posso già mettere online la parte già scritta. Mi manca una cosa fondamentale però... Il nome del progetto!!!</p> <p>Con questo è tutto, se qualcuno ha suggerimenti, idee oppure partecipare allo sviluppo del progetto, lasciate un commento!!! Intanto vi terrò aggiornati sulla situazione:)</p><div style="margin: 0px; padding: 0px; display: inline;" contenteditable="false" class="wlWriterSmartContent">Technorati tags: <a rel="tag" href="http://technorati.com/tags/MediaCenter">MediaCenter</a>, <a rel="tag" href="http://technorati.com/tags/Xbox">Xbox</a>, <a rel="tag" href="http://technorati.com/tags/DirectShow">DirectShow</a></div><img src="http://blogs.ugidotnet.org/rucka/aggbug/7577.aspx" width="1" height="1" /> Gianluca Carucci http://blogs.ugidotnet.org/rucka/archive/2004/12/22/7577.aspx Wed, 22 Dec 2004 11:34:00 GMT http://blogs.ugidotnet.org/rucka/archive/2004/12/22/7577.aspx#feedback 3 http://blogs.ugidotnet.org/rucka/comments/commentRss/7577.aspx Per chi pensa che C# sia un mostro cattivo... http://blogs.ugidotnet.org/rucka/archive/2004/10/25/4633.aspx <p>... e voglia portarsi via tutte le nostre vecchie e robuste applicazioni unmanaged, una frase (e un articolo) che chiarifica alcuni preconcetti: </p> <p>"Some have speculated that C# is a replacement for C++, but it most certainly is not. C# is a language that is easier to learn than C++, and provides access to the functionality of the CLR. For those who already know C++, there's no need to learn anything to gain access to the functionality of the CLR, and C++ has features that are not in C#, so moving would actually involve giving up some power."</p> <p>La frase è presa dall'<a href="http://msdn.microsoft.com/longhorn/?pull=/library/en-us/dnvs05/html/movNETWFX.asp">articolo</a> su MSDN "Moving to .NET and WinFX: a Roadmap for C/C++ Applications".</p> <p>Buona lettura</p><div style="margin: 0px; padding: 0px; display: inline;" contenteditable="false" class="wlWriterSmartContent">Technorati tags: <a rel="tag" href="http://technorati.com/tags/C++">C++</a>, <a rel="tag" href="http://technorati.com/tags/C#">C#</a></div><img src="http://blogs.ugidotnet.org/rucka/aggbug/4633.aspx" width="1" height="1" /> Gianluca Carucci http://blogs.ugidotnet.org/rucka/archive/2004/10/25/4633.aspx Mon, 25 Oct 2004 11:49:00 GMT http://blogs.ugidotnet.org/rucka/archive/2004/10/25/4633.aspx#feedback http://blogs.ugidotnet.org/rucka/comments/commentRss/4633.aspx DotNetNuke 3.0 - Cosa ci aspetta http://blogs.ugidotnet.org/rucka/archive/2004/10/20/4475.aspx <P>Il primo novembre&nbsp;uscir&#224; la versione 3.0 di <A href="http://www.dotnetnuke.com/">questo </A>spettacolare Content Management opensource. In&nbsp;<A href="http://www.xd.com.au/Default.aspx?tabid=125">questo </A>articolo sono elencate alcune delle nuove caratteristiche. </P> <P><IMG src="http://www.xd.com.au/Portals/0/DNN3Beta_ModuleDragging.gif"></P> <P>Bh&#232;&nbsp;l'immagine parla da sola....:)</P> <P>In un mese (quello di novembre) dove usciranno Halo 2 e PES4 (Pro Evolution Soccer 4) per Xbox, ci sar&#224; il tempo per DNN3? Fino all'11 novembre sicuro:)&nbsp;</P><img src="http://blogs.ugidotnet.org/rucka/aggbug/4475.aspx" width="1" height="1" /> Gianluca Carucci http://blogs.ugidotnet.org/rucka/archive/2004/10/20/4475.aspx Wed, 20 Oct 2004 13:00:00 GMT http://blogs.ugidotnet.org/rucka/archive/2004/10/20/4475.aspx#feedback 2 http://blogs.ugidotnet.org/rucka/comments/commentRss/4475.aspx