<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:icbm="http://postneo.com/icbm" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" version="2.0">
  <channel>
    <title>Shawn Wildermuth's Blog</title>
    <description>Shawn Wildermuth's Technical Blog</description>
    <icbm:latitude>33.9345</icbm:latitude>
    <icbm:longitude>-84.3426</icbm:longitude>
    <link>http://wildermuth.com/</link>
    <image>
      <title>Shawn Wildermuth</title>
      <url>http://wildermuth.com/images/rssheader.jpg</url>
      <link>http://wildermuth.com/</link>
      <width>88</width>
      <height>31</height>
    </image>
    <language>en-us</language>
    <copyright>Copyright © 2002-2009, Wildermuth Consulting Services, LLC</copyright>
    <managingEditor>shawn@wildermuth.com (Shawn Wildermuth)</managingEditor>
    <webMaster>shawn@wildermuth.com (Shawn Wildermuth)</webMaster>
    <docs>http://backend.userland.com/rss</docs>
    <generator>Wildermuth.com</generator>
    <ttl>60</ttl>
    <geo:lat>33.768205</geo:lat><geo:long>-84.337868</geo:long><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/ShawnWildermuth" type="application/rss+xml" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
      <title>AgiliTrain and Rachel Appel Announce New Classes</title>
      <description>&lt;p&gt;&lt;a href="http://jquerytour.com"&gt;&lt;img style="float:right;" src="https://agilitrain.com/images/appel.png" alt="Rachel Appel" width="144" height="181" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;We are very proud to announce that AgiliTrain and Rachel Appel are partnering to present a series of public classes on the next generation of web development. Rachel will be teaching two new courses for AgiliTrain on web development:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://mvctour.com"&gt;The MVC Tour&lt;/a&gt;:&amp;nbsp;A 3-day training session that features an in depth look at MVC &amp;ndash; the Model/View/Controller pattern as implemented in &lt;a href='http://asp.net' target='_blank'&gt;ASP.NET&lt;/a&gt;. &lt;/li&gt;
&lt;li&gt;&lt;a href="http://jquerytour.com"&gt;The jQuery Tour&lt;/a&gt;:&amp;nbsp;A 3-day jQuery workshop that enables developers new to jQuery development to increase their knowledge and gain familiarity with the jQuery libraries, plug-ins and ecosystem.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For those not in the know, Rachel has been working as a mentor, instructor, software developer, architect and DBA for nearly 20 years. During her career, Rachel has worked with a variety of languages, technologies and systems and has contributed to projects of all sizes including large scale enterprise applications at some of the world&amp;rsquo;s leading companies. Rachel&amp;rsquo;s expertise lies within developing solutions that align business and technology using the &lt;a href='http://microsoft.com' target='_blank'&gt;Microsoft&lt;/a&gt; .NET family of products, particularly &lt;a href='http://asp.net' target='_blank'&gt;ASP.NET&lt;/a&gt; &amp;amp; &lt;a href='http://www.microsoft.com/sql/default.mspx' target='_blank'&gt;SQL Server&lt;/a&gt;. She is also an &lt;a href='http://asp.net' target='_blank'&gt;ASP.NET&lt;/a&gt; MVP, ASPInsider and holds the &lt;a href='http://microsoft.com' target='_blank'&gt;Microsoft&lt;/a&gt; Certified Trainer, MCAD &amp;amp; MCSD certifications.&lt;/p&gt;
&lt;p&gt;The workshops will be held in several cities including:&lt;/p&gt;
&lt;p&gt;The MVC Tour (&lt;a href="http://mvctour.com"&gt;http://mvctour.com&lt;/a&gt;):&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Sep 14-16, 2009&amp;nbsp; in&amp;nbsp;Seattle, WA&amp;nbsp; &lt;/li&gt;
&lt;li&gt;Nov 2-4, 2009&amp;nbsp;in Philadelphia, PA&amp;nbsp; &lt;/li&gt;
&lt;li&gt;Jan 11-13, 2010&amp;nbsp;in Dallas, TX &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The jQuery Tour (&lt;a href="http://jquerytour.com"&gt;http://jquerytour.com&lt;/a&gt;):&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Aug 24-26, 2009&amp;nbsp;in Philadelphia, PA &lt;/li&gt;
&lt;li&gt;Oct 5-7, 2009&amp;nbsp;in Dallas, TX&amp;nbsp; &lt;/li&gt;
&lt;li&gt;Dec 7-9, 2009&amp;nbsp;in Seattle, WA&amp;nbsp; &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Get your seats while they last.&amp;nbsp; Only sixteen students per&amp;nbsp;date will be accepted.&lt;/p&gt;&lt;p&gt;&amp;copy; 2009 Shawn Wildermuth. All Rights Reserved.&lt;br/&gt;&lt;a href='http://wildermuth.com/2009/07/02/AgiliTrain_and_Rachel_Appel_Announce_New_Classes'&gt;Add Comment&lt;/a&gt; | &lt;a href='http://digg.com/submit?phase=2&amp;url=http%3a%2f%2fwildermuth.com%2f2009%2f07%2f02%2fAgiliTrain_and_Rachel_Appel_Announce_New_Classes&amp;title=AgiliTrain+and+Rachel+Appel+Announce+New+Classes' target='_blank'&gt;digg this&lt;/a&gt;&lt;/p&gt;&lt;div&gt;&lt;script src="http://feeds.feedburner.com/~s/shawnwildermuth?i=http%3a%2f%2fwildermuth.com%2f2009%2f07%2f02%2fAgiliTrain_and_Rachel_Appel_Announce_New_Classes" type="text/javascript" charset="utf-8"&gt;&lt;/script&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;[advertisement]&lt;br/&gt;The Silverlight Tour is a three-day workshop covering topics from XAML and Blend to data access and server scenarios. For more information, see our website at &lt;a href='http://silverlight-tour.com' target=_blank&gt;http://silverlight-tour.com&lt;/a&gt;. &lt;a href='http://silverlight-tour.com' target=_blank&gt;&lt;img src='http://wildermuth.com/images/smalllogo.png' style='float: right;' alt='Silverlight Tour' /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ShawnWildermuth/~4/k6CYfXi0sBU" height="1" width="1"/&gt;</description>
      <link>http://wildermuth.com/2009/07/02/AgiliTrain_and_Rachel_Appel_Announce_New_Classes</link>
      <author>shawn@wildermuth.com (Shawn Wildermuth)</author>
      <comments>http://wildermuth.com/2009/07/02/AgiliTrain_and_Rachel_Appel_Announce_New_Classes</comments>
      <guid isPermaLink="false">http://wildermuth.com/2009/07/02/AgiliTrain_and_Rachel_Appel_Announce_New_Classes</guid>
      <pubDate>Thu, 02 Jul 2009 17:31:03 GMT</pubDate>
      <wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://wildermuth.com/rss/commentrss.aspx?id=2761</wfw:commentRss>
      <wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://wildermuth.com/rss/addcomment.aspx?id=2761</wfw:comment>
      <slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments>
    </item>
    <item>
      <title>Erik Mork's Prism for Silverlight Resources</title>
      <description>&lt;div nowrap&gt;&lt;strong&gt;URL&lt;/strong&gt;: &lt;a href='http://www.sparklingclient.com/prism-silverlight/' target=_blank&gt;http://www.sparklingclient.com/prism-silverlight/&lt;/a&gt;&lt;/div&gt;&lt;br/&gt;&lt;p&gt;&lt;a href="http://www.sparklingclient.com/prism-silverlight/"&gt;&lt;img style="float:right;" src="http://wildermuth.com/images/sparklinglogo.gif" alt="Sparkling Client" width="181" height="112" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Erik Mork, &lt;a href='http://wildermuth.com/silverlight' target='_blank'&gt;Silverlight&lt;/a&gt; MVP, host of the &lt;a href="http://www.sparklingclient.com"&gt;SparkingClient Podcast &lt;/a&gt;and an instructor for &lt;a href="http://silverlight-tour.com"&gt;The Silverlight Tour&lt;/a&gt;, has compiled a new set of&lt;a href="http://www.sparklingclient.com/prism-silverlight/"&gt; Prism for Silverlight Resources&lt;/a&gt;.&amp;nbsp; He recently completed a number of podcasts and videos on how to use Prism in &lt;a href='http://wildermuth.com/silverlight' target='_blank'&gt;Silverlight&lt;/a&gt;. This blog post enumerates the ten things every developer should know about Prism and links over to resources that explain each point. If you're new to &lt;a href='http://wildermuth.com/silverlight' target='_blank'&gt;Silverlight&lt;/a&gt; and have heard a lot about Prism and/or MVVM, this list is worth reading and following.&lt;/p&gt;&lt;p&gt;&amp;copy; 2009 Shawn Wildermuth. All Rights Reserved.&lt;br/&gt;&lt;a href='http://wildermuth.com/2009/07/02/Erik_Mork_s_Prism_for_Silverlight_Resources'&gt;Add Comment&lt;/a&gt; | &lt;a href='http://digg.com/submit?phase=2&amp;url=http%3a%2f%2fwildermuth.com%2f2009%2f07%2f02%2fErik_Mork_s_Prism_for_Silverlight_Resources&amp;title=Erik+Mork's+Prism+for+Silverlight+Resources' target='_blank'&gt;digg this&lt;/a&gt;&lt;/p&gt;&lt;div&gt;&lt;script src="http://feeds.feedburner.com/~s/shawnwildermuth?i=http%3a%2f%2fwildermuth.com%2f2009%2f07%2f02%2fErik_Mork_s_Prism_for_Silverlight_Resources" type="text/javascript" charset="utf-8"&gt;&lt;/script&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;[advertisement]&lt;br/&gt;The Silverlight Tour is a three-day workshop covering topics from XAML and Blend to data access and server scenarios. For more information, see our website at &lt;a href='http://silverlight-tour.com' target=_blank&gt;http://silverlight-tour.com&lt;/a&gt;. &lt;a href='http://silverlight-tour.com' target=_blank&gt;&lt;img src='http://wildermuth.com/images/smalllogo.png' style='float: right;' alt='Silverlight Tour' /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ShawnWildermuth/~4/jBx9yRsnUQk" height="1" width="1"/&gt;</description>
      <link>http://wildermuth.com/2009/07/02/Erik_Mork_s_Prism_for_Silverlight_Resources</link>
      <author>shawn@wildermuth.com (Shawn Wildermuth)</author>
      <comments>http://wildermuth.com/2009/07/02/Erik_Mork_s_Prism_for_Silverlight_Resources</comments>
      <guid isPermaLink="false">http://wildermuth.com/2009/07/02/Erik_Mork_s_Prism_for_Silverlight_Resources</guid>
      <pubDate>Thu, 02 Jul 2009 17:25:36 GMT</pubDate>
      <wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://wildermuth.com/rss/commentrss.aspx?id=2760</wfw:commentRss>
      <wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://wildermuth.com/rss/addcomment.aspx?id=2760</wfw:comment>
      <slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments>
    </item>
    <item>
      <title>Only Four Seats Left for Silverlight Tour Atlanta</title>
      <description>&lt;p&gt;&lt;a href="http://www.silverlight-tour.com"&gt;&lt;img style="float:right;" src="http://wildermuth.com/images/silverlightlogo100.jpg" alt="Silverlight Logo" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;UPDATE: Now only 3 Seats Left!&lt;/p&gt;
&lt;p&gt;With nearly three weeks left, we are starting to run out of seats for the &lt;a href='http://www.silverlight-tour.com' target='_blank'&gt;Silverlight Tour&lt;/a&gt; in Atlanta. This stop of the Tour will be the first using all &lt;a href='http://wildermuth.com/silverlight' target='_blank'&gt;Silverlight&lt;/a&gt; 3 materials. The seats are going quickly, get yours while they last.&amp;nbsp;You can sign up on the AgiliTrain website here:&lt;/p&gt;
&lt;p&gt;&lt;a href="https://agilitrain.com/Workshop/Info/Silverlight_Tour_Workshop"&gt;https://agilitrain.com/Workshop/Info/Silverlight_Tour_Workshop&lt;/a&gt;&lt;a href="https://agilitrain.com/workshop/info/Silverlight_Tour"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;If you miss out on Atlanta, the Tour next stops in Dallas on August 17-19th.&lt;/p&gt;&lt;p&gt;&amp;copy; 2009 Shawn Wildermuth. All Rights Reserved.&lt;br/&gt;&lt;a href='http://wildermuth.com/2009/06/30/Only_Four_Seats_Left_for_Silverlight_Tour_Atlanta'&gt;Add Comment&lt;/a&gt; | &lt;a href='http://digg.com/submit?phase=2&amp;url=http%3a%2f%2fwildermuth.com%2f2009%2f06%2f30%2fOnly_Four_Seats_Left_for_Silverlight_Tour_Atlanta&amp;title=Only+Four+Seats+Left+for+Silverlight+Tour+Atlanta' target='_blank'&gt;digg this&lt;/a&gt;&lt;/p&gt;&lt;div&gt;&lt;script src="http://feeds.feedburner.com/~s/shawnwildermuth?i=http%3a%2f%2fwildermuth.com%2f2009%2f06%2f30%2fOnly_Four_Seats_Left_for_Silverlight_Tour_Atlanta" type="text/javascript" charset="utf-8"&gt;&lt;/script&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;[advertisement]&lt;br/&gt;The Silverlight Tour is a three-day workshop covering topics from XAML and Blend to data access and server scenarios. For more information, see our website at &lt;a href='http://silverlight-tour.com' target=_blank&gt;http://silverlight-tour.com&lt;/a&gt;. &lt;a href='http://silverlight-tour.com' target=_blank&gt;&lt;img src='http://wildermuth.com/images/smalllogo.png' style='float: right;' alt='Silverlight Tour' /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ShawnWildermuth/~4/68XOgx8jq7E" height="1" width="1"/&gt;</description>
      <link>http://wildermuth.com/2009/06/30/Only_Four_Seats_Left_for_Silverlight_Tour_Atlanta</link>
      <author>shawn@wildermuth.com (Shawn Wildermuth)</author>
      <comments>http://wildermuth.com/2009/06/30/Only_Four_Seats_Left_for_Silverlight_Tour_Atlanta</comments>
      <guid isPermaLink="false">http://wildermuth.com/2009/06/30/Only_Four_Seats_Left_for_Silverlight_Tour_Atlanta</guid>
      <pubDate>Tue, 30 Jun 2009 21:59:13 GMT</pubDate>
      <wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://wildermuth.com/rss/commentrss.aspx?id=2759</wfw:commentRss>
      <wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://wildermuth.com/rss/addcomment.aspx?id=2759</wfw:comment>
      <slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments>
    </item>
    <item>
      <title>My Sillveright-Prism Article is Live!</title>
      <description>&lt;div nowrap&gt;&lt;strong&gt;URL&lt;/strong&gt;: &lt;a href='http://msdn.microsoft.com/en-us/magazine/dd943055.aspx' target=_blank&gt;http://msdn.microsoft.com/en-us/magazine/dd9430...&lt;/a&gt;&lt;/div&gt;&lt;br/&gt;&lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/magazine/dd943055.aspx"&gt;&lt;img style="float:right;" src="http://i.msdn.microsoft.com/dd767791.0709Cover(en-us,MSDN.10).jpg" alt="MSDN Magazine" width="182" height="239" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The new MSDN Magazine is out and my article on creating composite &lt;a href='http://wildermuth.com/silverlight' target='_blank'&gt;Silverlight&lt;/a&gt; applications using Prism is finally available. If you're building large scale &lt;a href='http://wildermuth.com/silverlight' target='_blank'&gt;Silverlight&lt;/a&gt; applications and need to learn how to compose pieces of your application together, go read the article!&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;copy; 2009 Shawn Wildermuth. All Rights Reserved.&lt;br/&gt;&lt;a href='http://wildermuth.com/2009/06/26/My_Sillveright-Prism_Article_is_Live!'&gt;Add Comment&lt;/a&gt; | &lt;a href='http://digg.com/submit?phase=2&amp;url=http%3a%2f%2fwildermuth.com%2f2009%2f06%2f26%2fMy_Sillveright-Prism_Article_is_Live!&amp;title=My+Sillveright-Prism+Article+is+Live!' target='_blank'&gt;digg this&lt;/a&gt;&lt;/p&gt;&lt;div&gt;&lt;script src="http://feeds.feedburner.com/~s/shawnwildermuth?i=http%3a%2f%2fwildermuth.com%2f2009%2f06%2f26%2fMy_Sillveright-Prism_Article_is_Live!" type="text/javascript" charset="utf-8"&gt;&lt;/script&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;[advertisement]&lt;br/&gt;The Silverlight Tour is a three-day workshop covering topics from XAML and Blend to data access and server scenarios. For more information, see our website at &lt;a href='http://silverlight-tour.com' target=_blank&gt;http://silverlight-tour.com&lt;/a&gt;. &lt;a href='http://silverlight-tour.com' target=_blank&gt;&lt;img src='http://wildermuth.com/images/smalllogo.png' style='float: right;' alt='Silverlight Tour' /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ShawnWildermuth/~4/6O5pTZyr73w" height="1" width="1"/&gt;</description>
      <link>http://wildermuth.com/2009/06/26/My_Sillveright-Prism_Article_is_Live!</link>
      <author>shawn@wildermuth.com (Shawn Wildermuth)</author>
      <comments>http://wildermuth.com/2009/06/26/My_Sillveright-Prism_Article_is_Live!</comments>
      <guid isPermaLink="false">http://wildermuth.com/2009/06/26/My_Sillveright-Prism_Article_is_Live!</guid>
      <pubDate>Fri, 26 Jun 2009 02:53:37 GMT</pubDate>
      <wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://wildermuth.com/rss/commentrss.aspx?id=2758</wfw:commentRss>
      <wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://wildermuth.com/rss/addcomment.aspx?id=2758</wfw:comment>
      <slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments>
    </item>
    <item>
      <title>Hear me on Deep Fried Bytes talk about Oslo!</title>
      <description>&lt;div nowrap&gt;&lt;strong&gt;URL&lt;/strong&gt;: &lt;a href='http://deepfriedbytes.com/podcast/episode-33-getting-the-scoop-about-olso-and-m-with-shawn-wildermuth/' target=_blank&gt;http://deepfriedbytes.com/podcast/episode-33-ge...&lt;/a&gt;&lt;/div&gt;&lt;br/&gt;&lt;p&gt;&lt;a href="http://deepfriedbytes.com/podcast/episode-33-getting-the-scoop-about-olso-and-m-with-shawn-wildermuth/"&gt;&lt;img style="float:right;" src="http://wildermuth.com/images/osloquad.png" alt="Deep Fried Bytes" width="198" height="199" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I have a chance to sit down with Keith and Woody of the Deep Fried Bytes podcast to give them my long elevator pitch for &lt;a href='http://msdn.microsoft.com/oslo' target='_blank'&gt;Oslo&lt;/a&gt; and &lt;a href='http://en.wikipedia.org/wiki/Domain_Specific_Language' target='_blank'&gt;Domain Specific Languages&lt;/a&gt;. If you haven't heard me tell the &lt;a href='http://msdn.microsoft.com/oslo' target='_blank'&gt;Oslo&lt;/a&gt; story, grab some headphones...&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;About Deep Fried Bytes&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Deep Fried Bytes is an audio talk show with a Southern flavor hosted by technologists and developers &lt;a href="http://keithelder.net/blog/" target="_blank"&gt;Keith Elder&lt;/a&gt; and &lt;a href="http://blog.cloudsocket.com/"&gt;Chris Woodruff&lt;/a&gt;. The show discusses a wide range of topics including application development, operating systems and technology in general. Anything is fair game if it plugs into the wall or takes a battery.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;copy; 2009 Shawn Wildermuth. All Rights Reserved.&lt;br/&gt;&lt;a href='http://wildermuth.com/2009/06/23/Hear_me_on_Deep_Fried_Bytes_talk_about_Oslo!'&gt;Add Comment&lt;/a&gt; | &lt;a href='http://digg.com/submit?phase=2&amp;url=http%3a%2f%2fwildermuth.com%2f2009%2f06%2f23%2fHear_me_on_Deep_Fried_Bytes_talk_about_Oslo!&amp;title=Hear+me+on+Deep+Fried+Bytes+talk+about+Oslo!' target='_blank'&gt;digg this&lt;/a&gt;&lt;/p&gt;&lt;div&gt;&lt;script src="http://feeds.feedburner.com/~s/shawnwildermuth?i=http%3a%2f%2fwildermuth.com%2f2009%2f06%2f23%2fHear_me_on_Deep_Fried_Bytes_talk_about_Oslo!" type="text/javascript" charset="utf-8"&gt;&lt;/script&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;[advertisement]&lt;br/&gt;The Silverlight Tour is a three-day workshop covering topics from XAML and Blend to data access and server scenarios. For more information, see our website at &lt;a href='http://silverlight-tour.com' target=_blank&gt;http://silverlight-tour.com&lt;/a&gt;. &lt;a href='http://silverlight-tour.com' target=_blank&gt;&lt;img src='http://wildermuth.com/images/smalllogo.png' style='float: right;' alt='Silverlight Tour' /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ShawnWildermuth/~4/2_8jBS6Yo5w" height="1" width="1"/&gt;</description>
      <link>http://wildermuth.com/2009/06/23/Hear_me_on_Deep_Fried_Bytes_talk_about_Oslo!</link>
      <author>shawn@wildermuth.com (Shawn Wildermuth)</author>
      <comments>http://wildermuth.com/2009/06/23/Hear_me_on_Deep_Fried_Bytes_talk_about_Oslo!</comments>
      <guid isPermaLink="false">http://wildermuth.com/2009/06/23/Hear_me_on_Deep_Fried_Bytes_talk_about_Oslo!</guid>
      <pubDate>Tue, 23 Jun 2009 20:15:49 GMT</pubDate>
      <wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://wildermuth.com/rss/commentrss.aspx?id=2757</wfw:commentRss>
      <wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://wildermuth.com/rss/addcomment.aspx?id=2757</wfw:comment>
      <slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments>
    </item>
    <item>
      <title>Announcing "Agile Database Techniques" Workshop</title>
      <description>&lt;div nowrap&gt;&lt;strong&gt;URL&lt;/strong&gt;: &lt;a href='https://agilitrain.com/Workshop/Info/Agile_Database_Techniques' target=_blank&gt;https://agilitrain.com/Workshop/Info/Agile_Data...&lt;/a&gt;&lt;/div&gt;&lt;br/&gt;&lt;p&gt;&lt;a href="https://agilitrain.com/Workshop/Info/Agile_Database_Techniques"&gt;&lt;img style="float:right;" src="http://agilitrain.com/images/Accentient Logo.png" alt="Accentient" width="250" height="52" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In cooperation with Accentient, AgiliTrain is now bringing &lt;a href="https://agilitrain.com/Instructor/Details/Richard_Hundhausen"&gt;Richard Hundhausen&lt;/a&gt;'s &lt;a href="https://agilitrain.com/Workshop/Info/Agile_Database_Techniques"&gt;Agile Database Techniques&lt;/a&gt; workshop to a city near you. This three-day course will give students a deep dive into managing &lt;a href='http://www.microsoft.com/sql/default.mspx' target='_blank'&gt;SQL Server&lt;/a&gt; database development in an agile environment. From understanding how VSTS supports an agile database development lifecycle, to creating and configuring database projects, as well as automating the building and deploying of &lt;a href='http://www.microsoft.com/sql/default.mspx' target='_blank'&gt;SQL Server&lt;/a&gt; databases, you&amp;rsquo;ll walk away knowing how to do it all.&lt;/p&gt;
&lt;p&gt;The dates for the workshop are coming up soon. The workshop will take place:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;July 20-22nd, 2009 - Seattle WA&lt;/li&gt;
&lt;li&gt;August 3-5th, 2009 - Atlanta, GA&lt;/li&gt;
&lt;li&gt;September 7-9th, 2009 - Chicago, IL&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The workshop is limited to the first sixteen students so register before the seats are gone!&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;copy; 2009 Shawn Wildermuth. All Rights Reserved.&lt;br/&gt;&lt;a href='http://wildermuth.com/2009/06/22/Announcing_Agile_Database_Techniques_Workshop'&gt;Add Comment&lt;/a&gt; | &lt;a href='http://digg.com/submit?phase=2&amp;url=http%3a%2f%2fwildermuth.com%2f2009%2f06%2f22%2fAnnouncing_Agile_Database_Techniques_Workshop&amp;title=Announcing+%22Agile+Database+Techniques%22+Workshop' target='_blank'&gt;digg this&lt;/a&gt;&lt;/p&gt;&lt;div&gt;&lt;script src="http://feeds.feedburner.com/~s/shawnwildermuth?i=http%3a%2f%2fwildermuth.com%2f2009%2f06%2f22%2fAnnouncing_Agile_Database_Techniques_Workshop" type="text/javascript" charset="utf-8"&gt;&lt;/script&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;[advertisement]&lt;br/&gt;The Silverlight Tour is a three-day workshop covering topics from XAML and Blend to data access and server scenarios. For more information, see our website at &lt;a href='http://silverlight-tour.com' target=_blank&gt;http://silverlight-tour.com&lt;/a&gt;. &lt;a href='http://silverlight-tour.com' target=_blank&gt;&lt;img src='http://wildermuth.com/images/smalllogo.png' style='float: right;' alt='Silverlight Tour' /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ShawnWildermuth/~4/JKjPzYAalOY" height="1" width="1"/&gt;</description>
      <link>http://wildermuth.com/2009/06/22/Announcing_Agile_Database_Techniques_Workshop</link>
      <author>shawn@wildermuth.com (Shawn Wildermuth)</author>
      <comments>http://wildermuth.com/2009/06/22/Announcing_Agile_Database_Techniques_Workshop</comments>
      <guid isPermaLink="false">http://wildermuth.com/2009/06/22/Announcing_Agile_Database_Techniques_Workshop</guid>
      <pubDate>Mon, 22 Jun 2009 00:56:59 GMT</pubDate>
      <wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://wildermuth.com/rss/commentrss.aspx?id=2756</wfw:commentRss>
      <wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://wildermuth.com/rss/addcomment.aspx?id=2756</wfw:comment>
      <slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments>
    </item>
    <item>
      <title>Join me in DC for a Nerd Dinner Tonight! CANCELLED</title>
      <description>&lt;div nowrap&gt;&lt;strong&gt;URL&lt;/strong&gt;: &lt;a href='http://nerddinner.com/633' target=_blank&gt;http://nerddinner.com/633&lt;/a&gt;&lt;/div&gt;&lt;br/&gt;&lt;p&gt;&lt;a href="http://www.silverlight-tour.com"&gt;&lt;img style="float:right;" src="http://wildermuth.com/images/silverlightlogo100.jpg" alt="Silverlight Logo" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;UPDATE: Due to lots of conflicts I am cancelling this event.&amp;nbsp; Sorry everyone who planned on coming.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://nerddinner.com/633"&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&amp;copy; 2009 Shawn Wildermuth. All Rights Reserved.&lt;br/&gt;&lt;a href='http://wildermuth.com/2009/06/17/Join_me_in_DC_for_a_Nerd_Dinner_Tonight!_CANCELLED'&gt;Add Comment&lt;/a&gt; | &lt;a href='http://digg.com/submit?phase=2&amp;url=http%3a%2f%2fwildermuth.com%2f2009%2f06%2f17%2fJoin_me_in_DC_for_a_Nerd_Dinner_Tonight!_CANCELLED&amp;title=Join+me+in+DC+for+a+Nerd+Dinner+Tonight!+CANCELLED' target='_blank'&gt;digg this&lt;/a&gt;&lt;/p&gt;&lt;div&gt;&lt;script src="http://feeds.feedburner.com/~s/shawnwildermuth?i=http%3a%2f%2fwildermuth.com%2f2009%2f06%2f17%2fJoin_me_in_DC_for_a_Nerd_Dinner_Tonight!_CANCELLED" type="text/javascript" charset="utf-8"&gt;&lt;/script&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;[advertisement]&lt;br/&gt;The Silverlight Tour is a three-day workshop covering topics from XAML and Blend to data access and server scenarios. For more information, see our website at &lt;a href='http://silverlight-tour.com' target=_blank&gt;http://silverlight-tour.com&lt;/a&gt;. &lt;a href='http://silverlight-tour.com' target=_blank&gt;&lt;img src='http://wildermuth.com/images/smalllogo.png' style='float: right;' alt='Silverlight Tour' /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ShawnWildermuth/~4/PwwK5cuX0BM" height="1" width="1"/&gt;</description>
      <link>http://wildermuth.com/2009/06/17/Join_me_in_DC_for_a_Nerd_Dinner_Tonight!_CANCELLED</link>
      <author>shawn@wildermuth.com (Shawn Wildermuth)</author>
      <comments>http://wildermuth.com/2009/06/17/Join_me_in_DC_for_a_Nerd_Dinner_Tonight!_CANCELLED</comments>
      <guid isPermaLink="false">http://wildermuth.com/2009/06/17/Join_me_in_DC_for_a_Nerd_Dinner_Tonight!_CANCELLED</guid>
      <pubDate>Wed, 17 Jun 2009 16:00:00 GMT</pubDate>
      <wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://wildermuth.com/rss/commentrss.aspx?id=2754</wfw:commentRss>
      <wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://wildermuth.com/rss/addcomment.aspx?id=2754</wfw:comment>
      <slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments>
    </item>
    <item>
      <title>Listen to me on Deep Fried Bytes!</title>
      <description>&lt;div nowrap&gt;&lt;strong&gt;URL&lt;/strong&gt;: &lt;a href='http://deepfriedbytes.com/podcast/episode-33-getting-the-scoop-about-olso-and-m-with-shawn-wildermuth/' target=_blank&gt;http://deepfriedbytes.com/podcast/episode-33-ge...&lt;/a&gt;&lt;/div&gt;&lt;br/&gt;&lt;p&gt;&lt;a href="http://deepfriedbytes.com/podcast/episode-33-getting-the-scoop-about-olso-and-m-with-shawn-wildermuth/"&gt;&lt;img style="float:right;" src="http://deepfriedbytes.com/images/deepfried_text_300px.png" alt="Deep Fried Bytes" width="300" height="122" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I had the pleasure recently to sit down with Keith and Woody on their Deep Fried Bytes Podcast and talk about &lt;a href='http://msdn.microsoft.com/oslo' target='_blank'&gt;Oslo&lt;/a&gt; and &lt;a href='http://en.wikipedia.org/wiki/Domain_Specific_Language' target='_blank'&gt;DSLs&lt;/a&gt; in general. If you have a chance, go listen to it and let me know what you think!&lt;/p&gt;&lt;p&gt;&amp;copy; 2009 Shawn Wildermuth. All Rights Reserved.&lt;br/&gt;&lt;a href='http://wildermuth.com/2009/06/17/Listen_to_me_on_Deep_Fried_Bytes!'&gt;Add Comment&lt;/a&gt; | &lt;a href='http://digg.com/submit?phase=2&amp;url=http%3a%2f%2fwildermuth.com%2f2009%2f06%2f17%2fListen_to_me_on_Deep_Fried_Bytes!&amp;title=Listen+to+me+on+Deep+Fried+Bytes!' target='_blank'&gt;digg this&lt;/a&gt;&lt;/p&gt;&lt;div&gt;&lt;script src="http://feeds.feedburner.com/~s/shawnwildermuth?i=http%3a%2f%2fwildermuth.com%2f2009%2f06%2f17%2fListen_to_me_on_Deep_Fried_Bytes!" type="text/javascript" charset="utf-8"&gt;&lt;/script&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;[advertisement]&lt;br/&gt;The Silverlight Tour is a three-day workshop covering topics from XAML and Blend to data access and server scenarios. For more information, see our website at &lt;a href='http://silverlight-tour.com' target=_blank&gt;http://silverlight-tour.com&lt;/a&gt;. &lt;a href='http://silverlight-tour.com' target=_blank&gt;&lt;img src='http://wildermuth.com/images/smalllogo.png' style='float: right;' alt='Silverlight Tour' /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ShawnWildermuth/~4/231V3vK0HNM" height="1" width="1"/&gt;</description>
      <link>http://wildermuth.com/2009/06/17/Listen_to_me_on_Deep_Fried_Bytes!</link>
      <author>shawn@wildermuth.com (Shawn Wildermuth)</author>
      <comments>http://wildermuth.com/2009/06/17/Listen_to_me_on_Deep_Fried_Bytes!</comments>
      <guid isPermaLink="false">http://wildermuth.com/2009/06/17/Listen_to_me_on_Deep_Fried_Bytes!</guid>
      <pubDate>Wed, 17 Jun 2009 10:17:52 GMT</pubDate>
      <wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://wildermuth.com/rss/commentrss.aspx?id=2755</wfw:commentRss>
      <wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://wildermuth.com/rss/addcomment.aspx?id=2755</wfw:comment>
      <slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments>
    </item>
    <item>
      <title>Blend and Visual Studio - Why Two Tools?</title>
      <description>&lt;p&gt;&lt;a href="http://www.silverlight-tour.com"&gt;&lt;img style="float:right;" src="http://wildermuth.com/images/silverlightlogo100.jpg" alt="Silverlight Logo" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I am here at DevTeach and having a great time. I got in a discussion with several of the speakers about the common complaint of some Silverlight/WPF folks that they want Blend to be in Visual Studio; or why Cider has always&amp;nbsp;been disabled by most dev's.&lt;/p&gt;
&lt;p&gt;I hear the complaint a lot that developers want the functionality of Blend hosted in &lt;a href='http://msdn2.microsoft.com/en-us/vstudio/default.aspx' target='_blank'&gt;Visual Studio&lt;/a&gt;.&amp;nbsp; While I understand the desire, I've never been bothered by the dual programs. In fact, I think its better. Blend needs to be separate because its primarily for a Designer/UX role that isn't comfortable with the breadth of &lt;a href='http://msdn2.microsoft.com/en-us/vstudio/default.aspx' target='_blank'&gt;Visual Studio&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;We have plenty of other solutions that have two overlapping tools: I can insert an Excel spreadsheet in Word but when I need to do an if/then analysis I use excel.&amp;nbsp; A single Office App would be silly. Finally (I think the most compelling example) is &lt;a href='http://www.microsoft.com/sql/default.mspx' target='_blank'&gt;SQL Server&lt;/a&gt;.&amp;nbsp; When I am in Visual Studio, I can open a database connection and run queries, create stored proces and more.&amp;nbsp; But if I want to manage users, create backup plans or other DBA-like tasks, I go to &lt;a href='http://www.microsoft.com/sql/default.mspx' target='_blank'&gt;SQL Server&lt;/a&gt; Management Studio. I can do many of the same tasks in both, but developers never ask for &lt;a href='http://microsoft.com' target='_blank'&gt;Microsoft&lt;/a&gt; to remove &lt;a href='http://www.microsoft.com/sql/default.mspx' target='_blank'&gt;SQL Server&lt;/a&gt; Management Studio and fold it all into &lt;a href='http://msdn2.microsoft.com/en-us/vstudio/default.aspx' target='_blank'&gt;Visual Studio&lt;/a&gt;.&amp;nbsp; Different roles mean different tools (roles != people btw).&amp;nbsp;&lt;/p&gt;
&lt;p&gt;What do you think?&lt;/p&gt;&lt;p&gt;&amp;copy; 2009 Shawn Wildermuth. All Rights Reserved.&lt;br/&gt;&lt;a href='http://wildermuth.com/2009/06/10/Blend_and_Visual_Studio_-_Why_Two_Tools'&gt;22 Comment(s)&lt;/a&gt; | &lt;a href='http://digg.com/submit?phase=2&amp;url=http%3a%2f%2fwildermuth.com%2f2009%2f06%2f10%2fBlend_and_Visual_Studio_-_Why_Two_Tools&amp;title=Blend+and+Visual+Studio+-+Why+Two+Tools%3f' target='_blank'&gt;digg this&lt;/a&gt;&lt;/p&gt;&lt;div&gt;&lt;script src="http://feeds.feedburner.com/~s/shawnwildermuth?i=http%3a%2f%2fwildermuth.com%2f2009%2f06%2f10%2fBlend_and_Visual_Studio_-_Why_Two_Tools" type="text/javascript" charset="utf-8"&gt;&lt;/script&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;[advertisement]&lt;br/&gt;The Silverlight Tour is a three-day workshop covering topics from XAML and Blend to data access and server scenarios. For more information, see our website at &lt;a href='http://silverlight-tour.com' target=_blank&gt;http://silverlight-tour.com&lt;/a&gt;. &lt;a href='http://silverlight-tour.com' target=_blank&gt;&lt;img src='http://wildermuth.com/images/smalllogo.png' style='float: right;' alt='Silverlight Tour' /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ShawnWildermuth/~4/Yi83I46ynjY" height="1" width="1"/&gt;</description>
      <link>http://wildermuth.com/2009/06/10/Blend_and_Visual_Studio_-_Why_Two_Tools</link>
      <author>shawn@wildermuth.com (Shawn Wildermuth)</author>
      <comments>http://wildermuth.com/2009/06/10/Blend_and_Visual_Studio_-_Why_Two_Tools</comments>
      <guid isPermaLink="false">http://wildermuth.com/2009/06/10/Blend_and_Visual_Studio_-_Why_Two_Tools</guid>
      <pubDate>Wed, 10 Jun 2009 20:22:51 GMT</pubDate>
      <wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://wildermuth.com/rss/commentrss.aspx?id=2753</wfw:commentRss>
      <wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://wildermuth.com/rss/addcomment.aspx?id=2753</wfw:comment>
      <slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">22</slash:comments>
    </item>
    <item>
      <title>DevTeach Silverlight+MVVM=Easy Demo</title>
      <description>&lt;div nowrap&gt;&lt;strong&gt;URL&lt;/strong&gt;: &lt;a href='http://wildermuth.com/downloads/DevTeachGameStore.zip' target=_blank&gt;http://wildermuth.com/downloads/DevTeachGameSto...&lt;/a&gt;&lt;/div&gt;&lt;br/&gt;&lt;p&gt;&lt;a href="http://www.silverlight-tour.com"&gt;&lt;img style="float:right;" src="http://wildermuth.com/images/silverlightlogo100.jpg" alt="Silverlight Logo" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Fun first day here at DevTeach. I a talk showing creating a MVVM application from scratch (using &lt;a href='http://astoria.mslivelabs.com' target='_blank'&gt;ADO.NET Data Services&lt;/a&gt; 1.5 CTP). Kathleen Dollard had introduced the concept earlier that day, but we teach it a lot differently so it was fun to show off building a full MVVM application in the span of 75 minutes.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The project we built in the talk is now available here at:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&amp;nbsp;&lt;a href="http://wildermuth.com/downloads/DevTeachGameStore.zip"&gt;http://wildermuth.com/downloads/DevTeachGameStore.zip&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I the demo is a little big because I included the database (that includes some additional information). You will need &lt;a href='http://wildermuth.com/silverlight' target='_blank'&gt;Silverlight&lt;/a&gt; 3, &lt;a href='http://astoria.mslivelabs.com' target='_blank'&gt;ADO.NET Data Services&lt;/a&gt; 1.5 CTP and to attach the database (as XBoxStore) to &lt;a href='http://www.microsoft.com/sql/default.mspx' target='_blank'&gt;SQL Server&lt;/a&gt; Express to get the demo to work. I introduced the topic of separation and isolation of contract with interfaces.&amp;nbsp; Hope it helps!&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;copy; 2009 Shawn Wildermuth. All Rights Reserved.&lt;br/&gt;&lt;a href='http://wildermuth.com/2009/06/10/DevTeach_Silverlight_MVVM=Easy_Demo'&gt;Add Comment&lt;/a&gt; | &lt;a href='http://digg.com/submit?phase=2&amp;url=http%3a%2f%2fwildermuth.com%2f2009%2f06%2f10%2fDevTeach_Silverlight_MVVM%3dEasy_Demo&amp;title=DevTeach+Silverlight%2bMVVM%3dEasy+Demo' target='_blank'&gt;digg this&lt;/a&gt;&lt;/p&gt;&lt;div&gt;&lt;script src="http://feeds.feedburner.com/~s/shawnwildermuth?i=http%3a%2f%2fwildermuth.com%2f2009%2f06%2f10%2fDevTeach_Silverlight_MVVM%3dEasy_Demo" type="text/javascript" charset="utf-8"&gt;&lt;/script&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;[advertisement]&lt;br/&gt;The Silverlight Tour is a three-day workshop covering topics from XAML and Blend to data access and server scenarios. For more information, see our website at &lt;a href='http://silverlight-tour.com' target=_blank&gt;http://silverlight-tour.com&lt;/a&gt;. &lt;a href='http://silverlight-tour.com' target=_blank&gt;&lt;img src='http://wildermuth.com/images/smalllogo.png' style='float: right;' alt='Silverlight Tour' /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ShawnWildermuth/~4/rA2thfPhP18" height="1" width="1"/&gt;</description>
      <link>http://wildermuth.com/2009/06/10/DevTeach_Silverlight_MVVM=Easy_Demo</link>
      <author>shawn@wildermuth.com (Shawn Wildermuth)</author>
      <comments>http://wildermuth.com/2009/06/10/DevTeach_Silverlight_MVVM=Easy_Demo</comments>
      <guid isPermaLink="false">http://wildermuth.com/2009/06/10/DevTeach_Silverlight_MVVM=Easy_Demo</guid>
      <pubDate>Wed, 10 Jun 2009 03:16:09 GMT</pubDate>
      <wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://wildermuth.com/rss/commentrss.aspx?id=2752</wfw:commentRss>
      <wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://wildermuth.com/rss/addcomment.aspx?id=2752</wfw:comment>
      <slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments>
    </item>
    <item>
      <title>My Oslo DSL Article Part 1 is Updated for May 2009 CTP</title>
      <description>&lt;div nowrap&gt;&lt;strong&gt;URL&lt;/strong&gt;: &lt;a href='http://msdn.microsoft.com/en-us/library/dd441702.aspx' target=_blank&gt;http://msdn.microsoft.com/en-us/library/dd44170...&lt;/a&gt;&lt;/div&gt;&lt;br/&gt;&lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/dd441702.aspx"&gt;&lt;img style="FLOAT: right" src="http://wildermuth.com/images/oslom.png" alt="Oslo" width="152" height="127" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;UPDATE: All Three Are Available Now!&lt;/p&gt;
&lt;p&gt;Since the &lt;a href='http://msdn.microsoft.com/oslo' target='_blank'&gt;Oslo&lt;/a&gt; May 2009 CTP came out last month, i've had a chance to update my article and samples to the new CTP. If you haven't had a chance to read the three articles on &lt;a href='http://msdn.microsoft.com/oslo' target='_blank'&gt;Oslo&lt;/a&gt;'s Textual &lt;a href='http://en.wikipedia.org/wiki/Domain_Specific_Language' target='_blank'&gt;DSL&lt;/a&gt;'s, this is your chance to learn why I think &lt;a href='http://msdn.microsoft.com/oslo' target='_blank'&gt;Oslo&lt;/a&gt; and the M Grammar stack matters.&amp;nbsp; The first article can be found here:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/dd441702.aspx"&gt;Part 1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/dd548006.aspx"&gt;Part 2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/dd789404.aspx"&gt;Part 3&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;copy; 2009 Shawn Wildermuth. All Rights Reserved.&lt;br/&gt;&lt;a href='http://wildermuth.com/2009/06/09/My_Oslo_DSL_Article_Part_1_is_Updated_for_May_2009_CTP'&gt;1 Comment(s)&lt;/a&gt; | &lt;a href='http://digg.com/submit?phase=2&amp;url=http%3a%2f%2fwildermuth.com%2f2009%2f06%2f09%2fMy_Oslo_DSL_Article_Part_1_is_Updated_for_May_2009_CTP&amp;title=My+Oslo+DSL+Article+Part+1+is+Updated+for+May+2009+CTP' target='_blank'&gt;digg this&lt;/a&gt;&lt;/p&gt;&lt;div&gt;&lt;script src="http://feeds.feedburner.com/~s/shawnwildermuth?i=http%3a%2f%2fwildermuth.com%2f2009%2f06%2f09%2fMy_Oslo_DSL_Article_Part_1_is_Updated_for_May_2009_CTP" type="text/javascript" charset="utf-8"&gt;&lt;/script&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;[advertisement]&lt;br/&gt;The Silverlight Tour is a three-day workshop covering topics from XAML and Blend to data access and server scenarios. For more information, see our website at &lt;a href='http://silverlight-tour.com' target=_blank&gt;http://silverlight-tour.com&lt;/a&gt;. &lt;a href='http://silverlight-tour.com' target=_blank&gt;&lt;img src='http://wildermuth.com/images/smalllogo.png' style='float: right;' alt='Silverlight Tour' /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ShawnWildermuth/~4/p8o7btd2dpE" height="1" width="1"/&gt;</description>
      <link>http://wildermuth.com/2009/06/09/My_Oslo_DSL_Article_Part_1_is_Updated_for_May_2009_CTP</link>
      <author>shawn@wildermuth.com (Shawn Wildermuth)</author>
      <comments>http://wildermuth.com/2009/06/09/My_Oslo_DSL_Article_Part_1_is_Updated_for_May_2009_CTP</comments>
      <guid isPermaLink="false">http://wildermuth.com/2009/06/09/My_Oslo_DSL_Article_Part_1_is_Updated_for_May_2009_CTP</guid>
      <pubDate>Tue, 09 Jun 2009 04:49:05 GMT</pubDate>
      <wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://wildermuth.com/rss/commentrss.aspx?id=2751</wfw:commentRss>
      <wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://wildermuth.com/rss/addcomment.aspx?id=2751</wfw:comment>
      <slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">1</slash:comments>
    </item>
    <item>
      <title>RIA Services RoadMap</title>
      <description>&lt;div nowrap&gt;&lt;strong&gt;URL&lt;/strong&gt;: &lt;a href='http://silverlight.net/forums/p/101160/230835.aspx' target=_blank&gt;http://silverlight.net/forums/p/101160/230835.aspx&lt;/a&gt;&lt;/div&gt;&lt;br/&gt;&lt;p&gt;&lt;a href="http://www.silverlight-tour.com"&gt;&lt;img style="float:right;" src="http://wildermuth.com/images/silverlightlogo100.jpg" alt="Silverlight Logo" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Looks like RIA Services finally has a roadmap. &amp;nbsp;Wahoo:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;July 2009 CTP&lt;/strong&gt;: Still listening to lots of changes and perhaps a golive license (but not firm yet).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;PDC 2009 Beta&lt;/strong&gt;: Feature Complete but bug fixes are coming.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;First part of 2010&lt;/strong&gt;: RTW (my guess is MIX 10 but who knows)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Hopefully the July 2009 CTP will have lots of changes I love. Stay tuned for what I think when it releases.&lt;/p&gt;&lt;p&gt;&amp;copy; 2009 Shawn Wildermuth. All Rights Reserved.&lt;br/&gt;&lt;a href='http://wildermuth.com/2009/06/09/RIA_Services_RoadMap'&gt;Add Comment&lt;/a&gt; | &lt;a href='http://digg.com/submit?phase=2&amp;url=http%3a%2f%2fwildermuth.com%2f2009%2f06%2f09%2fRIA_Services_RoadMap&amp;title=RIA+Services+RoadMap' target='_blank'&gt;digg this&lt;/a&gt;&lt;/p&gt;&lt;div&gt;&lt;script src="http://feeds.feedburner.com/~s/shawnwildermuth?i=http%3a%2f%2fwildermuth.com%2f2009%2f06%2f09%2fRIA_Services_RoadMap" type="text/javascript" charset="utf-8"&gt;&lt;/script&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;[advertisement]&lt;br/&gt;The Silverlight Tour is a three-day workshop covering topics from XAML and Blend to data access and server scenarios. For more information, see our website at &lt;a href='http://silverlight-tour.com' target=_blank&gt;http://silverlight-tour.com&lt;/a&gt;. &lt;a href='http://silverlight-tour.com' target=_blank&gt;&lt;img src='http://wildermuth.com/images/smalllogo.png' style='float: right;' alt='Silverlight Tour' /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ShawnWildermuth/~4/CDC_K_0S2-0" height="1" width="1"/&gt;</description>
      <link>http://wildermuth.com/2009/06/09/RIA_Services_RoadMap</link>
      <author>shawn@wildermuth.com (Shawn Wildermuth)</author>
      <comments>http://wildermuth.com/2009/06/09/RIA_Services_RoadMap</comments>
      <guid isPermaLink="false">http://wildermuth.com/2009/06/09/RIA_Services_RoadMap</guid>
      <pubDate>Tue, 09 Jun 2009 02:51:58 GMT</pubDate>
      <wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://wildermuth.com/rss/commentrss.aspx?id=2750</wfw:commentRss>
      <wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://wildermuth.com/rss/addcomment.aspx?id=2750</wfw:comment>
      <slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments>
    </item>
    <item>
      <title>Still Room Left for the Silverlight Tour - Washington, DC</title>
      <description>&lt;p&gt;&lt;a href="http://www.silverlight-tour.com/"&gt;&lt;img style="float: right;" src="http://silverlight-tour.com/images/logo.png" alt="Silverlight Logo" width="234" height="100" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Two weeks left before the Silverilght Tour hits&amp;nbsp;Washington, DC&amp;nbsp;for &lt;a href="http://wildermuth.com/silverlight" target="_blank"&gt;&lt;strong&gt;Silverlight 2&lt;/strong&gt;&lt;/a&gt; and 3! If you want to be ready for the next version of Silverlight, this is the place to be.&lt;/p&gt;
&lt;p&gt;On June 16-18th in&amp;nbsp;Washington, DC&amp;nbsp;our three-day &lt;a href="http://wildermuth.com/silverlight" target="_blank"&gt;&lt;strong&gt;Silverlight&lt;/strong&gt;&lt;/a&gt; workshop is going to teach the latest features of &lt;a href="http://wildermuth.com/silverlight" target="_blank"&gt;&lt;strong&gt;Silverlight&lt;/strong&gt;&lt;/a&gt; 3 as well as the complete &lt;a href="http://wildermuth.com/silverlight" target="_blank"&gt;&lt;strong&gt;Silverlight 2&lt;/strong&gt;&lt;/a&gt; stack.&lt;/p&gt;
&lt;p&gt;The new features we are covering include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Out of the Browser Support&lt;/li&gt;
&lt;li&gt;Pixel Shaders &lt;/li&gt;
&lt;li&gt;Hardware Graphic Accelleration &lt;/li&gt;
&lt;li&gt;Behaviors &lt;/li&gt;
&lt;li&gt;Navigation Framework &lt;/li&gt;
&lt;li&gt;Blend 3 &lt;/li&gt;
&lt;li&gt;Binding Improvements &lt;/li&gt;
&lt;li&gt;Secure Web Services &lt;/li&gt;
&lt;li&gt;Binary XML Transport &lt;/li&gt;
&lt;li&gt;RIA Services Client Controls &lt;/li&gt;
&lt;li&gt;Text Rendering Improvements&lt;/li&gt;
&lt;li&gt;Render Caching&lt;/li&gt;
&lt;li&gt;And more...&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;To sign up for the class or hold a seat, visit the registration site:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://silverlight-tour.com"&gt;http://silverlight-tour.com&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&amp;copy; 2009 Shawn Wildermuth. All Rights Reserved.&lt;br/&gt;&lt;a href='http://wildermuth.com/2009/06/04/Still_Room_Left_for_the_Silverlight_Tour_-_Washington_DC'&gt;Add Comment&lt;/a&gt; | &lt;a href='http://digg.com/submit?phase=2&amp;url=http%3a%2f%2fwildermuth.com%2f2009%2f06%2f04%2fStill_Room_Left_for_the_Silverlight_Tour_-_Washington_DC&amp;title=Still+Room+Left+for+the+Silverlight+Tour+-+Washington%2c+DC' target='_blank'&gt;digg this&lt;/a&gt;&lt;/p&gt;&lt;div&gt;&lt;script src="http://feeds.feedburner.com/~s/shawnwildermuth?i=http%3a%2f%2fwildermuth.com%2f2009%2f06%2f04%2fStill_Room_Left_for_the_Silverlight_Tour_-_Washington_DC" type="text/javascript" charset="utf-8"&gt;&lt;/script&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;[advertisement]&lt;br/&gt;The Silverlight Tour is a three-day workshop covering topics from XAML and Blend to data access and server scenarios. For more information, see our website at &lt;a href='http://silverlight-tour.com' target=_blank&gt;http://silverlight-tour.com&lt;/a&gt;. &lt;a href='http://silverlight-tour.com' target=_blank&gt;&lt;img src='http://wildermuth.com/images/smalllogo.png' style='float: right;' alt='Silverlight Tour' /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ShawnWildermuth/~4/wjwvxaPNtEg" height="1" width="1"/&gt;</description>
      <link>http://wildermuth.com/2009/06/04/Still_Room_Left_for_the_Silverlight_Tour_-_Washington_DC</link>
      <author>shawn@wildermuth.com (Shawn Wildermuth)</author>
      <comments>http://wildermuth.com/2009/06/04/Still_Room_Left_for_the_Silverlight_Tour_-_Washington_DC</comments>
      <guid isPermaLink="false">http://wildermuth.com/2009/06/04/Still_Room_Left_for_the_Silverlight_Tour_-_Washington_DC</guid>
      <pubDate>Thu, 04 Jun 2009 15:54:02 GMT</pubDate>
      <wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://wildermuth.com/rss/commentrss.aspx?id=2749</wfw:commentRss>
      <wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://wildermuth.com/rss/addcomment.aspx?id=2749</wfw:comment>
      <slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments>
    </item>
    <item>
      <title>Running ADO.NET Data Services 1.5 CTP1 on Windows 7</title>
      <description>&lt;div nowrap&gt;&lt;strong&gt;URL&lt;/strong&gt;: &lt;a href='http://blogs.msdn.com/astoriateam/archive/2009/03/16/ado-net-data-services-v1-5-ctp1-now-available-for-download.aspx' target=_blank&gt;http://blogs.msdn.com/astoriateam/archive/2009/...&lt;/a&gt;&lt;/div&gt;&lt;br/&gt;&lt;p&gt;&lt;a href="http://blogs.msdn.com/astoriateam/archive/2009/03/16/ado-net-data-services-v1-5-ctp1-now-available-for-download.aspx" target="_blank"&gt;&lt;img style="float:right;" src="http://wildermuth.com/images/ADODataServices.jpg" alt="ADO.NET Data Services" width="182" height="278" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I've been running Windows 7 as my primary machine now for a couple of months (first the Beta and now the RC).&amp;nbsp; I love the OS but there have been a couple of frameworks that didn't work right. The one that perplexes me the most is &lt;a href='http://astoria.mslivelabs.com' target='_blank'&gt;ADO.NET Data Services&lt;/a&gt; 1.5 CTP1.&lt;/p&gt;
&lt;p&gt;When you are on a Windows 7 box, running the installer will complain about a problem and point you to the readme file.&lt;/p&gt;
&lt;p&gt;The problem is that the "&lt;strong&gt;%PROGFILES%/Reference Assemblies\Microsoft\Framework\v3.5&lt;/strong&gt;" folder on Windows 7 is protected as a part of the operating system. Specifically only "Trusted Installer" has rights to update the files and the &lt;a href='http://astoria.mslivelabs.com' target='_blank'&gt;ADO.NET Data Services&lt;/a&gt; 1.5 installer doesn't have those rights so it doesn't update the crucial assembly. To address this, you have to take over ownership of the &lt;strong&gt;System.Data.Services.Design.dll&lt;/strong&gt; assembly in that folder and give yourself full access to the file.&amp;nbsp; If you're not familiar with how to do this, i'll cover it further down in the blog post.&lt;/p&gt;
&lt;p&gt;Once you have ownership of the assembly, re-run the installer (choose Repair if you already installed once with the error). You will get the same error again, but this time it replaced the crucial file.&lt;/p&gt;
&lt;p&gt;In order to use the new bits, there are some small hoops to jump through, but Mike Flasko explains these really well in a video on the &lt;a href='http://astoria.mslivelabs.com' target='_blank'&gt;Astoria&lt;/a&gt; Team blog:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/astoriateam/archive/2009/03/16/ado-net-data-services-v1-5-ctp1-now-available-for-download.aspx"&gt;http://blogs.msdn.com/astoriateam/archive/2009/03/16/ado-net-data-services-v1-5-ctp1-now-available-for-download.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="font-size: medium;"&gt;Changing Ownership/Permissions to the Assembly&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;For the uninitiated, taking ownership and assigning permissions can be done like so:&lt;/p&gt;
&lt;p&gt;Open the "%PROGFILES%/Reference Assemblies\Microsoft\Framework\v3.5" folder and find the assembly:&lt;/p&gt;
&lt;p&gt;&lt;img src="http://wildermuth.com/images/forceandswin7_1.png" alt="Force ANDS Image 1" width="489" height="437" /&gt;&lt;/p&gt;
&lt;p&gt;Next, right-click the assembly and pick Properties to show the property window for the assembly.&amp;nbsp; On the Security tab, click on the "Advanced" button near the bottom:&lt;/p&gt;
&lt;p&gt;&lt;img src="http://wildermuth.com/images/forceandswin7_2.png" alt="Force Image 2" width="377" height="515" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;Next, select the "Owner" tab and click on the "Edit" button:&lt;/p&gt;
&lt;p&gt;&lt;img src="http://wildermuth.com/images/forceandswin7_3.png" alt="Force Image 3" width="636" height="482" /&gt;&lt;/p&gt;
&lt;p&gt;Next pick a new owner (probably your user name or your machine's Administrator group) and press OK:&lt;/p&gt;
&lt;p&gt;&lt;img src="http://wildermuth.com/images/forceandswin7_4.png" alt="Force Image 4" width="636" height="482" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;Close all the dialogs and return to the Explorer window again (changing owner requries you re-open the property window).&amp;nbsp; Right-click the assembly again and pick "Properties.&amp;nbsp; In the Security Tab, click the "Edit" button to change permissions for you user name (or group):&lt;/p&gt;
&lt;p&gt;&lt;img src="http://wildermuth.com/images/forceandswin7_5.png" alt="Force Image 5" width="377" height="515" /&gt;&lt;/p&gt;
&lt;p&gt;Lastly, in the Permissions dialog, click the&amp;nbsp;"Full control" checkbox to give you full control of the assembly.&lt;/p&gt;
&lt;p&gt;&lt;img src="http://wildermuth.com/images/forceandswin7_6.png" alt="Force Image 6" width="377" height="456" /&gt;&lt;/p&gt;
&lt;p&gt;You've now&amp;nbsp;got the full permissions requried.&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;copy; 2009 Shawn Wildermuth. All Rights Reserved.&lt;br/&gt;&lt;a href='http://wildermuth.com/2009/05/29/Running_ADO_NET_Data_Services_1_5_CTP1_on_Windows_7'&gt;Add Comment&lt;/a&gt; | &lt;a href='http://digg.com/submit?phase=2&amp;url=http%3a%2f%2fwildermuth.com%2f2009%2f05%2f29%2fRunning_ADO_NET_Data_Services_1_5_CTP1_on_Windows_7&amp;title=Running+ADO.NET+Data+Services+1.5+CTP1+on+Windows+7' target='_blank'&gt;digg this&lt;/a&gt;&lt;/p&gt;&lt;div&gt;&lt;script src="http://feeds.feedburner.com/~s/shawnwildermuth?i=http%3a%2f%2fwildermuth.com%2f2009%2f05%2f29%2fRunning_ADO_NET_Data_Services_1_5_CTP1_on_Windows_7" type="text/javascript" charset="utf-8"&gt;&lt;/script&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;[advertisement]&lt;br/&gt;The Silverlight Tour is a three-day workshop covering topics from XAML and Blend to data access and server scenarios. For more information, see our website at &lt;a href='http://silverlight-tour.com' target=_blank&gt;http://silverlight-tour.com&lt;/a&gt;. &lt;a href='http://silverlight-tour.com' target=_blank&gt;&lt;img src='http://wildermuth.com/images/smalllogo.png' style='float: right;' alt='Silverlight Tour' /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ShawnWildermuth/~4/Rgh3jNHPgaQ" height="1" width="1"/&gt;</description>
      <link>http://wildermuth.com/2009/05/29/Running_ADO_NET_Data_Services_1_5_CTP1_on_Windows_7</link>
      <author>shawn@wildermuth.com (Shawn Wildermuth)</author>
      <comments>http://wildermuth.com/2009/05/29/Running_ADO_NET_Data_Services_1_5_CTP1_on_Windows_7</comments>
      <guid isPermaLink="false">http://wildermuth.com/2009/05/29/Running_ADO_NET_Data_Services_1_5_CTP1_on_Windows_7</guid>
      <pubDate>Fri, 29 May 2009 19:26:40 GMT</pubDate>
      <wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://wildermuth.com/rss/commentrss.aspx?id=2748</wfw:commentRss>
      <wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://wildermuth.com/rss/addcomment.aspx?id=2748</wfw:comment>
      <slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments>
    </item>
    <item>
      <title>Giving Up Chrome as My Default Browser</title>
      <description>&lt;div nowrap&gt;&lt;strong&gt;URL&lt;/strong&gt;: &lt;a href='http://www.youtube.com/watch?v=GuPoASZ5wiw' target=_blank&gt;http://www.youtube.com/watch?v=GuPoASZ5wiw&lt;/a&gt;&lt;/div&gt;&lt;br/&gt;&lt;p&gt;&lt;a href="http://www.silverlight-tour.com"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;UPDATE: I killed off all the Chrome windows on my machine and this behavior stopped...very very wierd.&lt;/p&gt;
&lt;p&gt;For the past few months, I've been using Chrome as my primary browser since its ridiculously fast. It starts up fast and renders fast. I was never a FireFox Addin addict, so I never missed them.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;But I've noticed that the 'AddressBar' on Chrome doesn't allow me to type in an address.&amp;nbsp; It only issues search.&amp;nbsp; I've tried to change this behavior to no avail.&amp;nbsp; I don't want every address I type in to become a search (and hint Google at what I care about) so I am giving up Chrome as a browser (except to test my sites against it).&amp;nbsp; Here's a video where I show different ways of using the AddressBar that always does a search:&lt;/p&gt;
&lt;p&gt;
&lt;object width="660" height="525" data="http://www.youtube.com/v/GuPoASZ5wiw&amp;amp;hl=en&amp;amp;fs=1&amp;amp;color1=0x234900&amp;amp;color2=0x4e9e00&amp;amp;border=1" type="application/x-shockwave-flash"&gt;
&lt;param name="allowFullScreen" value="true" /&gt;
&lt;param name="allowscriptaccess" value="always" /&gt;
&lt;param name="src" value="http://www.youtube.com/v/GuPoASZ5wiw&amp;amp;hl=en&amp;amp;fs=1&amp;amp;color1=0x234900&amp;amp;color2=0x4e9e00&amp;amp;border=1" /&gt;
&lt;param name="allowfullscreen" value="true" /&gt;
&lt;/object&gt;
&lt;/p&gt;
&lt;p&gt;UPDATE: Most people on 2.0.172.28 (I think the non-dev Channel) are not seeing this. Perhaps its my use of the Development Channel. &amp;nbsp;Let's see once the Dev Channel updates.&lt;/p&gt;&lt;p&gt;&amp;copy; 2009 Shawn Wildermuth. All Rights Reserved.&lt;br/&gt;&lt;a href='http://wildermuth.com/2009/05/27/Giving_Up_Chrome_as_My_Default_Browser'&gt;13 Comment(s)&lt;/a&gt; | &lt;a href='http://digg.com/submit?phase=2&amp;url=http%3a%2f%2fwildermuth.com%2f2009%2f05%2f27%2fGiving_Up_Chrome_as_My_Default_Browser&amp;title=Giving+Up+Chrome+as+My+Default+Browser' target='_blank'&gt;digg this&lt;/a&gt;&lt;/p&gt;&lt;div&gt;&lt;script src="http://feeds.feedburner.com/~s/shawnwildermuth?i=http%3a%2f%2fwildermuth.com%2f2009%2f05%2f27%2fGiving_Up_Chrome_as_My_Default_Browser" type="text/javascript" charset="utf-8"&gt;&lt;/script&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;[advertisement]&lt;br/&gt;The Silverlight Tour is a three-day workshop covering topics from XAML and Blend to data access and server scenarios. For more information, see our website at &lt;a href='http://silverlight-tour.com' target=_blank&gt;http://silverlight-tour.com&lt;/a&gt;. &lt;a href='http://silverlight-tour.com' target=_blank&gt;&lt;img src='http://wildermuth.com/images/smalllogo.png' style='float: right;' alt='Silverlight Tour' /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ShawnWildermuth/~4/FDjJ2NIr_1w" height="1" width="1"/&gt;</description>
      <link>http://wildermuth.com/2009/05/27/Giving_Up_Chrome_as_My_Default_Browser</link>
      <author>shawn@wildermuth.com (Shawn Wildermuth)</author>
      <comments>http://wildermuth.com/2009/05/27/Giving_Up_Chrome_as_My_Default_Browser</comments>
      <guid isPermaLink="false">http://wildermuth.com/2009/05/27/Giving_Up_Chrome_as_My_Default_Browser</guid>
      <pubDate>Wed, 27 May 2009 04:44:20 GMT</pubDate>
      <wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://wildermuth.com/rss/commentrss.aspx?id=2747</wfw:commentRss>
      <wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://wildermuth.com/rss/addcomment.aspx?id=2747</wfw:comment>
      <slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">13</slash:comments>
    </item>
    <item>
      <title>May Oslo SDK Available - Now with Quadrant</title>
      <description>&lt;div nowrap&gt;&lt;strong&gt;URL&lt;/strong&gt;: &lt;a href='http://www.microsoft.com/downloads/details.aspx?FamilyID=827122a5-3ca0-4389-a79e-87af37cbf60d&amp;displaylang=en' target=_blank&gt;http://www.microsoft.com/downloads/details.aspx...&lt;/a&gt;&lt;/div&gt;&lt;br/&gt;&lt;p&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=827122a5-3ca0-4389-a79e-87af37cbf60d&amp;amp;displaylang=en"&gt;&lt;img style="float: right;" src="http://wildermuth.com/images/oslom_100.png" alt="Oslo" width="121" height="100" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The newest CTP of the &lt;a href='http://msdn.microsoft.com/oslo' target='_blank'&gt;Oslo&lt;/a&gt; SDK is available and lots of changes are included:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;IntelliPad with &lt;a href='http://en.wikipedia.org/wiki/Domain_Specific_Language' target='_blank'&gt;DSL&lt;/a&gt; Authoring Mode built-in (No more 'samples included' needed).&lt;/li&gt;
&lt;li&gt;Quadrant! (The Model Editor Piece of the Platform)&lt;/li&gt;
&lt;li&gt;The CLR and UML domains added to the Repository&lt;/li&gt;
&lt;li&gt;Unified Tooling (instead of lots of individual command-line tools)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The things to be aware of that have changed are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Setup is now unified.&lt;/li&gt;
&lt;li&gt;Lots of M-Language changes, read the readme.&lt;/li&gt;
&lt;li&gt;None of the whitepapers or docs are included.&amp;nbsp; They are all included on the DevCenter.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For more information on this release, check out Chris Sells' blog:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.sellsbrothers.com/news/showTopic.aspx?ixTopic=2277"&gt;http://www.sellsbrothers.com/news/showTopic.aspx?ixTopic=2277&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;For a full write up of the changes, check out this post from the &lt;a href='http://msdn.microsoft.com/oslo' target='_blank'&gt;Oslo&lt;/a&gt; Team:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/modelcitizen/archive/2009/05/27/about-the-oslo-may-2009-ctp.aspx"&gt;http://blogs.msdn.com/modelcitizen/archive/2009/05/27/about-the-oslo-may-2009-ctp.aspx&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I will be updating my three part series for the new bits in the next week or so.&lt;/p&gt;&lt;p&gt;&amp;copy; 2009 Shawn Wildermuth. All Rights Reserved.&lt;br/&gt;&lt;a href='http://wildermuth.com/2009/05/26/May_Oslo_SDK_Available_-_Now_with_Quadrant'&gt;Add Comment&lt;/a&gt; | &lt;a href='http://digg.com/submit?phase=2&amp;url=http%3a%2f%2fwildermuth.com%2f2009%2f05%2f26%2fMay_Oslo_SDK_Available_-_Now_with_Quadrant&amp;title=May+Oslo+SDK+Available+-+Now+with+Quadrant' target='_blank'&gt;digg this&lt;/a&gt;&lt;/p&gt;&lt;div&gt;&lt;script src="http://feeds.feedburner.com/~s/shawnwildermuth?i=http%3a%2f%2fwildermuth.com%2f2009%2f05%2f26%2fMay_Oslo_SDK_Available_-_Now_with_Quadrant" type="text/javascript" charset="utf-8"&gt;&lt;/script&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;[advertisement]&lt;br/&gt;The Silverlight Tour is a three-day workshop covering topics from XAML and Blend to data access and server scenarios. For more information, see our website at &lt;a href='http://silverlight-tour.com' target=_blank&gt;http://silverlight-tour.com&lt;/a&gt;. &lt;a href='http://silverlight-tour.com' target=_blank&gt;&lt;img src='http://wildermuth.com/images/smalllogo.png' style='float: right;' alt='Silverlight Tour' /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ShawnWildermuth/~4/bvTrMi_5kTk" height="1" width="1"/&gt;</description>
      <link>http://wildermuth.com/2009/05/26/May_Oslo_SDK_Available_-_Now_with_Quadrant</link>
      <author>shawn@wildermuth.com (Shawn Wildermuth)</author>
      <comments>http://wildermuth.com/2009/05/26/May_Oslo_SDK_Available_-_Now_with_Quadrant</comments>
      <guid isPermaLink="false">http://wildermuth.com/2009/05/26/May_Oslo_SDK_Available_-_Now_with_Quadrant</guid>
      <pubDate>Tue, 26 May 2009 22:51:30 GMT</pubDate>
      <wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://wildermuth.com/rss/commentrss.aspx?id=2746</wfw:commentRss>
      <wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://wildermuth.com/rss/addcomment.aspx?id=2746</wfw:comment>
      <slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments>
    </item>
    <item>
      <title>DataForm Templates</title>
      <description>&lt;div nowrap&gt;&lt;strong&gt;URL&lt;/strong&gt;: &lt;a href='http://wildermuth.com/downloads/funwithdataform.zip' target=_blank&gt;http://wildermuth.com/downloads/funwithdataform...&lt;/a&gt;&lt;/div&gt;&lt;br/&gt;&lt;p&gt;&lt;a href="http://www.silverlight-tour.com"&gt;&lt;img style="float:right;" src="http://wildermuth.com/images/silverlightlogo100.jpg" alt="Silverlight Logo" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;It is great to see that Tim Heuer and I are thinking about the same thing. In his&lt;a href="http://timheuer.com/blog/archive/2009/05/25/customize-dataform-with-data-annotation-display-attributes.aspx" target="_blank"&gt; recent article on DataForm helpers&lt;/a&gt;, he explained how to use the Validation Attributes to hint the &lt;strong&gt;DataForm&lt;/strong&gt; with additional information.&amp;nbsp; These attributes are used extensively in the validation model in RIA Services but I'll be covering that later.&lt;/p&gt;
&lt;p&gt;Instead of that, I've been digging into how you can customize the look the &lt;strong&gt;DataForm&lt;/strong&gt; while still getting the benefit of paging functionality. As Tim mentioned you can specify the rows of the &lt;strong&gt;DataForm&lt;/strong&gt; in a similar way to who the &lt;strong&gt;DataGrid&lt;/strong&gt; works;&lt;/p&gt;
&lt;pre&gt;&amp;lt;df:DataForm x:Name="theForm"
             AutoGenerateFields="False"&amp;gt;
&lt;strong&gt;  &amp;lt;df:DataForm.Fields&amp;gt;
    &amp;lt;df:DataFormTextField Binding="{Binding Name}"
                          FieldLabelPosition="Top" /&amp;gt;
  &amp;lt;/df:DataForm.Fields&amp;gt;&lt;/strong&gt;
&amp;lt;/df:DataForm&amp;gt;
&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;While specifying the fields to use is interesting, I wanted more control. That's where &lt;strong&gt;DataForm&lt;/strong&gt; templates come in.&amp;nbsp; In the &lt;strong&gt;DataForm&lt;/strong&gt; control, there are&amp;nbsp;three templates:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;DisplayTemplate&lt;/strong&gt;: The DataTemplate for showing the 'read-only' view of a bound item.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;EditTemplate&lt;/strong&gt;: The DataTemplate for editing an item.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;InsertTemplate&lt;/strong&gt;: The DataTemplate for a new item.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;Specifying these &lt;strong&gt;Templates&lt;/strong&gt; is as simple as using a &lt;strong&gt;DataTemplate&lt;/strong&gt; like so:&lt;/p&gt;
&lt;pre&gt;&amp;lt;df:DataForm x:Name="theForm"
             AutoGenerateFields="&lt;strong&gt;True&lt;/strong&gt;"&amp;gt;

  &amp;lt;df:DataForm.&lt;strong&gt;DisplayTemplate&lt;/strong&gt;&amp;gt;
&lt;strong&gt;    &amp;lt;DataTemplate&amp;gt;
      &amp;lt;StackPanel&amp;gt;
        &amp;lt;TextBlock Text="{Binding Name}" /&amp;gt;
        &amp;lt;TextBlock Text="{Binding Title}" /&amp;gt;
      &amp;lt;/StackPanel&amp;gt;
    &amp;lt;/DataTemplate&amp;gt;
&lt;/strong&gt;  &amp;lt;/df:DataForm.DisplayTemplate&amp;gt;

  &amp;lt;df:DataForm.&lt;strong&gt;InsertTemplate&lt;/strong&gt;&amp;gt;
   &lt;strong&gt; &amp;lt;DataTemplate&amp;gt;
      &amp;lt;StackPanel&amp;gt;
        &amp;lt;TextBox Text="{Binding Name, Mode=TwoWay}" /&amp;gt;
        &amp;lt;TextBox Text="{Binding Title, Mode=TwoWay}" /&amp;gt;
      &amp;lt;/StackPanel&amp;gt;
    &amp;lt;/DataTemplate&amp;gt;&lt;/strong&gt;
  &amp;lt;/df:DataForm.InsertTemplate&amp;gt;

  &amp;lt;df:DataForm.&lt;strong&gt;EditTemplate&lt;/strong&gt;&amp;gt;
&lt;strong&gt;    &amp;lt;DataTemplate&amp;gt;
      &amp;lt;StackPanel&amp;gt;
        &amp;lt;TextBlock Text="{Binding Name, Mode=TwoWay}" /&amp;gt;
        &amp;lt;TextBox Text="{Binding Title, Mode=TwoWay}" /&amp;gt;
      &amp;lt;/StackPanel&amp;gt;
    &amp;lt;/DataTemplate&amp;gt;
&lt;/strong&gt;  &amp;lt;/df:DataForm.EditTemplate&amp;gt;

&amp;lt;/df:DataForm&amp;gt;
&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;This gives you the full power of controlling the look of the individual items in the &lt;strong&gt;DataForm&lt;/strong&gt;.&amp;nbsp; Of course, to get the full power, you will often want to use the other new controls as well (like the &lt;strong&gt;FieldLabel&lt;/strong&gt;):&lt;/p&gt;
&lt;pre&gt;&amp;lt;df:DataForm.EditTemplate&amp;gt;
  &amp;lt;DataTemplate&amp;gt;
    &amp;lt;StackPanel&amp;gt;
      &amp;lt;df:FieldLabel PropertyPath="Name" /&amp;gt;
      &amp;lt;TextBox Text="{Binding Name, Mode=TwoWay, 
                      NotifyOnValidationError=true, 
                      ValidatesOnExceptions=true}"
               HorizontalContentAlignment="Stretch" /&amp;gt;
      &amp;lt;df:FieldLabel PropertyPath="Title" /&amp;gt;
      &amp;lt;TextBox Text="{Binding Title, Mode=TwoWay, 
                      NotifyOnValidationError=true, 
                      ValidatesOnExceptions=true}"
               HorizontalContentAlignment="Stretch" /&amp;gt;
      &amp;lt;df:ErrorSummary /&amp;gt;
    &amp;lt;/StackPanel&amp;gt;
  &amp;lt;/DataTemplate&amp;gt;
&amp;lt;/df:DataForm.EditTemplate&amp;gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;In this way the &lt;strong&gt;DataForm&lt;/strong&gt; gives you full control over how the individual items are displayed. This allows you to use all the services of the &lt;strong&gt;DataForm&lt;/strong&gt; without having to deal with the look of the &lt;strong&gt;DataForm&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;What do you think?&lt;/p&gt;&lt;p&gt;&amp;copy; 2009 Shawn Wildermuth. All Rights Reserved.&lt;br/&gt;&lt;a href='http://wildermuth.com/2009/05/25/DataForm_Templates'&gt;1 Comment(s)&lt;/a&gt; | &lt;a href='http://digg.com/submit?phase=2&amp;url=http%3a%2f%2fwildermuth.com%2f2009%2f05%2f25%2fDataForm_Templates&amp;title=DataForm+Templates' target='_blank'&gt;digg this&lt;/a&gt;&lt;/p&gt;&lt;div&gt;&lt;script src="http://feeds.feedburner.com/~s/shawnwildermuth?i=http%3a%2f%2fwildermuth.com%2f2009%2f05%2f25%2fDataForm_Templates" type="text/javascript" charset="utf-8"&gt;&lt;/script&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;[advertisement]&lt;br/&gt;The Silverlight Tour is a three-day workshop covering topics from XAML and Blend to data access and server scenarios. For more information, see our website at &lt;a href='http://silverlight-tour.com' target=_blank&gt;http://silverlight-tour.com&lt;/a&gt;. &lt;a href='http://silverlight-tour.com' target=_blank&gt;&lt;img src='http://wildermuth.com/images/smalllogo.png' style='float: right;' alt='Silverlight Tour' /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ShawnWildermuth/~4/7JZO9HwSc4A" height="1" width="1"/&gt;</description>
      <link>http://wildermuth.com/2009/05/25/DataForm_Templates</link>
      <author>shawn@wildermuth.com (Shawn Wildermuth)</author>
      <comments>http://wildermuth.com/2009/05/25/DataForm_Templates</comments>
      <guid isPermaLink="false">http://wildermuth.com/2009/05/25/DataForm_Templates</guid>
      <pubDate>Mon, 25 May 2009 16:15:37 GMT</pubDate>
      <wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://wildermuth.com/rss/commentrss.aspx?id=2745</wfw:commentRss>
      <wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://wildermuth.com/rss/addcomment.aspx?id=2745</wfw:comment>
      <slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">1</slash:comments>
    </item>
    <item>
      <title>Which came first, the View or the Model?</title>
      <description>&lt;p&gt;&lt;a href="http://www.silverlight-tour.com"&gt;&lt;img style="float: right;" src="http://www.operationterra.com/News/Archive/blueprint.jpg" alt="Architecture" width="301" height="194" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;As I wrote and subsequently taught the &lt;a href='http://www.silverlight-tour.com' target='_blank'&gt;Silverlight Tour&lt;/a&gt; workshop, I've had a number of discussions with students, clients and the community-at-large about how to architect &lt;a href='http://wildermuth.com/silverlight' target='_blank'&gt;Silverlight&lt;/a&gt; applications.&lt;/p&gt;
&lt;p&gt;The momentum behind the Model-View-ViewModel (MVVM) design pattern makes a lot of sense to me, especially with declarative views (as seen in &lt;a href='http://wildermuth.com/silverlight' target='_blank'&gt;Silverlight&lt;/a&gt; and &lt;a href='http://msdn2.microsoft.com/en-us/library/ms754130.aspx' target='_blank'&gt;WPF&lt;/a&gt;). Most of my thinking around this was covered in my MSDN article about it:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://tinyurl.com/slmvvm"&gt;http://tinyurl.com/slmvvm&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;One&amp;nbsp;topic that the article is thin on is how the View and the ViewModel are related. After the article shipped, I had some lengthy conversations with lots of people about this from John Papa, Laurent Bugnion, Glenn Block,&amp;nbsp;et al. It occurred to me that some of the nomenclature was confusing.&amp;nbsp; The three parts of the MVVM are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Model&lt;/strong&gt;: Responsibile for managing and delivering data.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ViewModel&lt;/strong&gt;: Responsible for shaping, sorting and filtering data for a view(s).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;View&lt;/strong&gt;: Responsible for formatting and displaying data.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The three elements have a clear separation of responsibilities. Typically a small number (or one) model exists in my projects with Views and ViewModels being built in pairs.&amp;nbsp; Though it is not uncommon to build more than one view for a single ViewModel. As long as the separation is there, having two views that show the same data but in very different ways is in keeping with the pattern in my opinion. This can be seen in this simple illustration:&lt;/p&gt;
&lt;p&gt;&lt;img src="http://wildermuth.com/images/mvvm_layout.png" alt="Model-View-ViewModel" width="655" height="361" /&gt;&lt;/p&gt;
&lt;p&gt;Most what I've mentioned in the article and so far in this blog post is what most of the community seems to agree on. The last part of the contention is how do you create Views and ViewModels.&amp;nbsp; The two approaches I hear most often are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;View-First&lt;/strong&gt;: The View has a relationship to its ViewModel(usually through data binding).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ViewModel-First&lt;/strong&gt;: The ViewModel creates the view (usually through an IoC container).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In&amp;nbsp;View-First, it is usually is exemplified in &lt;a href='http://msdn2.microsoft.com/en-us/library/ms752059.aspx' target='_blank'&gt;XAML&lt;/a&gt; like so (as I showed in my article):&lt;/p&gt;
&lt;pre&gt;&amp;lt;UserControl x:Class="MVVM.Client.Views.GameView"
             ...
             xmlns:data="clr-namespace:MVVM.Client.Data;assembly=MVVM.Client.Data"&amp;gt;
  &amp;lt;UserControl.Resources&amp;gt;
    &lt;strong&gt;&amp;lt;data:GamesViewModel x:Key="TheViewModel" /&amp;gt;&lt;/strong&gt;
  &amp;lt;/UserControl.Resources&amp;gt;
  &amp;lt;Grid &lt;strong&gt;DataContext="{Binding Path=Games, 
                      Source={StaticResource TheViewModel}}"&lt;/strong&gt;&amp;gt;
  ...
  &amp;lt;/Grid&amp;gt;
&amp;lt;/UserControl&amp;gt;
&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;In ViewModel-First, it is usually implemented using a Inversion of Control container (e.g. Unity, Ninject, Spring, etc.). This way the ViewModel can request the interface (in the constructor) for the View it expects:&lt;/p&gt;
&lt;pre&gt;public MyViewModel
{
  public MyViewModel(&lt;strong&gt;IMyView view&lt;/strong&gt;)
  {
  }
}
&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;In both of these methods I tend not to like the sticky-ness of the view to the view-model. Also, both of these imply a one-to-one relationship which while the common case, is not the always case.&lt;/p&gt;
&lt;p&gt;I have come up with another pattern that I am tentatively calling a "Marriage".&amp;nbsp; (I don't love this name but its the closest, non-technobabble name I've found for it).&lt;/p&gt;
&lt;h2&gt;Marrying the View and ViewModel&lt;/h2&gt;
&lt;p&gt;In my design, I want the View and the ViewModel to be ignorant of each other so that I could mock either side of the equation without impacting the other. In practice, mocking the View-Model is common, but mocking (and testing) the View is not common at all.&amp;nbsp; But by not tying them tightly, it does allow us to move to a one View-Model to multiple Views without any real pain.&lt;/p&gt;
&lt;p&gt;In a Marriage, you would simply apply the ViewModel to the View at runtime. This may be done with a class that handles and isolated this or simply with some simple code.&amp;nbsp; For example, I typically have an IView interface that requires a method to do this applicaiton like so:&lt;/p&gt;
&lt;pre&gt;public interface IView
{
  void ApplyViewModel(object viewModel);
}
&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Then in the module declaration for a&amp;nbsp;module (or assembly)&amp;nbsp;holding&amp;nbsp;the View and ViewModel, I simply use the IoC container to create them (either using Interfaces or class names depending on the complexity of the project) then apply the ViewModel to the View via the interface:&lt;/p&gt;
&lt;pre&gt;IView view = theContainer.Resolve&amp;lt;IGameView&amp;gt;();
IViewModel vm = theContainer.Resolve&amp;lt;IGameViewModel&amp;gt;();
view.ApplyViewModel(vm);
&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The magic of this code is that you retain the anonymity while perserving the&amp;nbsp;functionality. It becomes the user&amp;nbsp;of the View/ViewModel's responsibility to determine how they are related.&lt;/p&gt;
&lt;p&gt;I explain this pattern in my article on the Prism Framework and &lt;a href='http://wildermuth.com/silverlight' target='_blank'&gt;Silverlight&lt;/a&gt; coming in next month's MSDN magazine.&amp;nbsp; Using this pattern with an overall Composition pattern for building your applications has a number of benefits beyond separation of responsibilities and testing.&lt;/p&gt;
&lt;p&gt;Just to throw a plug in as well, I also teach this pattern (and Prism) in our &lt;a href="https://agilitrain.com/Workshop/Info/Advanced_Silverlight"&gt;Advanced Silverlight Workshop coming to Seattle in August&lt;/a&gt;.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Let me know what you think of this versus the &lt;strong&gt;View-First&lt;/strong&gt; or &lt;strong&gt;ViewModel-First&lt;/strong&gt; patterns.&lt;/p&gt;&lt;p&gt;&amp;copy; 2009 Shawn Wildermuth. All Rights Reserved.&lt;br/&gt;&lt;a href='http://wildermuth.com/2009/05/22/Which_came_first_the_View_or_the_Model'&gt;22 Comment(s)&lt;/a&gt; | &lt;a href='http://digg.com/submit?phase=2&amp;url=http%3a%2f%2fwildermuth.com%2f2009%2f05%2f22%2fWhich_came_first_the_View_or_the_Model&amp;title=Which+came+first%2c+the+View+or+the+Model%3f' target='_blank'&gt;digg this&lt;/a&gt;&lt;/p&gt;&lt;div&gt;&lt;script src="http://feeds.feedburner.com/~s/shawnwildermuth?i=http%3a%2f%2fwildermuth.com%2f2009%2f05%2f22%2fWhich_came_first_the_View_or_the_Model" type="text/javascript" charset="utf-8"&gt;&lt;/script&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;[advertisement]&lt;br/&gt;The Silverlight Tour is a three-day workshop covering topics from XAML and Blend to data access and server scenarios. For more information, see our website at &lt;a href='http://silverlight-tour.com' target=_blank&gt;http://silverlight-tour.com&lt;/a&gt;. &lt;a href='http://silverlight-tour.com' target=_blank&gt;&lt;img src='http://wildermuth.com/images/smalllogo.png' style='float: right;' alt='Silverlight Tour' /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ShawnWildermuth/~4/kFKps8cmjpY" height="1" width="1"/&gt;</description>
      <link>http://wildermuth.com/2009/05/22/Which_came_first_the_View_or_the_Model</link>
      <author>shawn@wildermuth.com (Shawn Wildermuth)</author>
      <comments>http://wildermuth.com/2009/05/22/Which_came_first_the_View_or_the_Model</comments>
      <guid isPermaLink="false">http://wildermuth.com/2009/05/22/Which_came_first_the_View_or_the_Model</guid>
      <pubDate>Fri, 22 May 2009 17:48:59 GMT</pubDate>
      <wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://wildermuth.com/rss/commentrss.aspx?id=2744</wfw:commentRss>
      <wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://wildermuth.com/rss/addcomment.aspx?id=2744</wfw:comment>
      <slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">22</slash:comments>
    </item>
    <item>
      <title>Entity Framework Samples now in Visual Basic</title>
      <description>&lt;div nowrap&gt;&lt;strong&gt;URL&lt;/strong&gt;: &lt;a href='http://thinqlinq.com/Default/Entity-Framework-Samples-in-Visual-Basic.aspx' target=_blank&gt;http://thinqlinq.com/Default/Entity-Framework-S...&lt;/a&gt;&lt;/div&gt;&lt;br/&gt;&lt;p&gt;&lt;a href="http://thinqlinq.com"&gt;&lt;img style="float: right;" src="http://www.thinqlinq.com/Images/Logo.png" alt="ThinqLinq" width="157" height="143" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;My friend Jim Wooley has been doing some work with the &lt;a href='http://msdn2.microsoft.com/en-us/library/aa697427(VS.80).aspx' target='_blank'&gt;Entity Framework&lt;/a&gt; team to help them get their examples into Visual Basic.&amp;nbsp; The first of the fruits of these labors is now available!&amp;nbsp; Hop on over to his blog to see all the details:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://thinqlinq.com/Default/Entity-Framework-Samples-in-Visual-Basic.aspx"&gt;http://thinqlinq.com/Default/Entity-Framework-Samples-in-Visual-Basic.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I, for one, am glad that this is finally happening. I would so prefer that the examples will be in both languages.&amp;nbsp; As much pain as that is pre-VB10 its always my goal!&lt;/p&gt;&lt;p&gt;&amp;copy; 2009 Shawn Wildermuth. All Rights Reserved.&lt;br/&gt;&lt;a href='http://wildermuth.com/2009/05/22/Entity_Framework_Samples_now_in_Visual_Basic'&gt;Add Comment&lt;/a&gt; | &lt;a href='http://digg.com/submit?phase=2&amp;url=http%3a%2f%2fwildermuth.com%2f2009%2f05%2f22%2fEntity_Framework_Samples_now_in_Visual_Basic&amp;title=Entity+Framework+Samples+now+in+Visual+Basic' target='_blank'&gt;digg this&lt;/a&gt;&lt;/p&gt;&lt;div&gt;&lt;script src="http://feeds.feedburner.com/~s/shawnwildermuth?i=http%3a%2f%2fwildermuth.com%2f2009%2f05%2f22%2fEntity_Framework_Samples_now_in_Visual_Basic" type="text/javascript" charset="utf-8"&gt;&lt;/script&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;[advertisement]&lt;br/&gt;The Silverlight Tour is a three-day workshop covering topics from XAML and Blend to data access and server scenarios. For more information, see our website at &lt;a href='http://silverlight-tour.com' target=_blank&gt;http://silverlight-tour.com&lt;/a&gt;. &lt;a href='http://silverlight-tour.com' target=_blank&gt;&lt;img src='http://wildermuth.com/images/smalllogo.png' style='float: right;' alt='Silverlight Tour' /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ShawnWildermuth/~4/R1_nc22ZfRY" height="1" width="1"/&gt;</description>
      <link>http://wildermuth.com/2009/05/22/Entity_Framework_Samples_now_in_Visual_Basic</link>
      <author>shawn@wildermuth.com (Shawn Wildermuth)</author>
      <comments>http://wildermuth.com/2009/05/22/Entity_Framework_Samples_now_in_Visual_Basic</comments>
      <guid isPermaLink="false">http://wildermuth.com/2009/05/22/Entity_Framework_Samples_now_in_Visual_Basic</guid>
      <pubDate>Fri, 22 May 2009 17:29:56 GMT</pubDate>
      <wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://wildermuth.com/rss/commentrss.aspx?id=2743</wfw:commentRss>
      <wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://wildermuth.com/rss/addcomment.aspx?id=2743</wfw:comment>
      <slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments>
    </item>
    <item>
      <title>M Language Changes Coming in Next CTP</title>
      <description>&lt;p&gt;&lt;a href="http://msdn.com/oslo"&gt;&lt;img style="float: right;" src="http://wildermuth.com/images/oslom.png" alt="Oslo" width="135" height="113" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;If you haven't been following the new Specification for the M Language that the &lt;a href='http://msdn.microsoft.com/oslo' target='_blank'&gt;Oslo&lt;/a&gt; team has been cooking up, they have been making changes in response to feedback about the language.&amp;nbsp; These changes will come to light in the next CTP.&amp;nbsp; These changes are;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;'=&amp;gt;' as label binding operator&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The label binding operator has changed from '=' to '=&amp;gt;'.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;@[] as escape for verbatim identifier names&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Identifier names that need to be escaped use '@[]' instead of '[]'&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;'about' operator&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;about' is an operator that returns data for M identifiers (e.g., extents, type declarations, computed value declarations)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;'item' removed&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;'item' is no longer a keyword used to iterate over a collection of collection of values. Instead, use 'value' to iterate over a collection, and 'value' plus parenthesis to iterate over a collection of collection.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;'into' removed&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;'into' has been removed as a keyword with the 'join' and 'group by' query clauses.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;'this' removed&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;'this' has been removed as a keyword that refers to all of the members of an entity type declaration. Instead, constraints now must be written after the member declarations and use 'value' to reference members.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Decimal without preceding 0&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Decimals of the form '0.xxx' no longer require the preceding 0.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;DateTimeOffset type and literal value added&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;A new data type, DateTimeOffset, has been added. In addition, a new literal kind, DateTimeOffset, has been added to write literals of the type DateTimeOffset&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;# undef removed&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;'#undef' has been removed from the supported set of preprocessor directives&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Preprocessor scope changes&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;'#define' must occur before any conditional operator '#define' is scoped to a compilation unit, not a source file&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Text patterns defined&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Text value patterns are now defining including literals, character classes/ranges, repitition operators, 'any', 'empty' and 'error' keywords, and text pattern operators difference, intersect and inverse.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Productions defined&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Productions are defining including pattern and token declarations, constructors, precedence rules, and constructor operators.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Rules defined&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Rules are defining including token rules, syntax rules, interleave rules, and parameterized rules&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Language defined&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Language is defined&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Binary literal syntax change&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The literal syntax for binary has changed from \xNNNN to 0xNNNN.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;binary shift operators removed&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The binary shift operators (&amp;lt;&amp;lt; and &amp;gt;&amp;gt;) have been removed from the language.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Entity type computed value declarations removed&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Entity types can no longer have computed value declarations&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;where/select become Where/Select&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Where and Select query expression clauses now have the first character capitalized&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Identity selector supports multiple fields&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The identity selector now supports using more than 1 field as the identity to select an instance&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;extern&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Extern is now supported for computed values and extent declarations&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;name overloaded changes&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Now, within a module, computed values, extents and types must not have same names, where as before only computed values and extents could not have same names.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;'.' leading dot identifier &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;A leading dot identifier '.' can be used to scope the remaining dotted identifiers to the current module rather than the current lexical scope&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;'::' scope identifier&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The scope identifier '::' constructs a fully qualified identifier name with the module name to the left of the operator, and the module's member name to the right.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Attributes defined&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Attributes as used by Mgrammar declarations is defined&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Catalog definitions&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The M catalog written in M is defined&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href='http://en.wikipedia.org/wiki/SQL' target='_blank'&gt;SQL&lt;/a&gt; mapping&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The M-to-SQL mapping is defined&lt;/p&gt;&lt;p&gt;&amp;copy; 2009 Shawn Wildermuth. All Rights Reserved.&lt;br/&gt;&lt;a href='http://wildermuth.com/2009/05/22/M_Language_Changes_Coming_in_Next_CTP'&gt;Add Comment&lt;/a&gt; | &lt;a href='http://digg.com/submit?phase=2&amp;url=http%3a%2f%2fwildermuth.com%2f2009%2f05%2f22%2fM_Language_Changes_Coming_in_Next_CTP&amp;title=M+Language+Changes+Coming+in+Next+CTP' target='_blank'&gt;digg this&lt;/a&gt;&lt;/p&gt;&lt;div&gt;&lt;script src="http://feeds.feedburner.com/~s/shawnwildermuth?i=http%3a%2f%2fwildermuth.com%2f2009%2f05%2f22%2fM_Language_Changes_Coming_in_Next_CTP" type="text/javascript" charset="utf-8"&gt;&lt;/script&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;[advertisement]&lt;br/&gt;The Silverlight Tour is a three-day workshop covering topics from XAML and Blend to data access and server scenarios. For more information, see our website at &lt;a href='http://silverlight-tour.com' target=_blank&gt;http://silverlight-tour.com&lt;/a&gt;. &lt;a href='http://silverlight-tour.com' target=_blank&gt;&lt;img src='http://wildermuth.com/images/smalllogo.png' style='float: right;' alt='Silverlight Tour' /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ShawnWildermuth/~4/7whiXXnYDDA" height="1" width="1"/&gt;</description>
      <link>http://wildermuth.com/2009/05/22/M_Language_Changes_Coming_in_Next_CTP</link>
      <author>shawn@wildermuth.com (Shawn Wildermuth)</author>
      <comments>http://wildermuth.com/2009/05/22/M_Language_Changes_Coming_in_Next_CTP</comments>
      <guid isPermaLink="false">http://wildermuth.com/2009/05/22/M_Language_Changes_Coming_in_Next_CTP</guid>
      <pubDate>Fri, 22 May 2009 14:46:20 GMT</pubDate>
      <wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://wildermuth.com/rss/commentrss.aspx?id=2742</wfw:commentRss>
      <wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://wildermuth.com/rss/addcomment.aspx?id=2742</wfw:comment>
      <slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments>
    </item>
    <item>
      <title>Silverlight Tour and Silverlight Firestarter both coming to Washington, DC</title>
      <description>&lt;div nowrap&gt;&lt;strong&gt;URL&lt;/strong&gt;: &lt;a href='http://silverlight-tour.com' target=_blank&gt;http://silverlight-tour.com&lt;/a&gt;&lt;/div&gt;&lt;br/&gt;&lt;p&gt;&lt;a href="http://www.silverlight-tour.com"&gt;&lt;img style="float: right;" src="http://silverlight-tour.com/images/logo.png" alt="Silverlight Logo" width="234" height="100" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;A few weeks left before the Silverilght Tour hits&amp;nbsp;Washington, DC&amp;nbsp;for &lt;a href="http://wildermuth.com/silverlight" target="_blank"&gt;&lt;strong&gt;Silverlight 2&lt;/strong&gt;&lt;/a&gt; and 3! If you want to be ready for the next version of Silverlight, this is the place to be.&lt;/p&gt;
&lt;p&gt;On June 16-18th in&amp;nbsp;Washington, DC&amp;nbsp;our three-day &lt;a href="http://wildermuth.com/silverlight" target="_blank"&gt;&lt;strong&gt;Silverlight&lt;/strong&gt;&lt;/a&gt; workshop is going to teach the latest features of &lt;a href="http://wildermuth.com/silverlight" target="_blank"&gt;&lt;strong&gt;Silverlight&lt;/strong&gt;&lt;/a&gt; 3 as well as the complete &lt;a href="http://wildermuth.com/silverlight" target="_blank"&gt;&lt;strong&gt;Silverlight 2&lt;/strong&gt;&lt;/a&gt; stack.&lt;/p&gt;
&lt;p&gt;The new features we are covering include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Out of the Browser Support&lt;/li&gt;
&lt;li&gt;Pixel Shaders &lt;/li&gt;
&lt;li&gt;Hardware Graphic Accelleration &lt;/li&gt;
&lt;li&gt;Behaviors &lt;/li&gt;
&lt;li&gt;Navigation Framework &lt;/li&gt;
&lt;li&gt;Blend 3 &lt;/li&gt;
&lt;li&gt;Binding Improvements &lt;/li&gt;
&lt;li&gt;Secure Web Services &lt;/li&gt;
&lt;li&gt;Binary XML Transport &lt;/li&gt;
&lt;li&gt;RIA Services Client Controls &lt;/li&gt;
&lt;li&gt;Text Rendering Improvements&lt;/li&gt;
&lt;li&gt;Render Caching&lt;/li&gt;
&lt;li&gt;And more...&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;To sign up for the class or hold a seat, visit the registration site:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://silverlight-tour.com"&gt;&lt;strong&gt;http://silverlight-tour.com&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.clicktoattend.com/invitation.aspx?code=138392"&gt;&lt;img style="float: right;" src="https://www.clicktoattend.com/images/partners/8c9bd070-ccd5-4719-839c-80404468553a.jpg" alt="Washington DC Silverlight Firestarter" width="290" height="290" /&gt;&lt;/a&gt;On June 6th, the &lt;a href="http://www.caparea.net/Default.aspx?alias=www.caparea.net/silverlight"&gt;Cap Area Silverlight SIG&lt;/a&gt; will be holding a &lt;a href="https://www.clicktoattend.com/invitation.aspx?code=138392"&gt;Silverlight Firestarter in Washington, DC&lt;/a&gt; as well (free).&amp;nbsp; The &lt;a href='http://wildermuth.com/silverlight' target='_blank'&gt;Silverlight&lt;/a&gt; Firestarter is "A &lt;a href='http://wildermuth.com/silverlight' target='_blank'&gt;Silverlight&lt;/a&gt; Fire Starter is a one-day event providing developers and designers information on the concept behind &lt;a href='http://wildermuth.com/silverlight' target='_blank'&gt;Silverlight&lt;/a&gt; as a technology, what tools are useful in development and the knowledge in order to start building their own applications."&lt;/p&gt;
&lt;p&gt;Their agenda includes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Keynote and Intro &lt;/li&gt;
&lt;li&gt;Building a basic &lt;a href='http://wildermuth.com/silverlight' target='_blank'&gt;Silverlight&lt;/a&gt; Application (with Databinding) &lt;/li&gt;
&lt;li&gt;Using &lt;a href='http://www.microsoft.com/expression/products/overview.aspx?key=blend' target='_blank'&gt;Expression Blend&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;Lightning Talks at Lunch &lt;/li&gt;
&lt;li&gt;Intro to &lt;a href='http://wildermuth.com/silverlight' target='_blank'&gt;Silverlight&lt;/a&gt; 3 &lt;/li&gt;
&lt;li&gt;Lessons Learned - Bringing your existing skills to Silverlight&lt;/li&gt;
&lt;li&gt;Open Panel / Q&amp;amp;A&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;We will be giving away a free seat to the class at that free event. You can register for the event here:&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.clicktoattend.com/invitation.aspx?code=138392"&gt;https://www.clicktoattend.com/invitation.aspx?code=138392&lt;/a&gt;&lt;a href="https://www.clicktoattend.com/invitation.aspx?code=138392"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;copy; 2009 Shawn Wildermuth. All Rights Reserved.&lt;br/&gt;&lt;a href='http://wildermuth.com/2009/05/22/Silverlight_Tour_and_Silverlight_Firestarter_both_coming_to_Washington_DC'&gt;Add Comment&lt;/a&gt; | &lt;a href='http://digg.com/submit?phase=2&amp;url=http%3a%2f%2fwildermuth.com%2f2009%2f05%2f22%2fSilverlight_Tour_and_Silverlight_Firestarter_both_coming_to_Washington_DC&amp;title=Silverlight+Tour+and+Silverlight+Firestarter+both+coming+to+Washington%2c+DC' target='_blank'&gt;digg this&lt;/a&gt;&lt;/p&gt;&lt;div&gt;&lt;script src="http://feeds.feedburner.com/~s/shawnwildermuth?i=http%3a%2f%2fwildermuth.com%2f2009%2f05%2f22%2fSilverlight_Tour_and_Silverlight_Firestarter_both_coming_to_Washington_DC" type="text/javascript" charset="utf-8"&gt;&lt;/script&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;[advertisement]&lt;br/&gt;The Silverlight Tour is a three-day workshop covering topics from XAML and Blend to data access and server scenarios. For more information, see our website at &lt;a href='http://silverlight-tour.com' target=_blank&gt;http://silverlight-tour.com&lt;/a&gt;. &lt;a href='http://silverlight-tour.com' target=_blank&gt;&lt;img src='http://wildermuth.com/images/smalllogo.png' style='float: right;' alt='Silverlight Tour' /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ShawnWildermuth/~4/KX8klMTQasw" height="1" width="1"/&gt;</description>
      <link>http://wildermuth.com/2009/05/22/Silverlight_Tour_and_Silverlight_Firestarter_both_coming_to_Washington_DC</link>
      <author>shawn@wildermuth.com (Shawn Wildermuth)</author>
      <comments>http://wildermuth.com/2009/05/22/Silverlight_Tour_and_Silverlight_Firestarter_both_coming_to_Washington_DC</comments>
      <guid isPermaLink="false">http://wildermuth.com/2009/05/22/Silverlight_Tour_and_Silverlight_Firestarter_both_coming_to_Washington_DC</guid>
      <pubDate>Fri, 22 May 2009 01:17:06 GMT</pubDate>
      <wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://wildermuth.com/rss/commentrss.aspx?id=2741</wfw:commentRss>
      <wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://wildermuth.com/rss/addcomment.aspx?id=2741</wfw:comment>
      <slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments>
    </item>
    <item>
      <title>My Netbook Experience</title>
      <description>&lt;div nowrap&gt;&lt;strong&gt;URL&lt;/strong&gt;: &lt;a href='http://eeepc.asus.com/global/product1008ha.html?n=0' target=_blank&gt;http://eeepc.asus.com/global/product1008ha.html...&lt;/a&gt;&lt;/div&gt;&lt;br/&gt;&lt;p&gt;&lt;a href="http://wildermuth.com/images/eeewin7_big.jpg" target="_blank"&gt;&lt;img style="float: right;" src="http://eeepc.asus.com/global/images/product/1008ha-3.jpg" alt="ASUS EEE" width="282" height="211" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;As I am heading to another large round of airline trips, I decided I finally needed a laptop I could write on during a flight. While I really love my HP dv7t, its a full sized laptop and (with no thanks to my girth) I needed something smaller to work on in an airline seat. In comes the Netbook.&lt;/p&gt;
&lt;p&gt;I was a bit late to this party but decided to dive in. I had read &lt;a href="http://www.hanselman.com/blog/DellMini9PracticalDevelopersReview.aspx"&gt;Scott Hanselman's great article on the Dell Mini 9&lt;/a&gt;&amp;nbsp;and liked the upgrading to 2GB which seemed doable for my limited needs on a plane.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Of course, I&amp;nbsp;was impatient so I headed out to my&amp;nbsp;close retailer to see if I liked the keyboard or not. As I've said here before, my shrek sized hands need a comfortable keyboard.&amp;nbsp;&amp;nbsp;I looked at several netbooks including 9" and 10" varieties from Dell, HP and ASUS. I settled on the Dell Mini 10 because the keyboard looked roomy.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I took it home and tried to cram the 2GB memory that Scott mentioned.&amp;nbsp; Of course I didn't do my homework. In the Dell Mini 10 the memory is soldered in so no upgrade&amp;nbsp;was possible. So I&amp;nbsp;bit the bullet this morning and traded it in for an ASUS Eee 1000. The specs were similar but the ASUS has a faster Atom chip (1.6GHz vs. 1.3GHz) and of course the ASUS let me upgrade the memory. One tiny note was that the Dell's video size was 1024x592 whereas the ASUS is 1024x600.&amp;nbsp; Yeah, 8 pixels.&amp;nbsp; I wonder why.&lt;/p&gt;
&lt;p&gt;While 2GB is a lot of memory these days (ok, not a lot, but enough) the Atom processor is the real performance problem.&amp;nbsp; But of course you're giving up performance for battery.&amp;nbsp;The promise is for 7 hours of battery with the ASUS Eee 1000, but we'll see soon when I head across the country from Atlanta to Vancouver Canada.&lt;/p&gt;
&lt;p&gt;I'd seen a lot of Netbooks but I was still surprised by the relative size between my normal laptop and the netbook:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://wildermuth.com/images/eeesize_big.jpg" target="_new"&gt;&lt;img src="http://wildermuth.com/images/eeesize.jpg" alt="Size Comparison EEE dv7t" width="640" height="529" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Now I wanted to see it run some of my favorite apps.&amp;nbsp;First I paved it with Win7 RC.&amp;nbsp; The installation was easy as cake.&amp;nbsp; The Windows drivers worked for everything out of the box, though I installed the chipset and touchpad drivers just in case.&amp;nbsp;&amp;nbsp;Of interest, the touchpad drivers included a lot of multi-touch capabilities like the Mac touchpad.&amp;nbsp; Nice, but still getting used to it.&amp;nbsp; Here's the&amp;nbsp;netbook screen running Windows 7:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;a href="http://wildermuth.com/images/eeewin7_big.jpg" target="_blank"&gt;&lt;img src="http://wildermuth.com/images/eeewin7.jpg" alt="Eee Win7" width="640" height="385" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;While not eactly snappy, its good enough. I don't plan on doing much more than browse and write so it works. But I wanted to take it to the next level so I used the &lt;a href="http://www.microsoft.com/Web/downloads/platform.aspx"&gt;Web Platform Installer 2.0&lt;/a&gt; to install &lt;a href='http://msdn2.microsoft.com/en-us/vstudio/default.aspx' target='_blank'&gt;Visual Studio&lt;/a&gt; Web Express&amp;nbsp;and the &lt;a href='http://wildermuth.com/silverlight' target='_blank'&gt;Silverlight 2&lt;/a&gt; Tools:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://wildermuth.com/images/eeevs_big.jpg" target="_blank"&gt;&lt;img src="http://wildermuth.com/images/eeevs.jpg" alt="Visual Studio on Win7" width="640" height="383" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;That worked pretty well (sure, a bit slugish but better than nothing). So I figured I'd take it the whole way. As many of you know lots of Delta flights are now including Internet connections...so maybe I don't want to get work done:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://wildermuth.com/images/eeewow_big.jpg" target="_blank"&gt;&lt;img src="http://wildermuth.com/images/eeewow.jpg" alt="World of Warcraft" width="640" height="375" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Getting World of Warcraft working was a surprise. I was sure that the Atom processor would just bust under the weight but it wasn't too bad. I had to turn down most of the visual settings, but it runs pretty well as long as your outside a city.&lt;/p&gt;
&lt;p&gt;Overall I am very impressed by what the Atom can do.&amp;nbsp; The proof will be in the battery life.&amp;nbsp; After I get back from all my trips in June, i'll follow this up with some observations.&lt;/p&gt;&lt;p&gt;&amp;copy; 2009 Shawn Wildermuth. All Rights Reserved.&lt;br/&gt;&lt;a href='http://wildermuth.com/2009/05/20/My_Netbook_Experience'&gt;Add Comment&lt;/a&gt; | &lt;a href='http://digg.com/submit?phase=2&amp;url=http%3a%2f%2fwildermuth.com%2f2009%2f05%2f20%2fMy_Netbook_Experience&amp;title=My+Netbook+Experience' target='_blank'&gt;digg this&lt;/a&gt;&lt;/p&gt;&lt;div&gt;&lt;script src="http://feeds.feedburner.com/~s/shawnwildermuth?i=http%3a%2f%2fwildermuth.com%2f2009%2f05%2f20%2fMy_Netbook_Experience" type="text/javascript" charset="utf-8"&gt;&lt;/script&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;[advertisement]&lt;br/&gt;The Silverlight Tour is a three-day workshop covering topics from XAML and Blend to data access and server scenarios. For more information, see our website at &lt;a href='http://silverlight-tour.com' target=_blank&gt;http://silverlight-tour.com&lt;/a&gt;. &lt;a href='http://silverlight-tour.com' target=_blank&gt;&lt;img src='http://wildermuth.com/images/smalllogo.png' style='float: right;' alt='Silverlight Tour' /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ShawnWildermuth/~4/xPioO1Iw-Zg" height="1" width="1"/&gt;</description>
      <link>http://wildermuth.com/2009/05/20/My_Netbook_Experience</link>
      <author>shawn@wildermuth.com (Shawn Wildermuth)</author>
      <comments>http://wildermuth.com/2009/05/20/My_Netbook_Experience</comments>
      <guid isPermaLink="false">http://wildermuth.com/2009/05/20/My_Netbook_Experience</guid>
      <pubDate>Wed, 20 May 2009 23:48:31 GMT</pubDate>
      <wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://wildermuth.com/rss/commentrss.aspx?id=2740</wfw:commentRss>
      <wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://wildermuth.com/rss/addcomment.aspx?id=2740</wfw:comment>
      <slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments>
    </item>
    <item>
      <title>Writing Behaviors for Silverlight 3 - Part 2</title>
      <description>&lt;div nowrap&gt;&lt;strong&gt;URL&lt;/strong&gt;: &lt;a href='http://wildermuth.com/downloads/BehaviorDemo.zip' target=_blank&gt;http://wildermuth.com/downloads/BehaviorDemo.zip&lt;/a&gt;&lt;/div&gt;&lt;br/&gt;&lt;p&gt;&lt;a href="http://www.silverlight-tour.com"&gt;&lt;img style="float: right;" src="http://www.edsquared.com/content/binary/WindowsLiveWriter/ExpressionBlendAvailableonMSDNSubscriber_C77F/ExpressionBlend%5B10%5D.jpg" alt="Expression BLend" width="187" height="193" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In the &lt;a href="http://wildermuth.com/2009/05/16/Writing_Behaviors_for_Silverlight_3_-_Part_1"&gt;first part of this article&lt;/a&gt;, I showed you how to build a very simple behavior using the &lt;strong&gt;Behavior&amp;lt;T&amp;gt;&lt;/strong&gt; class. That class is useful for creating simple behaviors that just require that the behavior know about attaching and detaching of the item.&lt;/p&gt;
&lt;p&gt;In this 2nd part of the series, I'll show off the &lt;strong&gt;TriggerAction&amp;lt;T&amp;gt;&lt;/strong&gt; class which expands on this by supporting an Invoke method which is called once an event trigger happens. This is a much more common case than the simple behavior.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;For example, let's create a behavior that shivers an object when an event is fired.&amp;nbsp; I start out with a behavior that derives from &lt;strong&gt;TriggerAction&amp;lt;T&amp;gt;&lt;/strong&gt; like so:&lt;/p&gt;
&lt;pre&gt;public class ShiverBehavior : &lt;strong&gt;TriggerAction&amp;lt;UIElement&amp;gt;&lt;/strong&gt;&lt;br /&gt;{&lt;br /&gt;}&lt;/pre&gt;
&lt;p&gt;Note that I use &lt;strong&gt;UIElement&lt;/strong&gt; again as the generic parameter.&amp;nbsp; This is because I should be able to make any &lt;strong&gt;UIElement&lt;/strong&gt; shiver with my behavior. This parameter determines what types of objects I can attach the behavior to.&lt;/p&gt;
&lt;p&gt;I decided to implement the behavior by using a &lt;strong&gt;DoubleAnimation&lt;/strong&gt; with a &lt;strong&gt;ElasticEase&lt;/strong&gt; (easing function). To make the shiver happen, I am going to animate a &lt;strong&gt;TranslateTransform&lt;/strong&gt; so I can move it around vertically or horizontally.&amp;nbsp;So my behavior is going to need to reference and create the storyboard (and related objects) to do the actual shivering:&lt;/p&gt;
&lt;pre&gt;TranslateTransform shiverTransform = new TranslateTransform();
Storyboard shiverStory = new Storyboard();
ElasticEase ease = new ElasticEase();
DoubleAnimation shiverAnimation = new DoubleAnimation();

public ShiverBehavior()
  : base()
{
  // Set up ease
  ease.Springiness = 2;

  // Create the Animation
  shiverAnimation.EasingFunction = ease;
  Storyboard.SetTarget(shiverAnimation, shiverTransform);

  // Setup Variable Properties
  SetupProperties();

  // Attach it to the story
  shiverStory.Children.Add(shiverAnimation);
}
&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The trick to making this work is to use the OnAttached to insert our TranslateTransform into the object itself. (We won't work on objects that already have a TranslateTransform but that's a small price for getting the behavior):&lt;/p&gt;
&lt;pre&gt;protected override void OnAttached()
{
  base.OnAttached();

  // Attach the transform
  if (this.AssociatedObject.RenderTransform == null)
  {
    this.AssociatedObject.RenderTransform = shiverTransform;
  }
  else if (this.AssociatedObject.RenderTransform is TransformGroup)
  {
    TransformGroup group = (TransformGroup)AssociatedObject.RenderTransform);
    group.Children.Add(shiverTransform);
  }
  else
  {
    var tx = AssociatedObject.RenderTransform;
    var group = new TransformGroup();
    group.Children.Add(tx);
    group.Children.Add(shiverTransform);
    AssociatedObject.RenderTransform = group;
  }
}
&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The OnAttached adds the transformation to the object (or inside a TransformGroup if it exists). In the OnDetaching we need to reverse this as well (you can see that code by downloading the sample since its not especially relevant to our explanation).&lt;/p&gt;
&lt;p&gt;At this point we have a Storyboard that contains our animation of the TranslateTransform.&amp;nbsp; The TranslateTransform is now added to the object. We're all ready for the last part of the code.&amp;nbsp; When the Invoke method is called, we simply need to start the animation:&lt;/p&gt;
&lt;pre&gt;protected override void Invoke(object parameter)
{
  shiverStory.Begin();
}
&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;This Invoke method is the only required override that you need in your behavior, but in practice (as you've seen here), you will override several other parts of the class.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;In order to make our shivering configurable, we can just add dependency properties and they show up in Blend automatically.&amp;nbsp; For example, the Oscillations property was created like so:&lt;/p&gt;
&lt;pre&gt;public int Oscillations
{
  get { return (int)GetValue(OscillationsProperty); }
  set { SetValue(OscillationsProperty, value); }
}
public static readonly DependencyProperty OscillationsProperty =
    DependencyProperty.Register("Oscillations", 
                                typeof(int), 
                                typeof(ShiverBehavior),
    new PropertyMetadata(25, 
      new PropertyChangedCallback(OnOscillationsChanged)));

private static void OnOscillationsChanged(DependencyObject d, 
                                          DependencyPropertyChangedEventArgs e)
{
  ((ShiverBehavior)d).OnOscillationsChanged(e);
}

protected virtual void OnOscillationsChanged(DependencyPropertyChangedEventArgs e)
{
  SetupProperties();
}
&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Creating the dependency properties is fairly simple (especially since I am using the dependency property snippets from the &lt;a href="http://silverlightcontrib.codeplex.com" target="_blank"&gt;Silverlight Contrib project&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;Using a TriggerAction based behavior is similar to using a simple Behavior.&amp;nbsp;You can see the behaviors in the Asset Library as shown below:&lt;/p&gt;
&lt;p&gt;&lt;img src="http://wildermuth.com/images/behaviorblend1.png" alt="Asset Library in Blend" width="509" height="396" /&gt;&lt;/p&gt;
&lt;p&gt;Once added, the behavior becomes nested inside the object in the "Objects and Timeline":&lt;/p&gt;
&lt;p&gt;&lt;img src="http://wildermuth.com/images/behaviorblend2.png" alt="Objects and Timeline Behavior" width="261" height="244" /&gt;&lt;/p&gt;
&lt;p&gt;In the Property pane, you can see the event that will trigger this behavior and change it (as well as behavior specific properties in the Miscellaneous section):&lt;/p&gt;
&lt;p&gt;&lt;img src="http://wildermuth.com/images/behaviorblend3.png" alt="Behavior Properties" width="270" height="332" /&gt;&lt;/p&gt;
&lt;p&gt;If you are using behaviors for your own projects, you just need to reference the assembly in your &lt;a href='http://wildermuth.com/silverlight' target='_blank'&gt;Silverlight&lt;/a&gt; project and they'll show up in Blend 3's Asset Library.&amp;nbsp; But if you want to build behaviors that are listed in all Blend 3's projects (and make it add the assembly automatically), you will need to register your assembly in the registry:&lt;/p&gt;
&lt;p&gt;HKEY_CURRENT_USER\Software\Microsoft\Expression\Blend\v3.0\Toolbox\Silverlight\v3.0\{Friendly Name&lt;/p&gt;
&lt;p&gt;With the default key pointing to the directory with behaviors.&lt;/p&gt;
&lt;p&gt;Grab the source code and take a look at the behaviors:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://wildermuth.com/downloads/BehaviorDemo.zip"&gt;http://wildermuth.com/downloads/BehaviorDemo.zip&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&amp;copy; 2009 Shawn Wildermuth. All Rights Reserved.&lt;br/&gt;&lt;a href='http://wildermuth.com/2009/05/16/Writing_Behaviors_for_Silverlight_3_-_Part_2'&gt;Add Comment&lt;/a&gt; | &lt;a href='http://digg.com/submit?phase=2&amp;url=http%3a%2f%2fwildermuth.com%2f2009%2f05%2f16%2fWriting_Behaviors_for_Silverlight_3_-_Part_2&amp;title=Writing+Behaviors+for+Silverlight+3+-+Part+2' target='_blank'&gt;digg this&lt;/a&gt;&lt;/p&gt;&lt;div&gt;&lt;script src="http://feeds.feedburner.com/~s/shawnwildermuth?i=http%3a%2f%2fwildermuth.com%2f2009%2f05%2f16%2fWriting_Behaviors_for_Silverlight_3_-_Part_2" type="text/javascript" charset="utf-8"&gt;&lt;/script&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;[advertisement]&lt;br/&gt;The Silverlight Tour is a three-day workshop covering topics from XAML and Blend to data access and server scenarios. For more information, see our website at &lt;a href='http://silverlight-tour.com' target=_blank&gt;http://silverlight-tour.com&lt;/a&gt;. &lt;a href='http://silverlight-tour.com' target=_blank&gt;&lt;img src='http://wildermuth.com/images/smalllogo.png' style='float: right;' alt='Silverlight Tour' /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ShawnWildermuth/~4/VZ9Ed-X3QmY" height="1" width="1"/&gt;</description>
      <link>http://wildermuth.com/2009/05/16/Writing_Behaviors_for_Silverlight_3_-_Part_2</link>
      <author>shawn@wildermuth.com (Shawn Wildermuth)</author>
      <comments>http://wildermuth.com/2009/05/16/Writing_Behaviors_for_Silverlight_3_-_Part_2</comments>
      <guid isPermaLink="false">http://wildermuth.com/2009/05/16/Writing_Behaviors_for_Silverlight_3_-_Part_2</guid>
      <pubDate>Sat, 16 May 2009 17:14:02 GMT</pubDate>
      <wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://wildermuth.com/rss/commentrss.aspx?id=2739</wfw:commentRss>
      <wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://wildermuth.com/rss/addcomment.aspx?id=2739</wfw:comment>
      <slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments>
    </item>
    <item>
      <title>Writing Behaviors for Silverlight 3 - Part 1</title>
      <description>&lt;div nowrap&gt;&lt;strong&gt;URL&lt;/strong&gt;: &lt;a href='http://wildermuth.com/downloads/BehaviorDemo.zip' target=_blank&gt;http://wildermuth.com/downloads/BehaviorDemo.zip&lt;/a&gt;&lt;/div&gt;&lt;br/&gt;&lt;p&gt;&lt;a href="http://www.silverlight-tour.com"&gt;&lt;img style="float: right;" src="http://www.edsquared.com/content/binary/WindowsLiveWriter/ExpressionBlendAvailableonMSDNSubscriber_C77F/ExpressionBlend%5B10%5D.jpg" alt="Blend" width="190" height="187" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;One of my favorite features of &lt;a href='http://wildermuth.com/silverlight' target='_blank'&gt;Silverlight&lt;/a&gt; 3 (and by extension Blend 3) is the new support for Behaviors. Behaviors are a way to&amp;nbsp;allow designers to add functionality to &lt;a href='http://msdn2.microsoft.com/en-us/library/ms752059.aspx' target='_blank'&gt;XAML&lt;/a&gt; elements without code. In Blend 3, a couple of built-in behaviors are included (ShowMessageBox and ExecuteMethod). But of course I wanted to write my own behavior.&lt;/p&gt;
&lt;p&gt;To start out you need to have a reference to a Blend assembly (for some reason its not part of the &lt;a href='http://wildermuth.com/silverlight' target='_blank'&gt;Silverlight&lt;/a&gt; SDK, at least at this point). The assembly is called &lt;a href='http://microsoft.com' target='_blank'&gt;Microsoft&lt;/a&gt;.Expression.Interactivity.dll and its located in&lt;/p&gt;
&lt;pre&gt;{ProgramFiles}\Microsoft Expression\Blend 3 Preview\Libraries\Silverlight\&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Once you have a reference to the Interactivity assembly, you can use one of&amp;nbsp;the base classes to create a behavior.&amp;nbsp; There are several base classes of interest, but I will&amp;nbsp;focus on three that are&amp;nbsp;the most interesting:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Behavior&amp;lt;T&amp;gt;: Simple behaviors&lt;/li&gt;
&lt;li&gt;TriggerAction&amp;lt;T&amp;gt;: Behavior tied to an event&lt;/li&gt;
&lt;li&gt;TargettedTriggerAction&amp;lt;T&amp;gt;:&amp;nbsp;TriggerAction that affects a separate object (e.g. the Target)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The class diagram looks like this:&lt;/p&gt;
&lt;p&gt;&lt;img src="http://wildermuth.com/images/behaviorclasses.png" alt="Behavior Classes" width="633" height="355" /&gt;&lt;/p&gt;
&lt;p&gt;For simple Behaviors, the &lt;strong&gt;Behavior&amp;lt;T&amp;gt;&lt;/strong&gt; class is perfect.&amp;nbsp;This class simply has overridable methods for notifying the Behavior when an object is attached or detached from the behavior. For my first behavior, I decided to create a behavior that blurs an element when the mouse hovers. To do this I started by creating a simply deriving from the &lt;strong&gt;Behavior&amp;lt;T&amp;gt;&lt;/strong&gt; class:&lt;/p&gt;
&lt;pre&gt;public class BlurHoverBehavior : Behavior&amp;lt;UIElement&amp;gt;
{
}
&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I choose &lt;strong&gt;UIElement&lt;/strong&gt; as the template parameter since Bluring had to be applied to elements that were part of the UI.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The Behavior class supplies an &lt;strong&gt;OnAttached&lt;/strong&gt; and &lt;strong&gt;OnDetaching&lt;/strong&gt; virtual methods that you can use to wire up your behavior. In my case, I wanted to handle the &lt;strong&gt;MouseEnter&lt;/strong&gt; and &lt;strong&gt;MouseLeave&lt;/strong&gt; event to enable and disable the blurring.&amp;nbsp; First I needed the behavior to have a BlurEffect then on the &lt;strong&gt;OnAttached&lt;/strong&gt;, I registered for the two events then &lt;strong&gt;OnDetaching&lt;/strong&gt; I removed the events (so I wouldn't leak the handlers):&lt;/p&gt;
&lt;pre&gt;  BlurEffect effect = null;

  public BlurHoverBehavior()
    : base()
  {
    effect = new BlurEffect() { Radius = 20 };
  }

  protected override void OnAttached()
  {
    base.OnAttached();

    this.AssociatedObject.MouseEnter += 
      new MouseEventHandler(AssociatedObject_MouseEnter);
    this.AssociatedObject.MouseLeave += 
      new MouseEventHandler(AssociatedObject_MouseLeave);
  }

  protected override void OnDetaching()
  {
    base.OnDetaching();

    this.AssociatedObject.MouseEnter -= 
      new MouseEventHandler(AssociatedObject_MouseEnter);
    this.AssociatedObject.MouseLeave -= 
      new MouseEventHandler(AssociatedObject_MouseLeave);
  }
&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;In the mouse event handlers, I simply added and removed the blur event as necessary:&lt;/p&gt;
&lt;pre&gt;  void AssociatedObject_MouseLeave(object sender, MouseEventArgs e)
  {
    this.AssociatedObject.Effect = null;
  }

  void AssociatedObject_MouseEnter(object sender, MouseEventArgs e)
  {
    this.AssociatedObject.Effect = effect;
  }
&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Once this class is written, we can add it via Blend 3 or directly in XAML:&lt;/p&gt;
&lt;pre&gt;&amp;lt;Ellipse Fill="Green"
         Width="200"
         Height="200"
         VerticalAlignment="Top"&amp;gt;
  &lt;strong&gt;&amp;lt;i:Interaction.Behaviors&amp;gt;
    &amp;lt;beh:BlurHoverBehavior BlurRadius="25" /&amp;gt;
  &amp;lt;/i:Interaction.Behaviors&amp;gt;&lt;/strong&gt;
&amp;lt;/Ellipse&amp;gt;
&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The Interaction.Behaviors is an attached behavior that is part of the Interaction assembly that you added from the Blend assemblies.&amp;nbsp; The beh namespace is from your new class (whatever namespace it belongs in).&lt;/p&gt;
&lt;p&gt;You can play with this behavior by downloading the source code here:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://wildermuth.com/downloads/BehaviorDemo.zip"&gt;http://wildermuth.com/downloads/BehaviorDemo.zip&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In the next part of this article, I will create a Trigger-based behavior...look for it this weekend!&lt;/p&gt;&lt;p&gt;&amp;copy; 2009 Shawn Wildermuth. All Rights Reserved.&lt;br/&gt;&lt;a href='http://wildermuth.com/2009/05/16/Writing_Behaviors_for_Silverlight_3_-_Part_1'&gt;1 Comment(s)&lt;/a&gt; | &lt;a href='http://digg.com/submit?phase=2&amp;url=http%3a%2f%2fwildermuth.com%2f2009%2f05%2f16%2fWriting_Behaviors_for_Silverlight_3_-_Part_1&amp;title=Writing+Behaviors+for+Silverlight+3+-+Part+1' target='_blank'&gt;digg this&lt;/a&gt;&lt;/p&gt;&lt;div&gt;&lt;script src="http://feeds.feedburner.com/~s/shawnwildermuth?i=http%3a%2f%2fwildermuth.com%2f2009%2f05%2f16%2fWriting_Behaviors_for_Silverlight_3_-_Part_1" type="text/javascript" charset="utf-8"&gt;&lt;/script&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;[advertisement]&lt;br/&gt;The Silverlight Tour is a three-day workshop covering topics from XAML and Blend to data access and server scenarios. For more information, see our website at &lt;a href='http://silverlight-tour.com' target=_blank&gt;http://silverlight-tour.com&lt;/a&gt;. &lt;a href='http://silverlight-tour.com' target=_blank&gt;&lt;img src='http://wildermuth.com/images/smalllogo.png' style='float: right;' alt='Silverlight Tour' /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ShawnWildermuth/~4/YjTDsFnBVrQ" height="1" width="1"/&gt;</description>
      <link>http://wildermuth.com/2009/05/16/Writing_Behaviors_for_Silverlight_3_-_Part_1</link>
      <author>shawn@wildermuth.com (Shawn Wildermuth)</author>
      <comments>http://wildermuth.com/2009/05/16/Writing_Behaviors_for_Silverlight_3_-_Part_1</comments>
      <guid isPermaLink="false">http://wildermuth.com/2009/05/16/Writing_Behaviors_for_Silverlight_3_-_Part_1</guid>
      <pubDate>Sat, 16 May 2009 02:03:26 GMT</pubDate>
      <wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://wildermuth.com/rss/commentrss.aspx?id=2738</wfw:commentRss>
      <wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://wildermuth.com/rss/addcomment.aspx?id=2738</wfw:comment>
      <slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">1</slash:comments>
    </item>
    <item>
      <title>Sample Code from GGMUG Talk</title>
      <description>&lt;div nowrap&gt;&lt;strong&gt;URL&lt;/strong&gt;: &lt;a href='http://wildermuth.com/talks#Speaking_at_Gwinnett,_Georgia_Microsoft_User_Group_' target=_blank&gt;http://wildermuth.com/talks#Speaking_at_Gwinnet...&lt;/a&gt;&lt;/div&gt;&lt;br/&gt;&lt;p&gt;&lt;a href="http://www.silverlight-tour.com"&gt;&lt;img style="float:right;" src="http://wildermuth.com/images/silverlightlogo100.jpg" alt="Silverlight Logo" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Last night I attended and spoke to the GGMUG (Gwinett Georgia &lt;a href='http://microsoft.com' target='_blank'&gt;Microsoft&lt;/a&gt; User Group) meeting to talk about everything new &lt;a href='http://wildermuth.com/silverlight' target='_blank'&gt;Silverlight&lt;/a&gt; 3. It was a good event and the people were great. There were good questions and the facility is great. If you attended the event, thanks for coming!&amp;nbsp; You had&amp;nbsp;some great questions.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;You can get the slides and sample code on my site here:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://wildermuth.com/talks#Speaking_at_Gwinnett,_Georgia_Microsoft_User_Group_"&gt;http://wildermuth.com/talks#Speaking_at_Gwinnett,_Georgia_Microsoft_User_Group_&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&amp;copy; 2009 Shawn Wildermuth. All Rights Reserved.&lt;br/&gt;&lt;a href='http://wildermuth.com/2009/05/15/Sample_Code_from_GGMUG_Talk'&gt;Add Comment&lt;/a&gt; | &lt;a href='http://digg.com/submit?phase=2&amp;url=http%3a%2f%2fwildermuth.com%2f2009%2f05%2f15%2fSample_Code_from_GGMUG_Talk&amp;title=Sample+Code+from+GGMUG+Talk' target='_blank'&gt;digg this&lt;/a&gt;&lt;/p&gt;&lt;div&gt;&lt;script src="http://feeds.feedburner.com/~s/shawnwildermuth?i=http%3a%2f%2fwildermuth.com%2f2009%2f05%2f15%2fSample_Code_from_GGMUG_Talk" type="text/javascript" charset="utf-8"&gt;&lt;/script&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;[advertisement]&lt;br/&gt;The Silverlight Tour is a three-day workshop covering topics from XAML and Blend to data access and server scenarios. For more information, see our website at &lt;a href='http://silverlight-tour.com' target=_blank&gt;http://silverlight-tour.com&lt;/a&gt;. &lt;a href='http://silverlight-tour.com' target=_blank&gt;&lt;img src='http://wildermuth.com/images/smalllogo.png' style='float: right;' alt='Silverlight Tour' /&gt;&lt;/a&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/ShawnWildermuth/~4/X6UqZwRuNbM" height="1" width="1"/&gt;</description>
      <link>http://wildermuth.com/2009/05/15/Sample_Code_from_GGMUG_Talk</link>
      <author>shawn@wildermuth.com (Shawn Wildermuth)</author>
      <comments>http://wildermuth.com/2009/05/15/Sample_Code_from_GGMUG_Talk</comments>
      <guid isPermaLink="false">http://wildermuth.com/2009/05/15/Sample_Code_from_GGMUG_Talk</guid>
      <pubDate>Fri, 15 May 2009 18:33:07 GMT</pubDate>
      <wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://wildermuth.com/rss/commentrss.aspx?id=2737</wfw:commentRss>
      <wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://wildermuth.com/rss/addcomment.aspx?id=2737</wfw:comment>
      <slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments>
    </item>
  </channel>
</rss>
