﻿<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
  <channel>
    <title>Andy's Blog</title>
    <description>Adventures in .NET </description>
    <link>http://www.andybeaulieu.com/Home/tabid/67/BlogId/2/Default.aspx</link>
    <language>en-US</language>
    <managingEditor>andy@andybeaulieu.com</managingEditor>
    <webMaster>andy@beaulieu.com</webMaster>
    <pubDate>Sat, 13 Mar 2010 20:36:57 GMT</pubDate>
    <lastBuildDate>Sat, 13 Mar 2010 20:36:57 GMT</lastBuildDate>
    <docs>http://backend.userland.com/rss</docs>
    <generator>Blog RSS Generator Version 3.1.20.17153</generator>
    <item>
      <title>VS2010: The "ValidateXaml" task failed unexpectedly</title>
      <description>&lt;P&gt;&lt;BR&gt;As you're moving all of your Silverlight solutions into Visual Studio 2010, you might encounter an error on compile like so:&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;System.IO.FileLoadException: Could not load file or assembly 'file:///C:\dev\Silverlight\xxx\yyy.dll' or one of its dependencies. Operation is not supported. (Exception from HRESULT: 0x80131515)&lt;BR&gt;File name: 'file:///C:\dev\Silverlight\xxx\yyy.dll' ---&gt; System.NotSupportedException: An attempt was made to load an assembly from a network location which would have caused the assembly to be sandboxed in previous versions of the .NET Framework. This release of the .NET Framework does not enable CAS policy by default, so this load may be dangerous. If this load is not intended to sandbox the assembly, please enable the loadFromRemoteSources switch. See &lt;/EM&gt;&lt;A href="http://go.microsoft.com/fwlink/?LinkId=155569"&gt;&lt;EM&gt;http://go.microsoft.com/fwlink/?LinkId=155569&lt;/EM&gt;&lt;/A&gt;&lt;EM&gt; for more information.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;This error is due to referencing one or more assemblies that were downloaded from the web and perhaps extracted from a ZIP file - things such as third party controls. These assembly files have a "block" flag set on them for security.&lt;/P&gt;
&lt;P&gt;There are a couple of ways around this:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;To do a one time fix for the assemblies that are firing this error, find the assembly in Windows Explorer and right-click and select Properties. Click the "Unblock" button at the bottom right of the "General" tab. &lt;BR&gt;&lt;BR&gt;
&lt;LI&gt;&lt;FONT color=#ff0000&gt;&lt;STRONG&gt;UPDATE 2/11/2010&lt;/STRONG&gt;: I just learned from Mark Boulter (Microsoft) that the following tweak might not be a good idea, so &lt;STRONG&gt;use at your own risk&lt;/STRONG&gt;. In fact, any tweaks to devenv.exe.config are not a good idea. Anyway, I'll leave this info up in case anyone is feeling frisky.&lt;BR&gt;&lt;/FONT&gt;&lt;BR&gt;You can also permanently disable this security check in Visual Studio 2010. Open the VS2010 config file at this location:&lt;BR&gt;&lt;BR&gt;&lt;FONT size=2 face="Courier New"&gt; %ProgramFiles%\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe.config&lt;BR&gt;&lt;/FONT&gt;&lt;BR&gt;...and add the following under the &lt;CONFIGURATION&gt; element:&lt;BR&gt;&lt;BR&gt;
&lt;P style="MARGIN: 0in 0in 0pt 0.5in" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt"&gt; &lt;runtime&gt;&lt;BR&gt;  &lt;loadFromRemoteSources enabled="true" /&gt;&lt;BR&gt; &lt;/runtime&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;BR&gt;&lt;/LI&gt;&lt;/OL&gt;</description>
      <link>http://www.andybeaulieu.com/Home/tabid/67/EntryID/190/Default.aspx</link>
      <author>andy@andybeaulieu.com</author>
      <comments>http://www.andybeaulieu.com/Home/tabid/67/EntryID/190/Default.aspx#Comments</comments>
      <guid isPermaLink="true">http://www.andybeaulieu.com/Default.aspx?tabid=67&amp;EntryID=190</guid>
      <pubDate>Thu, 11 Feb 2010 14:18:00 GMT</pubDate>
      <slash:comments>1</slash:comments>
      <trackback:ping>http://www.andybeaulieu.com/DesktopModules/Blog/Trackback.aspx?id=190</trackback:ping>
    </item>
    <item>
      <title>Using RIA Services Programmatically</title>
      <description>&lt;P&gt;&lt;BR&gt;Many demos of &lt;A href="http://silverlight.net/getstarted/riaservices/"&gt;WCF RIA Services&lt;/A&gt; show off using the &lt;A href="http://msdn.microsoft.com/en-us/library/system.windows.controls.domaindatasource(VS.91).aspx"&gt;DomainDataSource&lt;/A&gt; Class to in a declarative manner to quickly throw together a data-enabled application. And in VS2010, there is added support for using the Data Sources Window to Drag/Drop data entities onto the designer --- this action also adds a DomainDataSource instance into your XAML.&lt;/P&gt;
&lt;P&gt;For many applications, using a DomainDataSource in XAML is fine and enables &lt;A href="http://en.wikipedia.org/wiki/Rapid_application_development"&gt;RAD&lt;/A&gt; development. But some &lt;A href="http://wildermuth.com/2009/08/05/RIA_Services_Silverlight_and_MVVM"&gt;pundits&lt;/A&gt; (Hi Shawn!) argue that having direct interaction with the Data Layer from the UI Layer is bad for proper Model/View separation, testability, and general karma.&lt;/P&gt;
&lt;P&gt;Luckily, there are several ways to use WCF RIA Services programmatically - without relying on the DomainDataSource controls in XAML. Let's take a look at some of these programmatic methods:&lt;/P&gt;
&lt;P&gt;&lt;A HREF="http://www.andybeaulieu.comhttp://www.andybeaulieu.com/silverlight/4.0/WCFRIAProgrammatic_010710.zip"&gt;Download the Demo Code&lt;/A&gt;&lt;BR&gt;  * requires &lt;A href="http://silverlight.net/getstarted/silverlight-4-beta/#tools"&gt;SL4/VS2010 Beta 2&lt;/A&gt;, &lt;A href="http://silverlight.net/getstarted/riaservices/"&gt;WCF RIA Services Beta&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;&lt;FONT size=4&gt;Using the DomainContext&lt;BR&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;/U&gt;&lt;/STRONG&gt;The &lt;A href="http://msdn.microsoft.com/en-us/library/system.windows.ria.domaincontext(VS.91).aspx"&gt;DomainContext&lt;/A&gt; class allows the Silverlight client to access the Domain Service Class you created on the server side. A new DomainContext class is automatically generated on the client side for you when you create a new Domain Service.&lt;/P&gt;
&lt;P&gt;In the &lt;A HREF="http://www.andybeaulieu.comhttp://www.andybeaulieu.com/silverlight/4.0/WCFRIAProgrammatic_010710.zip"&gt;demo&lt;/A&gt;, our DomainContext class is named BeerContext. We can load all of the Beer rows from the database using the Load method, passing in an entity query that exists in our Domain Service:&lt;/P&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #2b91af; FONT-SIZE: 8pt"&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #2b91af; FONT-SIZE: 8pt"&gt;BeerContext&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 8pt"&gt;&lt;FONT color=#000000&gt; _beerContext = &lt;/FONT&gt;&lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;SPAN style="COLOR: #2b91af"&gt;BeerContext&lt;/SPAN&gt;&lt;FONT color=#000000&gt;();&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;BR&gt;LoadOperation&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 8pt"&gt;&lt;&lt;SPAN style="COLOR: #2b91af"&gt;Beer&lt;/SPAN&gt;&gt; loadBeers = _beerContext.Load(_beerContext.GetBeersQuery());&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 8pt"&gt;grdLoadFromContext.ItemsSource = loadBeers.Entities;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 14pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=4&gt;&lt;FONT size=3&gt;We can also use a LINQ query against a DomainContext, allowing us to request more specific records:&lt;/FONT&gt;&lt;/P&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: Consolas; FONT-SIZE: 8pt; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #2b91af; FONT-SIZE: 8pt"&gt;EntityQuery&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 8pt"&gt;&lt;&lt;SPAN style="COLOR: #2b91af"&gt;Beer&lt;/SPAN&gt;&gt; beerQuery = &lt;SPAN style="COLOR: blue"&gt;from&lt;/SPAN&gt; b &lt;SPAN style="COLOR: blue"&gt;in&lt;/SPAN&gt; _beerContext.GetBeersQuery()&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 8pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;                               &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;where&lt;/SPAN&gt; b.BrewerId == &lt;SPAN style="COLOR: brown"&gt;1&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 8pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;                               &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;select&lt;/SPAN&gt; b;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #2b91af; FONT-SIZE: 8pt"&gt;LoadOperation&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 8pt"&gt;&lt;&lt;SPAN style="COLOR: #2b91af"&gt;Beer&lt;/SPAN&gt;&gt; loBeers = _beerContext.Load(beerQuery);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 8pt"&gt;grdLoadWithLinq.ItemsSource = loBeers.Entities;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/FONT&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;&lt;FONT size=4&gt;Using DomainDataSource In Code&lt;BR&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;/U&gt;&lt;/STRONG&gt;Normally, you will see the DomainDataSource class used declaratively in XAML. But we can also utilize a DDS through code and take advantage of its paging, filtering, sorting and grouping functions . Consider this code, which creates a DDS and executes the GetBeers query, only retreiving the Beers for BrewerId == 1. Note that only the records for BrewerId == 1 are sent from the server, because the DDS creates an appropriate query for any paging, filtering, sorting, or grouping functions.&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; COLOR: #2b91af; FONT-SIZE: 8pt"&gt;DomainDataSource&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 8pt"&gt; dsBeers = &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR: #2b91af"&gt;DomainDataSource&lt;/SPAN&gt;();&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 8pt"&gt;dsBeers.LoadSize = &lt;SPAN style="COLOR: brown"&gt;30&lt;/SPAN&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 8pt"&gt;dsBeers.QueryName = &lt;SPAN style="COLOR: #a31515"&gt;"GetBeers"&lt;/SPAN&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 8pt"&gt;dsBeers.AutoLoad = &lt;SPAN style="COLOR: blue"&gt;true&lt;/SPAN&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 8pt"&gt;dsBeers.DomainContext = _beerContext;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 8pt"&gt;dsBeers.SortDescriptors.Add(&lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR: #2b91af"&gt;SortDescriptor&lt;/SPAN&gt;(&lt;SPAN style="COLOR: #a31515"&gt;"BeerName"&lt;/SPAN&gt;, System.ComponentModel.&lt;SPAN style="COLOR: #2b91af"&gt;ListSortDirection&lt;/SPAN&gt;.Ascending));&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 8pt"&gt;dsBeers.FilterDescriptors = &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; System.Windows.Data.&lt;SPAN style="COLOR: #2b91af"&gt;FilterDescriptorCollection&lt;/SPAN&gt;();&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 8pt"&gt;dsBeers.FilterDescriptors.Add(&lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; System.Windows.Data.&lt;SPAN style="COLOR: #2b91af"&gt;FilterDescriptor&lt;/SPAN&gt;(&lt;SPAN style="COLOR: #a31515"&gt;"BrewerId"&lt;/SPAN&gt;, System.Windows.Data.&lt;SPAN style="COLOR: #2b91af"&gt;FilterOperator&lt;/SPAN&gt;.IsEqualTo, &lt;SPAN style="COLOR: brown"&gt;1&lt;/SPAN&gt;));&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: Consolas; FONT-SIZE: 8pt"&gt;grdLoadDomainDataSource.ItemsSource = dsBeers.Data;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: Consolas; FONT-SIZE: 8pt; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt;dsBeers.Load();&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: Consolas; FONT-SIZE: 8pt; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt;&lt;/SPAN&gt; &lt;/P&gt;</description>
      <link>http://www.andybeaulieu.com/Home/tabid/67/EntryID/189/Default.aspx</link>
      <author>andy@andybeaulieu.com</author>
      <comments>http://www.andybeaulieu.com/Home/tabid/67/EntryID/189/Default.aspx#Comments</comments>
      <guid isPermaLink="true">http://www.andybeaulieu.com/Default.aspx?tabid=67&amp;EntryID=189</guid>
      <pubDate>Thu, 07 Jan 2010 14:56:00 GMT</pubDate>
      <slash:comments>4</slash:comments>
      <trackback:ping>http://www.andybeaulieu.com/DesktopModules/Blog/Trackback.aspx?id=189</trackback:ping>
    </item>
    <item>
      <title>RIA Services Talk at CNY .NET Dev Group</title>
      <description>&lt;P&gt;&lt;BR&gt;Thanks to everyone who attended my WCF RIA Services talk at the &lt;A href="http://www.cnydevelopers.net/"&gt;CNY .NET Developer Group&lt;/A&gt; in Syracuse, NY! In this talk we used Visual Studio 2010 Beta 2 and WCF RIA Services Beta to develop a line of business application centered around (what else) Beers! If you are in the Rochester, NY area, I'll be repeating this presentation at the &lt;A href="http://www.vduny.org/"&gt;Visual Developers of Upstate NY&lt;/A&gt; group on Wednesday, January 27th.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.andybeaulieu.com/silverlight/4.0/BeerDB_VS2010_010610.zip"&gt;Download the Demo&lt;/A&gt; &lt;BR&gt;  * requires &lt;A href="http://silverlight.net/getstarted/silverlight-4-beta/#tools"&gt;SL4/VS2010 Beta 2&lt;/A&gt;, &lt;A href="http://silverlight.net/getstarted/riaservices/"&gt;WCF RIA Services Beta&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.andybeaulieu.com/silverlight/4.0/RIAServices.pptx"&gt;Download the Slides&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;IMG src="http://www.andybeaulieu.com/silverlight/4.0/beerDetail.png"&gt;&lt;/P&gt;
&lt;P&gt;I had mentioned in the talk that I ran out of time and didn't get to cover the Programmatic Use of WCF RIA Services, and so I have posted that in &lt;A href="http://andybeaulieu.com/Home/tabid/67/EntryID/189/Default.aspx"&gt;this separate blog entry&lt;/A&gt;.&lt;BR&gt;&lt;/P&gt;
&lt;P&gt; &lt;/P&gt;</description>
      <link>http://www.andybeaulieu.com/Home/tabid/67/EntryID/188/Default.aspx</link>
      <author>andy@andybeaulieu.com</author>
      <comments>http://www.andybeaulieu.com/Home/tabid/67/EntryID/188/Default.aspx#Comments</comments>
      <guid isPermaLink="true">http://www.andybeaulieu.com/Default.aspx?tabid=67&amp;EntryID=188</guid>
      <pubDate>Thu, 07 Jan 2010 13:12:00 GMT</pubDate>
      <slash:comments>2</slash:comments>
      <trackback:ping>http://www.andybeaulieu.com/DesktopModules/Blog/Trackback.aspx?id=188</trackback:ping>
    </item>
    <item>
      <title>Happy New Year! </title>
      <description>&lt;P&gt;&lt;BR&gt;Here's wishing everyone a great 2010! I had a good start to the new year myself - I found out that I was again awarded a &lt;A href="http://mvp.support.microsoft.com/gp/aboutmvp"&gt;Microsoft MVP award&lt;/A&gt; for Silverlight!&lt;/P&gt;
&lt;P&gt;Silverlight has been evolving at light speed, and I'm really looking forward to all the great new features coming in SL4, VS2010, and beyond.&lt;BR&gt;&lt;/P&gt;</description>
      <link>http://www.andybeaulieu.com/Home/tabid/67/EntryID/187/Default.aspx</link>
      <author>andy@andybeaulieu.com</author>
      <comments>http://www.andybeaulieu.com/Home/tabid/67/EntryID/187/Default.aspx#Comments</comments>
      <guid isPermaLink="true">http://www.andybeaulieu.com/Default.aspx?tabid=67&amp;EntryID=187</guid>
      <pubDate>Sat, 02 Jan 2010 14:13:00 GMT</pubDate>
      <slash:comments>4</slash:comments>
      <trackback:ping>http://www.andybeaulieu.com/DesktopModules/Blog/Trackback.aspx?id=187</trackback:ping>
    </item>
    <item>
      <title>Using Fiddler to Capture RIA Services</title>
      <description>&lt;P&gt;&lt;FONT size=2 face=Arial&gt;If you're a fan of Fiddler, you may have used it with prior versions of RIA Services to capture the traffic between your Silverlight client and your server side. This worked great in the past because RIA Services used a (somewhat bastardized) JSON encoding format.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2 face=Arial&gt;But in the latest release of WCF RIA Services, the default encoding format is &lt;STRONG&gt;&lt;EM&gt;binary&lt;/EM&gt;&lt;/STRONG&gt; - which is not supported by Fiddler out of the box. Luckily, &lt;A href="http://blog.functionalfun.net/2009/11/fiddler-plug-in-for-inspecting-wcf.html"&gt;Samuel Jack&lt;/A&gt; has created a WCF Binary Inspector plug-in for Fiddler, which allows for examination of the new default encoding.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2 face=Arial&gt;Here is how to setup Fiddler to capture traffic with WCF RIA Services:&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;A href="http://www.fiddler2.com/Fiddler2/version.asp"&gt;&lt;FONT size=2 face=Arial&gt;Download and Install Fiddler&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;A href="http://code.msdn.microsoft.com/wcfbinaryinspector/Release/ProjectReleases.aspx"&gt;&lt;FONT size=2 face=Arial&gt;Download the Fiddler WCF Binary Inspector plugin&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=2 face=Arial&gt;Extract &lt;B style="mso-bidi-font-weight: normal"&gt;BinaryMessageFiddlerExtension.dll&lt;/B&gt; and copy to the Fiddler Inspectors Directory, by default &lt;/FONT&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=2 face=Arial&gt;&lt;STRONG&gt;C:\Program Files\Fiddler2\Inspectors&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;FONT size=2 face=Arial&gt;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=2 face=Arial&gt;Now, start up Fiddler – and then start up your RIA Services application. You’ll quickly notice that you’re not capturing any traffic &lt;SPAN style="FONT-FAMILY: Wingdings; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin; mso-char-type: symbol; mso-symbol-font-family: Wingdings"&gt;&lt;SPAN style="mso-char-type: symbol; mso-symbol-font-family: Wingdings"&gt;L&lt;/SPAN&gt;&lt;/SPAN&gt; This is because Fiddler doesn’t capture from localhost by default. There are a variety of solutions to this, some of which may or may not work for your configuration.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=2 face=Arial&gt;The easiest solution that works for me is to append a period (“.”) just after localhost in your application's URL.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;IMG src="http://www.andybeaulieu.com/silverlight/4.0/fiddlerRIAAddress.png"&gt;&lt;/P&gt;
&lt;P&gt;After that, you should see captured sessions as you make requests, and you can visit the "WCF Binary" tabs to see the request and response values, decoded.&lt;/P&gt;
&lt;P&gt;&lt;IMG src="http://www.andybeaulieu.com/silverlight/4.0/fiddlerRIA.png"&gt;&lt;/P&gt;</description>
      <link>http://www.andybeaulieu.com/Home/tabid/67/EntryID/186/Default.aspx</link>
      <author>andy@andybeaulieu.com</author>
      <comments>http://www.andybeaulieu.com/Home/tabid/67/EntryID/186/Default.aspx#Comments</comments>
      <guid isPermaLink="true">http://www.andybeaulieu.com/Default.aspx?tabid=67&amp;EntryID=186</guid>
      <pubDate>Sun, 13 Dec 2009 13:50:00 GMT</pubDate>
      <slash:comments>6</slash:comments>
      <trackback:ping>http://www.andybeaulieu.com/DesktopModules/Blog/Trackback.aspx?id=186</trackback:ping>
    </item>
    <item>
      <title>Creating a Pinball Game in Silverlight</title>
      <description>&lt;P&gt;&lt;BR&gt;My &lt;A href="http://blogs.msdn.com/coding4fun/"&gt;Coding4Fun&lt;/A&gt; tutorial on "&lt;A href="http://blogs.msdn.com/coding4fun/archive/2009/11/30/9896181.aspx"&gt;Creating a Pinball Game in Silverlight&lt;/A&gt;" is now available! &lt;/P&gt;
&lt;P&gt;Some time ago, &lt;A href="http://www.brianpeek.com/blog/"&gt;Brian Peek&lt;/A&gt; and the Coding4Fun team asked if I could create a tutorial on game programming, and we settled on a pinball game using the &lt;A href="http://physicshelper.codeplex.com"&gt;Physics Helper Behaviors&lt;/A&gt; and &lt;A href="http://farseerphysics.codeplex.com/"&gt;Farseer Physics Engine&lt;/A&gt;. A few months delay later :) and the video and walkthrough text are now up! Given the visual nature of using Behaviors in Blend, a video tutorial makes a lot of sense.&lt;/P&gt;
&lt;P&gt;You can &lt;A href="http://blogs.msdn.com/coding4fun/archive/2009/11/30/9896181.aspx"&gt;view the tutorial here&lt;/A&gt;... but the video walkthrough is quite cramped on the Coding4Fun site. So instead you may want to get a &lt;A href="http://www.coding4fun.net/media/slpinball/slpinball.html"&gt;full screen view&lt;/A&gt; here.&lt;/P&gt;
&lt;P&gt;For more info on the Physics Helper Library, check out:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.codeplex.com/PhysicsHelper"&gt;Physics Helper on Codeplex &lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.andybeaulieu.com/silverlight/3.0/physicshelper3/index.htm"&gt;Physics Helper Demos&lt;/A&gt;&lt;/P&gt;</description>
      <link>http://www.andybeaulieu.com/Home/tabid/67/EntryID/185/Default.aspx</link>
      <author>andy@andybeaulieu.com</author>
      <comments>http://www.andybeaulieu.com/Home/tabid/67/EntryID/185/Default.aspx#Comments</comments>
      <guid isPermaLink="true">http://www.andybeaulieu.com/Default.aspx?tabid=67&amp;EntryID=185</guid>
      <pubDate>Tue, 01 Dec 2009 01:57:00 GMT</pubDate>
      <slash:comments>3</slash:comments>
      <trackback:ping>http://www.andybeaulieu.com/DesktopModules/Blog/Trackback.aspx?id=185</trackback:ping>
    </item>
    <item>
      <title>There's an App for THAT?!</title>
      <description>&lt;P&gt;&lt;BR&gt;Let it be known that the game previously known as "Froggy Math" is now known as "&lt;A href="http://www.spritehand.com/silverlight/3.0/froggymath/froggymath.htm"&gt;Wormy Math&lt;/A&gt;"&lt;/P&gt;
&lt;P&gt;"Why" you ask?&lt;/P&gt;
&lt;P&gt;It only figures that with all of the Flash, Silverlight, and Mobile games being created every day that there would be some overlap in ideas and titles. But this one is just bizarre: &lt;/P&gt;
&lt;P&gt;Yesterday, I uploaded a little Silverlight educational game which I had called "Froggy Math." When I came up with the title just a few weeks ago, I had searched fairly extensively to make sure the name wasn't taken. &lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.spritehand.com/silverlight/3.0/froggymath/froggymath.htm"&gt;&lt;IMG border=0 src="http://www.andybeaulieu.com/Portals/1/FroggyMath600.png"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Today, I was searching around again for Froggy Math, and hit on this iPhone app released just a couple of weeks ago:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.itunesgames.net/app/froggy-math"&gt;&lt;IMG border=0 src="http://www.andybeaulieu.comhttp://www.itunesgames.net/data/apps_images/337483239_0.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Not only are the names the same, but the ideas are similar (at least, as far as I can tell - I don't have an iPhone so I haven't actually played this game). &lt;/P&gt;
&lt;P&gt;I have to say though, I think my game looks a little cooler :) and I'm guessing has better physics!&lt;/P&gt;
&lt;P&gt; &lt;/P&gt;</description>
      <link>http://www.andybeaulieu.com/Home/tabid/67/EntryID/184/Default.aspx</link>
      <author>andy@andybeaulieu.com</author>
      <comments>http://www.andybeaulieu.com/Home/tabid/67/EntryID/184/Default.aspx#Comments</comments>
      <guid isPermaLink="true">http://www.andybeaulieu.com/Default.aspx?tabid=67&amp;EntryID=184</guid>
      <pubDate>Mon, 30 Nov 2009 23:34:00 GMT</pubDate>
      <slash:comments>1</slash:comments>
      <trackback:ping>http://www.andybeaulieu.com/DesktopModules/Blog/Trackback.aspx?id=184</trackback:ping>
    </item>
    <item>
      <title>Silverlight Game: Froggy Math</title>
      <description>&lt;P&gt;&lt;BR&gt;"&lt;A href="http://www.spritehand.com/silverlight/3.0/froggymath/froggymath.htm"&gt;Froggy Math&lt;/A&gt;" is a little educational Silverlight game that I've been picking at when I had a free hour here and there for the past several weeks. The goal was to create something for my kids to practice their math facts (which I learned are now called "combinations"), and at the same time pique their interest in programming. I think the result was pretty good --- at least the kids seem interested in playing for awhile! &lt;/P&gt;
&lt;P&gt;In &lt;A href="http://www.spritehand.com/silverlight/3.0/froggymath/froggymath.htm"&gt;Froggy Math&lt;/A&gt;, the player feeds worms to a hungry frog - but the correct worm must be picked out of the pack. The player can choose to practice Multiplication, Division, Addition or Subtraction and a "Report Card" keeps track of their grade in each subject.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.spritehand.com/silverlight/3.0/froggymath/froggymath.htm"&gt;&lt;IMG src="http://www.andybeaulieu.com/Portals/1/FroggyMathSmall.png" border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;The game was pretty quick to knock off and here are some notes on the development:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Uses the &lt;A href="http://physicshelper.codeplex.com/"&gt;Physics Helper Library&lt;/A&gt; (Behaviors) for Physics. &lt;BR&gt;
&lt;LI&gt;The Worms are manipulated using a "pick spring"&lt;BR&gt;
&lt;LI&gt;There is a lot of use of Perspective 3D transforms - see if you can find them all :)&lt;BR&gt;
&lt;LI&gt;Uses the &lt;A HREF="http://www.andybeaulieu.com/Home/tabid/67/EntryID/169/Default.aspx"&gt;Fluid Container Behavior&lt;/A&gt; for the water effect&lt;BR&gt;
&lt;LI&gt;Uses &lt;A HREF="http://www.andybeaulieu.com/Home/tabid/67/EntryID/144/Default.aspx"&gt;GPU Acceleration&lt;/A&gt;, which greatly reduced CPU usage with all of the physics and fluid container action.&lt;BR&gt;
&lt;LI&gt;Isolated Storage is used to store the player's "report card" statistics.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;I would consider this a "beta" release so if anyone has any suggestions or bugs, please let me know!&lt;/P&gt;
&lt;P&gt; &lt;/P&gt;</description>
      <link>http://www.andybeaulieu.com/Home/tabid/67/EntryID/183/Default.aspx</link>
      <author>andy@andybeaulieu.com</author>
      <comments>http://www.andybeaulieu.com/Home/tabid/67/EntryID/183/Default.aspx#Comments</comments>
      <guid isPermaLink="true">http://www.andybeaulieu.com/Default.aspx?tabid=67&amp;EntryID=183</guid>
      <pubDate>Mon, 30 Nov 2009 02:46:00 GMT</pubDate>
      <slash:comments>1</slash:comments>
      <trackback:ping>http://www.andybeaulieu.com/DesktopModules/Blog/Trackback.aspx?id=183</trackback:ping>
    </item>
    <item>
      <title>Sharing Blend Workspace Settings</title>
      <description>&lt;P&gt;&lt;BR&gt;Expression Blend 3 has two pre-defined Workspaces, available under the Window/Workspaces menu.&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;the &lt;STRONG&gt;Design Workspace&lt;/STRONG&gt; is tuned for layout and UI creation, and is the default view you see in Blend.&lt;BR&gt;&lt;/LI&gt;
&lt;LI&gt;the &lt;STRONG&gt;Animation Workspace&lt;/STRONG&gt; is tuned for creating Storyboard Animations and gives you a larger view of the StoryBoard timeline.&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;We can also create and save our own custom Workspaces using the Window/Save as New Worspace menu option. And we can Rename and Delete Workspaces using the Window/Manage Workspaces menu option.&lt;/P&gt;
&lt;P&gt;Workspaces save the following information:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;visibility of panels&lt;/LI&gt;
&lt;LI&gt;the size and orientation of panels&lt;/LI&gt;
&lt;LI&gt;the panels that are within panel groups&lt;/LI&gt;
&lt;LI&gt;whether a panel is floating or docked&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;&lt;FONT size=4&gt;Sharing Blend Workspace Settings&lt;/FONT&gt;&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;I was recently asked, how can we &lt;STRONG&gt;&lt;EM&gt;share&lt;/EM&gt;&lt;/STRONG&gt; Workspace settings across multiple users? For example, you may have set up the perfect Workspace for completing a task, and want to share this with other users in your team.&lt;/P&gt;
&lt;P&gt;While Blend does not support this natively, we can hack around a bit to get a Workspace copied to another machine. &lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Copy the Workspace settings files stored in this folder:&lt;BR&gt;&lt;BR&gt;&lt;FONT face="Courier New"&gt;%APPDATA%\Microsoft\Expression\Blend3\Workspaces&lt;BR&gt;&lt;BR&gt;&lt;/FONT&gt;Each Workspace has a "default" version (containing the original settings from the "Save" operation), and a "modified" version (containing any changes made after the Save).&lt;BR&gt;&lt;/LI&gt;
&lt;LI&gt;We also need to add settings to the &lt;STRONG&gt;user.config&lt;/STRONG&gt; file located in this folder:&lt;BR&gt;&lt;BR&gt;&lt;FONT face="Courier New"&gt;%APPDATA%\Microsoft\Expression\Blend3\&lt;/FONT&gt;&lt;BR&gt;&lt;BR&gt;Open the user.config file in your favorite XML editor (well, notepad works). Look for the node containing UserWorkspaces, and add the name of the Workspace to this value. Note that we can add multiple Workspace names, with a pipe delimiter. &lt;BR&gt;&lt;BR&gt;&lt;FONT face="Courier New"&gt;&lt;ConfigurationObject Name="WorkspaceService"&gt;&lt;BR&gt;    &lt;PrimitiveObject Name="ActiveWorkspace"&gt;WorkspaceX&lt;/PrimitiveObject&gt;&lt;BR&gt;    &lt;PrimitiveObject Name="UserWorkspaces"&gt;&lt;FONT style="BACKGROUND-COLOR: #ffff00"&gt;WorkspaceX|WorkspaceY&lt;/FONT&gt;&lt;/PrimitiveObject&gt;&lt;BR&gt;  &lt;/ConfigurationObject&gt;&lt;/FONT&gt;&lt;BR&gt;&lt;/LI&gt;&lt;/OL&gt;</description>
      <link>http://www.andybeaulieu.com/Home/tabid/67/EntryID/182/Default.aspx</link>
      <author>andy@andybeaulieu.com</author>
      <comments>http://www.andybeaulieu.com/Home/tabid/67/EntryID/182/Default.aspx#Comments</comments>
      <guid isPermaLink="true">http://www.andybeaulieu.com/Default.aspx?tabid=67&amp;EntryID=182</guid>
      <pubDate>Fri, 20 Nov 2009 01:49:00 GMT</pubDate>
      <slash:comments>2</slash:comments>
      <trackback:ping>http://www.andybeaulieu.com/DesktopModules/Blog/Trackback.aspx?id=182</trackback:ping>
    </item>
    <item>
      <title>Silverlight 4 Beta Summary</title>
      <description>&lt;P&gt;At the PDC Conference today, &lt;A href="http://weblogs.asp.net/scottgu/"&gt;The Gu&lt;/A&gt; unveiled the first public release of Silverlight 4 (Beta). This release has some really great additions, but I am most excited about the advances in Business Application Development for Silverlight.&lt;BR&gt;&lt;BR&gt;Why will Silverlight 4 be better for Business App Development?&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;&lt;STRONG&gt;RIA Services&lt;/STRONG&gt;&lt;BR&gt;WCF RIA Services (formerly .NET RIA Services) makes it quick and easy to create a Service layer that wraps your Data Access Layer - whether your DAL uses the Entity Framework, LINQ to SQL, or another technology. Note the name change from ".NET RIA Services" to "WCF RIA Services." As confusing as another name change is, this helps clarify that this new release is built on top of WCF - The communications channel from the Silverlight client to the RIA Domain Service is now a *.svc file - which means we can Add a Service reference to the service side, get WSDL, and customize WCF service settings.&lt;BR&gt;&lt;BR&gt;
&lt;LI&gt;&lt;STRONG&gt;Cider Support&lt;/STRONG&gt;&lt;BR&gt;VS2010 includes a XAML editor (Cider), supporting drag/drop forms design and data binding. In the past, developers needed to learn Blend to do basic GUI form design. Don't get me wrong, I love Blend : and we will still need to switch over to Blend to take advantage of Behaviors, States, Templating, animation, drawing, and other tasks. But many developers were turned off by the fact that Visual Studio had no WYSIWYG designer for XAML.&lt;BR&gt;&lt;BR&gt;
&lt;LI&gt;&lt;STRONG&gt;Data Sources Window&lt;/STRONG&gt;&lt;BR&gt;WCF RIA Services and VS2010 now support a rapid Drag/Drop design experience which allows you to quickly put together data-enabled Silverlight applications. &lt;BR&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;&lt;FONT size=4&gt;Getting Started with Silverlight 4 Beta&lt;/FONT&gt;&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Here are some links to get you past the burn and into the groove...&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.andybeaulieu.com/Home/tabid/67/EntryID/179/Default.aspx"&gt;&lt;STRONG&gt;Silverlight 4 Beta, RIA Services... and Beer!&lt;/STRONG&gt;&lt;BR&gt;&lt;/A&gt;I've updated my Beer database demo with a walkthrough for Silverlight 4, VS2010, and the latest RIA Services.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.andybeaulieu.com/Home/tabid/67/EntryID/180/Default.aspx"&gt;&lt;STRONG&gt;Silverlight 4 Beta: Implicit Styles&lt;BR&gt;&lt;/STRONG&gt;&lt;/A&gt;We've been waiting for this little feature for awhile! Finally we can set a global style for a control.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://timheuer.com/blog/archive/2009/11/18/whats-new-in-silverlight-4-complete-guide-new-features.aspx"&gt;&lt;STRONG&gt;Silverlight 4 Beta - A Guide&lt;/STRONG&gt;&lt;/A&gt;&lt;BR&gt;This is a great overview of new stuff from &lt;A href="http://timheuer.com"&gt;Tim Heuer&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://channel9.msdn.com/learn/courses/Silverlight4/Overview/Overview/"&gt;&lt;STRONG&gt;Silverlight 4 Tech Whitepaper&lt;/STRONG&gt;&lt;/A&gt;&lt;BR&gt;&lt;A href="http://johnpapa.net/"&gt;John Papa&lt;/A&gt; walks through lots of the new goodies in SL4.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;&lt;FONT size=4&gt;Video Resources *UPDATED*&lt;/FONT&gt;&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.silverlight.net/learn/videos/silverlight-4-beta-videos/"&gt;&lt;STRONG&gt;Silverlight 4 Beta Videos on silverlight.net&lt;/STRONG&gt;&lt;/A&gt;&lt;BR&gt;&lt;A href="http://timheuer.com/blog/"&gt;Tim H&lt;/A&gt;. has been busy indeed, and has published a slew of videos for Silverlight 4 including most of the new toys!&lt;/P&gt;
&lt;P&gt;&lt;A href="http://microsoftpdc.com/Videos"&gt;&lt;STRONG&gt;PDC09 Videos&lt;/STRONG&gt;&lt;/A&gt;&lt;BR&gt;At this point, they're just starting to trickle in, but keep checking here for drops of the session recordings from PDC09! Day 2 has all of the Silverlight goodies.&lt;/P&gt;
&lt;P&gt; &lt;/P&gt;</description>
      <link>http://www.andybeaulieu.com/Home/tabid/67/EntryID/181/Default.aspx</link>
      <author>andy@andybeaulieu.com</author>
      <comments>http://www.andybeaulieu.com/Home/tabid/67/EntryID/181/Default.aspx#Comments</comments>
      <guid isPermaLink="true">http://www.andybeaulieu.com/Default.aspx?tabid=67&amp;EntryID=181</guid>
      <pubDate>Wed, 18 Nov 2009 22:29:00 GMT</pubDate>
      <slash:comments>1</slash:comments>
      <trackback:ping>http://www.andybeaulieu.com/DesktopModules/Blog/Trackback.aspx?id=181</trackback:ping>
    </item>
  </channel>
</rss>