<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-38764963</atom:id><lastBuildDate>Tue, 25 Oct 2011 12:07:38 +0000</lastBuildDate><title>Microsoft .NET 4 Training and Consulting</title><description>Arnaud Weil's technical blog (.NET Framework 4, WPF, Silverlight 4, ASP.NET, WCF, Windows Forms, Web Service, WF, Volta)</description><link>http://dreamdotnet.blogspot.com/</link><managingEditor>noreply@blogger.com (Arnaud)</managingEditor><generator>Blogger</generator><openSearch:totalResults>127</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/dreamdotnet" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="dreamdotnet" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">dreamdotnet</feedburner:emailServiceId><feedburner:feedburnerHostname xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://feedburner.google.com</feedburner:feedburnerHostname><item><guid isPermaLink="false">tag:blogger.com,1999:blog-38764963.post-6310876385706657085</guid><pubDate>Mon, 18 Jul 2011 13:21:00 +0000</pubDate><atom:updated>2011-07-18T08:21:18.916-05:00</atom:updated><title>Reverse order StackPanel for Silverlight</title><description>&lt;p&gt;I needed a StackPanel that orders element Vertically from bottom to top, but couldn’t find one. Setting VerticalAlignment=&amp;quot;Bottom&amp;quot; on the elements as suggested on many sites doesn’t do the trick, since the Z-order is not modified (this shows true if your elements overflow like in a 3D stack).&lt;/p&gt;  &lt;p&gt;So here’s the code I created for a bottom-top StackPanel, free for you to use:&lt;/p&gt;  &lt;p&gt;public class ReverseStackPanel : Panel    &lt;br /&gt;{     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; protected override Size MeasureOverride(Size availableSize)     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; {     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; foreach (FrameworkElement child in Children)     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; child.Measure(availableSize);&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; return availableSize;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; protected override Size ArrangeOverride(Size finalSize)    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; {     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; double bottom = finalSize.Height;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; foreach (var child in Children)     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; child.Arrange(new Rect(0, bottom-child.DesiredSize.Height, finalSize.Width, child.DesiredSize.Height));     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; bottom -= child.DesiredSize.Height;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; return finalSize;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }&lt;/p&gt;  &lt;p&gt;}    &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/38764963-6310876385706657085?l=dreamdotnet.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://dreamdotnet.blogspot.com/2011/07/reverse-order-stackpanel-for_18.html</link><author>noreply@blogger.com (Arnaud)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-38764963.post-2416422876643683823</guid><pubDate>Mon, 18 Jul 2011 13:20:00 +0000</pubDate><atom:updated>2011-07-18T08:20:39.707-05:00</atom:updated><title>Reverse order StackPanel for Silverlight</title><description>&lt;p&gt;I needed a StackPanel that orders element Vertically from bottom to top, but couldn’t find one. Setting VerticalAlignment=&amp;quot;Bottom&amp;quot; on the elements as suggested on many sites doesn’t do the trick, since the Z-order is not modified (this shows true if your elements overflow like in a 3D stack).&lt;/p&gt;  &lt;p&gt;So here’s the code I created for a bottom-top StackPanel, free for you to use:&lt;/p&gt;  &lt;p&gt;public class ReverseStackPanel : Panel   &lt;br /&gt;{    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; protected override Size MeasureOverride(Size availableSize)    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; {    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; foreach (FrameworkElement child in Children)    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; child.Measure(availableSize);&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; return availableSize;   &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; protected override Size ArrangeOverride(Size finalSize)   &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; {    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; double bottom = finalSize.Height;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; foreach (var child in Children)    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; child.Arrange(new Rect(0, bottom-child.DesiredSize.Height, finalSize.Width, child.DesiredSize.Height));    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; bottom -= child.DesiredSize.Height;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; return finalSize;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }&lt;/p&gt;  &lt;p&gt;}   &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/38764963-2416422876643683823?l=dreamdotnet.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://dreamdotnet.blogspot.com/2011/07/reverse-order-stackpanel-for.html</link><author>noreply@blogger.com (Arnaud)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-38764963.post-8677343891381804079</guid><pubDate>Tue, 28 Sep 2010 20:26:00 +0000</pubDate><atom:updated>2010-09-28T15:26:23.448-05:00</atom:updated><title>HTML5 et Silverlight / Flash</title><description>&lt;p&gt;&lt;a href="http://lh6.ggpht.com/_5pjb5f5mXMg/TKJPaj4RN4I/AAAAAAAAAiw/-a-b3XIlk78/s1600-h/LogoSilverlight%5B4%5D.png"&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="LogoSilverlight" border="0" alt="LogoSilverlight" align="right" src="http://lh4.ggpht.com/_5pjb5f5mXMg/TKJPbsP_sQI/AAAAAAAAAi0/UAjUTA_Sb-M/LogoSilverlight_thumb%5B2%5D.png?imgmax=800" width="217" height="240" /&gt;&lt;/a&gt; Depuis quelque temps, j’entends dire ça et là que &lt;strong&gt;HTML5 pourrait remplacer Flash et Silverlight&lt;/strong&gt;. Soit. Que ça serait une raison pour ne pas faire de Silverlight. Alors là, c’est tout faux.&lt;/p&gt;  &lt;p&gt;La première question à se poser est: votre application riche, &lt;strong&gt;quand&lt;/strong&gt; doit-elle tourner dans la majorité des navigateurs déployés? Aujourd’hui ou dans 4 ans?&lt;/p&gt;  &lt;p&gt;Je parie que votre projet n’attendra pas 4 ans. Alors, s’il est de bon ton d’aider à avoir une norme pour HTML5 (la RFC est à l’état de Working Draft au W3C, c’est le moment d’y collaborer), il faut tout de même comprendre qu’adopter HTML5 aujourd’hui c’est condamner l’application à ne fonctionner que dans quelques rares navigateurs, et encore, au prix de nombreux “if navigateur==Firefox4.0 ne pas faire ça”. Aucun navigateur n’implémente complètement HTML5 aujourd’hui, et ça ne sera pas le cas demain. Pour une raison bête: &lt;strong&gt;la norme HTML5 n’existe pas encore. &lt;/strong&gt;Pire: si une application est faite en HTML5 aujourd’hui, il faudra la corriger quand la norme finale sortira et que les navigateurs devront la respecter.&lt;/p&gt;  &lt;p&gt;La deuxième question est: voulez-vous utiliser un standard à tout prix, ou est-ce que la fourniture d’une bonne expérience utilisateur compte pour vous? Silverlight est une technologie unique en son genre, car elle permet depuis le début (ça faisait partie de son cahier des charges) la &lt;strong&gt;collaboration ergonome-graphiste-développeur&lt;/strong&gt;. &lt;a href="http://www.aweil.fr/Formation--Silverlight-4-et-Expression-Blend-pour-graphistes.aspx" target="_blank"&gt;Expression Blend et son SketchFlow&lt;/a&gt; sont la quintessence de ce qu’on peut faire de mieux pour offrir à l’utilisateur l’application de ses rêves. En HTML5, point d’outil de ce genre. Le but est d’avoir une norme, pas un workflow axé sur la satisfaction utilisateur.&lt;/p&gt;  &lt;p&gt;La dernière question est: pourquoi parle-t-on autant de HTML5 aujourd’hui alors que ce n’est qu’un embryon? Il faut savoir que depuis quelques mois la guerre des RIA fait rage. &lt;a href="http://www.gartner.com/DisplayDocument?ref=clientFriendlyUrl&amp;amp;id=1270013" target="_blank"&gt;Certains analystes ont prédit&lt;/a&gt; que les RIAs seraient le prochain succès, et du coup tout le monde veut avoir le sien. Adobe a amélioré le développement Flash avec Flex, Microsoft a créé et bien diffusé Silverlight, Oracle s’est cassé les dents avec son JavaFX. Et &lt;strong&gt;Google&lt;/strong&gt; dans tout ça? Eux qui sentent qu’ils doivent absolument fournir toutes les technologies Web même s’ils ont 2 ans de retard et aucune légitimité (c.f. Google Wave, par exemple), que proposent-ils? Pas de lecteur RIA. Alors dire qu’on est gentil parce qu’on veut proposer un standard et expliquer à tous les internautes qu’il vaut mieux avoir dans 4 ans l’expérience utilisateur qu’on pourrait avoir aujourd’hui, c’est une tactique qui peut marcher quand on n’a rien de mieux.&lt;/p&gt;  &lt;p&gt;Reste que dans la série “on est des gentils parce qu’on aime les standards”, je trouve un peu trop facile de taper sur Microsoft comme se plaît à le faire la communauté (Googlienne?) HTML5. Mon expérience de .NET ces 10 dernières années m’a montré que Microsoft a respecté et même soutenu les standards du Web que sont SOAP, WS-I 1.1, XML, JSON, et j’en passe.&lt;/p&gt;  &lt;p&gt;Alors, mes clients et moi, &lt;a href="http://arnaudweil.blogspot.com/2010/09/quelques-projets-silverlight-qui-ont-ma.html" target="_blank"&gt;nous offrons aujourd’hui&lt;/a&gt; à l’utilisateur l’expérience que certains lui promettent pour demain. Et nous passerons à HTML5 dans 4 ans, quand il deviendra légitime. Ou pas, si Silverlight conserve son avance.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/38764963-8677343891381804079?l=dreamdotnet.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://dreamdotnet.blogspot.com/2010/09/html5-et-silverlight-flash.html</link><author>noreply@blogger.com (Arnaud)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh4.ggpht.com/_5pjb5f5mXMg/TKJPbsP_sQI/AAAAAAAAAi0/UAjUTA_Sb-M/s72-c/LogoSilverlight_thumb%5B2%5D.png?imgmax=800" height="72" width="72" /><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-38764963.post-2695617665183956254</guid><pubDate>Wed, 09 Dec 2009 23:03:00 +0000</pubDate><atom:updated>2009-12-09T17:33:39.595-06:00</atom:updated><title>Silverlight for Windows Mobile announced on march 2010?</title><description>&lt;p&gt;I’m just guessing, &lt;a href="http://lh4.ggpht.com/_5pjb5f5mXMg/SyAsqqzFf7I/AAAAAAAAAZY/QEiaoNjZFEo/s1600-h/LogoSilverlight%5B10%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="LogoSilverlight" border="0" alt="LogoSilverlight" align="right" src="http://lh4.ggpht.com/_5pjb5f5mXMg/SyAsrU22n9I/AAAAAAAAAZk/Xc3uDPhjReg/LogoSilverlight_thumb%5B8%5D.png?imgmax=800" width="131" height="144" /&gt;&lt;/a&gt;but &lt;a href="http://blogs.msdn.com/gerryo/archive/2009/12/08/passionate-about-the-web.aspx" target="_blank"&gt;Gerry O’Brien writes on his blog&lt;/a&gt; that the Las Vegas March 2010 Mix 2010 will be about “Microsoft's web platform and tools such as Windows Mobile, Silverlight, Expression, and ASP.NET”.&lt;/p&gt;  &lt;p&gt;The fact is Mix 2010 usually is a Web-centric event. Plus Silverlight for Windows Mobile has been under developement (&lt;a href="http://arnaudweil.blogspot.com/2009/12/silverlight-pour-windows-mobile-en.html" target="_blank"&gt;and late&lt;/a&gt;) for quite a while. One might guess that Mix 2010’s big announcement could be Silverlight for Windows Mobile.&lt;/p&gt;  &lt;p&gt;We’ll see on March 15 whether that was a smart guess... :-)&lt;/p&gt;  &lt;p&gt;Edit: Christophe Lauer tells me that &lt;a href="http://twitter.com/CLaueR/status/6465034304" target="_blank"&gt;Scott Guthrie already twitted about that past yersterday&lt;/a&gt;. Worse even: I wasn’t following Scott on Twitter. I feel ashamed!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/38764963-2695617665183956254?l=dreamdotnet.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://dreamdotnet.blogspot.com/2009/12/silverlight-for-windows-mobile.html</link><author>noreply@blogger.com (Arnaud)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh4.ggpht.com/_5pjb5f5mXMg/SyAsrU22n9I/AAAAAAAAAZk/Xc3uDPhjReg/s72-c/LogoSilverlight_thumb%5B8%5D.png?imgmax=800" height="72" width="72" /><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-38764963.post-1625997580716539590</guid><pubDate>Thu, 30 Apr 2009 19:51:00 +0000</pubDate><atom:updated>2009-04-30T14:51:41.379-05:00</atom:updated><title>Standard deviation in Silverlight using LINQ</title><description>&lt;p&gt;&lt;img style="display: inline; margin-left: 0px; margin-right: 0px" src="http://upload.wikimedia.org/wikipedia/en/7/7e/Standard_deviation_illustration.gif" align="right" /&gt;For a security feature in a Silverlight project I needed to compute the &lt;a href="http://en.wikipedia.org/wiki/Standard_deviation"&gt;standard deviation&lt;/a&gt; of a series. Googling for it I quickly found a &lt;a href="http://www.eggheadcafe.com/articles/standard_deviation_dotnet.asp"&gt;code sample&lt;/a&gt;, but it dates from the days before LINQ, which makes it 70 lines-long. &lt;/p&gt;  &lt;p&gt;Thanks to LINQ, you can write a method that computes a standard deviation with only 3 lines. It works with Silverlight 2 (and 3) and with whatever .NET 3.5 application (WPF, ASP.NET, ...). Here’s my code:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;using System;      &lt;br /&gt;using System.Data.Linq;&lt;/p&gt;    &lt;p&gt;public static class SecurityMaths      &lt;br /&gt;{       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; public static double StandardDeviation(this IEnumerable&amp;lt;double&amp;gt; data)       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; {       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; double average = data.Average();       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; var individualDeviations = data.Select(num =&amp;gt; Math.Pow(num - average, 2.0));       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; return Math.Sqrt(individualDeviations.Average());       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }       &lt;br /&gt;}&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Note that I defined my method as an extension method, so that it can be used just like the Average LINQ method. Which means you can use it that way:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;double[] numbers = new double[] { 2,4,4,4,5,5,7,9 };      &lt;br /&gt;double average = numbers.Average();       &lt;br /&gt;double standardDev = numbers.StandardDeviation();&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;What a clean code: it’s almost as obvious as the mathematical definition of the standard deviation. Thanks a ton, LINQ!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/38764963-1625997580716539590?l=dreamdotnet.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://dreamdotnet.blogspot.com/2009/04/standard-deviation-in-silverlight-using.html</link><author>noreply@blogger.com (Arnaud)</author><thr:total>8</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-38764963.post-5417333816212007176</guid><pubDate>Tue, 24 Feb 2009 07:59:00 +0000</pubDate><atom:updated>2009-02-24T01:59:34.620-06:00</atom:updated><title>MCPD Windows Developer 3.5</title><description>&lt;p&gt;Here are another two in my passed certifications series: MCDP Windows Developer 3.5 and MCTS Windows Forms 3.5. My &lt;a href="http://arnaud.weil.free.fr/MS_Learning_Transcript.pdf"&gt;full list of certifications is there&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;6 certifications .NET 3.5 passed in a year right from their first day out, so now I can show off my expertise.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_5pjb5f5mXMg/SaOo2ZElMkI/AAAAAAAAAPw/JJgohIHCLCw/s1600-h/MCTS4%5B4%5D.png"&gt;&lt;img title="MCTS4" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="71" alt="MCTS4" src="http://lh3.ggpht.com/_5pjb5f5mXMg/SaOo20FIhJI/AAAAAAAAAP0/ErGyQ1QJx8M/MCTS4_thumb%5B2%5D.png?imgmax=800" width="375" border="0" /&gt;&lt;/a&gt; &lt;a href="http://lh5.ggpht.com/_5pjb5f5mXMg/SaOo3prH_UI/AAAAAAAAAP4/h0tyzxn1Kq8/s1600-h/MCPD2%5B7%5D.png"&gt;&lt;img title="MCPD2" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="67" alt="MCPD2" src="http://lh3.ggpht.com/_5pjb5f5mXMg/SaOo4THy5sI/AAAAAAAAAP8/6zIcWOOW1_0/MCPD2_thumb%5B3%5D.png?imgmax=800" width="210" border="0" /&gt;&lt;/a&gt; &lt;a href="http://lh6.ggpht.com/_5pjb5f5mXMg/SaOo4-Fb2iI/AAAAAAAAAQA/WuwNyUmwqfY/s1600-h/MCT2%5B4%5D.png"&gt;&lt;img title="MCT2" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="57" alt="MCT2" src="http://lh3.ggpht.com/_5pjb5f5mXMg/SaOo5qzh1II/AAAAAAAAAQE/u-uxFUbuDcM/MCT2_thumb%5B2%5D.png?imgmax=800" width="281" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/38764963-5417333816212007176?l=dreamdotnet.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://dreamdotnet.blogspot.com/2009/02/mcpd-windows-developer-35.html</link><author>noreply@blogger.com (Arnaud)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh3.ggpht.com/_5pjb5f5mXMg/SaOo20FIhJI/AAAAAAAAAP0/ErGyQ1QJx8M/s72-c/MCTS4_thumb%5B2%5D.png?imgmax=800" height="72" width="72" /><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-38764963.post-969225606820955949</guid><pubDate>Thu, 29 Jan 2009 10:29:00 +0000</pubDate><atom:updated>2009-01-29T14:51:29.256-06:00</atom:updated><title>MCPD ASP.NET 3.5</title><description>&lt;p&gt;&lt;a href="http://lh5.ggpht.com/_5pjb5f5mXMg/SYGFEliFkKI/AAAAAAAAAKk/CG0OmMu4M88/s1600-h/MCPD%28rgb%29%5B3%5D.png"&gt;&lt;img title="MCPD(rgb)" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; margin: 0px 10px 0px 0px; border-right-width: 0px" height="84" alt="MCPD(rgb)" src="http://lh5.ggpht.com/_5pjb5f5mXMg/SYGFFP6XjMI/AAAAAAAAAKo/wifJtACIqo8/MCPD%28rgb%29_thumb%5B1%5D.png?imgmax=800" width="118" align="left" border="0" /&gt;&lt;/a&gt;I’m now a Microsoft Certified Professional Developer, ASP.NET 3.5 Applications. Together with my previous certifications, that makes it up to prove my proficiency in ASP.NET 3.5, AJAX, WPF, Silverlight 2, ADO.NET and Windows Forms.&lt;/p&gt;  &lt;p&gt;What makes me especially proud is that I had to answer the questions for this certification in half the time allowed since I did it during &lt;a href="http://dreamdotnet.blogspot.com/2008/11/teched-sessions-from-barcelona.html"&gt;TechEd Barcelona&lt;/a&gt; and had to &lt;a href="http://dreamdotnet.blogspot.com/2008/11/live-from-teched-2008-barcelona.html"&gt;go back and take my shift&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Want to see which certifications I have? It’s &lt;a href="http://dreamdotnet.com/Apropos.aspx"&gt;on my site&lt;/a&gt; – or just go and grab &lt;a href="http://arnaud.weil.free.fr/MS_Learning_Transcript.pdf"&gt;my Microsoft official transcript&lt;/a&gt;.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/38764963-969225606820955949?l=dreamdotnet.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://dreamdotnet.blogspot.com/2009/01/mcpd-aspnet-35.html</link><author>noreply@blogger.com (Arnaud)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh5.ggpht.com/_5pjb5f5mXMg/SYGFFP6XjMI/AAAAAAAAAKo/wifJtACIqo8/s72-c/MCPD%28rgb%29_thumb%5B1%5D.png?imgmax=800" height="72" width="72" /><thr:total>3</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-38764963.post-2411096976526902417</guid><pubDate>Mon, 19 Jan 2009 20:20:00 +0000</pubDate><atom:updated>2009-01-19T14:20:58.522-06:00</atom:updated><title>Framework 3.5 and .NET Configuration Tool</title><description>&lt;p&gt;&lt;img src="http://www.codeproject.com/KB/security/UB_CAS_NET/ConfigTool_1.gif" align="right" /&gt; When you install Visual Studio 2008 on your machine, you don't get the .NET Framework Configuration tool. You can still use caspol.exe and other command-line configuration tools, but in order to visualize Code Access Security trees I believe a GUI tool is better...&lt;/p&gt;  &lt;p&gt;Well,&amp;#160; it's easy to get it back: just install the &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=fe6f2099-b7b4-4f47-a244-c96d69c35dec&amp;amp;displaylang=en"&gt;Microsoft .NET Framework 2.0 SDK&lt;/a&gt;. Yep, 2.0. Want more info about that? &lt;a href="http://msdn.microsoft.com/en-us/library/2bc0cxhc.aspx"&gt;It's here&lt;/a&gt;.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/38764963-2411096976526902417?l=dreamdotnet.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://dreamdotnet.blogspot.com/2009/01/framework-35-and-net-configuration-tool.html</link><author>noreply@blogger.com (Arnaud)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-38764963.post-7503877149325070368</guid><pubDate>Sun, 18 Jan 2009 16:05:00 +0000</pubDate><atom:updated>2009-01-18T10:05:40.349-06:00</atom:updated><title>Microsoft helps us break their own limitations</title><description>&lt;p&gt;&lt;img height="223" src="http://blogs.msdn.com/blogfiles/briankel/WindowsLiveWriter/VisualStudio2010CTPActivationMessages_BE23/image_thumb_5.png" width="312" align="right" /&gt;If you're &lt;a href="http://arnaudweil.blogspot.com/2008/10/premier-apercu-de-visual-studio-2010-et.html"&gt;evaluating Visual Studio 2010 as I am,&lt;/a&gt; you may have noticed that Visual Studio 2010 won't run beginning January 1st. That's a time limit built into the software.&lt;/p&gt;  &lt;p&gt;Instead of providing us with a fixed VHD, Microsoft simply explains &lt;a href="http://blogs.msdn.com/briankel/archive/2008/10/27/visual-studio-2010-ctp-vpc-dealing-with-activation-messages.aspx"&gt;how we may go around the software's time limits&lt;/a&gt; - sort of like a neighbor teaching me how to break through his house.&lt;/p&gt;  &lt;p&gt;In any case, even if those steps lengthen the already long VHD installation process, thanks to Microsoft for letting us have a look at this CTP so early in their development lifecycle.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/38764963-7503877149325070368?l=dreamdotnet.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://dreamdotnet.blogspot.com/2009/01/microsoft-helps-us-break-their-own.html</link><author>noreply@blogger.com (Arnaud)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-38764963.post-210523998259828617</guid><pubDate>Wed, 26 Nov 2008 22:32:00 +0000</pubDate><atom:updated>2008-11-26T16:32:55.920-06:00</atom:updated><title>TechEd sessions from Barcelona</title><description>&lt;p&gt;I was at TechEd Europe developers edition, and I wrote down summaries of the sessions I went to. They're in French, but you can still have them automatically translated...&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;a href="http://arnaudweil.blogspot.com/2008/11/en-direct-du-teched-2008-barcelone.html"&gt;Keynote&lt;/a&gt;  &lt;li&gt;&lt;a href="http://arnaudweil.blogspot.com/2008/11/developpeur-et-designer-travailler.html"&gt;Developer and Designer: working together using WPF or Silverlight&lt;/a&gt;  &lt;li&gt;&lt;a href="http://arnaudweil.blogspot.com/2008/11/net-my-services.html"&gt;.NET My Services&lt;/a&gt;  &lt;li&gt;&lt;a href="http://arnaudweil.blogspot.com/2008/11/silverlight-2-pour-mobile-devices.html"&gt;Silverlight 2 for Mobile Devices&lt;/a&gt;  &lt;li&gt;&lt;a href="http://arnaudweil.blogspot.com/2008/11/creation-d-wpf-et-silverlight.html"&gt;Creating composite WPF and Silverlight applications&lt;/a&gt;  &lt;li&gt;&lt;a href="http://arnaudweil.blogspot.com/2008/11/sql-server-compact-edition.html"&gt;SQL Server Compact Edition&lt;/a&gt;  &lt;li&gt;&lt;a href="http://arnaudweil.blogspot.com/2008/11/visual-studio-2010-ou-la-joie-d-du-code.html"&gt;Visual Studio 2010: the joy of writing code&lt;/a&gt;  &lt;li&gt;&lt;a href="http://arnaudweil.blogspot.com/2008/11/utiliser-wpf-pour-le-meilleur-et-pour.html"&gt;Using WPF for better and worse&lt;/a&gt;  &lt;li&gt;&lt;a href="http://arnaudweil.blogspot.com/2008/11/astuces-pour-de-chouettes-applications.html"&gt;Tips n' tricks for cool Silverlight applications&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Note: those are my notes for what was said. They don't reflect my personal point of view about the technologies mentioned.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/38764963-210523998259828617?l=dreamdotnet.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://dreamdotnet.blogspot.com/2008/11/teched-sessions-from-barcelona.html</link><author>noreply@blogger.com (Arnaud)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-38764963.post-5166656098659872225</guid><pubDate>Wed, 26 Nov 2008 22:14:00 +0000</pubDate><atom:updated>2008-11-26T16:14:03.738-06:00</atom:updated><title>Charts using ASP.NET 3.5</title><description>&lt;p&gt;&lt;img height="294" src="http://www.scottgu.com/blogposts/chart/step2.png" width="370" align="right"&gt; One of the most interesting features of ASP.NET 4.0 (Visual Studio 2010) is the Chart control, enabling us to create useful and stunning... charts. What's more, Microsoft just released this control for ASP.NET 3.5. For free.&lt;/p&gt; &lt;p&gt;For a quickstart, Microsoft provides us with a &lt;a href="http://code.msdn.microsoft.com/mschart/Release/ProjectReleases.aspx?ReleaseId=1591"&gt;sample Web site&lt;/a&gt; you just have to open and run using Visual Studio 2008, exactly like you would with the Ajax Control Toolkit.&lt;/p&gt; &lt;p&gt;More information about this on &lt;a href="http://weblogs.asp.net/scottgu/archive/2008/11/24/new-asp-net-charting-control-lt-asp-chart-runat-quot-server-quot-gt.aspx"&gt;Scott Guthrie's post&lt;/a&gt;.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/38764963-5166656098659872225?l=dreamdotnet.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://dreamdotnet.blogspot.com/2008/11/charts-using-aspnet-35.html</link><author>noreply@blogger.com (Arnaud)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-38764963.post-6154913224249385751</guid><pubDate>Mon, 10 Nov 2008 23:35:00 +0000</pubDate><atom:updated>2008-11-10T17:35:22.022-06:00</atom:updated><title>Live from TechEd 2008 Barcelona</title><description>&lt;p&gt;&lt;a href="http://lh5.ggpht.com/_5pjb5f5mXMg/SRjFLmO6CDI/AAAAAAAAAFA/T0sYdoO5Ey4/s1600-h/PIC_0028%5B3%5D.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="PIC_0028" src="http://lh5.ggpht.com/_5pjb5f5mXMg/SRjFOHcIARI/AAAAAAAAAFE/LFwgS_WuDrQ/PIC_0028_thumb%5B1%5D.jpg?imgmax=800" width="244" align="right" border="0"&gt; Just as last year&lt;/a&gt;, I'm at the 2008 edition of the &lt;a href="http://www.microsoft.com/emea/teched2008/"&gt;TechEd Europe&lt;/a&gt;. You can meet me at the Microsoft Learning booth - or at the best sessions. ;-)&lt;/p&gt; &lt;p&gt;I'll be posting to this blog my summaries from sessions I attend, but this year I'll post summaries only in French. &lt;a href="http://arnaudweil.blogspot.com/"&gt;So just read the French version here&lt;/a&gt;...&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/38764963-6154913224249385751?l=dreamdotnet.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://dreamdotnet.blogspot.com/2008/11/live-from-teched-2008-barcelona.html</link><author>noreply@blogger.com (Arnaud)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh5.ggpht.com/_5pjb5f5mXMg/SRjFOHcIARI/AAAAAAAAAFE/LFwgS_WuDrQ/s72-c/PIC_0028_thumb%5B1%5D.jpg?imgmax=800" height="72" width="72" /><thr:total>2</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-38764963.post-1616169495524923657</guid><pubDate>Mon, 18 Aug 2008 18:32:00 +0000</pubDate><atom:updated>2008-08-18T13:34:13.349-05:00</atom:updated><title>Silverlight 2 explained using Silverlight 2</title><description>&lt;p&gt;Should you try to use Silverlight 2, you know that you're on a moving ground. Something that's not over yet. Which makes it difficult to know what's available.&lt;/p&gt; &lt;p&gt;Hopefully, &lt;a href="http://blogs.msdn.com/jstegman/default.aspx"&gt;Joe Stegman&lt;/a&gt; provides us with a Silverlight 2 poster. Not the traditional poster that will take up space on your crowded desktop's walls, but a &lt;a href="http://labs.live.com/Silverlight+2+Deep+Zoom.aspx"&gt;Deep Zoom&lt;/a&gt; one (it's a part of Silverlight) so that you can move in and out of the poster with ease and speed.&lt;/p&gt; &lt;p&gt;Here's the poster (the original one is &lt;a href="http://joestegman.members.winisp.net/DeepZoom/"&gt;here&lt;/a&gt;). Click to zoom. Click while holding Shift in order to zoom in out. Drag and drop the picture in order to move it.&lt;/p&gt; &lt;div id="silverlightControlHost"&gt; 		&lt;object data="data:application/x-silverlight," type="application/x-silverlight-2-b2" width="600" height="400"&gt; 			&lt;param name="source" value="http://joestegman.members.winisp.net/DeepZoom/ClientBin/DeepZoom.xap" /&gt; 			&lt;param name="onerror" value="onSilverlightError" /&gt; 			&lt;param name="background" value="white" /&gt; 			 			&lt;a href="http://go.microsoft.com/fwlink/?LinkID=115261" style="text-decoration: none;"&gt;       			&lt;img src="http://go.microsoft.com/fwlink/?LinkId=108181" alt="Get Microsoft Silverlight" style="border-style: none" /&gt; 			&lt;/a&gt; 		&lt;/object&gt; 		&lt;iframe style='visibility:hidden;height:0;width:0;border:0px'&gt;&lt;/iframe&gt;     &lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/38764963-1616169495524923657?l=dreamdotnet.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://dreamdotnet.blogspot.com/2008/08/silverlight-2-explained-using.html</link><author>noreply@blogger.com (Arnaud)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-38764963.post-328207666920213996</guid><pubDate>Thu, 14 Aug 2008 09:45:00 +0000</pubDate><atom:updated>2008-08-14T04:45:54.642-05:00</atom:updated><title>ADO.NET 3.5 certification - one more</title><description>&lt;p&gt;&lt;/p&gt; &lt;p&gt;Following my &lt;a href="http://dreamdotnet.blogspot.com/2008/04/windows-presentation-foundation.html"&gt;WPF&lt;/a&gt; and &lt;a href="http://dreamdotnet.blogspot.com/2008/07/aspnet-35-certification-one-more.html"&gt;ASP.NET 3.5&lt;/a&gt; certifications, I'm now certified on ADO.NET 3.5. &lt;p&gt;It took some time to get the results, as it does for every beta exam, but I passed 70-561 so &lt;strong&gt;I am &lt;a href="http://www.microsoft.com/learning/en/us/exams/70-561.mspx"&gt;MCTS .NET Framework 3.5, ADO.NET Applications&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/38764963-328207666920213996?l=dreamdotnet.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://dreamdotnet.blogspot.com/2008/08/adonet-35-certification-one-more.html</link><author>noreply@blogger.com (Arnaud)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-38764963.post-7700274125856948498</guid><pubDate>Tue, 12 Aug 2008 09:14:00 +0000</pubDate><atom:updated>2008-08-12T04:14:30.207-05:00</atom:updated><title>Visual Studio 2008 SP1 is out</title><description>&lt;p&gt;It was due "by the end of summer 2008", and it's out. I didn't see much announcements about it being released, so that's why I'm just posting a quick note about it.&lt;/p&gt; &lt;p&gt;I made &lt;a href="http://dreamdotnet.blogspot.com/2008/05/visual-studio-2008-feature-packed-sp1.html"&gt;a quick list of interesting features here&lt;/a&gt;. Of which is the much awaited Entites Framework.&lt;/p&gt; &lt;p&gt;Get the SP1 &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=FBEE1648-7106-44A7-9649-6D9F6D58056E&amp;amp;displaylang=en"&gt;here&lt;/a&gt;.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/38764963-7700274125856948498?l=dreamdotnet.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://dreamdotnet.blogspot.com/2008/08/visual-studio-2008-sp1-is-out.html</link><author>noreply@blogger.com (Arnaud)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-38764963.post-3081080154078445932</guid><pubDate>Wed, 30 Jul 2008 07:16:00 +0000</pubDate><atom:updated>2008-07-30T02:16:43.420-05:00</atom:updated><title>Web performance using Java</title><description>&lt;p&gt;Have a look at the &lt;a href="http://www.hertz.fr"&gt;Hertz home page&lt;/a&gt;. I received an exception when accessing it this morning, and I'm really surprised by the call stack from a performance point of view:&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;&lt;font size="1"&gt;&lt;font face="Arial"&gt;&lt;b&gt;Error Message: &lt;/b&gt;Filter [SystemFilter]: com.hertz.ecom.framework.presentation.servlets.SystemFilter was found, but is missing another required class. &lt;br&gt;&lt;b&gt;Error Code: &lt;/b&gt;500&lt;br&gt;&lt;b&gt;Target Servlet: &lt;/b&gt;/index.jsp&lt;br&gt;&lt;b&gt;Error Stack: &lt;/b&gt;&lt;br&gt;java.lang.NoClassDefFoundError: com.hertz.ecom.framework.presentation.servlets.SystemFilter (initialization failure) &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at java.lang.J9VMInternals.initialize(J9VMInternals.java:123) &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at java.lang.Class.newInstanceImpl(Native Method) &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at java.lang.Class.newInstance(Class.java:1263) &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at java.beans.Beans.instantiate(Beans.java:219) &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at java.beans.Beans.instantiate(Beans.java:63) &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at com.ibm.ws.webcontainer.filter.WebAppFilterManager._loadFilter(WebAppFilterManager.java:421) &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at com.ibm.ws.webcontainer.filter.WebAppFilterManager.loadFilter(WebAppFilterManager.java:379) &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at com.ibm.ws.webcontainer.filter.WebAppFilterManager.getFilterInstanceWrapper(WebAppFilterManager.java:238) &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at com.ibm.ws.webcontainer.filter.WebAppFilterManager.getFilterChain(WebAppFilterManager.java:296) &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:721) &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:673) &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:498) &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:464) &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at com.ibm.wsspi.webcontainer.servlet.GenericServletWrapper.handleRequest(GenericServletWrapper.java:122) &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionServletWrapper.handleRequest(AbstractJSPExtensionServletWrapper.java:205) &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3252) &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:264) &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:811) &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1433) &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:112) &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:454) &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:383) &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:263) &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminators(NewConnectionInitialReadCallback.java:214) &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:113) &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165) &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217) &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at com.ibm.io.async.AsyncChannelFuture$1.run(AsyncChannelFuture.java:205) &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1469) &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Caused by: java.lang.Throwable: java.lang.RuntimeException &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at com.hertz.irac.framework.presentation.FrameworkBroker.getDirectoryPaths(FrameworkBroker.java:740) &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at com.hertz.ecom.framework.presentation.servlets.SystemFilter.&amp;lt;clinit&amp;gt;(SystemFilter.java:104) &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at java.lang.J9VMInternals.initializeImpl(Native Method) &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at java.lang.J9VMInternals.initialize(J9VMInternals.java:177) &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at java.lang.Class.newInstanceImpl(Native Method) &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at java.lang.Class.newInstance(Class.java:1263) &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at java.beans.Beans.instantiate(Beans.java:219) &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at java.beans.Beans.instantiate(Beans.java:63) &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at com.ibm.ws.webcontainer.filter.WebAppFilterManager._loadFilter(WebAppFilterManager.java:421) &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at com.ibm.ws.webcontainer.filter.WebAppFilterManager.loadFilter(WebAppFilterManager.java:379) &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at com.ibm.ws.webcontainer.filter.WebAppFilterManager.getFilterInstanceWrapper(WebAppFilterManager.java:238) &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at com.ibm.ws.webcontainer.filter.WebAppFilterManager.getFilterChain(WebAppFilterManager.java:296) &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:721) &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:673) &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:498) &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:464) &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at com.ibm.wsspi.webcontainer.servlet.GenericServletWrapper.handleRequest(GenericServletWrapper.java:122) &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionServletWrapper.handleRequest(AbstractJSPExtensionServletWrapper.java:205) &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionProcessor.handleRequest(AbstractJSPExtensionProcessor.java:277) &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3252) &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:264) &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:811) &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1433) &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:112) &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:454) &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:383) &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:263) &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminators(NewConnectionInitialReadCallback.java:214) &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:113) &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165) &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217) &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161) &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:136) &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:195) &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:743) &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:873) &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ... 1 more&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;Using ASP.NET, we would simply have put all of the page or part of it in the output cache (it takes a line on the ASPX page) since that page is often requested but rarely changes. This would have provided performances similar to a simple HTML page. On the contrary, here we see a call to almost 70 methods just to handle a simple query.&lt;/p&gt; &lt;p&gt;The application may well be simply badly coded, so it has nothing to see with Java, but using 70 methods instead of one or two for a simple request may well pose performance problems.&lt;/p&gt; &lt;p&gt;It reminds me of a client who had to handle a large amount of requests on a Web service, and was using ASP.NET and Java at the same time to handle the requests. He told me that with one ASP.NET machine he was handling more requests than with three Java machines. Of course, this is not an objective performance test, but it looks like Java may globally offer lesser performance than ASP.NET for Web applications.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/38764963-3081080154078445932?l=dreamdotnet.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://dreamdotnet.blogspot.com/2008/07/web-performance-using-java.html</link><author>noreply@blogger.com (Arnaud)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-38764963.post-4262673097493282164</guid><pubDate>Thu, 17 Jul 2008 12:46:00 +0000</pubDate><atom:updated>2008-07-17T07:46:59.036-05:00</atom:updated><title>ASP.NET 3.5 certification - one more</title><description>&lt;p&gt;Following &lt;a href="http://dreamdotnet.blogspot.com/2008/04/windows-presentation-foundation.html"&gt;my WPF certification&lt;/a&gt;, I'm now certified on ASP.NET 3.5.&lt;/p&gt; &lt;p&gt;To be honest, I wasn't sure I would get it. When I took the exam (in march 2008 when it was in beta), I had some difficult moments with the AJAX questions since I didn't master that technology enough at that time.&lt;/p&gt; &lt;p&gt;But it's now official: I passed 70-562, so &lt;strong&gt;I am &lt;a href="http://www.microsoft.com/learning/en/us/exams/70-562.mspx"&gt;MCTS .NET Framework 3.5, ASP.NET Applications&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/38764963-4262673097493282164?l=dreamdotnet.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://dreamdotnet.blogspot.com/2008/07/aspnet-35-certification-one-more.html</link><author>noreply@blogger.com (Arnaud)</author><thr:total>2</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-38764963.post-4949824317671458333</guid><pubDate>Thu, 17 Jul 2008 09:00:00 +0000</pubDate><atom:updated>2008-07-17T04:55:33.193-05:00</atom:updated><title>Protocol buffers from Google</title><description>&lt;p&gt;&lt;img src="http://www.google.com/intl/en_ALL/images/logo.gif" align="right"&gt; Google just published a competitor for XML. According to them, it would be "smaller, faster, and simpler". How about that?&lt;/p&gt; &lt;p&gt;With XML as a de facto universal standard, do we really need a competitor? We have XPath for queries (even LINQ 2 XML on the Microsoft side), XSL/T for transformations and conversions to various formats, XSD for structure, so don't we already have everything we need?&lt;/p&gt; &lt;p&gt;Well no. In the .NET world, we can use XML serialization and the xsd.exe tool that enable us to work with class instances when manipulating XML. But other languages don't have such a nice thing. They need to parse XML documents using DOM or SAX. Which makes it tricky for them (just compare the two lines needed for XML serialization with the twenty lines needed to achieve the same result using DOM).&lt;/p&gt; &lt;p&gt;This is hence an interesting try from Google at solving the problem of XML manipulation outside of the .NET world.&lt;/p&gt; &lt;p&gt;Roughly put, as &lt;a href="http://code.google.com/apis/protocolbuffers/docs/overview.html"&gt;Google writes&lt;/a&gt;, protocols buffers are defined in a .proto file:&lt;/p&gt; &lt;blockquote&gt;&lt;pre&gt;message Person {&lt;br /&gt;  required string name = 1;&lt;br /&gt;  required int32 id = 2;&lt;br /&gt;  optional string email = 3;&lt;br /&gt;&lt;br /&gt;  enum PhoneType {&lt;br /&gt;    MOBILE = 0;&lt;br /&gt;    HOME = 1;&lt;br /&gt;    WORK = 2;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  message PhoneNumber {&lt;br /&gt;    required string number = 1;&lt;br /&gt;    optional PhoneType type = 2 [default = HOME];&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  repeated PhoneNumber phone = 4;&lt;br /&gt;}&lt;/pre&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;p&gt;Then we can manipulate the XML using instances of objets, just like in this example:&lt;/p&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;pre&gt;Person person;&lt;br&gt;person.set_name("John Doe");&lt;br&gt;person.set_id(1234);&lt;br&gt;person.set_email("jdoe@example.com");&lt;br&gt;fstream output("myfile", ios::out | ios::binary);&lt;br&gt;person.SerializeToOstream(&amp;amp;output);&lt;/pre&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;p&gt;You can immediatly see the advantage for Java programmers: no more DOM, and the use of language classes, which provides them with compile-time error checks.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;That will be useless in .NET. Indeed, &lt;strong&gt;we can already do just that&lt;/strong&gt;. Since 2001. Let's take the same example as above. I can just create a class (or have it generated from the XML using xsd.exe):&lt;/p&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;p&gt;&lt;font face="Courier New" size="3"&gt;public class Person&lt;br&gt;{&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public string name;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public int id;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public string email; &lt;/font&gt;&lt;br /&gt;&lt;p&gt;&lt;font face="Courier New" size="3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public enum PhoneType&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MOBILE = 0,&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; HOME = 1,&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WORK = 2,&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;/font&gt;&lt;br /&gt;&lt;p&gt;&lt;font face="Courier New" size="3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public class PhoneNumber&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public string number;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public PhoneType type = PhoneType.HOME;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;/font&gt;&lt;br /&gt;&lt;p&gt;&lt;font face="Courier New" size="3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; List&amp;lt;PhoneNumber&amp;gt; phone;&lt;br&gt;}&lt;/font&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;p&gt;Then I can use the following code, strictly equivalent to the above Java code:&lt;/p&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;p&gt;&lt;font face="Courier New" size="3"&gt;Person person = new Person();&lt;br&gt;person.name = "John Doe";&lt;br&gt;person.id = 1234;&lt;br&gt;person.email = "jdoe@example.com";&lt;br&gt;XmlSerializer xs = new XmlSerializer(typeof(Person));&lt;br&gt;xs.Serialize(Console.Out, person);&lt;/font&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;p&gt;We can do just as simple and concise as protocol buffers, but with one big advantage: we don't need to create .proto files or learn a new language: &lt;strong&gt;our .NET types are already equivalent to the .proto files&lt;/strong&gt;.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Did Google just reinvent the wheel? Yes, but they provide this wonderful XML serialization tool to non-.NET technologies like Java or C++. As far as I'm concerned, I regret that .proto files don't enable a program to read XML.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Now there's one thing left in favor of protocol handlers: speed. Google states that protocol buffers allow for a faster processing than XML, which I can easily believe since XML is quite verbose. Indeed, Microsoft had used a binary BAML format to store XAML inside the assemblies of WPF applications.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;So what's left for us .NET developpers? It's easy to imagine &lt;strong&gt;a tool that would produce .NET assemblies from .proto files and conversely&lt;/strong&gt;. It shouldn't be long until we see such a tool should protocol handlers become widely used. Which means we can continue and use our .NET types since they would be compatible with protocol buffers.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/38764963-4949824317671458333?l=dreamdotnet.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://dreamdotnet.blogspot.com/2008/07/protocol-buffers-from-google.html</link><author>noreply@blogger.com (Arnaud)</author><thr:total>2</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-38764963.post-7090017964900978753</guid><pubDate>Thu, 10 Jul 2008 09:14:00 +0000</pubDate><atom:updated>2008-07-10T04:14:11.530-05:00</atom:updated><title>Microsoft Certified Master</title><description>&lt;p&gt;&lt;img src="http://img.microsoft.com/learning/images/cert-master.jpg" align="right"&gt; Microsoft created a new certification for those of you who have a deep expertise. So what if I want to become a Microsoft Certified Master?&lt;/p&gt; &lt;p&gt;Well, for now this certification is only aimed at IT pros. Nothing for developers. Master certifications are only &lt;a href="http://www.microsoft.com/learning/mcp/master/default.mspx"&gt;about Windows Server 2008, SQL Server 2008 and Exchange Server 2007&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;Will there be a Master certification for developers? For instance one about Visual Studio 2008 and the .NET Framework 3.5? No. There may be one on a long-term basis, but it's not planned at the moment since Microsoft Learning already has a lot of work having the Master certification rolled-out all over the world. &lt;em&gt;Source for that: &lt;/em&gt;&lt;a href="http://blogs.msdn.com/trika/archive/2008/06/26/more-on-the-certified-master-programs-from-me-per-the-program-owner.aspx"&gt;&lt;em&gt;Per&lt;/em&gt;&lt;/a&gt;&lt;em&gt;, who wrote "Right now, we don’t have any plans for a developer based Master program, but once we get this first set out the door, we’ll look at other appropriate tracks. Perhaps a developer one is needed?".&lt;/em&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/38764963-7090017964900978753?l=dreamdotnet.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://dreamdotnet.blogspot.com/2008/07/microsoft-certified-master.html</link><author>noreply@blogger.com (Arnaud)</author><thr:total>2</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-38764963.post-5967877364272584351</guid><pubDate>Wed, 09 Jul 2008 08:08:00 +0000</pubDate><atom:updated>2008-07-09T03:08:35.043-05:00</atom:updated><title>Automatic columns in a DataGridView</title><description>&lt;p&gt;The DataGridView control in Windows Forms 3.5 and 2.0 displays by default all of the columns from its data-bound source. You may configure the displayed columns using the Design view under Visual Studio 2008, but you can't go back. Just follow this tutorial to know how to have your generated columns back.&lt;/p&gt; &lt;p&gt;Just like its fellow ASP.NET GridView control, Windows Forms' DataGridView can detect the columns from the DataSource you provide it with. But should you configure (or have Visual Studio do it for you) the columns of a DataGridView, how do you go back? There's an AutoGenerateColumns property on the DataGridView which you should just set to "True" (its default value), but unfortunately it doesn't appeart in the Properties window of Visual Studio 2008. No problem, just follow these steps.&lt;/p&gt; &lt;p&gt;Remove any configured columns using the Design view. To do this, just click the smart tag located at the top right of your DataGridView: &lt;a href="http://www12.asphost4free.com/aweil/imgs/ColonnesautomatiquessurunDataGridView_8ABA/image.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="33" alt="image" src="http://www12.asphost4free.com/aweil/imgs/ColonnesautomatiquessurunDataGridView_8ABA/image_thumb.png" width="37" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;In the smart tag menu, click "Edit columns". In the dialog box that opens remove all of the columns. Close the dialog box using the "OK" button.&lt;/p&gt; &lt;p&gt;Write down the name of your DataGridView. In my case it's categoriesDataGridView. In the Solution Explorer window, open the Visual Studio generated file for your form. If your form is named MasterDet, the generated file will be named MasterDet.Designer.cs:&lt;/p&gt; &lt;p&gt;&lt;a href="http://www12.asphost4free.com/aweil/imgs/ColonnesautomatiquessurunDataGridView_8ABA/image_3.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="74" alt="image" src="http://www12.asphost4free.com/aweil/imgs/ColonnesautomatiquessurunDataGridView_8ABA/image_thumb_3.png" width="225" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;Look for the lines defining the DataGridView and remove the one that states "AutoGenerateColumns=false" (the one outlined in blue in the my screenshot):&lt;/p&gt; &lt;p&gt;&lt;a href="http://www12.asphost4free.com/aweil/imgs/ColonnesautomatiquessurunDataGridView_8ABA/image_4.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="54" alt="image" src="http://www12.asphost4free.com/aweil/imgs/ColonnesautomatiquessurunDataGridView_8ABA/image_thumb_4.png" width="244" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;Et voilà!&lt;/p&gt; &lt;p&gt;Note: I usually tell developpers not to manually edit the Visual Studio generated files (xxx.Designer.cs), since you have nothing to do there and you may confuse Visual Studio doing so. But it looks like it's the only way to have the AutoGenerateColumns back to its default value (which is astonishing, but this is yet another point).&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/38764963-5967877364272584351?l=dreamdotnet.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://dreamdotnet.blogspot.com/2008/07/automatic-columns-in-datagridview.html</link><author>noreply@blogger.com (Arnaud)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-38764963.post-6118691361877621838</guid><pubDate>Tue, 24 Jun 2008 21:35:00 +0000</pubDate><atom:updated>2008-06-24T16:35:12.814-05:00</atom:updated><title>Visual Studio 2008 training from Microsoft</title><description>&lt;p&gt;&lt;img style="margin: 0px 0px 0px 5px" src="http://img.microsoft.com/downloads/img/products/C0037913-9E11-4A2D-8FD1-0BA441296CBC.gif" align="right"&gt; Microsoft Learning just released two Visual Studio 2008&amp;nbsp; classes:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;6460: &lt;a href="http://dreamdotnet.com/FormationDetails.aspx?cc=MS6460"&gt;Visual Studio 2008 Connected Systems: Windows Presentation Foundation&lt;/a&gt;  &lt;li&gt;6462: &lt;a href="http://dreamdotnet.com/FormationDetails.aspx?cc=MS6462"&gt;Visual Studio 2008 Connected Systems: Windows Workflow Foundation&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;And when you feel ready to, you can go for the corresponding &lt;a href="http://dreamdotnet.blogspot.com/2008/04/windows-presentation-foundation.html"&gt;certifications which are already available&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;You may wonder what's the difference between 6460 and &lt;a href="http://dreamdotnet.blogspot.com/2008/04/silverlight-2-and-wpf-training.html"&gt;my own WPF training&lt;/a&gt; released two months ago. Mine doesn't require you to know .NET at all. It takes you from whatever technology to WPF and Silverlight 2 in 4 days. Microsoft's 6460 takes you from .NET 2.0 to WPF in 3 days.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/38764963-6118691361877621838?l=dreamdotnet.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://dreamdotnet.blogspot.com/2008/06/visual-studio-2008-training-from.html</link><author>noreply@blogger.com (Arnaud)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-38764963.post-2636756750962840595</guid><pubDate>Wed, 21 May 2008 07:20:00 +0000</pubDate><atom:updated>2008-05-21T02:20:21.449-05:00</atom:updated><title>Microsoft Certified Trainer 2008</title><description>&lt;p&gt;&lt;a href="http://aweil.fr/Images/mct2008.jpg"&gt;&lt;img src="http://aweil.fr/Images/mct2008thumb.jpg" align="right"&gt;&lt;/a&gt; Once again, I obtained the MCT certification for year 2008. And a pretty diploma.&lt;/p&gt; &lt;p&gt;It was just great receiving my "MCT kit" for year 2008. Not a new thing since I've been certified since 2001, but becoming and remaining and MCT is not an easy task: you need to prove and maintain technical and pedagogical competencies.&lt;/p&gt; &lt;p&gt;This also means I'm still able to teach &lt;a href="http://www.dreamdotnet.com/fcatalogue.aspx"&gt;Microsoft Official Curriculum courses&lt;/a&gt;.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/38764963-2636756750962840595?l=dreamdotnet.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://dreamdotnet.blogspot.com/2008/05/microsoft-certified-trainer-2008.html</link><author>noreply@blogger.com (Arnaud)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-38764963.post-742952162286903713</guid><pubDate>Mon, 12 May 2008 19:13:00 +0000</pubDate><atom:updated>2008-05-12T14:13:09.509-05:00</atom:updated><title>Visual Studio 2008: a feature-packed SP1</title><description>&lt;p&gt;&lt;img style="margin: 0px 0px 5px 5px" src="http://img.microsoft.com/downloads/img/products/C0037913-9E11-4A2D-8FD1-0BA441296CBC.gif" align="right"&gt;A few months after &lt;a href="http://dreamdotnet.blogspot.com/2007/11/visual-studio-2008-is-out.html"&gt;Visual Studio 2008&lt;/a&gt; has been released, it will get its Service Pack 1. Hosting so many functionality that I'm tempted to call it .NET Framework 3.6.&lt;/p&gt; &lt;p&gt;You'll find all the information about it in &lt;a href="http://weblogs.asp.net/scottgu/archive/2008/05/12/visual-studio-2008-and-net-framework-3-5-service-pack-1-beta.aspx"&gt;Scott Guthrie's post&lt;/a&gt;, which I won't copy. SP1 is in beta and should go out "this summer".&lt;/p&gt; &lt;p&gt;What's cool is that it doesn't contain plain bug fixes. It's packed with nice improvements, among which my heart beats for:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;a framework that's lighter to download and install for client applications (WPF, Windows Forms and WCF): it should weight "only" 26 MB;  &lt;li&gt;a more clever bootstrapper for installing and updating the Framework .NET when installing your application;  &lt;li&gt;ClickOnce improvement (better later than never), among which support for installation via Firefox;  &lt;li&gt;a PrintForm control for Windows Forms, which enables for... er... forms to be printed as they appear on the screen (I know it sounds dumb and should have been there from the start);  &lt;li&gt;&lt;a href="http://dreamdotnet.blogspot.com/2008/02/wpf-soon-to-be-faster-and-fatter.html"&gt;WPF improvements I already announced&lt;/a&gt; on this blog, and in fact a bunch more; &lt;li&gt;ADO.NET Entites Framework, at last; &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;That makes a bunch of cool things, doesn't it?&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/38764963-742952162286903713?l=dreamdotnet.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://dreamdotnet.blogspot.com/2008/05/visual-studio-2008-feature-packed-sp1.html</link><author>noreply@blogger.com (Arnaud)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-38764963.post-3692305933836289749</guid><pubDate>Sat, 19 Apr 2008 17:33:00 +0000</pubDate><atom:updated>2008-04-19T12:33:49.424-05:00</atom:updated><title>Silverlight 2 and WPF training available now</title><description>&lt;p&gt;&lt;a href="http://dreamdotnet.blogspot.com/2008/03/silverlight-2-training.html"&gt;As I wrote&lt;/a&gt; a short while ago, I now offer &lt;a href="http://www.dreamdotnet.com/FormationDetails.aspx?cc=AW2402"&gt;&lt;strong&gt;Silverlight 2 and Windows Presentation Foundation training&lt;/strong&gt;&lt;/a&gt; for developers.&lt;/p&gt; &lt;p&gt;It's one of the first one available in French, and is bundled with my more than 7 years practice of .NET, and my working on WPF and Silverlight from their debuts.&lt;/p&gt; &lt;p&gt;In only four days, you learn .NET, WPF, Silverlight 2 and create yourself a data-driven application (ordering). Some screenshots of this applications you create during the training (I'll video-record it because there are animations too):&lt;/p&gt; &lt;p&gt;&lt;a href="http://www12.asphost4free.com/aweil/imgs/FormationSilverlight2etWPFdisponible_110F1/image.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="164" alt="image" src="http://www12.asphost4free.com/aweil/imgs/FormationSilverlight2etWPFdisponible_110F1/image_thumb.png" width="244" border="0"&gt;&lt;/a&gt;&amp;nbsp;&lt;a href="http://www12.asphost4free.com/aweil/imgs/FormationSilverlight2etWPFdisponible_110F1/image_3.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="244" alt="image" src="http://www12.asphost4free.com/aweil/imgs/FormationSilverlight2etWPFdisponible_110F1/image_thumb_3.png" width="242" border="0"&gt;&lt;/a&gt; &lt;a href="http://www12.asphost4free.com/aweil/imgs/FormationSilverlight2etWPFdisponible_110F1/image_4.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="191" alt="image" src="http://www12.asphost4free.com/aweil/imgs/FormationSilverlight2etWPFdisponible_110F1/image_thumb_4.png" width="244" border="0"&gt;&lt;/a&gt; &lt;a href="http://www12.asphost4free.com/aweil/imgs/FormationSilverlight2etWPFdisponible_110F1/image_5.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="238" alt="image" src="http://www12.asphost4free.com/aweil/imgs/FormationSilverlight2etWPFdisponible_110F1/image_thumb_5.png" width="244" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;Don't wait more: you can now take advantage of the unique power of WPF and Silverlight 2 in order to create the next generation of applications. Just choose a date and &lt;a href="http://www.dreamdotnet.com/FormationDetails.aspx?cc=AW2402"&gt;register here&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;Note: the training is now in French, but I'll gladly translate it to English or Spanish at your request.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/38764963-3692305933836289749?l=dreamdotnet.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://dreamdotnet.blogspot.com/2008/04/silverlight-2-and-wpf-training.html</link><author>noreply@blogger.com (Arnaud)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-38764963.post-8322650166904304461</guid><pubDate>Wed, 16 Apr 2008 20:58:00 +0000</pubDate><atom:updated>2008-04-16T15:58:34.511-05:00</atom:updated><title>Windows Presentation Foundation Certification - Yiheeee!</title><description>&lt;p&gt;&lt;img style="margin: 0px 0px 0px 5px" height="114" src="http://www.chrisrue.com/funcave/graphics/mcts.gif" width="150" align="right"&gt;As of two days ago, the first .NET Framework 3.5 certifications are live. And I'm certified!&lt;/p&gt; &lt;p&gt;As &lt;a href="http://blogs.msdn.com/gerryo/archive/2008/04/14/exams-live-today.aspx"&gt;Gerry wrote&lt;/a&gt;, the three Framework 3.5 TS exams are available since past yesterday:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;a href="http://www.microsoft.com/learning/exams/70-502.mspx"&gt;70-502: Windows Presentation Foundation&lt;/a&gt;  &lt;li&gt;&lt;a href="http://www.microsoft.com/learning/exams/70-503.mspx"&gt;70-503: Windows Communication Foundation&lt;/a&gt;  &lt;li&gt;&lt;a href="http://www.microsoft.com/learning/exams/70-504.mspx"&gt;70-504: Windows Workflow Foundation&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;I presented and passed 70-502, which means &lt;strong&gt;I'm now &lt;a href="http://www.microsoft.com/learning/mcp/mcts/vstudio/2008/default.mspx"&gt;MCTS .NET Framework 3.5, Windows Presentation Foundation&lt;/a&gt;&lt;/strong&gt;.  &lt;p&gt;Now I gotta go for the other two. I'll probably try them by the end of this month.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/38764963-8322650166904304461?l=dreamdotnet.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://dreamdotnet.blogspot.com/2008/04/windows-presentation-foundation.html</link><author>noreply@blogger.com (Arnaud)</author><thr:total>0</thr:total></item></channel></rss>

