<?xml version="1.0" encoding="utf-8"?>
<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>teemukeiski.net</title>
    <description>Teemu Keiski's .NET site</description>
    <link>http://teemukeiski.net/roller/default.aspx</link>
    <docs>http://backend.userland.com/rss</docs>
    <generator>Community Server v2.0 (http://www.communityserver.org)</generator>
    <item>
      <title>Microsoft Dynamics GP 2010 RTM "Core-MR" Technical Demonstration Toolkit</title>
      <description>&lt;p&gt;&lt;a href="http://blogs.msdn.com/b/DevelopingForDynamicsGP/" title="David Meego"&gt;&lt;img height="94" width="94" src="http://blogs.msdn.com/cfs-filesystemfile.ashx/__key/CommunityServer-Components-PostAttachments/00-09-96-23-97/David-Meego.gif" align="right" alt="David Meego - Click for blog homepage" hspace="10" border="0" /&gt;&lt;img height="1" width="1" src="http://www.myworldmaps.net/map.ashx/00bb0d70-4fc5-45a1-8753-6af01cdb9beb/ping" align="right" border="0" /&gt;&lt;/a&gt;If you have been watching the blogsphere, you might have seen that Ben Corwin and the Microsoft Dynamics GP product team have released a VPC image based on the Microsoft Dynamics GP 2010 RTM release.&amp;nbsp; This "Core-MR" image contains Microsoft Dynamics GP 2010, Management Reporter for Dynamics ERP and Microsoft Office 2010.&lt;/p&gt;
&lt;p&gt;The documentation and download links can be found on the page below:&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="https://mbs.microsoft.com/partnersource/deployment/methodology/vpc/MSDYGP2010_RTM_CoreMR_TechDemoToolkit" title="Microsoft Dynamics GP 2010 RTM &amp;amp;ldquo;Core-MR&amp;amp;rdquo; Technical Demonstration Toolkit"&gt;Microsoft Dynamics GP 2010 RTM &amp;ldquo;Core-MR&amp;rdquo; Technical Demonstration Toolkit&lt;/a&gt;&amp;nbsp;&lt;img height="18" width="15" src="http://blogs.msdn.com/cfs-filesystemfile.ashx/__key/CommunityServer-Components-PostAttachments/00-08-77-11-97/Padlock.gif" alt="Secure Link" title="Secure Link" /&gt;&amp;nbsp;(PartnerSource)&lt;/p&gt;
&lt;p&gt;For more details see the post from the &lt;strong&gt;Inside Microsoft Dynamics GP&lt;/strong&gt; blog&amp;nbsp;as well as the other posts from around the blogsphere:&amp;nbsp;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Inside Microsoft Dynamics GP: &lt;a target="_blank" href="http://blogs.msdn.com/b/gp/archive/2010/09/01/microsoft-dynamics-gp-2010-rtm-quot-coremr-quot-vpc-is-now-available.aspx" title="Microsoft Dynamics GP 2010 RTM &amp;quot;CoreMR&amp;quot; VPC is NOW AVAILABLE!!"&gt;Microsoft Dynamics GP 2010 RTM "CoreMR" VPC is NOW AVAILABLE!!&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Microsoft Dynamics GP UK Blog: &lt;a target="_blank" href="http://blogs.msdn.com/b/ukgp/archive/2010/09/02/gp2010-new-vpc-image-released.aspx" title="GP2010 - New VPC Image Released"&gt;GP2010 - New VPC Image Released&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Jivtesh Singh: &lt;a target="_blank" href="http://www.jivtesh.com/2010/09/gp-2010-vpc-with-mr-now-available.html" title="GP 2010 VPC with MR now available"&gt;GP 2010 VPC with MR now available&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Mark Polino: &lt;a target="_blank" href="http://msdynamicsgp.blogspot.com/2010/09/microsoft-dynamics-gp-2010-rtm-vpc-is.html" title="Microsoft Dynamics GP 2010 RTM &amp;quot;CoreMR&amp;quot; VPC is NOW AVAILABLE!!"&gt;Microsoft Dynamics GP 2010 RTM "CoreMR" VPC is NOW AVAILABLE!!&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Vaidy Mohan: &lt;a target="_blank" href="http://www.vaidy-dyngp.com/2010/09/gp2010-with-management-reporter-vpc.html" title="GP2010 with Management Reporter - VPC Available"&gt;GP2010 with Management Reporter - VPC Available&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;A "Core-Plus" image&amp;nbsp;with support for Workflow and Business Portal will be released soon ... Watch this space.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;David&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10058475" width="1" height="1"&gt;</description>
      <link>http://blogs.msdn.com/b/developingfordynamicsgp/archive/2010/09/06/microsoft-dynamics-gp-2010-rtm-quot-core-mr-quot-technical-demonstration-toolkit.aspx</link>
      <source url="http://blogs.msdn.com/b/">MSDN Blogs</source>
      <author>David Musgrave</author>
      <dc:creator>David Musgrave</dc:creator>
      <guid isPermaLink="False">91d46819-8472-40ad-a661-2c78acb4018c:10058475</guid>
      <pubDate>Mon, 06 Sep 2010 16:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Will Your Project Be the “Best of Swiss Silverlight 2010”?</title>
      <description>&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;span style="mso-ansi-language:EN-US;"&gt;We are pleased to inform all Silverlight Enthusiasts that as of today, we have opened registration to the &lt;/span&gt;&lt;span&gt;&lt;a href="http://www.microsoft.ch/bestofswisssilverlight"&gt;&lt;b&gt;&lt;span style="mso-ansi-language:EN-US;"&gt;Best of Swiss Silverlight 2010&lt;/span&gt;&lt;/b&gt;&lt;/a&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="mso-ansi-language:EN-US;"&gt; &lt;/span&gt;&lt;/b&gt;&lt;span style="mso-ansi-language:EN-US;"&gt;competition. Best of Swiss Silverlight is a Swiss award for projects developed on the basis &lt;/span&gt;&lt;span&gt;&lt;a href="http://silverlight.net/default.aspx"&gt;&lt;span style="mso-ansi-language:EN-US;mso-bidi-font-weight:bold;"&gt;Microsoft Silverlight&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="mso-ansi-language:EN-US;"&gt;. The competition is a collaboration between the &lt;/span&gt;&lt;span&gt;&lt;a href="http://www.bestofswissweb.ch/bosw/organisation"&gt;&lt;span style="mso-ansi-language:EN-US;"&gt;Best of Swiss Web Association&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="mso-ansi-language:EN-US;"&gt;, in conjunction with &lt;/span&gt;&lt;span&gt;&lt;a href="http://www.simsa.ch/"&gt;&lt;span style="mso-ansi-language:EN-US;mso-bidi-font-weight:bold;"&gt;simsa&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="mso-ansi-language:EN-US;"&gt; and the magazine &lt;/span&gt;&lt;span&gt;&lt;a href="http://www.netzwoche.ch/"&gt;&lt;span style="mso-ansi-language:EN-US;mso-bidi-font-weight:bold;"&gt;Netzwoche&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="mso-ansi-language:EN-US;"&gt;, and &lt;/span&gt;&lt;span&gt;&lt;a href="http://www.microsoft.com/de/ch/default.aspx"&gt;&lt;span style="mso-ansi-language:EN-US;"&gt;Microsoft Switzerland&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="mso-ansi-language:EN-US;"&gt;. The awards are presented annually at &lt;/span&gt;&lt;span&gt;&lt;a href="http://www.microsoft.ch/shape"&gt;&lt;b&gt;&lt;span style="mso-ansi-language:EN-US;"&gt;Shape &amp;ndash; The Web &amp;amp; Cloud Conference&lt;/span&gt;&lt;/b&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="mso-ansi-language:EN-US;mso-bidi-font-weight:bold;"&gt;.&lt;/span&gt;&lt;span style="mso-ansi-language:EN-US;"&gt; This year Shape will be organized on 26&lt;sup&gt;th&lt;/sup&gt; October 2010 in Swiss&amp;ocirc;tel Z&amp;uuml;rich-Oerlikon. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-ansi-language:EN-US;"&gt;&lt;o:p&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-ansi-language:EN-US;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;The purpose of the competition is to recognize companies that have developed outstanding &lt;b style="mso-bidi-font-weight:normal;"&gt;Web and Windows Phone 7&lt;/b&gt; concepts based on Silverlight. The jury will judge entries on criteria such as technology, creativity, ease of use, value added and quality.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-ansi-language:EN-US;"&gt;&lt;o:p&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;span style="mso-ansi-language:EN-US;mso-bidi-font-weight:bold;mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin;"&gt;Service providers and project clients&lt;/span&gt;&lt;span style="mso-ansi-language:EN-US;mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin;"&gt; are eligible to participate in Best of Swiss Silverlight 2010, provided that their project has been launched within the last twelve months or is about to go online or the bulk of the project work has taken place during this period and that the project is based on Silverlight technology. &lt;span style="mso-bidi-font-weight:bold;"&gt;Natural persons and legal entities residing or located in Switzerland and the Principality of Liechtenstein &lt;/span&gt;are eligible to participate. Participation is free of charge. &lt;/span&gt;&lt;span style="mso-ansi-language:EN-US;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-ansi-language:EN-US;"&gt;&lt;o:p&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-ansi-language:EN-US;mso-bidi-font-weight:bold;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;In 2009 &lt;/span&gt;&lt;a href="http://www.microsoft.com/switzerland/shape/gewinner2009.aspx"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;sobees web&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt; from sobees Ltd. won the Best of Swiss Silverlight - Gold Award, will your solution be the winner this year? &lt;b&gt;Read more and take part today:&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;a href="http://www.microsoft.ch/bestofswisssilverlight"&gt;&lt;b&gt;&lt;span style="mso-ansi-language:EN-US;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;www.microsoft.ch/bestofswisssilverlight&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="mso-ansi-language:EN-US;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;.&amp;nbsp;Note: registration time to Best of Swiss Silverlight 2010 ends on &lt;b style="mso-bidi-font-weight:normal;"&gt;8th October 2010&lt;/b&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-ansi-language:EN-US;"&gt;&lt;o:p&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-ansi-language:EN-US;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;Kind regards,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="mso-ansi-language:EN-US;"&gt;&lt;o:p&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="mso-ansi-language:EN-US;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;Sanna Kuusisto, Developer Audience Marketing Team Lead&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;i&gt;&lt;span style="mso-ansi-language:EN-US;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;together&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;with the &amp;ldquo;Best of Swiss Silverlight&amp;rdquo; -Team&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10058464" width="1" height="1"&gt;</description>
      <link>http://blogs.msdn.com/b/swiss_dpe_team/archive/2010/09/06/will-your-project-be-the-best-of-swiss-silverlight-2010.aspx</link>
      <source url="http://blogs.msdn.com/b/">MSDN Blogs</source>
      <author>sannak</author>
      <dc:creator>sannak</dc:creator>
      <guid isPermaLink="False">91d46819-8472-40ad-a661-2c78acb4018c:10058464</guid>
      <pubDate>Mon, 06 Sep 2010 14:41:00 GMT</pubDate>
    </item>
    <item>
      <title>Get logging in Windows Azure with Enterprise Library</title>
      <description>&lt;p&gt;Hi again &amp;ndash; yes I know it&amp;rsquo;s been a while. Recently I&amp;rsquo;ve started a new role in Microsoft which involves helping customers deploy applications on Windows Azure, Microsoft&amp;rsquo;s cloud computing platform. I thought it may be fitting it I kick this off with a post that bridges my (now quite) old role with my new one and talk about using Enterprise Library with Windows Azure.&lt;/p&gt;
&lt;p&gt;One of the great things about Windows Azure is that it includes the .NET Framework in its entirety &amp;ndash; so for the most part, .NET code you&amp;rsquo;ve written in the past will run fine in the cloud. However there are some important differences between your own servers and the cloud that you need to be aware of as a developer or designer. For example, while it is technically still possible to log to a flat file or the Windows Event Log, it&amp;rsquo;s generally impractical to access the resulting logs. As a result, logging and instrumentation is one of those things which you need to do a little differently in the cloud.&lt;/p&gt;
&lt;h2&gt;Using Windows Azure Diagnostics&lt;/h2&gt;
&lt;p&gt;It so happens that Windows Azure includes its own diagnostics infrastructure. It&amp;rsquo;s well documented elsewhere (try the &lt;a href="http://msdn.microsoft.com/en-us/library/ee758705.aspx"&gt;official documentation&lt;/a&gt; or this &lt;a href="http://msdn.microsoft.com/en-us/magazine/ff714589.aspx"&gt;MSDN Magazine article&lt;/a&gt;) but in a nutshell it involves high-performance buffers built on ETW which collect log events from your application. These events, along with other diagnostic sources such as event logs and performance counters, can be transferred to Windows Azure Storage (tables and blobs) either at predefined intervals or on-demand. &lt;/p&gt;
&lt;p&gt;The most commonly described approach to logging to Windows Azure Logs is to use the standard System.Diagnostics &lt;strong&gt;Trace&lt;/strong&gt; class as follows:&lt;/p&gt;
&lt;pre class="csharpcode"&gt;Trace.TraceInformation(&lt;span class="str"&gt;"Trace works fine, but you're somewhat limited..."&lt;/span&gt;);&lt;/pre&gt;
&lt;p&gt;

&lt;/p&gt;
&lt;p&gt;Next, you&amp;rsquo;ll need to configure System.Diagnostics to log to Windows Azure Diagnostics via the &lt;strong&gt;DiagnosticMonitorTraceListener&lt;/strong&gt;:&lt;/p&gt;
&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;system.diagnostics&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;trace&lt;/span&gt; &lt;span class="attr"&gt;autoflush&lt;/span&gt;&lt;span class="kwrd"&gt;="true"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;listeners&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;add&lt;/span&gt; &lt;span class="attr"&gt;type&lt;/span&gt;&lt;span class="kwrd"&gt;="Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener, &lt;br /&gt;&lt;/span&gt;&lt;span class="kwrd"&gt;          Microsoft.WindowsAzure.Diagnostics, Version=1.0.0.0, Culture=neutral, &lt;br /&gt;          &lt;/span&gt;&lt;span class="kwrd"&gt;PublicKeyToken=31bf3856ad364e35"&lt;/span&gt; &lt;span class="attr"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;="AzureDiagnostics"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;listeners&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;trace&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;system.diagnostics&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;

&lt;/p&gt;
&lt;p&gt;Finally, you&amp;rsquo;ll need to configure and start Windows Azure Diagnostics. In this example, let&amp;rsquo;s ask it to transfer all logs to Windows Azure Storage (specifically, the &lt;strong&gt;WADLogsTable&lt;/strong&gt; table) every 5 minutes by modifying the &lt;strong&gt;WebRole&lt;/strong&gt; or &lt;strong&gt;WorkerRole&lt;/strong&gt; class as follows:&lt;/p&gt;
&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;override&lt;/span&gt; &lt;span class="kwrd"&gt;bool&lt;/span&gt; OnStart()
{
    StartDiagnostics();
    RoleEnvironment.Changing += RoleEnvironmentChanging;
    &lt;span class="kwrd"&gt;return&lt;/span&gt; &lt;span class="kwrd"&gt;base&lt;/span&gt;.OnStart();
}

&lt;span class="kwrd"&gt;private&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; StartDiagnostics()
{
    &lt;span class="rem"&gt;// Get default initial configuration.&lt;/span&gt;
    var config = DiagnosticMonitor.GetDefaultInitialConfiguration();

    config.Logs.ScheduledTransferLogLevelFilter = LogLevel.Undefined;
    config.Logs.ScheduledTransferPeriod = TimeSpan.FromMinutes(5);

    &lt;span class="rem"&gt;// Start the diagnostic monitor with the modified configuration.&lt;/span&gt;
    DiagnosticMonitor.Start(&lt;span class="str"&gt;"DiagnosticsConnectionString"&lt;/span&gt;, config);
}&lt;/pre&gt;
&lt;p&gt;Of course, you&amp;rsquo;ll also need to make sure you define a connection to your Windows Azure Storage account in your ServiceConfiguration.cscfg file.&lt;/p&gt;
&lt;h2&gt;Bringing in the Logging Application Block&lt;/h2&gt;
&lt;p&gt;There&amp;rsquo;s nothing wrong with any of the above code, but if you&amp;rsquo;re used to using Enterprise Library&amp;rsquo;s Logging Application Block for your logging needs, you&amp;rsquo;ll soon find that you&amp;rsquo;re somewhat limited. For example, you won&amp;rsquo;t automatically get access to things like the Process ID and machine name, you won&amp;rsquo;t get the ability to customise your message format and you won&amp;rsquo;t get the advanced routing and filtering options. The great news is that since the Logging Application Block is built on System.Diagnostics, you can use it in your cloud applications and configure it to write to Windows Azure logs. &lt;/p&gt;
&lt;p&gt;First, let&amp;rsquo;s look at your logging code. There&amp;rsquo;s nothing special you need to do here and any existing EntLib logging code should work&amp;ndash; since the Logging Application Block&amp;rsquo;s API is abstracted from the chosen logging mechanism you just log like you always did, either using the old school &lt;strong&gt;Logger&lt;/strong&gt; facade or the new fangled DI alternatives. Make sure you choose an appropriate Severity level, as both Enterprise Library and Windows Azure Diagnostics can be configured to use this to filter messages or decide which ones to transfer to storage.&lt;/p&gt;
&lt;pre class="csharpcode"&gt;Logger.Write(&lt;span class="str"&gt;"Get Logging in Windows Azure with Enterprise Library!"&lt;/span&gt;, &lt;br /&gt;    &lt;span class="str"&gt;"General"&lt;/span&gt;, 1, 0, System.Diagnostics.TraceEventType.Information);&lt;/pre&gt;
&lt;p&gt;

&lt;/p&gt;
&lt;p&gt;Now, let&amp;rsquo;s look at your configuration file. You can delete the &amp;lt;system.diagnostics&amp;gt; section we described earlier and use Enterprise Library&amp;rsquo;s configuration instead. You can use either the config tool or an XML editor to edit the config, but the important thing is to choose a System.Diagnostics Trace Listener and configure it to use the same &lt;strong&gt;DiagnosticMonitorTraceListener&lt;/strong&gt; we used before. I&amp;rsquo;ve included just the &amp;lt;listeners&amp;gt; section of the Logging Application Block&amp;rsquo;s configuration below; in your app you can continue to use whatever combination of sources, formatters, filters and listeners you like.&lt;/p&gt;
&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;listeners&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;add&lt;/span&gt; &lt;span class="attr"&gt;listenerDataType&lt;/span&gt;&lt;span class="kwrd"&gt;="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.SystemDiagnosticsTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"&lt;/span&gt;
    &lt;span class="attr"&gt;type&lt;/span&gt;&lt;span class="kwrd"&gt;="Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener, Microsoft.WindowsAzure.Diagnostics, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"&lt;/span&gt;
    &lt;span class="attr"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;="Azure Diagnostics Trace Listener"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;listeners&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;

&lt;/p&gt;
&lt;p&gt;Finally, you&amp;rsquo;ll still need to configure and start the Diagnostic Monitor when your role starts. The code in the first example will continue to do the trick (although keep in mind you may prefer to configure it differently by applying log transfer filters or choosing to transfer logs to storage only on-demand).&lt;/p&gt;
&lt;p&gt;You should now be ready to deploy your application to the cloud and see it in action. Remember, with Windows Azure Diagnostics, the log events will only be transferred to Windows Azure Storage after the specified interval or on-demand (requiring &lt;a href="http://msdn.microsoft.com/en-us/library/ee830425.aspx"&gt;additional code&lt;/a&gt; or &lt;a href="http://code.msdn.microsoft.com/azurecmdlets/Release/ProjectReleases.aspx?ReleaseId=3912"&gt;Powershell scripts&lt;/a&gt;), so you may need to be more patient than you&amp;rsquo;re used to. Once the transfer is complete, you should see the events in your &lt;strong&gt;WADLogsTable&lt;/strong&gt; table. The easiest way to view the data in the table is to use Visual Studio 2010&amp;rsquo;s Server Explorer, but there are many other web- and Windows-based tools that can do the same and more. The data in the log files will have a little bit of XML padding, but you&amp;rsquo;ll see your formatted data sitting proudly in the middle:&lt;/p&gt;
&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;TraceSource&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;General&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;TraceSource&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Object&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;Timestamp: 9/6/2010 5:05:38 AM
Message: Get Logging in Windows Azure with Enterprise Library
Category: General
Priority: 1
EventId: 0
Severity: Information
Title:
Machine: RD00155D3134BD
App Domain: /LM/W3SVC/1273337584/ROOT-1-129282230874485863
ProcessId: 1724
Process Name: d:\windows\system32\inetsrv\w3wp.exe
Thread Name: 
Win32 ThreadId:2560
Extended Properties: &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Object&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;

&lt;/p&gt;
&lt;p&gt;To summarise, while Windows Azure does require you to do a few things a little differently, most of your existing code and favourite techniques should still work fine. With just a small configuration change and some startup code, your Enterprise Library Logging code will feel right at home in the cloud.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10058465" width="1" height="1"&gt;</description>
      <link>http://blogs.msdn.com/b/tomholl/archive/2010/09/06/get-logging-in-windows-azure-with-enterprise-library.aspx</link>
      <source url="http://blogs.msdn.com/b/">MSDN Blogs</source>
      <author>tomholl</author>
      <dc:creator>tomholl</dc:creator>
      <guid isPermaLink="False">91d46819-8472-40ad-a661-2c78acb4018c:10058465</guid>
      <pubDate>Mon, 06 Sep 2010 14:42:00 GMT</pubDate>
    </item>
    <item>
      <title>Windows Phone 7 Advert in the wild #wp7</title>
      <description>&lt;p&gt;Our man &lt;a href="http://twitter.com/odedran"&gt;@odedran&lt;/a&gt; points us to a Windows Phone 7 advert that was shown at &lt;a href="http://search.twitter.com/search?q=%23secretcinema"&gt;#SecretCinema&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10058466" width="1" height="1"&gt;</description>
      <link>http://blogs.msdn.com/b/maholmes/archive/2010/09/06/windows-phone-7-advert-in-the-wild-wp7.aspx</link>
      <source url="http://blogs.msdn.com/b/">MSDN Blogs</source>
      <author>maholmes</author>
      <dc:creator>maholmes</dc:creator>
      <guid isPermaLink="False">91d46819-8472-40ad-a661-2c78acb4018c:10058466</guid>
      <pubDate>Mon, 06 Sep 2010 14:48:11 GMT</pubDate>
    </item>
    <item>
      <title>SQL Azure Migration Wizard v3.3.6</title>
      <description>&lt;p&gt;&lt;span style="font-size:small;"&gt;Ol&amp;aacute; pessoal, tudo certo?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:small;"&gt;Esses &amp;uacute;ltimos dias tenho estado bem enrolado com a prepara&amp;ccedil;&amp;atilde;o das demos e sess&amp;otilde;es do &lt;strong&gt;Tech-Ed Brasil 2010&lt;/strong&gt;. O evento est&amp;aacute; chegando. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:small;"&gt;Um de minhas sess&amp;otilde;es &amp;eacute; sobre o SQL Azure, falando de quest&amp;otilde;es sobre administra&amp;ccedil;&amp;atilde;o, opera&amp;ccedil;&amp;atilde;o, conectividade e migra&amp;ccedil;&amp;atilde;o. Enquanto olhava a demo de migra&amp;ccedil;&amp;atilde;o, vi que o &lt;strong&gt;SQLAzureMW&lt;/strong&gt; foi atualizado no final de agosto, com a nova vers&amp;atilde;o 3.3.6, veja:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-91-92-metablogapi/1273.image_5F00_3E0D2924.png"&gt;&lt;span style="font-size:small;"&gt;&lt;img height="434" width="475" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-91-92-metablogapi/6557.image_5F00_thumb_5F00_076F5813.png" alt="image" border="0" title="image" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:small;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:small;"&gt;&lt;strong&gt;SQL Azure Migration Wizard v3.3.6 &lt;/strong&gt;&lt;br /&gt;Ref. : &lt;/span&gt;&lt;a href="http://sqlazuremw.codeplex.com/"&gt;&lt;span style="font-size:small;"&gt;http://sqlazuremw.codeplex.com/&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:small;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:small;"&gt;Para quem n&amp;atilde;o conhece &lt;strong&gt;SQLAzureMW&lt;/strong&gt;, vale destacar que ela n&amp;atilde;o &amp;eacute; suportada pela Microsoft, por&amp;eacute;m, &amp;eacute; muito interessante como ferramenta de apoio para testes e desenvolvimento.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:small;"&gt;A ferramenta ofere uma an&amp;aacute;lise de compatibilidade dos objetos SQL Server para o SQL Azure, assim como retry/chunking durante a migra&amp;ccedil;&amp;atilde;o. Outro destaque &amp;eacute; que trabalha muito bem com scrips batch, sendo por isso muito interessante para testes. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:small;"&gt;Como pontos negativos, o processo de carga &amp;eacute; feito atrav&amp;eacute;s de um arquivo BCP que &amp;eacute; armazenado localmente, fique atento! Ainda, o TSQL Parser &amp;eacute; incompleto, mas tem evolu&amp;iacute;do de vers&amp;atilde;o em vers&amp;atilde;o. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:small;"&gt;Guardadas as ressalvas, &amp;eacute; uma ferramenta interessante para quem est&amp;aacute; desenvolvendo para o SQL Azure!&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:small;"&gt;Por enquanto &amp;eacute; s&amp;oacute;! At&amp;eacute; o pr&amp;oacute;ximo post :)&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:small;"&gt;Waldemir.&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10057709" width="1" height="1"&gt;</description>
      <link>http://blogs.msdn.com/b/wcamb/archive/2010/09/06/sql-azure-migration-wizard-v3-3-6.aspx</link>
      <source url="http://blogs.msdn.com/b/">MSDN Blogs</source>
      <author>wcamb</author>
      <dc:creator>wcamb</dc:creator>
      <guid isPermaLink="False">91d46819-8472-40ad-a661-2c78acb4018c:10057709</guid>
      <pubDate>Mon, 06 Sep 2010 15:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Знаете ли вы, как… №218: Отменить отображение всех унаследованных членов в обозревателе объектов?</title>
      <description>&lt;p&gt;Следующая настройка в &lt;strong&gt;Object Browser Settings&lt;/strong&gt; – это &lt;strong&gt;Show Inherited Members&lt;/strong&gt;.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://blogs.msdn.com/blogfiles/saraford/WindowsLiveWriter/DidyouknowHowtostopdisplayingallinherite_F9D6/ObjectBrowserShowInheritedMembers_2.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;Если ее включить, все унаследованные члены будут отображаться, включая и те, что получены от System.Object.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://blogs.msdn.com/blogfiles/saraford/WindowsLiveWriter/DidyouknowHowtostopdisplayingallinherite_F9D6/ObjectBrowserInheritedMembers_2.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;Если выключить, то список станет гораздо короче.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://blogs.msdn.com/blogfiles/saraford/WindowsLiveWriter/DidyouknowHowtostopdisplayingallinherite_F9D6/ObjectBrowserInheritedMembers2_2.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/saraford"&gt;Выдержка из блога Сары Форд&lt;/a&gt; – &lt;a href="http://blogs.msdn.com/b/saraford/archive/2008/05/19/did-you-know-how-to-stop-displaying-all-inherited-members-in-the-object-browser-member-pane-218.aspx" target="_blank"&gt;ссылка на оригинал&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Авторские права Сары Форд. Переведено с разрешения Сары Форд.&lt;/p&gt;  &lt;p&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/VS2010Tip"&gt;VS2010Tip&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10058450" width="1" height="1"&gt;</description>
      <link>http://blogs.msdn.com/b/rusaraford/archive/2010/09/06/10058450.aspx</link>
      <source url="http://blogs.msdn.com/b/">MSDN Blogs</source>
      <author>Vitaly Zaiko</author>
      <dc:creator>Vitaly Zaiko</dc:creator>
      <guid isPermaLink="False">91d46819-8472-40ad-a661-2c78acb4018c:10058450</guid>
      <pubDate>Mon, 06 Sep 2010 13:28:06 GMT</pubDate>
    </item>
    <item>
      <title>New RSS feeds for high impact support issues for Windows</title>
      <description>&lt;p&gt;Our content and product quality teams have been working on some new ways of aggregating information gleaned from our support organisations to make available both top issue that we know about and also solutions to common issues that our support teams see.&lt;/p&gt;  &lt;p&gt;Here are the first ones. More to follow:&lt;/p&gt;  &lt;p&gt;Windows Server: &lt;/p&gt;  &lt;p&gt;&lt;a href="http://support.microsoft.com/rss/winsrv.xml"&gt;http://support.microsoft.com/rss/winsrv.xml&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Windows Client:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://support.microsoft.com/rss/winclient.xml"&gt;http://support.microsoft.com/rss/winclient.xml&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://support.microsoft.com/rss/winclientitpro.xml"&gt;http://support.microsoft.com/rss/winclientitpro.xml&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;HTH&lt;/p&gt;  &lt;p&gt;Doug&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10058436" width="1" height="1"&gt;</description>
      <link>http://blogs.msdn.com/b/dougste/archive/2010/09/06/new-rss-feeds-for-high-impact-support-issues-for-windows.aspx</link>
      <source url="http://blogs.msdn.com/b/">MSDN Blogs</source>
      <author>Doug Stewart</author>
      <dc:creator>Doug Stewart</dc:creator>
      <guid isPermaLink="False">91d46819-8472-40ad-a661-2c78acb4018c:10058436</guid>
      <pubDate>Mon, 06 Sep 2010 12:39:57 GMT</pubDate>
    </item>
    <item>
      <title>Interesting Links 6 September 2010</title>
      <description>&lt;p&gt;Happy Labor Day! Well here in the US anyway. Technically a public/work holiday and I do plan to spend most of it relaxing. Unless my wife has other plans that is. I spent yesterday doing some early fall yard work for example. But it looks good so it was worth it. I have spent some time collecting some of the more interesting links and bits of information I saw over the last week though. You can follow me on Twitter (@&lt;a href="http://twitter.com/alfredtwo"&gt;AlfredTwo&lt;/a&gt;) and see a lot of this sort of&amp;nbsp; thing as I find it during the week. Also some conversation/chat with other interesting people about educational technology and other topics. Hope to see you on Twitter sometime.&lt;/p&gt;
&lt;p&gt;
&lt;p&gt;&lt;a&gt;&lt;/a&gt;&lt;/p&gt;
Starting with a couple of community outreach pieces of news. One is that Microsoft has become a major sponsor of &lt;a href="http://givecamp.org/2010/08/26/microsoft-helping-to-launch-national-day-of-givecamp/"&gt;National Day of GiveCamp&lt;/a&gt; (on Twitter @&lt;a href="http://twitter.com/GiveCamp"&gt;GiveCamp&lt;/a&gt;) &lt;a href="http://givecamp.org/"&gt;Give Camp&lt;/a&gt; is a weekend event where volunteer tech people from various companies get together to build tech solutions for non profits. Think of it as a computer age barn raising. Previous events have already helps a good number of organizations. &lt;/p&gt;
&lt;p&gt;Also for nonprofits: Microsoft has launched its &lt;a href="http://www.microsoftupblog.com/post/Announcing-Microsoft-Elevate-America-nonprofits-grant-program.aspx"&gt;Elevate America grants program&lt;/a&gt;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;[&amp;hellip;] the &lt;em&gt;&lt;a href="http://www.microsoft.com/about/corporatecitizenship/en-us/community-tools/job-skills/Community-Initiative/"&gt;&lt;strong&gt;Elevate America community initiative&lt;/strong&gt;&lt;/a&gt;&lt;/em&gt;, a new grant program that will support nonprofit organizations offering employment services, including technology skills training and job placement, in local communities across the United States. To support this initiative, we are committing $4 million in cash, $6 million in software and technology skills training curriculum over the next two years.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;ITA Software is helping with a Massachusetts based &lt;a href="http://www.ncwit.org/work.awards.aspiration.html"&gt;Aspirations in Computing Award&lt;/a&gt; for high school women. See the &lt;a href="http://www.facebook.com/pages/Massachusetts-Aspirations-in-Computing-Affiliate-Award/152500651443617?ref=ts"&gt;MACAA Facebook&lt;/a&gt; page and follow @&lt;a href="http://twitter.com/ncwitMACAA"&gt;ncwitMACAA&lt;/a&gt; for more information.&lt;/p&gt;
&lt;p&gt;Some interesting news on the &lt;a href="http://fuse.microsoft.com/project/kodu.aspx"&gt;Kodu&lt;/a&gt; front this week. The @&lt;a href="http://twitter.com/koduteam"&gt;koduteam&lt;/a&gt; announced that they have published an official &lt;a href="http://research.microsoft.com/en-us/projects/kodu/kodugrammar.pdf"&gt;Kodu language grammar&lt;/a&gt;. Very cool way to start understanding both what a language grammar looks like and what it specifically looks like for a graphical language like Kodu. &lt;/p&gt;
&lt;p&gt;Kodu is also now available in German.&amp;nbsp; &lt;a href="http://www.gamelabor.de/kodu-uebersetzung/"&gt;Kodu in deutscher Sprache&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Speaking of languages, there is now a &lt;a href="http://www.scratchbydsigno.com.ar/"&gt;Tutorial de Scratch en espa&amp;ntilde;ol&lt;/a&gt; / &lt;a href="http://www.scratchbydsigno.com.ar/"&gt;Scratch Tutorial (in Spanish)&lt;/a&gt;. And apparently some are &lt;a href="http://news.harvard.edu/gazette/story/2010/09/easy-blend-of-old-and-new/"&gt;using Scratch to blend old and new&lt;/a&gt; by having students work with senior citizens.&lt;/p&gt;
&lt;p&gt;Speaking of MIT, Scratch and that article above both relate to MIT, a bunch of people tweeted a link to the &lt;a href="http://j.mp/bBzbqm"&gt;MIT Guide to Hacking&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Sam Stokes writes about &lt;a href="http://blogs.msdn.com/b/silverlightgames/archive/2010/09/04/adding-shapes-to-your-windows-phone-using-some-simple-xaml-and-c-code.aspx"&gt;Adding shapes to your Windows Phone using some simple XAML and C# code&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;See how a student aced his advanced programming course and got a game released for Xbox using XNA and Creators Club &lt;a href="http://communities.canada.com/vancouversun/blogs/techsense/archive/2010/08/30/bcit-student-creates-xbox-game.aspx"&gt;BCIT student creates Xbox game&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Most people use spreadsheets for real number, integers&amp;nbsp; but fractions? &lt;a href="http://www.microsoft.com/Education/DisplayFractions.aspx"&gt;How to work with fractions in Excel&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;From XRDS (@&lt;a href="http://twitter.com/XRDS_ACM"&gt;XRDS_ACM&lt;/a&gt;) &amp;ndash; the ACM magazine for students a &lt;a href="http://xrds.acm.org/article.cfm?aid=1836560"&gt;comparison between Punch cards v. Java&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Last week on Twitter @&lt;a href="http://twitter.com/compsciwoman"&gt;compsciwoman&lt;/a&gt; announced a new blog called &lt;a href="http://www.compsciwoman.com/"&gt;CompSci Woman&lt;/a&gt; and a post titled &lt;a href="http://www.compsciwoman.com/2010/09/01/a-minor-in-compsci-make-you-surprisingly-employable/"&gt;a minor in CompSci makes you surprisingly employable!&lt;/a&gt; Now isn&amp;rsquo;t that the truth! &lt;/p&gt;
&lt;p&gt;Have you heard about the new &lt;a href="http://clorox.promo.eprize.com/brightfuture/home"&gt;Clorox grant program&lt;/a&gt;? You can win n up to $50,000 for your favorite school. You can play daily. Called &lt;a href="http://clorox.promo.eprize.com/brightfuture/home"&gt;Power a Bright Future&lt;/a&gt;. Some school is going to win. &lt;/p&gt;
&lt;p&gt;Last link for the day&amp;nbsp; &lt;a href="http://blogs.msdn.com/b/microsoftuseducation/archive/2010/08/30/blue-sky-thinking-on-kinect-and-xbox-in-education.aspx"&gt;Blue-sky thinking on Kinect and Xbox in education&lt;/a&gt; Some interesting thoughts from Anthony Salcito, Vice President, Worldwide Education, at Microsoft.&lt;/p&gt;
&lt;div class="wlWriterHeaderFooter" style="margin:0px;padding:0px 0px 0px 0px;"&gt;&lt;br /&gt;&lt;br /&gt;


&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10058331" width="1" height="1"&gt;</description>
      <link>http://blogs.msdn.com/b/alfredth/archive/2010/09/06/interesting-links-6-september-2010.aspx</link>
      <source url="http://blogs.msdn.com/b/">MSDN Blogs</source>
      <author>Alfred Thompson</author>
      <dc:creator>Alfred Thompson</dc:creator>
      <guid isPermaLink="False">91d46819-8472-40ad-a661-2c78acb4018c:10058331</guid>
      <pubDate>Mon, 06 Sep 2010 13:08:00 GMT</pubDate>
    </item>
    <item>
      <title>New RSS feeds for high impact support issues for Windows</title>
      <description>&lt;p&gt;If you like consuming your information via &lt;a href="http://windows.microsoft.com/en-GB/windows7/Using-RSS-feeds"&gt;RSS&lt;/a&gt; and want to keep up to date with the latest high impact support issues for Windows then check out the following links&lt;/p&gt;  &lt;p&gt;&lt;a href="http://support.microsoft.com/rss/winclient.xml"&gt;Top Windows Client Solutions from Support&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://support.microsoft.com/ph/14019"&gt;Top Windows Client Solutions for IT Professionals from Support&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a title="http://support.microsoft.com/ph/14134" href="http://support.microsoft.com/ph/14134"&gt;Top Windows Server Solutions from Support&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Thanks to &lt;a href="http://blogs.msdn.com/b/dougste/archive/2010/09/06/new-rss-feeds-for-high-impact-support-issues-for-windows.aspx"&gt;Dougste&lt;/a&gt; for the tip&lt;/p&gt;  &lt;p&gt;Rob&lt;/p&gt;  &lt;div style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:891097c0-4ca9-41a7-9dbb-e51ec9115b3f" class="wlWriterSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Windows" rel="tag"&gt;Windows&lt;/a&gt;,&lt;a href="http://technorati.com/tags/support" rel="tag"&gt;support&lt;/a&gt;&lt;/div&gt;&lt;div class="wlWriterHeaderFooter" style="margin:0px;padding:0px 0px 0px 0px;"&gt;&lt;br /&gt;&lt;br /&gt;
tweetmeme_style = 'compact';

&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10058441" width="1" height="1"&gt;</description>
      <link>http://blogs.msdn.com/b/robmar/archive/2010/09/06/new-rss-feeds-for-high-impact-support-issues-for-windows.aspx</link>
      <source url="http://blogs.msdn.com/b/">MSDN Blogs</source>
      <author>robmar</author>
      <dc:creator>robmar</dc:creator>
      <guid isPermaLink="False">91d46819-8472-40ad-a661-2c78acb4018c:10058441</guid>
      <pubDate>Mon, 06 Sep 2010 13:08:03 GMT</pubDate>
    </item>
    <item>
      <title>AXA seguros mejora la atención al cliente con Windows Azure y SQL Azure</title>
      <description>&lt;p&gt;En este caso la necesidad de negocio es mejorar la atención al cliente. AXA Seguros en México decidió cambiar el modelo de infraestructura para irse a la nube con Windows Azure, asegurando que con una nula necesidad de inversión eran capaces de crear una aplicación mejor de atención al cliente, mejor integrada con el resto de sus sistemas de negocio y con la facilidad de mantener un nivel absolutamente elástico de capacidad de computación. &lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-40-26-metablogapi/7457.image_5F00_66CB85A9.png"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;margin:0px 0px 0px 9px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="image" border="0" alt="image" align="right" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-40-26-metablogapi/8546.image_5F00_thumb_5F00_194EE31C.png" width="209" height="83" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Impresionante que el proyecto llevó solamente dos meses entre el principio del desarrollo y la puesta en producción. Al final, el sistema ha mejorado la gestión de los procesos de negocio sin prácticamente inversión en capital y con un proyecto extremadamente breve. &lt;/p&gt;      &lt;p&gt;&lt;a href="http://www.microsoft.com/casestudies/Case_Study_Detail.aspx?CaseStudyID=4000007933" target="_blank"&gt;El caso de estudio en este enlace&lt;/a&gt;. &lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10057467" width="1" height="1"&gt;</description>
      <link>http://blogs.msdn.com/b/juanjocarmena/archive/2010/09/06/axa-seguros-mejora-la-atenci-243-n-al-cliente-con-windows-azure-y-sql-azure.aspx</link>
      <source url="http://blogs.msdn.com/b/">MSDN Blogs</source>
      <author>juanjoc</author>
      <dc:creator>juanjoc</dc:creator>
      <guid isPermaLink="False">91d46819-8472-40ad-a661-2c78acb4018c:10057467</guid>
      <pubDate>Mon, 06 Sep 2010 13:16:00 GMT</pubDate>
    </item>
    <item>
      <title>Are routerless datacenters in Microsoft's future?</title>
      <description>&lt;p&gt;Microsoft Research is exploring a new way to connect servers directly to other servers, without the use of any switches or dedicated networking inside a datacenter container.&lt;/p&gt;  &lt;p&gt;That project, known as CamCube, is one way that Microsoft execs are attempting to rethink the datacenter. More on that in a moment….&lt;/p&gt;  &lt;p&gt;In the nearer term, Microsoft’s various development teams are making their own tweaks to the fabric powering the company’s existing and future cloud services.&lt;/p&gt;  &lt;p&gt;Microsoft execs don’t talk a lot publicly about the infrastructure that underlies its cloud platform. Global Foundation Services runs the “guts” of the cloud, and is responsible for tweaking the datacenter servers and services that power the customer-facing Microsoft cloud components, like Windows Live, Bing, Business Productivity Online Services, etc. GFS is the team that does a lot of the work to bring online new Microsoft datacenters, like &lt;a href="http://www.datacenterknowledge.com/archives/2010/08/27/microsoft-picks-virginia-for-major-data-center/"&gt;the latest one in Boydton, Virg.&lt;/a&gt;, that the Softies just announced they’ll be building.&lt;/p&gt;  &lt;p&gt;Complete Article:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.zdnet.com/blog/microsoft/are-routerless-datacenters-in-microsofts-future/7271?tag=mantle_skin;content"&gt;http://www.zdnet.com/blog/microsoft/are-routerless-datacenters-in-microsofts-future/7271?tag=mantle_skin;content&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10058442" width="1" height="1"&gt;</description>
      <link>http://blogs.msdn.com/b/architectsrule/archive/2010/09/06/are-routerless-datacenters-in-microsoft-s-future.aspx</link>
      <source url="http://blogs.msdn.com/b/">MSDN Blogs</source>
      <author>bartvagh</author>
      <dc:creator>bartvagh</dc:creator>
      <guid isPermaLink="False">91d46819-8472-40ad-a661-2c78acb4018c:10058442</guid>
      <pubDate>Mon, 06 Sep 2010 13:16:20 GMT</pubDate>
    </item>
    <item>
      <title>Мicrosoft обновила Silverlight 4.0, Silverlight SDK и соответствующие средства разработки</title>
      <description>&lt;p&gt;Обновление содержит следующие улучшения:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;улучшена расширяемость медиа-потоков; &lt;/li&gt;    &lt;li&gt;скорость запуска Silverlight-приложений; &lt;/li&gt;    &lt;li&gt;исправлена проблема, связанная с безопасностью при проигрывании защищенного контента; &lt;/li&gt;    &lt;li&gt;устранены утечки памяти;&lt;/li&gt;    &lt;li&gt;добавлена функция Add Row в элемент DataGrid; &lt;/li&gt;    &lt;li&gt;добавлена возможность увеличения хранилища через реестр или групповые политики; &lt;/li&gt;    &lt;li&gt;добавлена поддержка событий от колеса мыши для внебраузерных приложений в MacOS; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Загрузить новые компоненты можно отсюда:· &lt;a href="http://go.microsoft.com/fwlink/?LinkID=188039"&gt;Windows &lt;strong&gt;developer&lt;/strong&gt; runtime&lt;/a&gt;, · &lt;a href="http://go.microsoft.com/fwlink/?LinkID=188040"&gt;Mac &lt;strong&gt;developer&lt;/strong&gt; runtime&lt;/a&gt;, · &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=298170d6-567c-4b90-9917-490ffcddba87"&gt;Silverlight 4.0.50826.0 SDK&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Silverlight 4 Tools for Visual Studio 2010 включает следующие компоненты:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Microsoft Silverlight 4 Developer Runtime &lt;/li&gt;    &lt;li&gt;Microsoft Silverlight 4 SDK &lt;/li&gt;    &lt;li&gt;Microsoft Silverlight 4 Tools for Visual Studio 2010 &lt;/li&gt;    &lt;li&gt;WCF RIA Services V1.0 for Silverlight 4 &lt;/li&gt;    &lt;li&gt;F# Runtime for Silverlight 4&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Загрузить обновленную версию Silverlight 4 Tools for Visual Studio 2010 можно &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=b3deb194-ca86-4fb6-a716-b67c2604a139&amp;amp;displayLang=en"&gt;отсюда&lt;/a&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10058415" width="1" height="1"&gt;</description>
      <link>http://blogs.msdn.com/b/rudevnews/archive/2010/09/06/icrosoft-silverlight-4-0-silverlight-sdk.aspx</link>
      <source url="http://blogs.msdn.com/b/">MSDN Blogs</source>
      <author>Русский MSDN</author>
      <dc:creator>Русский MSDN</dc:creator>
      <guid isPermaLink="False">91d46819-8472-40ad-a661-2c78acb4018c:10058415</guid>
      <pubDate>Mon, 06 Sep 2010 11:22:44 GMT</pubDate>
    </item>
    <item>
      <title>Extra Events for Excel</title>
      <description>&lt;p&gt;As a developer of Automation solutions for Microsoft Office one might feel the need of some extra events. Quoting from the &lt;a href="http://msdn.microsoft.com/en-us/library/bb149135(office.12).aspx"&gt;MSDN&lt;/a&gt; VBA Object Model reference, here is the list of events from the Excel.Application object:&lt;/p&gt;  &lt;ul&gt;   &lt;ul&gt;     &lt;ul&gt;       &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb225813(office.12).aspx"&gt;AfterCalculate Event&lt;/a&gt; &lt;/li&gt;        &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb238800(office.12).aspx"&gt;CalculationDone Event&lt;/a&gt; &lt;/li&gt;        &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb242002(office.12).aspx"&gt;NewWorkbook Event&lt;/a&gt; &lt;/li&gt;        &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb237636(office.12).aspx"&gt;SheetActivate Event&lt;/a&gt; &lt;/li&gt;        &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb237645(office.12).aspx"&gt;SheetBeforeDoubleClick Event&lt;/a&gt; &lt;/li&gt;        &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb237657(office.12).aspx"&gt;SheetBeforeRightClick Event&lt;/a&gt; &lt;/li&gt;        &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb237669(office.12).aspx"&gt;SheetCalculate Event&lt;/a&gt; &lt;/li&gt;        &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb237681(office.12).aspx"&gt;SheetChange Event&lt;/a&gt; &lt;/li&gt;        &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb237684(office.12).aspx"&gt;SheetDeactivate Event&lt;/a&gt; &lt;/li&gt;        &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb237692(office.12).aspx"&gt;SheetFollowHyperlink Event&lt;/a&gt; &lt;/li&gt;        &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb237700(office.12).aspx"&gt;SheetPivotTableUpdate Event&lt;/a&gt; &lt;/li&gt;        &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb237710(office.12).aspx"&gt;SheetSelectionChange Event&lt;/a&gt; &lt;/li&gt;        &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb237728(office.12).aspx"&gt;WindowActivate Event&lt;/a&gt; &lt;/li&gt;        &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb237737(office.12).aspx"&gt;WindowDeactivate Event&lt;/a&gt; &lt;/li&gt;        &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb237742(office.12).aspx"&gt;WindowResize Event&lt;/a&gt; &lt;/li&gt;        &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb210512(office.12).aspx"&gt;WorkbookActivate Event&lt;/a&gt; &lt;/li&gt;        &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb210517(office.12).aspx"&gt;WorkbookAddinInstall Event&lt;/a&gt; &lt;/li&gt;        &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb210519(office.12).aspx"&gt;WorkbookAddinUninstall Event&lt;/a&gt; &lt;/li&gt;        &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb223990(office.12).aspx"&gt;WorkbookAfterXmlExport Event&lt;/a&gt; &lt;/li&gt;        &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb223993(office.12).aspx"&gt;WorkbookAfterXmlImport Event&lt;/a&gt; &lt;/li&gt;        &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb223998(office.12).aspx"&gt;WorkbookBeforeClose Event&lt;/a&gt; &lt;/li&gt;        &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb224004(office.12).aspx"&gt;WorkbookBeforePrint Event&lt;/a&gt; &lt;/li&gt;        &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb224006(office.12).aspx"&gt;WorkbookBeforeSave Event&lt;/a&gt; &lt;/li&gt;        &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb224012(office.12).aspx"&gt;WorkbookBeforeXmlExport Event&lt;/a&gt; &lt;/li&gt;        &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb224018(office.12).aspx"&gt;WorkbookBeforeXmlImport Event&lt;/a&gt; &lt;/li&gt;        &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb224025(office.12).aspx"&gt;WorkbookDeactivate Event&lt;/a&gt; &lt;/li&gt;        &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb224029(office.12).aspx"&gt;WorkbookNewSheet Event&lt;/a&gt; &lt;/li&gt;        &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb224037(office.12).aspx"&gt;WorkbookOpen Event&lt;/a&gt; &lt;/li&gt;        &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb224041(office.12).aspx"&gt;WorkbookPivotTableCloseConnection Event&lt;/a&gt; &lt;/li&gt;        &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb224045(office.12).aspx"&gt;WorkbookPivotTableOpenConnection Event&lt;/a&gt; &lt;/li&gt;        &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb238801(office.12).aspx"&gt;WorkbookRowsetComplete Event&lt;/a&gt; &lt;/li&gt;        &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb224050(office.12).aspx"&gt;WorkbookSync Event&lt;/a&gt;&lt;/li&gt;     &lt;/ul&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;What if these events are not enough?&lt;/p&gt;  &lt;p&gt;The best solution would obviously be if Microsoft extended the Object Model so as to include the needed events. This is pretty hard due to the large number of the possible application events (think for instance about the event “Sheet After Follow Hyperlink Success” – imaginary event triggered when a hyperlink has been clicked and the target web site can be reached)&lt;/p&gt;  &lt;p&gt;My solution is to use &lt;a href="http://msdn.microsoft.com/en-us/library/ms644990(VS.85).aspx"&gt;Windows hooks&lt;/a&gt; [link to SetWindowsHookEx]. The idea is that many actions are triggered by Windows messages sent to or by windows in Office applications. I couldn’t find any public reference of the way Office applications react to windows messages but we can see this using the tool Spy++ that gets installed together with Visual Studio. Side note: the following blog post from the designer of Spy++ offers some insights about how the tool was built.&lt;/p&gt;  &lt;p&gt;The most obvious message that can be tapped is the &lt;a href="http://msdn.microsoft.com/en-us/library/ms632621(VS.85).aspx"&gt;WM_ENABLE&lt;/a&gt; message sent received when a window gets enabled or disabled when a modal dialog is shown. This is not particular to Office applications, other applications have the same behavior (e.g. Notepad).&lt;/p&gt;  &lt;p&gt;My first attempt was to intercept this message in VBA by basically adding a hook that calls a VBA function when a message is received. The problems with this approach are:&lt;/p&gt;  &lt;p&gt;1) A hook of &lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10058421" width="1" height="1"&gt;</description>
      <link>http://blogs.msdn.com/b/cobold/archive/2010/09/06/extra-events-for-excel.aspx</link>
      <source url="http://blogs.msdn.com/b/">MSDN Blogs</source>
      <author>cobold</author>
      <dc:creator>cobold</dc:creator>
      <guid isPermaLink="False">91d46819-8472-40ad-a661-2c78acb4018c:10058421</guid>
      <pubDate>Mon, 06 Sep 2010 11:37:58 GMT</pubDate>
    </item>
    <item>
      <title>Kingston University starts virtualising the desktop experience for 25,000 students and staff</title>
      <description>&lt;p&gt;I’ve just been reading a &lt;a title="Read the Kingston University press release from Quest" href="http://www.quest-software.co.uk/newsroom/news-releases-show.aspx?contentid=12140" target="_blank"&gt;press release from Quest&lt;/a&gt;, about Kingston University’s project to to give staff and students virtual access to their university desktop and learning resources from any location, on a wide range of devices, at any time. With 23,000 students, and 2,000 full-time staff to serve, their project is aiming to create a ‘university without walls’, so that their users can access their files and applications from any of the 9,000 university PCs or from users’ own personal computers – wherever they are.&lt;/p&gt;  &lt;p&gt;What caught my eye was this quote from Daniel Bolton, who’s a technical analyst at the University:&lt;/p&gt;  &lt;table bgcolor="#dbeef4" align="center"&gt;     &lt;tr&gt;       &lt;td colspan="3" align="left"&gt;&lt;img src="http://blogs.msdn.com/photos/rayfl/images/9808591/original.aspx" /&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;&lt;/td&gt;        &lt;td align="left"&gt;Kingston University has been researching Virtual Desktop Infrastructure (VDI) solutions for two-and-a-half years with the aim of providing our staff and students the best solution for flexible access to learning resources regardless of their location. Our aim of achieving a ‘university without walls’ when it comes to flexible virtual access has been truly recognised with Quest vWorkspace. We initially looked into Citrix and VMware solutions, but felt that Quest’s user environment management and personalization features were more advanced. &lt;/td&gt;        &lt;td&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td colspan="3" align="right"&gt;&lt;img src="http://blogs.msdn.com/photos/rayfl/images/9808592/original.aspx" /&gt;&lt;/td&gt;     &lt;/tr&gt;   &lt;/table&gt;   &lt;p&gt;The whole solution has been deployed on Hyper-V, which is part of Windows Server 2008 R2, and is now the largest planned deployment for both Quest and Microsoft to date. Phase one of implementation is due to complete in October. &lt;/p&gt;  &lt;p&gt;&lt;a title="Read the Quest press release" href="http://www.quest-software.co.uk/newsroom/news-releases-show.aspx?contentid=12140" target="_blank"&gt;You can read the full release on Quest’s website&lt;/a&gt;. I’ll keep an eye out for updates as the project goes into implementation.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10057834" width="1" height="1"&gt;</description>
      <link>http://blogs.msdn.com/b/ukfe/archive/2010/09/06/kingston-university-starts-virtualising-the-desktop-experience-for-25-000-students-and-staff.aspx</link>
      <source url="http://blogs.msdn.com/b/">MSDN Blogs</source>
      <author>Ray Fleming</author>
      <dc:creator>Ray Fleming</dc:creator>
      <guid isPermaLink="False">91d46819-8472-40ad-a661-2c78acb4018c:10057834</guid>
      <pubDate>Mon, 06 Sep 2010 11:39:00 GMT</pubDate>
    </item>
    <item>
      <title>The missing toolset for SharePoint 2010 development</title>
      <description>&lt;p&gt;For those of you, looking for a valuable VS2010 add-on for SharePoint development check out the:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;CKS: Development Tools Edition&lt;/strong&gt; at &lt;a href="http://cksdev.codeplex.com"&gt;http://cksdev.codeplex.com&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;There are a lot of features inside the add-on, but my favorite one is the “Copy to GAC/BIN” context menu item. If you used WSPBuilder under VS2008 you will also miss this little nifty copy function from the context menu since you moved to the native SharePoint project type under VS2010 – right !?! So, here is your way out!&lt;/p&gt;  &lt;p&gt;The add-on is available in two versions:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;b&gt;&lt;a href="http://visualstudiogallery.msdn.microsoft.com/en-us/a346880f-2d29-47a6-84a2-f2d568dd6997"&gt;SharePoint Foundation 2010 version&lt;/a&gt;&lt;/b&gt; &lt;/li&gt;    &lt;li&gt;&lt;b&gt;&lt;a href="http://visualstudiogallery.msdn.microsoft.com/en-us/ee876627-962c-4c35-a4a6-a4d89bfb61dc"&gt;SharePoint Server 2010 version&lt;/a&gt;&lt;/b&gt; &lt;/li&gt; &lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10058428" width="1" height="1"&gt;</description>
      <link>http://blogs.msdn.com/b/markushe/archive/2010/09/06/the-missing-toolset-for-sharepoint-2010-development.aspx</link>
      <source url="http://blogs.msdn.com/b/">MSDN Blogs</source>
      <author>Markus Heiliger</author>
      <dc:creator>Markus Heiliger</dc:creator>
      <guid isPermaLink="False">91d46819-8472-40ad-a661-2c78acb4018c:10058428</guid>
      <pubDate>Mon, 06 Sep 2010 12:06:36 GMT</pubDate>
    </item>
    <item>
      <title>PHP 5.3 and IIS 7 - beware of MySQL issues with IPv6</title>
      <description>&lt;p&gt;I'll keep this short and sweet as it's &lt;a href="http://blogs.iis.net/donraman/archive/2010/06/11/php-5-3-and-mysql-connectivity-problem.aspx"&gt;covered in depth elsewhere&lt;/a&gt;. After installing PHP 5.3 suddenly my website stopped working - but instead of throwing errors, it simply sat there and eventually timed out (with no error). Turns out there are issues with both PHP and MySQL around IPv6. The most common solution is "turn off IPv6 support" - not a reassuring answer.&lt;/p&gt;
&lt;p&gt;On the PHP front, the issue seems to be &lt;a href="http://bugs.php.net/bug.php?id=51079"&gt;around fsockopen&lt;/a&gt; which works fine in 5.3.0 but not in 5.3.2. The major issue for most people though is that the MySQL driver doesn't properly support IPv6 if you're using a hostname (such as localhost) to connect instead of an IP address, particularly when localhost resolves to "::1".&lt;/p&gt;
&lt;p&gt;I'm not sure what changed in PHP 5.3.2 to bring this to the surface, but the solution is either to switch to using an IP address, for which there are &lt;a href="http://www.ksingla.net/2010/06/impact-of-name-resolution-on-mysql_connect-perfomance/"&gt;other good reasons to do so&lt;/a&gt;, or modify your hosts file (c:\windows\system32\drivers\etc) and change the line the starts with "::1    localhost" to "#::1    localhost".&lt;/p&gt;
&lt;p&gt;Hope this helps someone!&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7605042" width="1" height="1"&gt;</description>
      <link>http://weblogs.asp.net/james_crowley/archive/2010/09/06/php-5-3-and-iis-7-beware-of-mysql-issues-with-ipv6.aspx</link>
      <source url="http://weblogs.asp.net/">ASP.NET Weblogs</source>
      <author>James Crowley</author>
      <dc:creator>James Crowley</dc:creator>
      <guid isPermaLink="False">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7605042</guid>
      <pubDate>Mon, 06 Sep 2010 11:02:00 GMT</pubDate>
    </item>
    <item>
      <title>Machine Virtuelle SharePoint 2010 RTM</title>
      <description>&lt;p&gt;Bonjour, &lt;/p&gt;
&lt;p&gt;Je reprends un peu d'activit&amp;eacute;s sur mon blog. Et un rapide rappel...&lt;/p&gt;
&lt;p&gt;Vous pouvez t&amp;eacute;l&amp;eacute;charger la machine virtuelle SharePoint 2010 compl&amp;egrave;te ici : &lt;a target="_blank" href="http://blogs.msdn.com/controlpanel/blogs/posteditor.aspx/MachineVirtuelleSharePoint2010" title=" http://www.microsoft.com/downloads/details.aspx?FamilyID=751fa0d1-356c-4002-9c60-d539896c66ce&amp;amp;displaylang=en"&gt;Machine Virtuelle SharePoint 2010&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Cette machine est valable 180 jours.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10058395" width="1" height="1"&gt;</description>
      <link>http://blogs.msdn.com/b/fwickert/archive/2010/09/06/machine-virtuelle-sharepoint-2010-rtm.aspx</link>
      <source url="http://blogs.msdn.com/b/">MSDN Blogs</source>
      <author>Frederic Wickert</author>
      <dc:creator>Frederic Wickert</dc:creator>
      <guid isPermaLink="False">91d46819-8472-40ad-a661-2c78acb4018c:10058395</guid>
      <pubDate>Mon, 06 Sep 2010 10:24:07 GMT</pubDate>
    </item>
    <item>
      <title>Visual Studio Database Guide</title>
      <description>Visual Studio 2010 Premium provides deployment and change-management tools that help ensure that the database and application are always in sync. Visual Studio 2010 Premium comes with a full license of Team Foundation Server and will allow the same level of change management capabilities on the database that our developers are enjoying for the code. Regardless if the developers are using a Microsoft or non-Microsoft platform, they need the following capabilities for their database when building a...(&lt;a href="http://blogs.msdn.com/b/dannawi/archive/2010/09/06/visual-studio-database-guide.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10058398" width="1" height="1"&gt;</description>
      <link>http://blogs.msdn.com/b/dannawi/archive/2010/09/06/visual-studio-database-guide.aspx</link>
      <source url="http://blogs.msdn.com/b/">MSDN Blogs</source>
      <author>Dannawi</author>
      <dc:creator>Dannawi</dc:creator>
      <guid isPermaLink="False">91d46819-8472-40ad-a661-2c78acb4018c:10058398</guid>
      <pubDate>Mon, 06 Sep 2010 10:30:00 GMT</pubDate>
    </item>
    <item>
      <title>An authentication error occurred while communicating with the web server</title>
      <description>&lt;p&gt;Dopo l’installazione della Service Pack 2 di .NET 2.0 (o della SP1 di .NET 3.5) tentando il debugging remoto di un’applicazione web per la quale utilizzare gli &lt;em&gt;&lt;a href="http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/883a9544-3f70-4d46-a6df-bbadbd1fe7de.mspx?mfr=true" target="_blank"&gt;host headers&lt;/a&gt;&lt;/em&gt;, potreste incappare in questo errore:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Unable to start debugging on the web server. An authentication error occurred while communicating with the web server&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Il motivo è una modifica di sicurezza introdotta proprio da queste Service Pack: il comportamento di default è ora quello di utilizzare l’host name specificato nell’URL, in un SPN nel pacchetto di autenticazione NTLM; in altre parole facendo una richiesta all’indirizzo &lt;em&gt;http://myserver/myapp&lt;/em&gt;, l’SPN “&lt;em&gt;HTTP/myserver&lt;/em&gt;” viene aggiunto alle informazioni di autenticazione. Questa è una buona cosa dal punto di vista della sicurezza, ma con alcune conseguenze &lt;em&gt;sgradite&lt;/em&gt;…&lt;/p&gt;  &lt;p&gt;Il processo di autenticazione NTLM prevede un meccanismo di &lt;em&gt;challenge&lt;/em&gt; che parte dalla macchina di destinazione (il server web) ed ha come destinatario il client che ha fatto la richiesta iniziale; quando Windows riceve un &lt;em&gt;challenge&lt;/em&gt; che lui stesso ha generato, l’autenticazione fallisce a meno che la connessione non sia di tipo &lt;em&gt;loopback&lt;/em&gt;. Quando un sito ha un &lt;em&gt;host header&lt;/em&gt; configurato, l’host name non è ne il nome della macchia, ne l’indirizzo IP di &lt;em&gt;loop back&lt;/em&gt;, ne l’indirizzo IP della macchia, quindi l’autenticazione è destinata a fallire.&lt;/p&gt;  &lt;p&gt;Esistono due possibili soluzioni a questo problema:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;L’approccio raccomandato consiste nel mappare l’host header con il &lt;em&gt;look pack address&lt;/em&gt; nel registro di sistema, ecco come fare:       &lt;ul&gt;       &lt;li&gt;Cliccate su Start &amp;gt; Run, digitate &lt;em&gt;regedit&lt;/em&gt; e cliccate &lt;em&gt;OK&lt;/em&gt; &lt;/li&gt;        &lt;li&gt;Nell’editor del registro di sistema selezionate la chiave “HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0” &lt;/li&gt;        &lt;li&gt;Create un nuovo valore di tipo &lt;em&gt;Multi-String&lt;/em&gt; e chiamatelo &lt;em&gt;BackConnectionHostNames&lt;/em&gt; &lt;/li&gt;        &lt;li&gt;Modificatene il valore digitando l’host name (potete inserire anche più di un nome) del sito o dei siti che si trovano sul server &lt;/li&gt;        &lt;li&gt;Riavviate IIS &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;La seconda soluzione, però meno sicura della precedente, consiste nel disabilitare il &lt;em&gt;loop back check&lt;/em&gt; come descritto in &lt;a href="http://support.microsoft.com/kb/896861"&gt;http://support.microsoft.com/kb/896861&lt;/a&gt; &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;Per maggiori dettagli vi rimando al post &lt;a title="reporting-services-http-401-unauthorized-host-headers-require-your-attention.aspx" href="http://blogs.msdn.com/lukaszp/archive/2008/07/18/reporting-services-http-401-unauthorized-host-headers-require-your-attention.aspx"&gt;reporting-services-http-401-unauthorized-host-headers-require-your-attention.aspx&lt;/a&gt; (in inglese).&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/itasupport/pages/carlo-cardella.aspx" target="_blank"&gt;Carlo Cardella&lt;/a&gt;     &lt;br /&gt;Senior Support Engineer     &lt;br /&gt;EMEA IIS and Web Developer Support&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10058399" width="1" height="1"&gt;</description>
      <link>http://blogs.msdn.com/b/itasupport/archive/2010/09/06/an-authentication-error-occurred-while-communicating-with-the-web-server.aspx</link>
      <source url="http://blogs.msdn.com/b/">MSDN Blogs</source>
      <author>Carlo Cardella</author>
      <dc:creator>Carlo Cardella</dc:creator>
      <guid isPermaLink="False">91d46819-8472-40ad-a661-2c78acb4018c:10058399</guid>
      <pubDate>Mon, 06 Sep 2010 10:31:00 GMT</pubDate>
    </item>
    <item>
      <title>Windows 7 Macedonian LIP now available</title>
      <description>&lt;p&gt;If you like your Windows 7 in Macedonian,&amp;#160; then you can download the latest Language Interface Pack (LIP) today&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=a1a48de1-e264-48d6-8439-ab7139c9c14d&amp;amp;displaylang=mk"&gt;Click here to download the Macedonian Windows 7 LIP&lt;/a&gt; via the Microsoft.com Download Center in either 32bit or 64 bit versions.&lt;/p&gt;  &lt;p&gt;Please note that the Macedonian Windows 7 LIP can only be installed on a system that runs an English client version of Windows 7.&lt;/p&gt;  &lt;p&gt;Rob&lt;/p&gt;  &lt;div style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:a548cc99-73a9-4e17-a190-4bdc2a403707" class="wlWriterSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Macedonia" rel="tag"&gt;Macedonia&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Windows+7" rel="tag"&gt;Windows 7&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Language+Interface+Packs" rel="tag"&gt;Language Interface Packs&lt;/a&gt;,&lt;a href="http://technorati.com/tags/LIP" rel="tag"&gt;LIP&lt;/a&gt;&lt;/div&gt;&lt;div class="wlWriterHeaderFooter" style="margin:0px;padding:0px 0px 0px 0px;"&gt;&lt;br /&gt;&lt;br /&gt;
tweetmeme_style = 'compact';

&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10058401" width="1" height="1"&gt;</description>
      <link>http://blogs.msdn.com/b/robmar/archive/2010/09/06/windows-7-macedonian-lip-now-available.aspx</link>
      <source url="http://blogs.msdn.com/b/">MSDN Blogs</source>
      <author>robmar</author>
      <dc:creator>robmar</dc:creator>
      <guid isPermaLink="False">91d46819-8472-40ad-a661-2c78acb4018c:10058401</guid>
      <pubDate>Mon, 06 Sep 2010 10:37:31 GMT</pubDate>
    </item>
    <item>
      <title>App-V 4.6 RTM Hotfix 3 ist nun auf Anfrage zu haben</title>
      <description>Hallo zusammen, Mit etwas verspätung ist nun der Hotfix 3 für App-V 4.6 RTM erschienen, dieser behebt folgende Probleme: - Einen Deadlock zwischen einer Vituellen und lokalen Registry Funktion - Anwendungen die mehr als 32 Section Headers haben laufen nicht. (wie hier beschrieben) KB # wird sein: 2307495 Schönen Gruß Sebastian Gernert – Support Escalation Engineer...(&lt;a href="http://blogs.msdn.com/b/sgern/archive/2010/09/06/10058402.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10058402" width="1" height="1"&gt;</description>
      <link>http://blogs.msdn.com/b/sgern/archive/2010/09/06/10058402.aspx</link>
      <source url="http://blogs.msdn.com/b/">MSDN Blogs</source>
      <author>sgern</author>
      <dc:creator>sgern</dc:creator>
      <guid isPermaLink="False">91d46819-8472-40ad-a661-2c78acb4018c:10058402</guid>
      <pubDate>Mon, 06 Sep 2010 10:43:09 GMT</pubDate>
    </item>
    <item>
      <title>Community Beitrag zu Prototyping mit SketchFlow in Expression Blend</title>
      <description>&lt;p&gt;&lt;a href="http://xamlfab.net/blog/?p=227" target="_blank"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-19-61-metablogapi/6840.image_5F00_3.png" width="298" height="48" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Heute wieder ein &lt;a href="http://xamlfab.net/blog/?p=227" target="_blank"&gt;sehr empfehlenswerter Beitrag&lt;/a&gt; aus der Community. Peggy Reuter schreibt auf ihrem Blog bei Xamlfab.net regelmäßig über Ihre Erfahrungen mit Expression Blend. &lt;/p&gt;  &lt;p&gt;Für ein Schulungsunternehmen hat sie dabei einen Kurzvortrag über Prototyping mit SketchFlow gehalten und netterweise die Unterlagen auf Ihrem Blog veröffentlicht. Der Beitrag gibt eine sehr schöne Übersicht über die Funktionsweise von SketchFlow und erklärt auch warum Prototyping eigentlich so wichtig ist. &lt;/p&gt;  &lt;p&gt;Viel Spaß beim Lesen!&lt;/p&gt;  &lt;p&gt;Sebastian Grassl&lt;/p&gt;  &lt;p&gt;PS: Über Tipps zu weiteren interessanten Beiträgen freue ich mich immer sehr. Also nichts wie los und Kommentare schreiben &lt;img style="border-bottom-style:none;border-right-style:none;border-top-style:none;border-left-style:none;" class="wlEmoticon wlEmoticon-smile" alt="Smiley" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-19-61-metablogapi/2235.wlEmoticon_2D00_smile_5F00_2.png" /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10058407" width="1" height="1"&gt;</description>
      <link>http://blogs.msdn.com/b/riablog/archive/2010/09/06/community-beitrag-zu-prototyping-mit-sketchflow-in-expression-blend.aspx</link>
      <source url="http://blogs.msdn.com/b/">MSDN Blogs</source>
      <author>Sebastian Grassl</author>
      <dc:creator>Sebastian Grassl</dc:creator>
      <guid isPermaLink="False">91d46819-8472-40ad-a661-2c78acb4018c:10058407</guid>
      <pubDate>Mon, 06 Sep 2010 10:49:43 GMT</pubDate>
    </item>
    <item>
      <title>Windows Phone 7 App Demos</title>
      <description>I’m seeing a lot of nice Windows Phone 7 apps in development and helping a few people out a little by doing virtual deployments (ie taking a XAP file and deploying to a device to provide some feedback and let the developer(s) see the app in action). Here are a couple of favourites that have been shared with me recently. You can see some others at: http://www.youtube.com/wp7apps and I’ll be publishing more as I get them. BTW, there’s a good reason for the device being at an odd angle – placing the...(&lt;a href="http://blogs.msdn.com/b/mikeormond/archive/2010/09/06/windows-phone-7-app-demos.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10056534" width="1" height="1"&gt;</description>
      <link>http://blogs.msdn.com/b/mikeormond/archive/2010/09/06/windows-phone-7-app-demos.aspx</link>
      <source url="http://blogs.msdn.com/b/">MSDN Blogs</source>
      <author>MikeOrmond</author>
      <dc:creator>MikeOrmond</dc:creator>
      <guid isPermaLink="False">91d46819-8472-40ad-a661-2c78acb4018c:10056534</guid>
      <pubDate>Mon, 06 Sep 2010 10:50:00 GMT</pubDate>
    </item>
    <item>
      <title>2 great PC Offers in the UK</title>
      <description>&lt;p&gt;&lt;img style="background-image:none;border-right-width:0px;margin:;padding-left:0px;padding-right:0px;display:block;float:none;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="Windows 7 laptop offers" border="0" alt="Windows 7 laptop offers" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-69-70-metablogapi/2543.image_5F00_2C8EDDBF.png" width="604" height="162" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;span class="orange med"&gt;Buying a new laptop with Windows 7&lt;/span&gt; is more attractive than ever thanks to the excellent offers available right now. Explore the options below to see how you could save money, as well as work faster, stream your music and videos, and watch TV on your new laptop. &lt;/p&gt;  &lt;p&gt;&lt;img style="background-image:none;border-right-width:0px;margin:;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="Get up to £150 back when you purchase a fast, stylish HP Pavilion DM4" border="0" alt="Get up to £150 back when you purchase a fast, stylish HP Pavilion DM4" align="left" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-69-70-metablogapi/3716.image_5F00_5B24E6A1.png" width="148" height="111" /&gt;&lt;/p&gt;  &lt;p&gt;Get up to £150 back when you purchase a fast, stylish HP Pavilion DM4 today, simply by trading in your old laptop. Your laptop must be working, up to 4 years old and come from a qualifying manufacturer (&lt;a href="http://view.atdmt.com/action/ukmukh_FY11Win7BTSTermsandConditions_1"&gt;see the full terms and conditions here&lt;/a&gt;).&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;Read more about this offer at &lt;a href="http://www.microsoft.com/uk/pcoffers/hpoffer/"&gt;http://www.microsoft.com/uk/pcoffers/hpoffer/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-69-70-metablogapi/7455.image_5F00_59741ACD.png"&gt;&lt;img style="background-image:none;border-right-width:0px;margin:;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" title="Get free 2 year gauruntee with all laptops at John lewi" border="0" alt="Get free 2 year gauruntee with all laptops at John lewis" align="left" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-69-70-metablogapi/6371.image_5F00_thumb_5F00_7E916539.png" width="147" height="107" /&gt;&lt;/a&gt;Get free 2 year guarantee with any John Lewis laptops. &lt;span class="right_copy"&gt;John Lewis has a wide range of laptops, for all budgets and tastes, available online. Choose from high performance wireless laptops, compact portable options or widescreen models to replace your home desktop PC. &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span class="right_copy"&gt;Read more about this John Lewis offer at &lt;a href="http://www.microsoft.com/uk/pcoffers/jloffer/"&gt;http://www.microsoft.com/uk/pcoffers/jloffer/&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span class="right_copy"&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span class="right_copy"&gt;Rob&lt;/span&gt;&lt;/p&gt;  &lt;div style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:e19df7eb-7c8e-430f-8d4c-f36c152e6769" class="wlWriterSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Windows+7" rel="tag"&gt;Windows 7&lt;/a&gt;,&lt;a href="http://technorati.com/tags/John+lewis" rel="tag"&gt;John lewis&lt;/a&gt;,&lt;a href="http://technorati.com/tags/HP" rel="tag"&gt;HP&lt;/a&gt;&lt;/div&gt; &lt;span class="right_copy"&gt;    &lt;/span&gt;&lt;div class="wlWriterHeaderFooter" style="margin:0px;padding:0px 0px 0px 0px;"&gt;&lt;br /&gt;&lt;br /&gt;
tweetmeme_style = 'compact';

&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10058410" width="1" height="1"&gt;</description>
      <link>http://blogs.msdn.com/b/robmar/archive/2010/09/06/2-great-pc-offers-in-the-uk.aspx</link>
      <source url="http://blogs.msdn.com/b/">MSDN Blogs</source>
      <author>robmar</author>
      <dc:creator>robmar</dc:creator>
      <guid isPermaLink="False">91d46819-8472-40ad-a661-2c78acb4018c:10058410</guid>
      <pubDate>Mon, 06 Sep 2010 10:54:07 GMT</pubDate>
    </item>
    <item>
      <title>Вычисление декартового произведения с помощью LINQ</title>
      <description>&lt;p&gt;Вот еще одно сообщение, основанное на &lt;a href="http://stackoverflow.com/questions/3093622"&gt;очередном вопросе со StackOverflow&lt;/a&gt;: &lt;b&gt;как вычислить декартово произведение произвольного количества последовательностей с помощью &lt;/b&gt;&lt;b&gt;LINQ&lt;/b&gt;&lt;b&gt;?&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;Прежде всего, давайте удостоверимся, что мы понимаем, о чем идет речь. Я буду обозначать последовательность как упорядоченное множество {a, b, c, d, ...}. Декартово произведение двух последовательностей S1 и S2 представляет собой последовательность со всеми возможными вариантами последовательностей из двух элементов, в которых первый элемент берется из S1, а второй – из S2. Так, например, для последовательностей {a, b} и {x, y, z} декартовым произведением является последовательность, состоящая из двухэлементных последовательностей: {{a, x}, {a, y}, {a, z}, {b, x}, {b, y}, {b, z}}.&lt;/p&gt;  &lt;p&gt;Ради упрощения, давайте предположим, что S1 и S2 представляют собой последовательности элементов одного типа. Конечно мы можем найти декартово произведение последовательности строк с последовательностью целых чисел, как последовательность кортежей (string, int), но этот вариант будет весьма сложно обобщить, поскольку система обобщенных типов языка C# не очень здорово работает с кортежами произвольной длины.&lt;/p&gt;  &lt;p&gt;В LINQ содержится оператор, предназначенный для декартового произведения: с помощью синтаксиса на основе вызова метода (fluent syntax) – это SelectMany, а с помощью «языка запросов» - это запрос с двумя операторами “from”: &lt;/p&gt;  &lt;pre class="csharpcode"&gt;var s1 = &lt;span class="kwrd"&gt;new&lt;/span&gt;[] {a, b}; 
var s2 = &lt;span class="kwrd"&gt;new&lt;/span&gt;[] {x, y, z}; 
var product =  
  from first &lt;span class="kwrd"&gt;in&lt;/span&gt; s1 
  from second &lt;span class="kwrd"&gt;in&lt;/span&gt; s2 
  select &lt;span class="kwrd"&gt;new&lt;/span&gt;[] { first, second };&lt;/pre&gt;


&lt;p&gt;Конечно, мы можем обобщить декартово произведение более чем на две последовательности. Декартово произведение n последовательностей {S1, S2, ..., Sn} представляет собой последовательность, которая содержит набор всех возможных последовательностей из n элементов, в которой первый элемент берется из последовательности S1, второй – из S2, и т.д.&lt;/p&gt;

&lt;p&gt;В этом определении не учитывается примитивный случай. Чему равняется декартово произведение пустых последовательностей? Давайте обозначим результат декартового произведения одной пустой последовательности следующим образом: { { } }. (См. комментарии для обоснования того, почему это хорошая мысль; изначально я думал использовать пустую последовательность { }, но этот способ лучше. Спасибо Apollonius за отличный совет.)&lt;/p&gt;

&lt;p&gt;Обратите внимание, что это приводит нас к разумному определению декартового произведения одной последовательности. Декартово произведение последовательности, содержащей в качестве элемента одну последовательность, скажем { {a, b} }, является последовательность всех возможных последовательностей, состоящих из одного элемента, в которых первым (и единственным) элементом является {a, b}. Т.е. декартовым произведением последовательности { {a, b} } является { {a}, {b} }.&lt;/p&gt;

&lt;p&gt;С помощью LINQ вы можете очень легко выполнить декартово произведение любого количества последовательностей, &lt;i&gt;но для этого вы должны знать количество последовательностей&lt;/i&gt;.&lt;/p&gt;

&lt;pre class="csharpcode"&gt;var product =  
  from first &lt;span class="kwrd"&gt;in&lt;/span&gt; s1 
  from second &lt;span class="kwrd"&gt;in&lt;/span&gt; s2 
  from third &lt;span class="kwrd"&gt;in&lt;/span&gt; s3 
  select &lt;span class="kwrd"&gt;new&lt;/span&gt;[] {first, second, third};&lt;/pre&gt;


&lt;p&gt;А что если вы не знаете количество последовательностей в момент компиляции? Т.е. как вы сможете реализовать тело этого метода:&lt;/p&gt;

&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;static&lt;/span&gt; IEnumerable&amp;lt;IEnumerable&amp;lt;T&amp;gt;&amp;gt; CartesianProduct&amp;lt;T&amp;gt;(&lt;span class="kwrd"&gt;this&lt;/span&gt; IEnumerable&amp;lt;IEnumerable&amp;lt;T&amp;gt;&amp;gt; sequences)&lt;/pre&gt;


&lt;p&gt;?&lt;/p&gt;

&lt;p&gt;Ну что ж, давайте рассуждать методом индукции, что всегда является отличной идеей при работе над рекурсивными структурами данных.&lt;/p&gt;

&lt;p&gt;Если последовательность содержит нулевое количество последовательностей, мы справились; мы просто возвращаем { { } }.&lt;/p&gt;

&lt;p&gt;Давайте снова вернемся к тому, как мы вычисляем декартово произведение двух последовательностей, скажем {a, b} и {x, y, z}. Мы начнем с вычисления декартового произведения первой последовательности. Давайте сделаем гипотетическое предположение, что мы знаем, как это сделать и в результате мы получили { {a}, {b} }. Как объединить { {a}, {b} } с {x, y, z} для получения необходимого декартового произведения?&lt;/p&gt;

&lt;p&gt;Итак, давайте ради вдохновения вернемся к нашему исходному определению декартового произведения двух последовательностей. Декартового произведение { {a}, {b} } и {x, y, z} – это последовательность вида {{{a}, x}, {{a}, y}, {{a}, z}, {{b}, x}, {{b}, y}, {{b} ,z}}, что очень похоже на то, что мы хотим получить в результате. Но мы не только хотим вычислить декартово произведение {{a}, {b}} и {x, y, z} путем создания &lt;i&gt;последовательности&lt;/i&gt;, которая будет содержать {a} и x, мы хотим вычислить декартово произведение путем &lt;i&gt;добавления&lt;/i&gt; x к последовательности {a}, для получения {a, x}! Или, иначе говоря, путем конкатенации {a} с {x}.&lt;/p&gt;

&lt;p&gt;Вернемся к коду. Предположим у нас есть старое декартово произведение, скажем { {a}, {b} }. Мы хотим объединить его с последовательностью {x, y, z}:&lt;/p&gt;

&lt;pre class="csharpcode"&gt;var newProduct =  
  from old &lt;span class="kwrd"&gt;in&lt;/span&gt; oldProduct 
  from item &lt;span class="kwrd"&gt;in&lt;/span&gt; sequence 
  select old.Concat(&lt;span class="kwrd"&gt;new&lt;/span&gt;[]{item}};&lt;/pre&gt;


&lt;p&gt;И теперь мы получаем полноценный рекурсивный случай. Если oldProduct представляет собой &lt;i&gt;любое&lt;/i&gt; декартово произведение, тогда мы можем вычислить новое объединение этого произведения с другой последовательностью для создания нового декартового произведения.&lt;/p&gt;

&lt;p&gt;Просто ради проверки: учитывает ли этот вариант наш базовый случай? Да. Если мы хотим вычислить декартово произведение { { } } с {a, b} тогда мы объединяем { } с {a} и { } с {b} и получаем { {a}, {b} }.&lt;/p&gt;

&lt;p&gt;Давайте соберем все это в одном месте:&lt;/p&gt;

&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;static&lt;/span&gt; IEnumerable&amp;lt;IEnumerable&amp;lt;T&amp;gt;&amp;gt; CartesianProduct&amp;lt;T&amp;gt;(&lt;span class="kwrd"&gt;this&lt;/span&gt; IEnumerable&amp;lt;IEnumerable&amp;lt;T&amp;gt;&amp;gt; sequences) 
{ 
  &lt;span class="rem"&gt;// базовый случай:&lt;/span&gt;
  IEnumerable&amp;lt;IEnumerable&amp;lt;T&amp;gt;&amp;gt; result = &lt;span class="kwrd"&gt;new&lt;/span&gt;[] { Enumerable.Empty&amp;lt;T&amp;gt;() }; 
  &lt;span class="kwrd"&gt;foreach&lt;/span&gt;(var sequence &lt;span class="kwrd"&gt;in&lt;/span&gt; sequences) 
  { 
    var s = sequence; &lt;span class="rem"&gt;// не замыкаем на переменную цикла    // рекурсивный случай: используем SelectMany для создания нового произведения на основе исходного произведения&lt;/span&gt;
    result =  
      from seq &lt;span class="kwrd"&gt;in&lt;/span&gt; result 
      from item &lt;span class="kwrd"&gt;in&lt;/span&gt; s 
      select seq.Concat(&lt;span class="kwrd"&gt;new&lt;/span&gt;[] {item}); 
  } 
  &lt;span class="kwrd"&gt;return&lt;/span&gt; result; 
} &lt;/pre&gt;


&lt;p&gt;Вариант хороший, но если нужно, мы можем действовать чуточку хитрее. На самом деле мы используем &lt;i&gt;аккумулятор &lt;/i&gt;(&lt;i&gt;accumulator&lt;/i&gt;). Давайте рассмотрим простой случай, скажем, добавление суммы к списку целых чисел. Одно из решений состоит в следующем: «накопить все значения, начиная с нулевого. Новый аккумулятор вычисляется на основе старого, путем добавления текущего элемента к предыдущему значению». Если мы начинаем с некоторого значения аккумулятора и некоторым способом создаем новое значение аккумулятора по предыдущему значению и текущему значению элемента последовательности, тогда, в этом случае мы можем воспользоваться удобным методом расширения с именем Aggregate. Он принимает начальное значение аккумулятора и функцию, которая принимает последнее значение и текущий элемент и возвращает следующее значение аккумулятора. Результатом выполнения этого метода является окончательное значение аккумулятора. &lt;/p&gt;

&lt;p&gt;В таком случае начальным значением аккумулятора будет пустое произведение, и на каждом шаге мы будем «добавлять» к нему сумму текущей последовательности и полученного произведения. На каждом шаге аккумулятор будет содержать декартово произведение всей последовательности пройденной до этого шага.&lt;/p&gt;

&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;static&lt;/span&gt; IEnumerable&amp;lt;IEnumerable&amp;lt;T&amp;gt;&amp;gt; CartesianProduct&amp;lt;T&amp;gt;(&lt;span class="kwrd"&gt;this&lt;/span&gt; IEnumerable&amp;lt;IEnumerable&amp;lt;T&amp;gt;&amp;gt; sequences) 
{ 
  IEnumerable&amp;lt;IEnumerable&amp;lt;T&amp;gt;&amp;gt; emptyProduct = &lt;span class="kwrd"&gt;new&lt;/span&gt;[] { Enumerable.Empty&amp;lt;T&amp;gt;() }; 
  &lt;span class="kwrd"&gt;return&lt;/span&gt; sequences.Aggregate( 
    emptyProduct, 
    (accumulator, sequence) =&amp;gt;  
      from accseq &lt;span class="kwrd"&gt;in&lt;/span&gt; accumulator  
      from item &lt;span class="kwrd"&gt;in&lt;/span&gt; sequence  
      select accseq.Concat(&lt;span class="kwrd"&gt;new&lt;/span&gt;[] {item}));                
}&lt;/pre&gt;


&lt;p&gt;А теперь тонкий момент. Помните, &lt;b&gt;что результатом &lt;/b&gt;&lt;b&gt;LINQ&lt;/b&gt;&lt;b&gt; запроса является запрос, который выдает результат по требованию, но не выдает результат запроса сразу же&lt;/b&gt;. Когда мы создаем аккумулятор, мы на самом деле не вычисляем декартово произведение. Мы создаем большой и сложный запрос, который &lt;i&gt;при его выполнении&lt;/i&gt; возвращает декартово произведение. Сам запрос строится сразу же, но выполняется отложенно.&lt;/p&gt;

&lt;p&gt;Разумно?&lt;/p&gt;

&lt;p&gt;&lt;a href="http://blogs.msdn.com/b/ericlippert/archive/2010/06/28/computing-a-cartesian-product-with-linq.aspx"&gt;Оригинал статьи&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10057418" width="1" height="1"&gt;</description>
      <link>http://blogs.msdn.com/b/ruericlippert/archive/2010/09/06/linq.aspx</link>
      <source url="http://blogs.msdn.com/b/">MSDN Blogs</source>
      <author>Русский MSDN</author>
      <dc:creator>Русский MSDN</dc:creator>
      <guid isPermaLink="False">91d46819-8472-40ad-a661-2c78acb4018c:10057418</guid>
      <pubDate>Mon, 06 Sep 2010 11:00:00 GMT</pubDate>
    </item>
  </channel>
</rss>