<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://weblogs.asp.net/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>Fabrice&amp;#39;s weblog</title><link>http://weblogs.asp.net/fmarguerie/default.aspx</link><description>Tools and Source</description><dc:language>en</dc:language><generator>CommunityServer 2007 SP1 (Build: 20510.895)</generator><item><title>Who deserves a free MSDN subscription?</title><link>http://weblogs.asp.net/fmarguerie/archive/2009/06/29/who-deserves-a-free-msdn-subscription.aspx</link><pubDate>Mon, 29 Jun 2009 15:54:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7136556</guid><dc:creator>Fabrice Marguerie</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/fmarguerie/rsscomments.aspx?PostID=7136556</wfw:commentRss><comments>http://weblogs.asp.net/fmarguerie/archive/2009/06/29/who-deserves-a-free-msdn-subscription.aspx#comments</comments><description>&lt;p&gt;I have a free one-year MSDN subscription to offer. I believe that it has to be activated before June 30, so, I don't have time to organize a contest or something...&lt;/p&gt;&lt;p&gt;The offer is &lt;a href="http://msdn.microsoft.com/en-us/subscriptions/subscriptionschart.aspx" mce_href="http://msdn.microsoft.com/en-us/subscriptions/subscriptionschart.aspx"&gt;MSDN Premium&lt;/a&gt;, which gives you access to a whole set of Microsoft software licensed for design, development, testing, and demonstration of your programs. This includes Visual Studio Team Suite, Windows, Office, SQL Server, etc. Given the releases expected this year, this will give you access to such things as Visual Studio 2010 and Windows 7.&lt;br&gt;&lt;/p&gt;&lt;p&gt;If you think that you deserve to get this subscription, just &lt;a href="http://weblogs.asp.net/fmarguerie/contact.aspx" mce_href="http://weblogs.asp.net/fmarguerie/contact.aspx"&gt;contact me and let me know why I should give YOU this gift&lt;/a&gt;. I'll make my choice quickly and I'll reply to you.&lt;br&gt;Hint: if you can help me update the content of &lt;a href="http://SharpToolbox.com" mce_href="http://SharpToolbox.com"&gt;SharpToolbox.com&lt;/a&gt;, that can be a plus for you ;-)&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;font color="#009900"&gt;UPDATE: We have a winner! Thanks to everyone who participated. I'll reply shortly to each one of you.&lt;/font&gt;&lt;/b&gt;&lt;br&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7136556" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/fmarguerie/archive/tags/Tools/default.aspx">Tools</category><category domain="http://weblogs.asp.net/fmarguerie/archive/tags/_2800_Sharp_7C00_Java_2900_Toolbox/default.aspx">(Sharp|Java)Toolbox</category><category domain="http://weblogs.asp.net/fmarguerie/archive/tags/.NET/default.aspx">.NET</category></item><item><title>LINQ in Action XML samples now in LINQPad too</title><link>http://weblogs.asp.net/fmarguerie/archive/2009/06/28/linq-in-action-xml-samples-now-in-linqpad-too.aspx</link><pubDate>Sun, 28 Jun 2009 20:58:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7136054</guid><dc:creator>Fabrice Marguerie</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/fmarguerie/rsscomments.aspx?PostID=7136054</wfw:commentRss><comments>http://weblogs.asp.net/fmarguerie/archive/2009/06/28/linq-in-action-xml-samples-now-in-linqpad-too.aspx#comments</comments><description>&lt;p&gt;After &lt;a href="http://linqinaction.net/blogs/main/archive/2009/06/06/linq-in-action-samples-in-linqpad.aspx" mce_href="http://linqinaction.net/blogs/main/archive/2009/06/06/linq-in-action-samples-in-linqpad.aspx"&gt;we published the code samples for LINQ in Action's first chapters in LINQPad&lt;/a&gt; a few weeks ago, the samples of three more chapters have just been added. These chapters cover LINQ to XML. Thanks &lt;a href="http://www.thinqlinq.com/Default/LINQ-in-Action-XML-samples-added-to-LINQPad.aspx" mce_href="http://www.thinqlinq.com/Default/LINQ-in-Action-XML-samples-added-to-LINQPad.aspx"&gt;Jim&lt;/a&gt; for doing the additional conversion.&lt;br&gt;&lt;/p&gt;&lt;p&gt;The code samples for chapters 1 to 11 are now available. Read &lt;a href="http://linqinaction.net/blogs/main/archive/2009/06/06/linq-in-action-samples-in-linqpad.aspx" mce_href="http://linqinaction.net/blogs/main/archive/2009/06/06/linq-in-action-samples-in-linqpad.aspx"&gt;the original announcement&lt;/a&gt; to learn how to download and use these samples. A new download is enough to get the update.&lt;br&gt;&lt;/p&gt;
&lt;br&gt;&lt;i&gt;Cross-posted from &lt;a href="http://linqinaction.net/"&gt;http://linqinaction.net&lt;/a&gt;&lt;/i&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7136054" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/fmarguerie/archive/tags/Source/default.aspx">Source</category><category domain="http://weblogs.asp.net/fmarguerie/archive/tags/.NET/default.aspx">.NET</category><category domain="http://weblogs.asp.net/fmarguerie/archive/tags/LINQ/default.aspx">LINQ</category></item><item><title>LINQ in Action samples in LINQPad</title><link>http://weblogs.asp.net/fmarguerie/archive/2009/06/06/linq-in-action-samples-in-linqpad.aspx</link><pubDate>Sat, 06 Jun 2009 13:12:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7109662</guid><dc:creator>Fabrice Marguerie</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/fmarguerie/rsscomments.aspx?PostID=7109662</wfw:commentRss><comments>http://weblogs.asp.net/fmarguerie/archive/2009/06/06/linq-in-action-samples-in-linqpad.aspx#comments</comments><description>&lt;a href="http://linqpad.net" mce_href="http://linqpad.net"&gt;&lt;img src="http://linqinaction.net/photos/main/images/4804/original.aspx" title="LINQPad logo" alt="LINQPad logo" mce_src="http://linqinaction.net/photos/main/images/4804/original.aspx" style="float: right; margin-left: 5px; margin-bottom: 5px;" width="150" border="0" height="144"&gt;&lt;/a&gt;

&lt;p&gt;Do you know &lt;a href="http://linqpad.net/" mce_href="http://linqpad.net/"&gt;LINQPad&lt;/a&gt;? It's a really simple but great tool for testing LINQ queries. Not only that, but it can be used to test all kinds of C# and VB code snippets.&lt;/p&gt;

&lt;p&gt;Another great thing about LINQPad is that it comes with code samples. Until now the integrated code samples came from the &lt;a href="http://www.albahari.com/nutshell/" mce_href="http://www.albahari.com/nutshell/"&gt;C# 3.0 in a Nutshell&lt;/a&gt; book. Joe Albahari, author of LINQPad and C# 3.0 in a Nutshell, has opened LINQPad so that code samples from other books can be integrated into LINQPad. Thanks Joe for this opportunity!&lt;/p&gt;

&lt;p&gt;We worked with Joe to integrate LINQ in Action's code samples into LINQPad. The result is that in addition to being &lt;a href="http://linqinaction.net/files/folders/linqinaction/entry1952.aspx" mce_href="http://linqinaction.net/files/folders/linqinaction/entry1952.aspx"&gt;available as Visual Studio solutions and projects&lt;/a&gt;, you can now run our code samples directly from LINQPad. This makes it very easy to explore LINQ's features with instant "code and play".&lt;/p&gt;

&lt;p&gt;To install LINQ in Action's code samples in LINQPad, all you have to do is click on the "Download more samples..." link:&lt;/p&gt;
&lt;p&gt;&lt;img src="http://linqinaction.net/photos/main/images/4805/original.aspx" mce_src="http://linqinaction.net/photos/main/images/4805/original.aspx" width="587" height="294"&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;You'll see LINQ in Action proposed as one of the LINQPad-enabled books (the only one at the moment, in fact):&lt;/p&gt;
&lt;p&gt;&lt;img src="http://linqinaction.net/photos/main/images/4806/original.aspx" mce_src="http://linqinaction.net/photos/main/images/4806/original.aspx" width="500" height="355"&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;Once you've clicked on "Download full code listings into LINQPad", you should see the C# and VB samples grouped by chapter:&lt;/p&gt;

&lt;p&gt;&lt;img src="http://linqinaction.net/photos/main/images/4807/original.aspx" mce_src="http://linqinaction.net/photos/main/images/4807/original.aspx"&gt;&lt;br&gt;&lt;/p&gt;

&lt;p&gt;Currently, chapters 1 to 8 are available. We'll integrate the remaining code samples soon.&lt;/p&gt;

&lt;p&gt;Have fun with LINQ! &lt;br&gt;&lt;/p&gt;

&lt;br&gt;&lt;i&gt;Cross-posted from &lt;a href="http://linqinaction.net/"&gt;http://linqinaction.net&lt;/a&gt;&lt;/i&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7109662" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/fmarguerie/archive/tags/Source/default.aspx">Source</category><category domain="http://weblogs.asp.net/fmarguerie/archive/tags/Tools/default.aspx">Tools</category><category domain="http://weblogs.asp.net/fmarguerie/archive/tags/.NET/default.aspx">.NET</category><category domain="http://weblogs.asp.net/fmarguerie/archive/tags/LINQ/default.aspx">LINQ</category></item><item><title>Modern censorship you shouldn't ignore</title><link>http://weblogs.asp.net/fmarguerie/archive/2009/05/22/modern-censorship.aspx</link><pubDate>Fri, 22 May 2009 21:29:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7094979</guid><dc:creator>Fabrice Marguerie</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/fmarguerie/rsscomments.aspx?PostID=7094979</wfw:commentRss><comments>http://weblogs.asp.net/fmarguerie/archive/2009/05/22/modern-censorship.aspx#comments</comments><description>&lt;p&gt;Should I need a reason to hate Apple, it would be &lt;a href="http://www.itwriting.com/blog/1470-apple-censors-iphone-application-threatens-developer-livelihood.html" mce_href="http://www.itwriting.com/blog/1470-apple-censors-iphone-application-threatens-developer-livelihood.html"&gt;censorship&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;This is not the first time Apple censors an application on the iPhone, but &lt;a href="http://www.itwriting.com/blog/1470-apple-censors-iphone-application-threatens-developer-livelihood.html" mce_href="http://www.itwriting.com/blog/1470-apple-censors-iphone-application-threatens-developer-livelihood.html"&gt;this time&lt;/a&gt; it's scarier.&lt;br&gt;
They censor software, and they censor books. Are users of iPhones and Apple products fully aware of such things? As consumers, you have the power to react.&lt;/p&gt;
&lt;p&gt;This is also ridiculous. As wondered in &lt;a href="http://www.blog.montgomerie.net/whither-eucalyptus" mce_href="http://www.blog.montgomerie.net/whither-eucalyptus"&gt;the original blog post&lt;/a&gt;, how is that different from using the built-in browser of the iPhone to access the same public content?&lt;/p&gt;
&lt;p&gt;
&lt;object width="445" height="364"&gt;
&lt;param name="movie" value="http://www.youtube.com/v/OYecfV3ubP8&amp;amp;hl=fr&amp;amp;fs=1&amp;amp;rel=0&amp;amp;color1=0x5d1719&amp;amp;color2=0xcd311b"&gt;
&lt;param name="allowFullScreen" value="true"&gt;
&lt;param name="allowscriptaccess" value="always"&gt;
&lt;embed src="http://www.youtube.com/v/OYecfV3ubP8&amp;amp;hl=fr&amp;amp;fs=1&amp;amp;rel=0&amp;amp;color1=0x5d1719&amp;amp;color2=0xcd311b" mce_src="http://www.youtube.com/v/OYecfV3ubP8&amp;amp;hl=fr&amp;amp;fs=1&amp;amp;rel=0&amp;amp;color1=0x5d1719&amp;amp;color2=0xcd311b" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="445" height="364"&gt;&lt;/object&gt;
&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7094979" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/fmarguerie/archive/tags/Opinions/default.aspx">Opinions</category></item><item><title>New York Times abandons WPF and Silverlight in favor of AIR</title><link>http://weblogs.asp.net/fmarguerie/archive/2009/05/22/new-york-times-abandons-wpf-and-silverlight-in-favor-of-air.aspx</link><pubDate>Fri, 22 May 2009 14:25:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7094750</guid><dc:creator>Fabrice Marguerie</dc:creator><slash:comments>23</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/fmarguerie/rsscomments.aspx?PostID=7094750</wfw:commentRss><comments>http://weblogs.asp.net/fmarguerie/archive/2009/05/22/new-york-times-abandons-wpf-and-silverlight-in-favor-of-air.aspx#comments</comments><description>&lt;p&gt;The first version of &lt;a href="http://nytimes.com/timesreader" mce_href="http://nytimes.com/timesreader"&gt;the New York Times Reader&lt;/a&gt; was showcased in 2006 as one of the first and major WPF applications. Then, the Times Reader was ported to Silverlight, so it can work on non-Windows platforms such as Mac OS and Linux. The fact that WPF runs only on Windows was indeed a major concern for such a product.&lt;/p&gt;&lt;p&gt;The move to Silverlight was not a big success. The Silverlight version of the Times Reader suffered from technical issues and political rejection from Apple users.&lt;br&gt;There were hundreds of comments on the homepage of the Silverlight version. Roughtly half of them where related to technical problems, half to rejection. Many Apple users don't want to use Microsoft products.&lt;br&gt;Technical issues can be solved (over time), but solving rejection is another story (and I don't think it can be solved). &lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://firstlook.blogs.nytimes.com/2009/05/12/times-reader-20-is-now-available/" mce_href="http://firstlook.blogs.nytimes.com/2009/05/12/times-reader-20-is-now-available/"&gt;Version 2.0 of the Times Reader has been released recently&lt;/a&gt;, and what is interesting is that WPF and Silverlight have been dropped in favor of Adobe AIR.&lt;br&gt;No more political issues, a single code base, and less technical issues it seems.&lt;br&gt;&lt;/p&gt;&lt;p&gt;This is a very interesting move. In fact, when I had to choose a technology for a new product a couple of months ago, I chose AIR too. As a .NET expert, I have of course considered WPF and Silverlight, but I had the same concerns as the New York Times.&lt;br&gt;A requirement was that the product should run on major platforms (Windows AND Mac at least), and even if Silverlight works on Macs, it was not a good choice for the same technical and political issues that the Times Reader faced. One big showstopper was the inability to create standalone desktop applications with Silverlight. It should be noted that Silverlight 3's out-of-browser mode won't be an answer to this because of its intrinsic limitations. AIR is much more powerful, with deeper desktop integration (such as file system access).&lt;br&gt;&lt;/p&gt;&lt;p&gt;It will be interesting to follow what will happen over time, but in my book, Flash/Flex and AIR have a lot of advantages right now compared to WPF and Silverlight.&lt;br&gt;I believe also that the battle is not only on the Web and the desktop, but also on mobile devices. Something tells me that we'll see Flash on Android, iPhone and Pre before Silverlight. And that will make a big difference.&lt;/p&gt;&lt;p&gt;More about the new version of the Times Reader &lt;a href="http://www.infoq.com/news/2009/05/Times-AIR-Reader" mce_href="http://www.infoq.com/news/2009/05/Times-AIR-Reader"&gt;here&lt;/a&gt;, &lt;a href="http://www.itwriting.com/blog/1424-new-york-times-switches-from-wpfsilverlight-to-flash-for-reader-2.html" mce_href="http://www.itwriting.com/blog/1424-new-york-times-switches-from-wpfsilverlight-to-flash-for-reader-2.html"&gt;here&lt;/a&gt; and &lt;a href="http://firstlook.blogs.nytimes.com/2009/05/08/sneak-peek-of-times-reader-20/" mce_href="http://firstlook.blogs.nytimes.com/2009/05/08/sneak-peek-of-times-reader-20/"&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;&lt;font color="#006600"&gt;Update:&lt;/font&gt; &lt;a href="http://firstlook.blogs.nytimes.com/2008/05/22/times-reader-beta-for-the-mac-now-available/" mce_href="http://firstlook.blogs.nytimes.com/2008/05/22/times-reader-beta-for-the-mac-now-available/"&gt;Here is the post that announced the original version for the Mac&lt;/a&gt;, based on Silverlight. I read a few months ago the comments made on this post. Have a look, it's very instructive. Oh of course, silly people posted comments there too...&lt;br&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7094750" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/fmarguerie/archive/tags/News/default.aspx">News</category><category domain="http://weblogs.asp.net/fmarguerie/archive/tags/Tools/default.aspx">Tools</category><category domain="http://weblogs.asp.net/fmarguerie/archive/tags/Opinions/default.aspx">Opinions</category><category domain="http://weblogs.asp.net/fmarguerie/archive/tags/.NET/default.aspx">.NET</category><category domain="http://weblogs.asp.net/fmarguerie/archive/tags/UI/default.aspx">UI</category></item><item><title>ForEach debate continued</title><link>http://weblogs.asp.net/fmarguerie/archive/2009/05/21/foreach-debate-continued.aspx</link><pubDate>Thu, 21 May 2009 10:04:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7094047</guid><dc:creator>Fabrice Marguerie</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/fmarguerie/rsscomments.aspx?PostID=7094047</wfw:commentRss><comments>http://weblogs.asp.net/fmarguerie/archive/2009/05/21/foreach-debate-continued.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://blogs.msdn.com/ericlippert" mce_href="http://blogs.msdn.com/ericlippert"&gt;Eric Lippert&lt;/a&gt;, whose blog you shouldn't miss, adds his own arguments to &lt;a href="http://linqinaction.net/blogs/main/archive/2009/02/25/foreach-or-not-foreach-that-is-the-question.aspx" mce_href="http://linqinaction.net/blogs/main/archive/2009/02/25/foreach-or-not-foreach-that-is-the-question.aspx"&gt;the debate&lt;/a&gt; about whether using a &lt;i&gt;ForEach&lt;/i&gt; extension method instead of &lt;i&gt;foreach&lt;/i&gt; is a good idea or a bad one.&lt;/p&gt;&lt;p&gt;I don't see a definitive answer to the question. All the arguments given here and elsewhere are good, but in the end, it's up to you to decide what you prefer to do.&lt;br&gt;Read the posts and the comments to make up your own mind.&lt;br&gt;&lt;/p&gt;
&lt;br&gt;&lt;i&gt;Cross-posted from &lt;a href="http://linqinaction.net/"&gt;http://linqinaction.net&lt;/a&gt;&lt;/i&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7094047" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/fmarguerie/archive/tags/Opinions/default.aspx">Opinions</category><category domain="http://weblogs.asp.net/fmarguerie/archive/tags/.NET/default.aspx">.NET</category><category domain="http://weblogs.asp.net/fmarguerie/archive/tags/LINQ/default.aspx">LINQ</category></item><item><title>LINQ em Ação, LINQ in Action in Portuguese</title><link>http://weblogs.asp.net/fmarguerie/archive/2009/05/20/linq-em-a-231-227-o-linq-in-action-in-portuguese.aspx</link><pubDate>Wed, 20 May 2009 14:03:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7093554</guid><dc:creator>Fabrice Marguerie</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/fmarguerie/rsscomments.aspx?PostID=7093554</wfw:commentRss><comments>http://weblogs.asp.net/fmarguerie/archive/2009/05/20/linq-em-a-231-227-o-linq-in-action-in-portuguese.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://www.lcm.com.br/index.php?Escolha=20&amp;amp;Livro=L00714" mce_href="http://www.lcm.com.br/index.php?Escolha=20&amp;amp;Livro=L00714"&gt;&lt;img src="http://linqinaction.net/photos/main/images/4792/original.aspx" title="LINQ em Ação" alt="LINQ em Ação" mce_src="http://linqinaction.net/photos/main/images/4792/original.aspx" vspace="2" width="216" align="right" border="0" height="303" hspace="5"&gt;&lt;/a&gt;After English, &lt;a href="http://linqinaction.net/blogs/main/archive/2008/08/28/linq-im-einsatz-linq-in-action-in-german.aspx" mce_href="http://linqinaction.net/blogs/main/archive/2008/08/28/linq-im-einsatz-linq-in-action-in-german.aspx"&gt;German&lt;/a&gt; and &lt;a href="http://linqinaction.net/blogs/main/archive/2009/04/17/linq-in-action-in-spanish.aspx" mce_href="http://linqinaction.net/blogs/main/archive/2009/04/17/linq-in-action-in-spanish.aspx"&gt;Spanish&lt;/a&gt;, &lt;a href="http://linqinaction.net" mce_href="http://linqinaction.net"&gt;LINQ in Action&lt;/a&gt; is now available &lt;span style="font-style: italic;"&gt;em Português&lt;/span&gt;.&lt;/p&gt;&lt;p&gt;The title is &lt;a href="http://www.lcm.com.br/index.php?Escolha=20&amp;amp;Livro=L00714" mce_href="http://www.lcm.com.br/index.php?Escolha=20&amp;amp;Livro=L00714"&gt;LINQ em Ação&lt;/a&gt;. The publisher is &lt;a href="http://www.lcm.com.br" mce_href="http://www.lcm.com.br"&gt;Editora Ciência Moderna&lt;/a&gt;.&lt;br&gt;
&lt;br&gt;&lt;i&gt;Cross-posted from &lt;a href="http://linqinaction.net/"&gt;http://linqinaction.net&lt;/a&gt;&lt;/i&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7093554" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/fmarguerie/archive/tags/.NET/default.aspx">.NET</category><category domain="http://weblogs.asp.net/fmarguerie/archive/tags/LINQ/default.aspx">LINQ</category></item><item><title>Localization in WPF</title><link>http://weblogs.asp.net/fmarguerie/archive/2009/05/12/localization-in-wpf.aspx</link><pubDate>Tue, 12 May 2009 10:21:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7083910</guid><dc:creator>Fabrice Marguerie</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/fmarguerie/rsscomments.aspx?PostID=7083910</wfw:commentRss><comments>http://weblogs.asp.net/fmarguerie/archive/2009/05/12/localization-in-wpf.aspx#comments</comments><description>&lt;p&gt;Several techniques exist for localizing WPF applications. I have yet to study them before making a choice.&lt;/p&gt;&lt;p&gt;Here are some resources I've collected:&lt;br&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://wpflocalization.codeplex.com/" mce_href="http://wpflocalization.codeplex.com/"&gt;http://wpflocalization.codeplex.com&lt;/a&gt;&lt;br&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms788718.aspx" mce_href="http://msdn.microsoft.com/en-us/library/ms788718.aspx"&gt;WPF Globalization and Localization Overview (MSDN)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeproject.com/KB/WPF/WPFUsingLocbaml.aspx" mce_href="http://www.codeproject.com/KB/WPF/WPFUsingLocbaml.aspx"&gt;http://www.codeproject.com/KB/WPF/WPFUsingLocbaml.aspx&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeproject.com/KB/WPF/Localization_in_WPF.aspx" mce_href="http://www.codeproject.com/KB/WPF/Localization_in_WPF.aspx"&gt;http://www.codeproject.com/KB/WPF/Localization_in_WPF.aspx&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeproject.com/KB/WPF/WPFLocalize.aspx" mce_href="http://www.codeproject.com/KB/WPF/WPFLocalize.aspx"&gt;http://www.codeproject.com/KB/WPF/WPFLocalize.aspx&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeproject.com/KB/WPF/WPF_Localization.aspx" mce_href="http://www.codeproject.com/KB/WPF/WPF_Localization.aspx"&gt;http://www.codeproject.com/KB/WPF/WPF_Localization.aspx&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeproject.com/KB/WPF/WPF_Resx_Localization.aspx" mce_href="http://www.codeproject.com/KB/WPF/WPF_Resx_Localization.aspx"&gt;http://www.codeproject.com/KB/WPF/WPF_Resx_Localization.aspx&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeproject.com/KB/WPF/WPF-Mulit-Lingual.aspx" mce_href="http://www.codeproject.com/KB/WPF/WPF-Mulit-Lingual.aspx"&gt;http://www.codeproject.com/KB/WPF/WPF-Mulit-Lingual.aspx&lt;/a&gt;&lt;br&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.odewit.net/ArticleContent.aspx?id=WpfLocalization&amp;amp;format=html&amp;amp;lang=en" mce_href="http://www.odewit.net/ArticleContent.aspx?id=WpfLocalization&amp;amp;format=html&amp;amp;lang=en"&gt;http://www.odewit.net/ArticleContent.aspx?id=WpfLocalization&amp;amp;format=html&amp;amp;lang=en&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://compositeextensions.codeplex.com/Thread/View.aspx?ThreadId=52910" mce_href="http://compositeextensions.codeplex.com/Thread/View.aspx?ThreadId=52910"&gt;http://compositeextensions.codeplex.com/Thread/View.aspx?ThreadId=52910&lt;/a&gt;&lt;br&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.wpftutorial.net/LocalizeMarkupExtension.html" mce_href="http://www.wpftutorial.net/LocalizeMarkupExtension.html"&gt;http://www.wpftutorial.net/LocalizeMarkupExtension.html&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://wpflocalizeextension.codeplex.com" mce_href="http://wpflocalizeextension.codeplex.com"&gt;http://wpflocalizeextension.codeplex.com&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://blogs.oosterkamp.nl/blogs/thomas/archive/2008/12/24/easy-custom-localization-in-wpf.aspx" mce_href="http://blogs.oosterkamp.nl/blogs/thomas/archive/2008/12/24/easy-custom-localization-in-wpf.aspx"&gt;http://blogs.oosterkamp.nl/blogs/thomas/archive/2008/12/24/easy-custom-localization-in-wpf.aspx&lt;/a&gt;&lt;br&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://blogs.imeta.co.uk/sstrong/archive/2008/10/03/421.aspx" mce_href="http://blogs.imeta.co.uk/sstrong/archive/2008/10/03/421.aspx"&gt;http://blogs.imeta.co.uk/sstrong/archive/2008/10/03/421.aspx&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://blog.taggersoft.com/2008/07/wpf-application-localization-pattern_29.html" mce_href="http://blog.taggersoft.com/2008/07/wpf-application-localization-pattern_29.html"&gt;http://blog.taggersoft.com/2008/07/wpf-application-localization-pattern_29.html&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/tomershamam/archive/2007/10/30/wpf-localization-on-the-fly-language-selection.aspx" mce_href="http://blogs.microsoft.co.il/blogs/tomershamam/archive/2007/10/30/wpf-localization-on-the-fly-language-selection.aspx"&gt;http://blogs.microsoft.co.il/blogs/tomershamam/archive/2007/10/30/wpf-localization-on-the-fly-language-selection.aspx&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://robbbloggg.blogspot.com/2008/03/xaml-localization.html" mce_href="http://robbbloggg.blogspot.com/2008/03/xaml-localization.html"&gt;http://robbbloggg.blogspot.com/2008/03/xaml-localization.html&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.geektieguy.com/2006/12/12/localizing-an-xbap-application-without-using-locbaml/" mce_href="http://www.geektieguy.com/2006/12/12/localizing-an-xbap-application-without-using-locbaml/"&gt;http://www.geektieguy.com/2006/12/12/localizing-an-xbap-application-without-using-locbaml/&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://sachabarber.net/?p=286" mce_href="http://sachabarber.net/?p=286"&gt;http://sachabarber.net/?p=286&lt;/a&gt;&lt;br&gt;&lt;/li&gt;&lt;/ul&gt;As you can see, several custom solutions are available. Is there an ultimate one in there? I guess it depends on the features you need (on-the-fly culture change, localized resources update without recompiling, designer support, etc.).&lt;br&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7083910" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/fmarguerie/archive/tags/Source/default.aspx">Source</category><category domain="http://weblogs.asp.net/fmarguerie/archive/tags/Tools/default.aspx">Tools</category><category domain="http://weblogs.asp.net/fmarguerie/archive/tags/.NET/default.aspx">.NET</category><category domain="http://weblogs.asp.net/fmarguerie/archive/tags/UI/default.aspx">UI</category></item><item><title>Fix for Visual Studio 2008 crash with XAML files</title><link>http://weblogs.asp.net/fmarguerie/archive/2009/05/11/fix-for-visual-studio-2008-crash-with-xaml-files.aspx</link><pubDate>Mon, 11 May 2009 16:32:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7082004</guid><dc:creator>Fabrice Marguerie</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/fmarguerie/rsscomments.aspx?PostID=7082004</wfw:commentRss><comments>http://weblogs.asp.net/fmarguerie/archive/2009/05/11/fix-for-visual-studio-2008-crash-with-xaml-files.aspx#comments</comments><description>&lt;p&gt;Does your Visual Studio 2008 SP1 crash when you open &lt;i&gt;some&lt;/i&gt; XAML files? It started to happen to me, for some unknown reason.&lt;/p&gt;&lt;p&gt;What I saw was Visual Studio completely disappearing after opening a XAML file, with the devenv.exe process being unloaded. The only traces of this kind of crash were error events in the Windows Event Viewer: ".NET Runtime version 2.0.50727.3053 - Fatal Execution Engine Error (7A035E00) (80131506)".&lt;br&gt;&lt;/p&gt;&lt;p&gt;Luckily, &lt;a href="http://karlshifflett.wordpress.com/2009/03/13/clr-hotfix-available-for-visual-studio-2008-rapid-crashing/" mce_href="http://karlshifflett.wordpress.com/2009/03/13/clr-hotfix-available-for-visual-studio-2008-rapid-crashing/"&gt;a fix for this issue&lt;/a&gt; has been published by Microsoft. It looks like everything is back in order now.&lt;br&gt;&lt;/p&gt;&lt;p&gt;Finally, back to productivity thanks to this hotfix and &lt;a href="http://weblogs.asp.net/fmarguerie/archive/2009/01/29/life-changer-xaml-tip-for-visual-studio.aspx" mce_href="http://weblogs.asp.net/fmarguerie/archive/2009/01/29/life-changer-xaml-tip-for-visual-studio.aspx"&gt;the tip I published some time ago&lt;/a&gt;!&lt;br&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7082004" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/fmarguerie/archive/tags/Tools/default.aspx">Tools</category><category domain="http://weblogs.asp.net/fmarguerie/archive/tags/Tips/default.aspx">Tips</category><category domain="http://weblogs.asp.net/fmarguerie/archive/tags/.NET/default.aspx">.NET</category></item><item><title>LINQ in Action in Spanish (LINQ en español)</title><link>http://weblogs.asp.net/fmarguerie/archive/2009/04/17/linq-in-action-in-spanish.aspx</link><pubDate>Thu, 16 Apr 2009 23:44:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7048520</guid><dc:creator>Fabrice Marguerie</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/fmarguerie/rsscomments.aspx?PostID=7048520</wfw:commentRss><comments>http://weblogs.asp.net/fmarguerie/archive/2009/04/17/linq-in-action-in-spanish.aspx#comments</comments><description>&lt;p&gt;Today I had the pleasure to receive a copy of &lt;a href="http://linqinaction.net" mce_href="http://linqinaction.net"&gt;LINQ in Action&lt;/a&gt; translated in Spanish. This came a bit unexpected, but it's great!&lt;/p&gt;&lt;p&gt;LINQ in Action already existed &lt;a href="http://linqinaction.net/blogs/main/archive/2008/08/28/linq-im-einsatz-linq-in-action-in-german.aspx" mce_href="http://linqinaction.net/blogs/main/archive/2008/08/28/linq-im-einsatz-linq-in-action-in-german.aspx"&gt;in German (LINQ im Einsatz)&lt;/a&gt;, and I know that other translations should be published soon. The Chinese version is the next one expected, I believe.&lt;/p&gt;&lt;p&gt;The Spanish version of the book is published by &lt;a href="http://www.anayamultimedia.es/" mce_href="http://www.anayamultimedia.es/"&gt;Anaya Multimedia&lt;/a&gt;. The title of the book is simply... "LINQ"!&lt;/p&gt;&lt;p&gt;¡Espero que disfruten la lectura de este libro!&lt;br&gt;&lt;/p&gt;
&lt;br&gt;&lt;i&gt;Cross-posted from &lt;a href="http://linqinaction.net/"&gt;http://linqinaction.net&lt;/a&gt;&lt;/i&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7048520" width="1" height="1"&gt;</description></item><item><title>LINQ Deep Dive: great LINQ tips</title><link>http://weblogs.asp.net/fmarguerie/archive/2009/04/03/linq-deep-dive-great-linq-tips.aspx</link><pubDate>Fri, 03 Apr 2009 09:52:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7024043</guid><dc:creator>Fabrice Marguerie</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/fmarguerie/rsscomments.aspx?PostID=7024043</wfw:commentRss><comments>http://weblogs.asp.net/fmarguerie/archive/2009/04/03/linq-deep-dive-great-linq-tips.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://weblogs.asp.net/zeeshanhirani/" mce_href="http://weblogs.asp.net/zeeshanhirani/"&gt;Zeeshan Hirani&lt;/a&gt; who already offered us &lt;a href="http://weblogs.asp.net/zeeshanhirani/archive/2008/12/18/my-christmas-present-to-the-entity-framework-community.aspx" mce_href="http://weblogs.asp.net/zeeshanhirani/archive/2008/12/18/my-christmas-present-to-the-entity-framework-community.aspx"&gt;a 500-page Entity Framework learning guide&lt;/a&gt;, now publishes &lt;a href="http://www.aspnetpro.com/articles/2009/04/asp200904zh_f/asp200904zh_f.asp" mce_href="http://www.aspnetpro.com/articles/2009/04/asp200904zh_f/asp200904zh_f.asp"&gt;great LINQ tips in the first part of his LINQ Deep Dive articles&lt;/a&gt;.
These tips are not the usual introductions to LINQ features you can
find elsewhere. You can tell that they come from someone who lives in
the trenches. I learnt very interesting features and best practices I
didn't know about. &lt;/p&gt;&lt;ol&gt;&lt;li&gt;Apply filters before a join to improve query performance&lt;/li&gt;&lt;li&gt;Filter LINQ queries using object reference comparison&lt;/li&gt;&lt;li&gt;Apply aggregates to empty collections in LINQ to SQL queries&lt;/li&gt;&lt;li&gt;Delay loading a property in LINQ to SQL&lt;/li&gt;&lt;li&gt;Use table-valued functions with eager loading turned on&lt;/li&gt;&lt;li&gt;Put joins in the correct order in a LINQ to Objects query&lt;/li&gt;&lt;li&gt;Compose a LINQ query inside a loop&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;a href="http://www.aspnetpro.com/articles/2009/04/asp200904zh_f/asp200904zh_f.asp" mce_href="http://www.aspnetpro.com/articles/2009/04/asp200904zh_f/asp200904zh_f.asp"&gt;LINQ Deep Dive: Part I, Tips for Delving in to LINQ&lt;/a&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;i&gt;Cross-posted from &lt;a href="http://linqinaction.net/" mce_href="http://LinqInAction.net"&gt;http://LinqInAction.net&lt;/a&gt;&lt;/i&gt; &lt;br&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7024043" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/fmarguerie/archive/tags/Tips/default.aspx">Tips</category><category domain="http://weblogs.asp.net/fmarguerie/archive/tags/.NET/default.aspx">.NET</category><category domain="http://weblogs.asp.net/fmarguerie/archive/tags/LINQ/default.aspx">LINQ</category></item><item><title>MVP in 2009</title><link>http://weblogs.asp.net/fmarguerie/archive/2009/04/01/mvp-for-2009.aspx</link><pubDate>Wed, 01 Apr 2009 14:52:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7020419</guid><dc:creator>Fabrice Marguerie</dc:creator><slash:comments>4</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/fmarguerie/rsscomments.aspx?PostID=7020419</wfw:commentRss><comments>http://weblogs.asp.net/fmarguerie/archive/2009/04/01/mvp-for-2009.aspx#comments</comments><description>&lt;p&gt;Microsoft just named me an &lt;a href="https://mvp.support.microsoft.com/" mce_href="https://mvp.support.microsoft.com/"&gt;MVP&lt;/a&gt; for the sixth year in a row!&lt;br&gt;What to expect from me this year? Well, I'll continue to improve my existing projects but I also have new projects in the pipe. The best way to know what I'm up to is to follow this blog :-)&lt;br&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7020419" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/fmarguerie/archive/tags/News/default.aspx">News</category><category domain="http://weblogs.asp.net/fmarguerie/archive/tags/.NET/default.aspx">.NET</category></item><item><title>Your favorite .NET and Java tools in RSS</title><link>http://weblogs.asp.net/fmarguerie/archive/2009/03/23/your-favorite-net-and-java-tools-in-rss.aspx</link><pubDate>Mon, 23 Mar 2009 18:15:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6995181</guid><dc:creator>Fabrice Marguerie</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/fmarguerie/rsscomments.aspx?PostID=6995181</wfw:commentRss><comments>http://weblogs.asp.net/fmarguerie/archive/2009/03/23/your-favorite-net-and-java-tools-in-rss.aspx#comments</comments><description>&lt;p&gt;I've just updated &lt;a href="http://SharpToolbox.com" mce_href="http://SharpToolbox.com"&gt;SharpToolbox.com&lt;/a&gt; and &lt;a href="http://JavaToolbox.com" mce_href="http://JavaToolbox.com"&gt;JavaToolbox.com&lt;/a&gt; again to improve &lt;a href="http://weblogs.asp.net/fmarguerie/archive/2009/03/17/your-favorite-net-and-java-tools.aspx" mce_href="http://weblogs.asp.net/fmarguerie/archive/2009/03/17/your-favorite-net-and-java-tools.aspx"&gt;the features I announced last week&lt;/a&gt;. You can now &lt;b&gt;use RSS to follow your favorite .NET and Java tools&lt;/b&gt;.&lt;/p&gt;&lt;p&gt;&lt;a href="http://weblogs.asp.net/fmarguerie/archive/2009/03/17/your-favorite-net-and-java-tools.aspx" mce_href="http://weblogs.asp.net/fmarguerie/archive/2009/03/17/your-favorite-net-and-java-tools.aspx"&gt;&lt;img src="http://madgeek.com/dotnetweblogs/Images/StbFavorites/RSS1.png" title="Favorite tools RSS" alt="Favorite tools RSS" mce_src="http://madgeek.com/dotnetweblogs/Images/StbFavorites/RSS1.png" border="1" vspace="4" width="492" height="222" hspace="4"&gt;&lt;/a&gt; &lt;a href="http://weblogs.asp.net/fmarguerie/archive/2009/03/17/your-favorite-net-and-java-tools.aspx" mce_href="http://weblogs.asp.net/fmarguerie/archive/2009/03/17/your-favorite-net-and-java-tools.aspx"&gt;&lt;img src="http://madgeek.com/dotnetweblogs/Images/StbFavorites/RSS2.png" title="Favorite tools RSS" alt="Favorite tools RSS" mce_src="http://madgeek.com/dotnetweblogs/Images/StbFavorites/RSS2.png" border="1" vspace="4" width="570" height="172" hspace="4"&gt;&lt;/a&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Of course, you can also share your RSS feeds with someone else. But what's much more interesting is that you can &lt;b&gt;reuse your personal RSS documents&lt;/b&gt; and do whatever you want with them. After all, it's just &lt;b&gt;XML that you can parse and transform easily&lt;/b&gt;.&lt;br&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6995181" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/fmarguerie/archive/tags/_2800_Sharp_7C00_Java_2900_Toolbox/default.aspx">(Sharp|Java)Toolbox</category><category domain="http://weblogs.asp.net/fmarguerie/archive/tags/.NET/default.aspx">.NET</category></item><item><title>Your favorite .NET and Java tools</title><link>http://weblogs.asp.net/fmarguerie/archive/2009/03/17/your-favorite-net-and-java-tools.aspx</link><pubDate>Tue, 17 Mar 2009 15:22:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6966804</guid><dc:creator>Fabrice Marguerie</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/fmarguerie/rsscomments.aspx?PostID=6966804</wfw:commentRss><comments>http://weblogs.asp.net/fmarguerie/archive/2009/03/17/your-favorite-net-and-java-tools.aspx#comments</comments><description>&lt;p&gt;Whatever you're doing with .NET or Java, you have to deal with a lot of tools and libraries. If you need to find new ones, you can consult &lt;a href="http://SharpToolbox.com" mce_href="http://SharpToolbox.com"&gt;SharpToolbox.com&lt;/a&gt; and &lt;a href="http://JavaToolbox.com" mce_href="http://JavaToolbox.com"&gt;JavaToolbox.com&lt;/a&gt;. You'll find there more than 2000 tools, libraries and add-ins! The main goal of these sites has always been to help you to quickly identify the tools you need.&lt;/p&gt;&lt;p&gt;&lt;a href="http://SharpToolbox.com" mce_href="http://SharpToolbox.com"&gt;&lt;img src="http://madgeek.com/dotnetweblogs/Images/StbFavorites/SharpToolbox_Logo.png" title="SharpToolbox Logo" alt="SharpToolbox Logo" mce_src="http://madgeek.com/dotnetweblogs/Images/StbFavorites/SharpToolbox_Logo.png" width="298" border="0" height="60"&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp; &lt;a href="http://JavaToolbox.com" mce_href="http://JavaToolbox.com"&gt;&lt;img src="http://madgeek.com/dotnetweblogs/Images/StbFavorites/JavaToolbox_Logo.png" title="JavaToolbox Logo" alt="JavaToolbox Logo" mce_src="http://madgeek.com/dotnetweblogs/Images/StbFavorites/JavaToolbox_Logo.png" width="298" border="0" height="60"&gt;&lt;/a&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;One thing that has been missing on SharpToolbox.com and JavaToolbox.com until today is the ability for you to &lt;b&gt;keep track of your favorite tools&lt;/b&gt;. This post is here to announce that you can now easily add tools to a personal watch list. This will allow you to find all your tools in one place. You'll then be able to see in a blink whether these tools have been updated. We'll also email you when one of your favorite tools gets updated.&lt;/p&gt;&lt;p&gt;&lt;a href="http://SharpToolbox.com/my-favorites" mce_href="http://SharpToolbox.com/my-favorites"&gt;&lt;img src="http://madgeek.com/dotnetweblogs/Images/StbFavorites/MyFavorites.png" title="SharpToolbox Favorites" alt="SharpToolbox Favorites" mce_src="http://madgeek.com/dotnetweblogs/Images/StbFavorites/MyFavorites.png" width="500" border="1" height="376"&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt;Another thing that this update offers you is the ability to &lt;b&gt;show to your peers which tools you use&lt;/b&gt;. This can easily be done by displaying the brand new SharpToolbox and/or JavaToolbox &lt;b&gt;Favorites widget&lt;/b&gt;.&lt;p&gt;&lt;img src="http://madgeek.com/dotnetweblogs/Images/StbFavorites/FavoritesWidget_stb.png" title="Favorites widget" alt="Favorites widget" mce_src="http://madgeek.com/dotnetweblogs/Images/StbFavorites/FavoritesWidget_stb.png" width="450" border="0" height="159"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;In order to be able to manage your favorites, all you have to do is to create a SharpToolbox.com, JavaToolbox.com and Proagora.com account on Proagora.com. After this short process, you can sign in on &lt;a href="http://SharpToolbox.com" mce_href="http://SharpToolbox.com"&gt;SharpToolbox.com&lt;/a&gt; or &lt;a href="http://JavaToolbox.com" mce_href="http://JavaToolbox.com"&gt;JavaToolbox.com&lt;/a&gt; and start adding tools to your personal list of favorites.&lt;/p&gt;&lt;p&gt;&lt;img src="http://madgeek.com/dotnetweblogs/Images/StbFavorites/AddToFavorites.png" title="Add to favorites" alt="Add to favorites" mce_src="http://madgeek.com/dotnetweblogs/Images/StbFavorites/AddToFavorites.png" width="251" border="0" height="371"&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;If you want to display your favorites on your blog or your website, you can simply copy and paste the HTML block you'll find on &lt;a href="http://SharpToolbox.com/my-favorites" mce_href="http://SharpToolbox.com/my-favorites"&gt;the "My Favorites" page&lt;/a&gt; (&lt;a href="http://JavaToolbox.com/my-favorites" mce_href="http://JavaToolbox.com/my-favorites"&gt;here is the same page&lt;/a&gt; on JavaToolbox.com).&lt;/p&gt;&lt;p&gt;&lt;a href="http://sharptoolbox.com/my-favorites" mce_href="http://sharptoolbox.com/my-favorites"&gt;&lt;img src="http://madgeek.com/dotnetweblogs/Images/StbFavorites/FavoritesWidgetPromo_stb.png" title="My .NET tools" alt="My .NET tools" mce_src="http://madgeek.com/dotnetweblogs/Images/StbFavorites/FavoritesWidgetPromo_stb.png" width="270" border="0" height="104"&gt;&lt;/a&gt; &amp;nbsp;&amp;nbsp; &lt;a href="http://javatoolbox.com/my-favorites" mce_href="http://javatoolbox.com/my-favorites"&gt;&lt;img src="http://madgeek.com/dotnetweblogs/Images/StbFavorites/FavoritesWidgetPromo_jtb.png" title="My Java tools" alt="My Java tools" mce_src="http://madgeek.com/dotnetweblogs/Images/StbFavorites/FavoritesWidgetPromo_jtb.png" width="270" border="0" height="104"&gt;&lt;/a&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;In addition to displaying your favorite tools on your blog or website, you can display them &lt;b&gt;on your Proagora.com profile&lt;/b&gt; if you want. You don't automatically have a public profile on Proagora.com when you first create your account, but if you decide to create one, you'll be able to choose whether your favorite .NET and Java tools are displayed on it. Of course, I encourage you to publish your profile :-)&lt;br&gt;You can see what it all looks like on &lt;a href="http://proagora.com/en/experts/profiles/fabrice.marguerie" mce_href="http://proagora.com/en/experts/profiles/fabrice.marguerie"&gt;my own Proagora.com profile&lt;/a&gt;.&lt;br&gt;&lt;/p&gt;&lt;p&gt;I hope you'll find these new features useful. As usual, your feedback and suggestions are welcome!&lt;/p&gt;&lt;p&gt;I'd like to thank &lt;a href="http://www.tobinharris.com" mce_href="http://www.tobinharris.com"&gt;Tobin Harris&lt;/a&gt; for the fruitful discussion about these features and for the great suggestion of providing widgets.&lt;br&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6966804" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/fmarguerie/archive/tags/Tools/default.aspx">Tools</category><category domain="http://weblogs.asp.net/fmarguerie/archive/tags/_2800_Sharp_7C00_Java_2900_Toolbox/default.aspx">(Sharp|Java)Toolbox</category><category domain="http://weblogs.asp.net/fmarguerie/archive/tags/.NET/default.aspx">.NET</category></item><item><title>ForEach or not ForEach, that is the question</title><link>http://weblogs.asp.net/fmarguerie/archive/2009/02/25/foreach-or-not-foreach-that-is-the-question.aspx</link><pubDate>Wed, 25 Feb 2009 18:20:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6926186</guid><dc:creator>Fabrice Marguerie</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/fmarguerie/rsscomments.aspx?PostID=6926186</wfw:commentRss><comments>http://weblogs.asp.net/fmarguerie/archive/2009/02/25/foreach-or-not-foreach-that-is-the-question.aspx#comments</comments><description>&lt;p&gt;In &lt;a href="http://www.amazon.com/gp/product/1933988169?ie=UTF8&amp;amp;tag=sharptoolbox-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=1933988169" mce_href="http://www.amazon.com/gp/product/1933988169?ie=UTF8&amp;amp;tag=sharptoolbox-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=1933988169"&gt;LINQ in Action&lt;/a&gt;, we discuss about the missing &lt;b&gt;ForEach&lt;/b&gt;
query operator. This is in Chapter 5 "Beyond basic in-memory queries",
more precisely in section 5.2.2. There, we indicate that &lt;a href="http://blogs.msdn.com/ericwhite" mce_href="http://blogs.msdn.com/ericwhite"&gt;Eric White&lt;/a&gt; suggested this operator in &lt;a href="http://blogs.msdn.com/ericwhite/pages/FP-Tutorial.aspx" mce_href="http://blogs.msdn.com/ericwhite/pages/FP-Tutorial.aspx"&gt;his functional programming tutorial&lt;/a&gt;, although I'm not able to find the exact reference at the moment in this tutorial.&lt;/p&gt;
&lt;p&gt;Since then, a lot of people have been asking for ForEach. &lt;a href="http://blogs.msdn.com/kirillosenkov/archive/2009/01/31/foreach.aspx" mce_href="http://blogs.msdn.com/kirillosenkov/archive/2009/01/31/foreach.aspx"&gt;This can be seen on Kirill Osenkov's blog&lt;/a&gt;, where you'll find links to discussions about whether ForEach is good or bad.&lt;br&gt;I don't know if we're going to see ForEach appear in .NET. Anyway, it's not very difficult to write your own:&lt;/p&gt;
&lt;p style="font-family: courier new; color: Navy;"&gt;public static void ForEach&amp;lt;T&amp;gt;(this IEnumerable&amp;lt;T&amp;gt; source, Action&amp;lt;T&amp;gt; action)&lt;br&gt;{&lt;br&gt;&amp;nbsp; if (source == null)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; throw new ArgumentNullException("source");&lt;br&gt;&amp;nbsp; if (action == null)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; throw new ArgumentNullException("action");&lt;br&gt;&lt;br&gt;&amp;nbsp; foreach (var item in source)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; action(item);&lt;br&gt;}&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;i&gt;Cross-posted from &lt;a href="http://LinqInAction.net" mce_href="http://LinqInAction.net"&gt;http://LinqInAction.net&lt;/a&gt;&lt;/i&gt;&lt;br&gt;&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6926186" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/fmarguerie/archive/tags/Source/default.aspx">Source</category><category domain="http://weblogs.asp.net/fmarguerie/archive/tags/.NET/default.aspx">.NET</category><category domain="http://weblogs.asp.net/fmarguerie/archive/tags/LINQ/default.aspx">LINQ</category></item></channel></rss>