<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Blog Alain Zanchetta</title><link>http://blogs.msdn.com/alainza/default.aspx</link><description /><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Install VS 2010 Beta 2 on a dual boot Macbook Pro</title><link>http://blogs.msdn.com/alainza/archive/2009/10/28/install-vs-2010-beta-2-on-a-dual-boot-macbook-pro.aspx</link><pubDate>Wed, 28 Oct 2009 14:40:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9914118</guid><dc:creator>alainza</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/alainza/comments/9914118.aspx</comments><wfw:commentRss>http://blogs.msdn.com/alainza/commentrss.aspx?PostID=9914118</wfw:commentRss><description>&lt;P&gt;For a developer, last week's big event was more the availability of VS 2010 beta 2 than Windows 7, which have been installed on my laptop for already several months. So I downloaded the iso from msdn web site and tried to intall it.... without success ! Here is the message I got :&lt;/P&gt;&lt;PRE&gt;[10/28/09,07:10:49] Microsoft .NET Framework 4 Beta 2: [2] Error code 5 for this component means "Access is denied."&lt;BR&gt;[10/28/09,07:10:49] Microsoft .NET Framework 4 Beta 2: [2] Component Microsoft .NET Framework 4 Beta 2 returned an unexpected value.&lt;BR&gt;[10/28/09,07:10:49] Microsoft .NET Framework 4 Beta 2: [2] Return from system messaging: Access is denied.&lt;/PRE&gt;
&lt;P&gt;After a few cleanup, I tried again to get the same error and investigated a bit more in my temp folder and found this dd_dotnetfx40_Full_X86_x64_Decompression_log.txt file :&lt;/P&gt;&lt;PRE&gt;[10/28/2009, 7:10:49] === Logging started: 2009/10/28 07:10:49 ===&lt;BR&gt;[10/28/2009, 7:10:49] Executable: f:\vs2010_beta2\setup\..\wcu\dotnetframework\dotNetFx40_Full_x86_x64.exe v4.0.21006.1&lt;BR&gt;[10/28/2009, 7:10:49] --- logging level: standard ---&lt;BR&gt;[10/28/2009, 7:10:49] Successfully bound to the ClusApi.dll&lt;BR&gt;[10/28/2009, 7:10:49] Error 0x80070424: Failed to open the current cluster&lt;BR&gt;[10/28/2009, 7:10:49] Cluster drive map: ''&lt;BR&gt;[10/28/2009, 7:10:49] Considering drive: 'C:\'...&lt;BR&gt;[10/28/2009, 7:10:49] Considering drive: 'D:\'...&lt;BR&gt;[10/28/2009, 7:10:49] Drive 'D:\' is rejected because of the unknown or unsuitable drive type&lt;BR&gt;[10/28/2009, 7:10:49] Considering drive: 'E:\'...&lt;BR&gt;[10/28/2009, 7:10:49] Considering drive: 'F:\'...&lt;BR&gt;[10/28/2009, 7:10:49] Considering drive: 'R:\'...&lt;BR&gt;[10/28/2009, 7:10:49] Drive 'R:\' is rejected because of the unknown or unsuitable drive type&lt;BR&gt;[10/28/2009, 7:10:49] Drive 'E:\' has been selected as the largest fixed drive&lt;BR&gt;[10/28/2009, 7:10:49] Error 0x80070005: Failed to create the directory to extract to.&lt;BR&gt;[10/28/2009, 7:10:49] Error 0x80070005: Failed to select and/or prepare the directory for extraction&lt;BR&gt;[10/28/2009, 7:10:49] Exiting with result code: 0x80070005&lt;BR&gt;[10/28/2009, 7:10:49] === Logging stopped: 2009/10/28 07:10:49 ===&lt;/PRE&gt;
&lt;P&gt;Cool ! Here is the explanation : my 320 GB drive is partitioned with 220 GB for Windows 7 and 100 for Mac OS X, but as I am almost exclusively using the Windows partition, the other one has more free space : that's the reason it has been selected by .NET 4 installer, even if it is a &lt;STRONG&gt;READ ONLY&lt;/STRONG&gt; partition...&lt;/P&gt;
&lt;P&gt;Once the problem is correctly understood, the solution is simple : go to computer management and remove the drive letter associated to the Mac OS X partition, and the launch the installer again =&amp;gt; now, the Windows 7 partition is selected and the installation runs smoothly (well, it failed again because I already had Silverlight 3.0 tools for VS 2008 installed but this was easier to correct).&lt;/P&gt;
&lt;P&gt;Now it is time to play with VS 2010 ;-)&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9914118" width="1" height="1"&gt;</description></item><item><title>Wiki-OS Silverlight Edition : Develop Silverlight Applications directly in your Browser and share them with one click !</title><link>http://blogs.msdn.com/alainza/archive/2009/09/18/wiki-os-silverlight-edition-develop-silverlight-applications-directly-in-your-browser-and-share-them-with-one-click.aspx</link><pubDate>Fri, 18 Sep 2009 11:55:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9896724</guid><dc:creator>alainza</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/alainza/comments/9896724.aspx</comments><wfw:commentRss>http://blogs.msdn.com/alainza/commentrss.aspx?PostID=9896724</wfw:commentRss><description>&lt;P&gt;The Silverlight Edition of &lt;A href="https://www.wiki-os.org/" target=_blank mce_href="https://www.wiki-os.org"&gt;Wiki-OS&lt;/A&gt; is now online.&lt;/P&gt;
&lt;DIV&gt;&lt;FONT color=#1ca0f2&gt;&lt;A href="https://www.wiki-os.org/" target=_blank mce_href="https://www.wiki-os.org"&gt;Wiki-OS&lt;/A&gt;&lt;/FONT&gt;&amp;nbsp;is an online environment that lets you write, build, execute, and share open-source Silverlight applications without ever leaving the web browser.&lt;/DIV&gt;
&lt;DIV&gt;&lt;BR&gt;&lt;/DIV&gt;
&lt;DIV&gt;It simulates an operating system running inside the browser, complete with a start menu that lists all the applications by order of popularity and a task bar for switching between windows.&amp;nbsp;Applications can be launched right away, without installation.&lt;/DIV&gt;
&lt;DIV&gt;&lt;BR&gt;&lt;/DIV&gt;
&lt;DIV&gt;A development environment is included that allows creating&amp;nbsp;new Silverlight 3 applications. It&amp;nbsp;provides features such as syntax &lt;IMG style="FLOAT: right; MARGIN-LEFT: 4px" alt=Image src="http://www.silverlightshow.net/Storage/wiki_os_screenshot2.jpg"&gt;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;highlighting, auto-completion, instant deployment of updates to all users, and a source control to let multiple people work collaboratively on the same project and see the history of modifications.&lt;/DIV&gt;
&lt;DIV&gt;&lt;BR&gt;&lt;/DIV&gt;
&lt;DIV&gt;Applications can be shared by copying their URL - for example &lt;A href="https://www.wiki-os.org/Sudoku/Sudoku" target=_blank mce_href="https://www.wiki-os.org/Sudoku/Sudoku"&gt;https://www.wiki-os.org/Sudoku/Sudoku&lt;/A&gt; to launch the Sudoku - or be embedded into web pages by using an html code snippet.&lt;/DIV&gt;
&lt;DIV&gt;&lt;BR&gt;&lt;/DIV&gt;
&lt;DIV&gt;Every window contains an "Edit" button that lets anyone access the source code of the window and possibly make changes, thus bringing open-source collaboration to a new level.&amp;nbsp;Developers can instantly access the source code of any application, reference other people's projects, and build on top of existing components instead of constantly reinventing the wheel.&amp;nbsp;They can also start a project and let the community finish it.&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;In the next few days, I'll describe some specifically interesting challenged of Wiki-OS implementation such as the Colored C# Editor included (the Rich Text Box does not exist in Silverlight).&lt;/DIV&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9896724" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/alainza/archive/tags/WPF/default.aspx">WPF</category><category domain="http://blogs.msdn.com/alainza/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://blogs.msdn.com/alainza/archive/tags/XAML/default.aspx">XAML</category></item><item><title>My Favourite Wiki-OS Demo</title><link>http://blogs.msdn.com/alainza/archive/2009/09/11/my-favourite-wiki-os-demo.aspx</link><pubDate>Fri, 11 Sep 2009 17:24:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9894211</guid><dc:creator>alainza</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/alainza/comments/9894211.aspx</comments><wfw:commentRss>http://blogs.msdn.com/alainza/commentrss.aspx?PostID=9894211</wfw:commentRss><description>&lt;P&gt;One of the coolest features of &lt;A href="https://www.wiki-os.org/" target=_blank mce_href="https://www.wiki-os.org"&gt;Wiki-OS&lt;/A&gt; is the possibility to access the source of an application, do some changes, recompile it and tests the changes without having to close the application (ok, if you change the layout of a window, you'll have to close and reopen this window to see the new version).&lt;/P&gt;
&lt;P&gt;Here is a small sample, let's start the "My Favourite Demo" application and click on the "Hello ! " button :&lt;/P&gt;
&lt;P&gt;&lt;A href="https://www.wiki-os.org/" target=_blank mce_href="https://www.wiki-os.org"&gt;&lt;IMG style="WIDTH: 894px; HEIGHT: 669px" title="Hello World..." alt="Hello World..." src="http://alain.zanchetta.free.fr/blog/myfavouritedemo/02.jpg" width=894 height=669 mce_src="http://alain.zanchetta.free.fr/blog/myfavouritedemo/02.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;It does not seem correct, let's click on the "Edit" button :&lt;/P&gt;
&lt;P&gt;&lt;IMG style="WIDTH: 306px; HEIGHT: 227px" title="Edit button" alt="Edit button" src="http://alain.zanchetta.free.fr/blog/myfavouritedemo/03.jpg" width=306 height=227 mce_src="http://alain.zanchetta.free.fr/blog/myfavouritedemo/03.jpg"&gt;&lt;/P&gt;
&lt;P&gt;It opens the Code Editor, while the application is still there (look at the taskbar) :&lt;/P&gt;
&lt;P&gt;&lt;A href="https://www.wiki-os.org/" mce_href="https://www.wiki-os.org"&gt;&lt;IMG style="WIDTH: 894px; HEIGHT: 669px" title="Code Editor" alt="Code Editor" src="http://alain.zanchetta.free.fr/blog/myfavouritedemo/04.jpg" width=894 height=669 mce_src="http://alain.zanchetta.free.fr/blog/myfavouritedemo/04.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Let's double click on the "Hello !" button, we see that its code delegates the work to the MySuperAssistant class :&lt;/P&gt;
&lt;P&gt;&lt;CODE&gt;private void HelloButton_Click(object sender, RoutedEventArgs e) {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MySuperAssistant assistant = new MySuperAssistant();&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;string answer = assistant.StartDialog(NameTextBox.Text);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MessageBox.Show(answer);&lt;BR&gt;}&lt;/CODE&gt;&lt;/P&gt;
&lt;P&gt;Let's now open the MySuperAssistant class and replace &lt;BR&gt;&lt;CODE&gt;return "Hello world";&lt;/CODE&gt; &lt;BR&gt;with &lt;BR&gt;&lt;CODE&gt;return "Hello " + name;&lt;/CODE&gt;&lt;/P&gt;
&lt;P&gt;Let's now Save the changes : this will trigger a compilation of the updated classe(s) and all its/their dependencies. &lt;/P&gt;
&lt;P&gt;&lt;IMG style="WIDTH: 247px; HEIGHT: 129px" title=Save alt=Save src="http://alain.zanchetta.free.fr/blog/myfavouritedemo/07.jpg" width=247 height=129 mce_src="http://alain.zanchetta.free.fr/blog/myfavouritedemo/07.jpg"&gt;&lt;/P&gt;
&lt;P&gt;Now switch back to the application with the taskbar, there is no need to launch it again, and click the same "Hello !" button as previously : "et voilà !" the application has been corrected by a simple user :-)&lt;/P&gt;
&lt;P&gt;&lt;IMG style="WIDTH: 894px; HEIGHT: 669px" title="Application is now OK" alt="Application is now OK" src="http://alain.zanchetta.free.fr/blog/myfavouritedemo/09.jpg" width=894 height=669 mce_src="http://alain.zanchetta.free.fr/blog/myfavouritedemo/09.jpg"&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9894211" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/alainza/archive/tags/WPF/default.aspx">WPF</category><category domain="http://blogs.msdn.com/alainza/archive/tags/XAML/default.aspx">XAML</category></item><item><title>Article sur Visual C++ dans le dernier Programmez! Hors série sur .Net</title><link>http://blogs.msdn.com/alainza/archive/2008/06/25/article-sur-visual-c-dans-le-dernier-programmez-hors-s-rie-sur-net.aspx</link><pubDate>Wed, 25 Jun 2008 19:19:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8652446</guid><dc:creator>alainza</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/alainza/comments/8652446.aspx</comments><wfw:commentRss>http://blogs.msdn.com/alainza/commentrss.aspx?PostID=8652446</wfw:commentRss><description>Le dernier numéro hors série de Programmez! sur .NET contient un article que j'ai écrit sur le VC Feature Pack pour Visual Studio 2008.&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8652446" width="1" height="1"&gt;</description></item><item><title>XNA 3 CTP = XNA for Zune</title><link>http://blogs.msdn.com/alainza/archive/2008/05/08/xna-3-ctp-xna-for-zune.aspx</link><pubDate>Thu, 08 May 2008 10:33:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8469807</guid><dc:creator>alainza</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/alainza/comments/8469807.aspx</comments><wfw:commentRss>http://blogs.msdn.com/alainza/commentrss.aspx?PostID=8469807</wfw:commentRss><description>&lt;P&gt;&lt;A class="" href="http://blogs.msdn.com/xna/archive/2008/05/07/announcing-xna-game-studio-3-0-community-technical-preview-ctp.aspx" mce_href="http://blogs.msdn.com/xna/archive/2008/05/07/announcing-xna-game-studio-3-0-community-technical-preview-ctp.aspx"&gt;The first CTP of XNA Game Studio 3.0 is&amp;nbsp;now available&lt;/A&gt;&amp;nbsp;!&lt;/P&gt;
&lt;P&gt;This CTP only targets Windows and Zune and only supports 32 bits edition of Windows, but it is already great to be able to develop games for Zune ! I have ported my Xna Chess game from Xbox 360 to Zune in just a few hours : most of the work was bitmap resizing ! Of course the Zune does not have enough power to make it competitive against native engines for Pocket PCs (such as Fruit under CEBoard :-) ) but it is really cool to have the same code running on XBox, PC and Zune !&lt;/P&gt;
&lt;P&gt;Here is a screenshot:&lt;/P&gt;
&lt;P&gt;&lt;IMG title="Zune Chess" style="WIDTH: 291px; HEIGHT: 507px" height=507 alt="Zune Chess" src="http://alain.zanchetta.free.fr/images/ZuneChess.jpg" width=291 mce_src="http://alain.zanchetta.free.fr/images/ZuneChess.jpg"&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8469807" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/alainza/archive/tags/zune/default.aspx">zune</category><category domain="http://blogs.msdn.com/alainza/archive/tags/chess/default.aspx">chess</category></item><item><title>Nouvel article dans Programmez!</title><link>http://blogs.msdn.com/alainza/archive/2007/10/24/ProgrammezWindowsMobile.aspx</link><pubDate>Wed, 24 Oct 2007 23:59:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:5656788</guid><dc:creator>alainza</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/alainza/comments/5656788.aspx</comments><wfw:commentRss>http://blogs.msdn.com/alainza/commentrss.aspx?PostID=5656788</wfw:commentRss><description>&lt;P&gt;Le &lt;A class="" href="http://www.programmez.com/dotnet/magazine.php" mce_href="http://www.programmez.com/dotnet/magazine.php"&gt;dernier numéro hors série de Programmez! sur .NET&lt;/A&gt; contient un article que j'ai écrit cet été sur le développement pour Pocket PC avec .NET. Il s'appuie sur une petite application de gestion d'une base de Bandes Dessinées que j'ai écrite pour l'occasion.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;Complément : les sources sont maintenant disponibles à l'adresse : &lt;A href="http://www.zanchetta.fr/articles/CompactFramework/SourcesPocketBD.zip"&gt;http://www.zanchetta.fr/articles/CompactFramework/SourcesPocketBD.zip&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Complément 25 juin 2008 : l'article est maintenant disponible en ligne &lt;A href="http://www.zanchetta.fr/Articles/WindowsMobile/WindowsMobile.htm"&gt;http://www.zanchetta.fr/Articles/WindowsMobile/WindowsMobile.htm&lt;/A&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=5656788" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/alainza/archive/tags/Pocket+PC/default.aspx">Pocket PC</category></item><item><title>Silverlight and dedicated chess computers</title><link>http://blogs.msdn.com/alainza/archive/2007/08/12/silverlight-and-dedicated-chess-computers.aspx</link><pubDate>Sun, 12 Aug 2007 10:02:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4346912</guid><dc:creator>alainza</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/alainza/comments/4346912.aspx</comments><wfw:commentRss>http://blogs.msdn.com/alainza/commentrss.aspx?PostID=4346912</wfw:commentRss><description>&lt;P&gt;I have rewritten my Atlas Wooden Chess Computer comparer in Silverlight. I wanted to use only Silverlight 1.0 which is very close to release now and not Silverlight 1.1 which is still in early stage.&lt;/P&gt;
&lt;P&gt;I looked at the samples already existing on the web and found that the &lt;A class="" href="http://silverlight.net/samples/1.0/Silverlight-Pad/default.html" target=_blank mce_href="http://silverlight.net/samples/1.0/Silverlight-Pad/default.html"&gt;Silverlight Pad sample&lt;/A&gt; looked very close to what I was looking for. I adaptated the reusable part of its source, added a few classes of mine (I needed a slider as well as a more generic bar because I wanted to have two of them) and it was very interesting to do because the approach "design in XAML + behavior in Javascript class" seems quite clean to me.&lt;/P&gt;
&lt;P&gt;J'ai réécrit avec Silverlight mon Comparateur d'Echiquiers Electroniques en Bois auparavant codé en Atlas ; j'ai tenu à l'écrire en Silverlight 1.0 qui est pratiquement prêt (contrairement à Silverlight 1.1 qui est encore en version très préliminaire).&lt;/P&gt;
&lt;P&gt;Je me suis beaucoup inspiré de l'&lt;A class="" href="http://silverlight.net/samples/1.0/Silverlight-Pad/default.html" target=_blank mce_href="http://silverlight.net/samples/1.0/Silverlight-Pad/default.html"&gt;exemple Silverlight Pad&lt;/A&gt; qui ressemblait beaucoup à ce que je recherchais. J'ai adapté la partie réutilisable de ses sources, ajouté mes propres classes (c'était nécessaire car j'avais besoins de composants supplémentaires comme un Curseur ou une barre plus générique car je voulais en afficher deux sur la même page). L'approche "Design en XAML + comportement en Javascript" est intéressante et finalement assez propre.&lt;/P&gt;
&lt;TABLE class=""&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD class="" vAlign=bottom align=middle&gt;&lt;A href="http://www.zanchetta.net/echecs/EchiquiersSilverlight/" target=_blank&gt;&lt;IMG src="http://alain.zanchetta.free.fr/blog/SilverlightComparer.png" border=0&gt;&lt;/A&gt;&lt;/TD&gt;
&lt;TD class="" vAlign=bottom align=middle&gt;&lt;A href="http://www.zanchetta.net/echecs/default.aspx?page=Comparer/Default.Aspx" target=_blank&gt;&lt;IMG src="http://alain.zanchetta.free.fr/blog/AtlasComparer.png" border=0&gt;&lt;/A&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="" align=middle&gt;&lt;A href="http://www.zanchetta.net/echecs/EchiquiersSilverlight/" target=_blank&gt;Silverlight version&lt;/A&gt;&lt;/TD&gt;
&lt;TD class="" align=middle&gt;&lt;A href="http://www.zanchetta.net/echecs/default.aspx?page=Comparer/Default.Aspx" target=_blank&gt;Atlas version&lt;/A&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=4346912" width="1" height="1"&gt;</description></item><item><title>Fruit 2.3.1 pour CEBoard</title><link>http://blogs.msdn.com/alainza/archive/2007/08/09/fruit-2-3-1-pour-ceboard.aspx</link><pubDate>Thu, 09 Aug 2007 16:33:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4310583</guid><dc:creator>alainza</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/alainza/comments/4310583.aspx</comments><wfw:commentRss>http://blogs.msdn.com/alainza/commentrss.aspx?PostID=4310583</wfw:commentRss><description>&lt;P&gt;J'ai profité de mes vacances pour porter la dernière version de &lt;A class="" href="http://www.fruitchess.com/" target=_blank mce_href="http://www.fruitchess.com/"&gt;Fruit&lt;/A&gt; sur Pocket PC en tant que moteur pour &lt;A class="" href="http://www.zanchetta.net/CEBoard" mce_href="http://www.zanchetta.net/CEBoard"&gt;CEBoard&lt;/A&gt;. Cette version supporte les End Game Table Bases et pourrait bien être le plus fort programme d'échecs disponible à ce jour pour Pocket PC. Le .cab correspondant est disponible sur la &lt;A class="" href="http://www.zanchetta.net/CEBoard" mce_href="http://www.zanchetta.net/CEBoard"&gt;page de CEBoard&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;I have taken advantage of holidays to port the latest release of Fruit to the Pocket PC Platform as an engine for CEboard. This release supports End Game Table Bases and could be the strongest chess program for Pocket PC available. Fruit's cab can be downloaded on &lt;A class="" href="http://www.zanchetta.net/CEBoard" mce_href="http://www.zanchetta.net/CEBoard"&gt;CEBoard's page&lt;/A&gt;&lt;/EM&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=4310583" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/alainza/archive/tags/Pocket+PC+Software/default.aspx">Pocket PC Software</category></item><item><title>XNA Chess pour XBox 360</title><link>http://blogs.msdn.com/alainza/archive/2007/06/13/xna-chess-pour-xbox-360.aspx</link><pubDate>Wed, 13 Jun 2007 22:47:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:3273822</guid><dc:creator>alainza</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/alainza/comments/3273822.aspx</comments><wfw:commentRss>http://blogs.msdn.com/alainza/commentrss.aspx?PostID=3273822</wfw:commentRss><description>&lt;P&gt;Lorsque XNA Game Studio Express est sorti, je me suis dit que j'allais développer un jeu d'échecs pour Xbox 360. Comme les jeux d'échecs sur PC sont maintenant toujours constitués d'une interface graphique et d'un moteur indépendant, j'ai décidé de transposer en C# un des meilleurs programmes open source disponibles, &lt;A class="" title="Toga II 1.2.1A" href="http://www.superchessengine.com/toga_ii.htm" target=_blank mce_href="http://www.superchessengine.com/toga_ii.htm"&gt;Toga II 1.2.1A&lt;/A&gt; et de lui développer une interface utilisateur avec XNA Game Studio Express.&lt;/P&gt;
&lt;P&gt;Voici le résultat :&lt;/P&gt;
&lt;P&gt;&lt;IMG src="http://www.zanchetta.net/echecs/images/Toga360_2.jpg" mce_src="http://www.zanchetta.net/echecs/images/Toga360_2.jpg"&gt;&lt;/P&gt;
&lt;P&gt;Bon, ça n'a malgré tout pas été de tout repos, même si l'interface utilisateur est assez réduite. En effet, il a fallu commencer par transposer de C# en C++ les presque 400 Ko de source de Toga II ; bien que la syntaxe du C# soit assez proche de celle du C++, il subsiste des différences comme la quasi-impossibilité d'incorporer un tableau à l'intérieur d'une classe ou d'une structure (je parle bien du tableau lui-même qui est à l'intérieur de la structure et non d'une référence vers un tableau alloué séparément).&lt;/P&gt;
&lt;P&gt;Après un portage&amp;nbsp;"brut" de fonderie, j'ai été un peu surpris par les performances assez moyennes du résultat : sur mon portable, la version C++ de Toga II analyse environ 650 000 positions / seconde alors que la version transposée en C# n'atteint que 100 000 positions / seconde environ. Cela dit, il faut relativiser car ces 100 000 positions / seconde sont suffisantes pour exploser la plupart des joueurs humains.&lt;/P&gt;
&lt;P&gt;L'enrobage du moteur a nécessité deux autres composants : la partie purement graphique et une petite&amp;nbsp;bibliothèque de gestion de partie d'échecs (que j'ai portée à partir du code de &lt;A class="" title=CEBoard href="http://www.zanchetta.net/CEBoard" target=_blank mce_href="http://www.zanchetta.net/CEBoard"&gt;CEBoard&lt;/A&gt;). Le plus long était comme souvent d'obtenir un rendu un peu agréable des pièces et des boîtes de dialogue (sans compter le dessin des boutons des pads xbox que j'ai dessinés avec Expression Design).&lt;/P&gt;
&lt;P&gt;Une fois le jeu déposé sur Xbox... les performances étaient descendues à 950 positions / seconde environ !!!!&lt;/P&gt;
&lt;P&gt;Heureusement, quelques emails échangés avec d'autres amateurs de XNA m'ont orienté vers la gestion de la mémoire : l'outil "XNA Framework Remote Performance Monitor for Xbox 360" est très pratique : il permet de voir en temps réel un certain nombre de compteurs de performance de XNA sur la Xbox et m'a permis de constater que j'avais environ 7 Garbage Collections par seconde... Or si on lit l'article &lt;A class="" title="Article sur Gestion mémoire et Garbage collector de XNA Express" href="http://blogs.msdn.com/netcfteam/archive/2006/12/22/managed-code-performance-on-xbox-360-for-xna-part-2-gc-and-tools.aspx" target=_blank mce_href="http://blogs.msdn.com/netcfteam/archive/2006/12/22/managed-code-performance-on-xbox-360-for-xna-part-2-gc-and-tools.aspx"&gt;http://blogs.msdn.com/netcfteam/archive/2006/12/22/managed-code-performance-on-xbox-360-for-xna-part-2-gc-and-tools.aspx&lt;/A&gt;,&amp;nbsp;on voit que ma xbox passait son temps à faire le ménage !!!&lt;/P&gt;
&lt;P&gt;Donc, voici les opérations que j'ai effectuées :&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;suppression de toutes les allocations dynamiques de l'interface utilisateur (conservation des objets entre les appels) et surtout du moteur de jeu : comme celui-ci est récursif, il était impossible de transformer toutes les variables locales en variables globales ! J'ai donc créé une liste par type d'objet alloué dynamiquement : lorsqu'on a besoin d'un objet, on prend la tête de liste (et effectue une allocation dynamique si la liste est vide) et surtout lorsqu'on n'en a plus besoin, on le remet dans la liste. C'est bien dommage de devoir gérer ainsi la mémoire en C# mais bon, ce n'est pas plus compliqué de penser à appeler delete en C++ !&lt;BR&gt;&lt;/LI&gt;
&lt;LI&gt;remplacement des chaînes de caractères utilisées par le moteur pour envoyer ses informations à l'IHM (le moteur C++ original communique via son entrée standard&amp;nbsp;et sa sortie standard) par une classe (allouée comme les précédentes).&lt;BR&gt;&lt;/LI&gt;
&lt;LI&gt;changement de l'affinité du thread du moteur pour le mettre sur un processeur différent de l'interface homme machine.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Le gain est appréciable : on atteint maintenant 15 000 positions / seconde sur la xbox. C'est encore loin du PC et encore plus de la version C++ mais ce n'est pas très étonnant : non seulement, la xbox utilise le .NET Compact Framework et non le .NET Framework 2.0 qui est plus sophistiqué au niveau du runtime mais aussi XNA Express a été optimisé pour les opérations graphiques et non celles de calcul.&lt;/P&gt;
&lt;P&gt;Un dernier point à noter avant les liens pour télécharger XNA Chess : dans la position initiale, le moteur C# sur mon portable générait initialement 3380 GC de génération 0 en 10 secondes (pour donc environ 1 000 000&amp;nbsp;positions analysées). La version "optimisée" descend à une trentaine... mais les performances sur le PC n'ont quasiment pas bougé (quelques % tout au plus) ! Cela montre à quel point le GC "générationnel" du .NET Framework (malheureusement absent de la version Compact) est efficace.&lt;/P&gt;
&lt;P&gt;&lt;A class="" title="XnaChess package pour Windows" href="http://alain.zanchetta.free.fr/softs/XnaChess-Windows.ccgame" target=_blank mce_href="http://alain.zanchetta.free.fr/softs/XnaChess-Windows.ccgame"&gt;http://alain.zanchetta.free.fr/softs/XnaChess-Windows.ccgame&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A class="" title="Package XNA GSE pour Xbox 360" href="http://alain.zanchetta.free.fr/softs/XnaChess360-Xbox360.ccgame" target=_blank mce_href="http://alain.zanchetta.free.fr/softs/XnaChess360-Xbox360.ccgame"&gt;http://alain.zanchetta.free.fr/softs/XnaChess360-Xbox360.ccgame&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A class="" title="Source C# de Toga" href="http://alain.zanchetta.free.fr/softs/XnaChess360.Toga.zip" mce_href="http://alain.zanchetta.free.fr/softs/XnaChess360.Toga.zip"&gt;Source C# de Toga&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;IMG src="http://www.zanchetta.net/echecs/images/Toga360_1.jpg" mce_src="http://www.zanchetta.net/echecs/images/Toga360_1.jpg"&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=3273822" width="1" height="1"&gt;</description></item><item><title>XNA Panic Game</title><link>http://blogs.msdn.com/alainza/archive/2006/12/18/xna-panic-game.aspx</link><pubDate>Mon, 18 Dec 2006 10:07:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1314704</guid><dc:creator>alainza</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/alainza/comments/1314704.aspx</comments><wfw:commentRss>http://blogs.msdn.com/alainza/commentrss.aspx?PostID=1314704</wfw:commentRss><description>&lt;P&gt;L'annonce de XNA Game Studio Express en août dernier m'a incité à essayer de développer mon premier jeu d'arcade, cela faisait longtemps que je rêvais de pouvoir développer pour mes XBox. Voici donc &lt;STRONG&gt;XNA Panic&lt;/STRONG&gt; qui est un remake d'un jeu de borne d'arcade auquel je jouais lorsque j'étais lycéen. La description de son implémentation devrait être publiée dans le prochain numéro du magazine Programmez! &lt;BR&gt;&lt;IMG title="XNA Panic PC" style="WIDTH: 451px; HEIGHT: 360px" height=360 alt="XNA Panic PC" src="http://alain.zanchetta.free.fr/images/XNAPanic.JPG" width=451 border=0 mce_src="http://alain.zanchetta.free.fr/images/XNAPanic.JPG"&gt;&lt;BR&gt;Le lien ci-dessous contient les sources de la version XBox ainsi que de la version Windows.&lt;/P&gt;
&lt;P&gt;&lt;A class="" title="XNA Panic download" href="http://alain.zanchetta.free.fr/softs/XnaPanic.zip" mce_href="http://alain.zanchetta.free.fr/softs/XnaPanic.zip"&gt;Télécharger XNA Panic&lt;/A&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1314704" width="1" height="1"&gt;</description></item><item><title>Transmission d'entités entre client et Service Web</title><link>http://blogs.msdn.com/alainza/archive/2005/09/01/transmission-d-entit-s-entre-client-et-service-web.aspx</link><pubDate>Thu, 01 Sep 2005 18:34:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:459082</guid><dc:creator>alainza</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/alainza/comments/459082.aspx</comments><wfw:commentRss>http://blogs.msdn.com/alainza/commentrss.aspx?PostID=459082</wfw:commentRss><description>&lt;P&gt;Entrée supprimée car trop longue.... va être remise sur http://www.zanchetta.fr&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=459082" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/alainza/archive/tags/Developpement+.NET/default.aspx">Developpement .NET</category></item><item><title>CEBoard 2.0</title><link>http://blogs.msdn.com/alainza/archive/2004/11/14/257145.aspx</link><pubDate>Sun, 14 Nov 2004 06:41:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:257145</guid><dc:creator>alainza</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/alainza/comments/257145.aspx</comments><wfw:commentRss>http://blogs.msdn.com/alainza/commentrss.aspx?PostID=257145</wfw:commentRss><description>&lt;P&gt;CEBoard is a chess tool for Pocket PC.It's main purpose is game viewing and editing. It fully supports the PGN standard (including variations). The two main features of the 2.0 release are :&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;multi-criteria, multi-file search 
&lt;LI&gt;hosting of chess engines : CEBoard is able to host CraftyClassic2004, Fruit 2.1 and Toga II 1.0&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;&lt;A href="http://www.zanchetta.net/CEBoard"&gt;http://www.zanchetta.net/CEBoard&lt;/A&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=257145" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/alainza/archive/tags/Pocket+PC+Software/default.aspx">Pocket PC Software</category></item><item><title>Scrabble duplicate for Pocket PC</title><link>http://blogs.msdn.com/alainza/archive/2004/10/31/250145.aspx</link><pubDate>Sun, 31 Oct 2004 02:31:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:250145</guid><dc:creator>alainza</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/alainza/comments/250145.aspx</comments><wfw:commentRss>http://blogs.msdn.com/alainza/commentrss.aspx?PostID=250145</wfw:commentRss><description>I've put on my web site&amp;nbsp;(&lt;A href="http://www.zanchetta.net/pocketPC/default.aspx?page=srabblce.htm"&gt;http://www.zanchetta.net/pocketPC/default.aspx?page=srabblce.htm&lt;/A&gt;) an English&amp;nbsp;version of my Scrabble Duplicate program for&amp;nbsp;Pocket PC. The web page is in French but the program is fully translated and uses the English Dictionary.&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=250145" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/alainza/archive/tags/Pocket+PC+Software/default.aspx">Pocket PC Software</category></item><item><title>Tâches Aujourd'hui 1.2 disponible</title><link>http://blogs.msdn.com/alainza/archive/2004/10/31/250144.aspx</link><pubDate>Sun, 31 Oct 2004 02:29:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:250144</guid><dc:creator>alainza</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/alainza/comments/250144.aspx</comments><wfw:commentRss>http://blogs.msdn.com/alainza/commentrss.aspx?PostID=250144</wfw:commentRss><description>&amp;nbsp;&amp;nbsp;&amp;nbsp;J'ai déposé sur mon site (&lt;A href="http://www.zanchetta.net/pocketpc"&gt;http://www.zanchetta.net/pocketpc&lt;/A&gt;) une nouvelle version de TâchesAujourd'hui. Elle gère maintenant les tâches Terminées.&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=250144" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/alainza/archive/tags/Pocket+PC+Software/default.aspx">Pocket PC Software</category></item></channel></rss>