<?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:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><title>Geekswithblogs.net</title><link>http://geekswithblogs.net/mainfeed.aspx</link><description>Geekswithblogs.net</description><generator>Subtext Version 0.0.0.0</generator><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/geekswithblogs" type="application/rss+xml" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item><title>Redirect for SharePoint Page</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/kj9pi7K3H4c/redirect-for-sharepoint-page.aspx</link><pubDate>Fri, 20 Nov 2009 19:51:04 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/SharePointCherie/archive/2009/11/20/redirect-for-sharepoint-page.aspx</guid><wfw:comment>http://geekswithblogs.net/SharePointCherie/comments/136444.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/SharePointCherie/comments/commentRss/136444.aspx</wfw:commentRss><comments>http://geekswithblogs.net/SharePointCherie/archive/2009/11/20/redirect-for-sharepoint-page.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/SharePointCherie/services/trackbacks/136444.aspx</trackback:ping><source url="http://geekswithblogs.net/SharePointCherie/rss.aspx">Redirect for SharePoint Page</source><description>&lt;p&gt;To redirect to a specific SharePoint site or page:&lt;/p&gt;
&lt;p&gt;1. Create c-name entry in DNS and point to SharePoint server&lt;/p&gt;
&lt;p&gt;2. Create directory in c:\inetpub\wwwroot and create one html file called "index.htm" in the folder with this content:&lt;/p&gt;
&lt;p&gt;&amp;lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"&amp;gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
 &amp;lt;title&amp;gt;Redirecting Page&amp;lt;/title&amp;gt;&lt;br /&gt;
 &amp;lt;META HTTP-EQUIV="Refresh" CONTENT="0;URL=http://sharepoint/sites/default.aspx"&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&amp;lt;body&amp;gt;&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;/p&gt;
&lt;p&gt;3. Open IIS and create a new Web site.  The port is the same as the default Web application.  Fill in a host header value- make it the same as you specified in the c-name entry.  Also, add a host header for the FQDN.  Specify the Home Directroy as the same folder that was created in step one.&lt;/p&gt;
&lt;p&gt;4. Start the Web site in IIS.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136444"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136444" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/SharePointCherie/aggbug/136444.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/kj9pi7K3H4c" height="1" width="1"/&gt;</description><dc:creator>Cherie Riesberg</dc:creator><feedburner:origLink>http://geekswithblogs.net/SharePointCherie/archive/2009/11/20/redirect-for-sharepoint-page.aspx</feedburner:origLink></item><item><title>Setting up ODP.net with Windows 7 x64 and VS2008</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/kL8jBRa27og/setting-up-odp.net-with-windows-7-x64-and-vs2008.aspx</link><pubDate>Fri, 20 Nov 2009 17:30:38 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/mbcrump/archive/2009/11/20/setting-up-odp.net-with-windows-7-x64-and-vs2008.aspx</guid><wfw:comment>http://geekswithblogs.net/mbcrump/comments/136443.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/mbcrump/comments/commentRss/136443.aspx</wfw:commentRss><comments>http://geekswithblogs.net/mbcrump/archive/2009/11/20/setting-up-odp.net-with-windows-7-x64-and-vs2008.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/mbcrump/services/trackbacks/136443.aspx</trackback:ping><source url="http://geekswithblogs.net/mbcrump/rss.aspx">Setting up ODP.net with Windows 7 x64 and VS2008</source><description>&lt;p&gt;Its very simple to setup the latest ODP.NET with Windows 7 and VS2008.&lt;/p&gt;
&lt;p&gt;Just do the following:&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Download the following: &lt;a href="http://www.oracle.com/technology/software/tech/dotnet/utilsoft.html"&gt;www.oracle.com/technology/software/tech/dotnet/utilsoft.html&lt;/a&gt; from oracle and install it.&lt;/li&gt;
    &lt;li&gt;&lt;span class="parahead1"&gt;Oracle 11&lt;i&gt;g&lt;/i&gt; ODAC and Oracle Developer Tools for Visual Studio 11.1.0.7.20&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;table cellspacing="0" cellpadding="0" border="0" id="Table4"&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td width="35"&gt; &lt;/td&gt;
            &lt;td&gt;
            &lt;p&gt;&lt;span class="boldbodycopy"&gt;Download Includes&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td width="35"&gt; &lt;/td&gt;
            &lt;td width="35"&gt;&lt;img height="12" width="35" alt="" src="http://www.oracle.com/technology/images/bullets_and_symbols/blk_line_bullet_35.gif" /&gt;&lt;/td&gt;
            &lt;td&gt;&lt;span class="bodycopy"&gt;Oracle Developer Tools for Visual Studio 11.1.0.7.20&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td width="35"&gt; &lt;/td&gt;
            &lt;td width="35"&gt;&lt;img height="12" width="35" alt="" src="http://www.oracle.com/technology/images/bullets_and_symbols/blk_line_bullet_35.gif" /&gt;&lt;/td&gt;
            &lt;td&gt;&lt;span class="bodycopy"&gt;Oracle Data Provider for .NET 2.0 11.1.0.7.20&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td width="35"&gt; &lt;/td&gt;
            &lt;td width="35"&gt;&lt;img height="12" width="35" alt="" src="http://www.oracle.com/technology/images/bullets_and_symbols/blk_line_bullet_35.gif" /&gt;&lt;/td&gt;
            &lt;td&gt;&lt;span class="bodycopy"&gt;Oracle Providers for ASP.NET 11.1.0.7.20&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td width="35"&gt; &lt;/td&gt;
            &lt;td width="35"&gt;&lt;img height="12" width="35" alt="" src="http://www.oracle.com/technology/images/bullets_and_symbols/blk_line_bullet_35.gif" /&gt;&lt;/td&gt;
            &lt;td&gt;&lt;span class="bodycopy"&gt;Oracle Database Extensions for .NET 2.0 11.1.0.7.20 -- for upgrade only&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td width="35"&gt; &lt;/td&gt;
            &lt;td width="35"&gt;&lt;img height="12" width="35" alt="" src="http://www.oracle.com/technology/images/bullets_and_symbols/blk_line_bullet_35.gif" /&gt;&lt;/td&gt;
            &lt;td&gt;&lt;span class="bodycopy"&gt;Oracle Provider for OLE DB 11.1.0.7.20&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td width="35"&gt; &lt;/td&gt;
            &lt;td width="35"&gt;&lt;img height="12" width="35" alt="" src="http://www.oracle.com/technology/images/bullets_and_symbols/blk_line_bullet_35.gif" /&gt;&lt;/td&gt;
            &lt;td&gt;&lt;span class="bodycopy"&gt;Oracle Objects for OLE 11.1.0.7.20&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td width="35"&gt; &lt;/td&gt;
            &lt;td width="35"&gt;&lt;img height="12" width="35" alt="" src="http://www.oracle.com/technology/images/bullets_and_symbols/blk_line_bullet_35.gif" /&gt;&lt;/td&gt;
            &lt;td&gt;&lt;span class="bodycopy"&gt;Oracle Services for Microsoft Transaction Server 11.1.0.7.20&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td width="35"&gt; &lt;/td&gt;
            &lt;td width="35"&gt;&lt;img height="12" width="35" alt="" src="http://www.oracle.com/technology/images/bullets_and_symbols/blk_line_bullet_35.gif" /&gt;&lt;/td&gt;
            &lt;td&gt;&lt;span class="bodycopy"&gt;Oracle ODBC Driver 11.1.0.7.0&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td width="35"&gt; &lt;/td&gt;
            &lt;td width="35"&gt;&lt;img height="12" width="35" alt="" src="http://www.oracle.com/technology/images/bullets_and_symbols/blk_line_bullet_35.gif" /&gt;&lt;/td&gt;
            &lt;td&gt;&lt;span class="bodycopy"&gt;Oracle SQL*Plus 11.1.0.7.0&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td width="35"&gt; &lt;/td&gt;
            &lt;td width="35"&gt;&lt;img height="12" width="35" alt="" src="http://www.oracle.com/technology/images/bullets_and_symbols/blk_line_bullet_35.gif" /&gt;&lt;/td&gt;
            &lt;td&gt;&lt;span class="bodycopy"&gt;Oracle Instant Client 11.1.0.7.0&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;ul&gt;
    &lt;li&gt;Go to the following folder and setup your tnsnames.ora&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;C:\app\&amp;lt;user&amp;gt;\product\11.1.0\client_1\Network\Admin&lt;/p&gt;
&lt;p&gt;It should look simular to this: &lt;/p&gt;
&lt;p&gt;xxxxx =&lt;br /&gt;
  (DESCRIPTION =&lt;br /&gt;
    (ADDRESS_LIST =&lt;br /&gt;
      (ADDRESS = (PROTOCOL = TCP)(HOST = xxxxx)(PORT = xxxxx))&lt;br /&gt;
    )&lt;br /&gt;
    (CONNECT_DATA =&lt;br /&gt;
      (SERVICE_NAME = xxxxx)&lt;br /&gt;
    )&lt;br /&gt;
  )&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Next Reboot your machine and try to connect via Toad or Server Browser in VS2008.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt; &lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136443"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136443" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/mbcrump/aggbug/136443.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/kL8jBRa27og" height="1" width="1"/&gt;</description><dc:creator>mbcrump</dc:creator><feedburner:origLink>http://geekswithblogs.net/mbcrump/archive/2009/11/20/setting-up-odp.net-with-windows-7-x64-and-vs2008.aspx</feedburner:origLink></item><item><title>Silverlight Cream for November 20, 2009 -- #737</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/bgGFY43Z2Ok/136441.aspx</link><pubDate>Fri, 20 Nov 2009 15:26:03 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/WynApseTechnicalMusings/archive/2009/11/20/136441.aspx</guid><wfw:comment>http://geekswithblogs.net/WynApseTechnicalMusings/comments/136441.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/WynApseTechnicalMusings/comments/commentRss/136441.aspx</wfw:commentRss><comments>http://geekswithblogs.net/WynApseTechnicalMusings/archive/2009/11/20/136441.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/WynApseTechnicalMusings/services/trackbacks/136441.aspx</trackback:ping><source url="http://geekswithblogs.net/WynApseTechnicalMusings/rss.aspx">Silverlight Cream for November 20, 2009 -- #737</source><description>&lt;p&gt;&lt;font face="tahoma"&gt;In this Issue:       &lt;a href="#20091120Michael Wolf"&gt;&lt;u&gt;Michael Wolf&lt;/u&gt;&lt;/a&gt;,            &lt;a href="#20091120Colin Blair"&gt;&lt;u&gt;Colin Blair&lt;/u&gt;&lt;/a&gt;,            &lt;a href="#20091120John Papa"&gt;&lt;u&gt;John Papa&lt;/u&gt;&lt;/a&gt;,            &lt;a href="#20091120Ning Zhang"&gt;&lt;u&gt;Ning Zhang&lt;/u&gt;&lt;/a&gt;,            &lt;a href="#20091120Andy Beaulieu"&gt;&lt;u&gt;Andy Beaulieu&lt;/u&gt;&lt;/a&gt;, and           &lt;a href="#20091120Tomasz Janczuk"&gt;&lt;u&gt;Tomasz Janczuk&lt;/u&gt;&lt;/a&gt;. &lt;br /&gt;
&lt;br /&gt;
Shoutouts: &lt;br /&gt;
&lt;br /&gt;
In case you missed it in the rush the other day, &lt;b&gt;Robby Ingebretsen&lt;/b&gt; announced the release of &lt;a href="http://blog.nerdplusart.com/archives/seesmic-for-windows"&gt;&lt;u&gt;Seesmic for Windows &lt;/u&gt;&lt;/a&gt; ... that's going on my laptop this weekend! &lt;br /&gt;
&lt;br /&gt;
The &lt;b&gt;Microsoft Expression Blog&lt;/b&gt; has a great tutorial upon the use of &lt;a href="http://expression.microsoft.com/en-us/library/cc295195(Expression.30).aspx"&gt;&lt;u&gt;Panels&lt;/u&gt;&lt;/a&gt; in Expression Web. &lt;br /&gt;
&lt;br /&gt;
Don't forget, I have all Silverlight 4B articles tagged at &lt;a href="http://www.wynapse.com/TagContent.aspx?Tag=Silverlight4"&gt;&lt;u&gt;WynApse.com&lt;/u&gt;&lt;/a&gt;, along with lots (&amp;gt;7600 posts) of other stuff :) &lt;br /&gt;
&lt;br /&gt;
&lt;/font&gt;&lt;/p&gt;
&lt;center&gt;&lt;hr width="50%" /&gt;
&lt;/center&gt;
&lt;p&gt;&lt;font face="tahoma"&gt;From &lt;a href="http://www.silverlightcream.com"&gt;&lt;u&gt;SilverlightCream.com&lt;/u&gt;&lt;/a&gt;:  &lt;/font&gt;&lt;/p&gt;
&lt;dl&gt;  &lt;font face="tahoma"&gt;
    &lt;dt&gt;&lt;a name="20091120Michael Wolf"&gt;                &lt;/a&gt;&lt;a title="http://www.cynergysystems.com/blogs/page/michaelwolf?entry=silverlight_4_beta_and_web" href="http://www.silverlightcream.com/SilverlightCreamRedirect.aspx?LinkID=4564"&gt;&lt;u&gt;Silverlight 4 beta and web cam support&lt;/u&gt;&lt;/a&gt;            &lt;/dt&gt;
    &lt;dd&gt;WebCam support ... well... now that SL4B has it, wonder what everyone will be screaming for :) .. &lt;b&gt;Michael Wolf&lt;/b&gt; has a post up describing it's use. He has a video on the post that's actually pretty cool showing the user experience.&lt;/dd&gt;
    &lt;dt&gt;&lt;a name="20091120Colin Blair"&gt;                &lt;/a&gt;&lt;a title="http://www.riaservicesblog.com/Blog/post/A-guide-to-the-new-features-of-WCF-RIA-Services.aspx" href="http://www.silverlightcream.com/SilverlightCreamRedirect.aspx?LinkID=4563"&gt;&lt;u&gt;A guide to new features of WCF RIA Services&lt;/u&gt;&lt;/a&gt;            &lt;/dt&gt;
    &lt;dd&gt;&lt;b&gt;Colin Blair&lt;/b&gt; has a post up showing the differences you should know in the transition from .NET RIA Services to WCF RIA Services in Silverlight 4.&lt;/dd&gt;
    &lt;dt&gt;&lt;a name="20091120John Papa"&gt;                &lt;/a&gt;&lt;a title="http://johnpapa.net/silverlight/enabling-validation-in-silverlight-4-with-idataerrorinfo/" href="http://www.silverlightcream.com/SilverlightCreamRedirect.aspx?LinkID=4562"&gt;&lt;u&gt;Enabling Validation in Silverlight 4 with IDataErrorInfo&lt;/u&gt;&lt;/a&gt;            &lt;/dt&gt;
    &lt;dd&gt;&lt;b&gt;John Papa&lt;/b&gt; has a short article and code up explaining the use of IDataErrorInfo in Silverlight 4. &lt;/dd&gt;
    &lt;dt&gt;&lt;a name="20091120Ning Zhang"&gt;                &lt;/a&gt;&lt;a title="http://www.ningzhang.org/2009/11/18/silverlight-clipboard-api/" href="http://www.silverlightcream.com/SilverlightCreamRedirect.aspx?LinkID=4561"&gt;&lt;u&gt;Silverlight Clipboard API&lt;/u&gt;&lt;/a&gt;            &lt;/dt&gt;
    &lt;dd&gt;Find out what Clipboard support in Silverlight 4 really means. &lt;b&gt;Ning Zhang&lt;/b&gt; explains what we've got and how to use it. Yikes... lots of moving parts to worry about!&lt;/dd&gt;
    &lt;dt&gt;&lt;a name="20091120Andy Beaulieu"&gt;                &lt;/a&gt;&lt;a title="http://www.andybeaulieu.com/Home/tabid/67/EntryID/179/Default.aspx" href="http://www.silverlightcream.com/SilverlightCreamRedirect.aspx?LinkID=4560"&gt;&lt;u&gt;Silverlight 4 Beta, RIA Services... and Beer!&lt;/u&gt;&lt;/a&gt;            &lt;/dt&gt;
    &lt;dd&gt;Ready for a long Friday morning Silverlight 4 RIA application tutorial? &lt;b&gt;Andy Beaulieu&lt;/b&gt; has a great one up... lots of details and hints... required reading!&lt;/dd&gt;
    &lt;dt&gt;&lt;a name="20091120Tomasz Janczuk"&gt;                &lt;/a&gt;&lt;a title="http://tomasz.janczuk.org/2009/11/pubsub-sample-with-wcf-nettcp-protocol.html" href="http://www.silverlightcream.com/SilverlightCreamRedirect.aspx?LinkID=4559"&gt;&lt;u&gt;Pub/sub sample with WCF net.tcp protocol in Silverlight 4&lt;/u&gt;&lt;/a&gt;            &lt;/dt&gt;
    &lt;dd&gt;&lt;b&gt;Tomasz Janczuk&lt;/b&gt; continues with discussion of net.tcp and describes the conversion of a previous sample from HTTP Polling Duplex to the new WCF net.tcp protocol.&lt;/dd&gt;
    &lt;/font&gt;&lt;/dl&gt;
    &lt;p&gt;&lt;font face="tahoma"&gt;&lt;br /&gt;
    &lt;font color="#0000ff"&gt;&lt;strong&gt;Stay in the 'Light!&lt;/strong&gt;&lt;/font&gt;&lt;br /&gt;
    &lt;/font&gt;&lt;/p&gt;
    &lt;center&gt; &lt;font face="tahoma"&gt;  &lt;/font&gt;&lt;hr width="50%" /&gt;
    &lt;font face="tahoma"&gt;  &lt;a href="http://twitter.com/SilverlightNews"&gt;&lt;u&gt;Twitter SilverlightNews&lt;/u&gt;&lt;/a&gt; |    &lt;a href="http://twitter.com/WynApse"&gt;&lt;u&gt;Twitter WynApse&lt;/u&gt;&lt;/a&gt; |    &lt;a href="http://www.wynapse.com"&gt;&lt;u&gt;WynApse.com&lt;/u&gt;&lt;/a&gt; |    &lt;a href="http://www.wynapse.com/TaggedPosts.aspx"&gt;&lt;u&gt;Tagged Posts&lt;/u&gt;&lt;/a&gt; |    &lt;a href="http://www.silverlightcream.com"&gt;&lt;u&gt;SilverlightCream&lt;/u&gt;&lt;/a&gt; &lt;br /&gt;
    &lt;a href="http://tech.groups.yahoo.com/group/SilverlightCream/join"&gt;&lt;u&gt;Join me @ SilverlightCream&lt;/u&gt;&lt;/a&gt; |    &lt;a href="http://www.phoenixsilverlight.net"&gt;&lt;u&gt;Phoenix Silverlight User Group&lt;/u&gt;&lt;/a&gt;   &lt;br /&gt;
    &lt;/font&gt;&lt;/center&gt;
    &lt;p&gt;&lt;font face="tahoma"&gt;  &lt;br /&gt;
    &lt;br /&gt;
    Technorati Tags:     &lt;a rel="tag" href="http://technorati.com/tag/Silverlight"&gt;&lt;img alt=" " src="http://static.technorati.com/static/img/pub/icon-utag-16x13.png?tag=Silverlight" style="border: 0pt none ; vertical-align: middle; margin-left: 0.4em;" /&gt;Silverlight&lt;/a&gt;        &lt;a rel="tag" href="http://technorati.com/tag/silverlight-3"&gt;&lt;img alt=" " src="http://static.technorati.com/static/img/pub/icon-utag-16x13.png?tag=silverlight-3" style="border: 0pt none ; vertical-align: middle; margin-left: 0.4em;" /&gt;Silverlight 3&lt;/a&gt;        &lt;a rel="tag" href="http://technorati.com/tag/silverlight-4"&gt;&lt;img alt=" " src="http://static.technorati.com/static/img/pub/icon-utag-16x13.png?tag=silverlight-4" style="border: 0pt none ; vertical-align: middle; margin-left: 0.4em;" /&gt;Silverlight 4&lt;/a&gt;        &lt;a rel="tag" href="http://technorati.com/tag/SilverlightCream"&gt;&lt;img alt=" " src="http://static.technorati.com/static/img/pub/icon-utag-16x13.png?tag=SilverlightCream" style="border: 0pt none ; vertical-align: middle; margin-left: 0.4em;" /&gt;SilverlightCream&lt;/a&gt;  &lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136441"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136441" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/WynApseTechnicalMusings/aggbug/136441.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/bgGFY43Z2Ok" height="1" width="1"/&gt;</description><dc:creator>Dave Campbell</dc:creator><feedburner:origLink>http://geekswithblogs.net/WynApseTechnicalMusings/archive/2009/11/20/136441.aspx</feedburner:origLink></item><item><title>Hosted exception collection for .NET applications made easy – Exceptioneer.com</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/WsJTIDp3PgU/136439.aspx</link><pubDate>Fri, 20 Nov 2009 13:32:54 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/twickers/archive/2009/11/20/136439.aspx</guid><wfw:comment>http://geekswithblogs.net/twickers/comments/136439.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/twickers/comments/commentRss/136439.aspx</wfw:commentRss><comments>http://geekswithblogs.net/twickers/archive/2009/11/20/136439.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/twickers/services/trackbacks/136439.aspx</trackback:ping><source url="http://geekswithblogs.net/twickers/rss.aspx">Hosted exception collection for .NET applications made easy – Exceptioneer.com</source><description>&lt;p&gt;I own a company, Tiger Computer Services Ltd, which is an Independent Software Vendor (ISV) providing .NET software solutions to clients in the London area.&lt;/p&gt;
&lt;p&gt;One of the most significant considerations when running a small ISV is the cost of supporting software in the field. For some clients, support is not a billable item, especially if the fault is within the software we have provided. This means that every time the telephone rings, we bleed money, and if we have to actually go on site to resolve an issue it gets worse.&lt;/p&gt;
&lt;p&gt;Whether the software solution is ‘packaged’ or is a custom solution, all our clients run the software on their own equipment at their own premises.  We have never asked for VPN access into their network.  We take the view that if you cannot easily VPN into a system you have a real incentive to write reliable software that works first time and doesn’t need continuous intervention.&lt;/p&gt;
&lt;p&gt;However, although all the clients can be reached within about one hour by public transport, an on-site visit is bad for many reasons;&lt;/p&gt;
&lt;ol&gt;
    &lt;li&gt;It costs money; either to ourselves or to the client (the latter is even worse if someone has to approve the cost in advance of the visit)&lt;/li&gt;
    &lt;li&gt;It takes time, which can lead to more issues; i.e. data corruption through continued use of the software&lt;/li&gt;
    &lt;li&gt;It is highly disruptive of work being undertaken for other clients&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;Exception handling is a good thing&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;This may sound obvious, but however good your programming is, it’ll generate exceptions.  It is impossible to account for all eventualities and you need to be ready to handle them and log the state of the system when they occurred.&lt;/p&gt;
&lt;p&gt;The solutions we deliver are generally a combination of ASP.NET web applications, Windows Services (Windows Forms applications with no user interface) and usually with some database server in the background (SQL Server, MySQL or Oracle).  Our exception handling is wrapped up in a set of reporting libraries whose history dates back to before Visual Basic 6.&lt;/p&gt;
&lt;p&gt;The reporting libraries were overhauled in the transfer to C#, and they provide a simple method for logging messages and exceptions simultaneously to the Windows Event Log, text based log file, SMTP e-mail and interactive dialogs (for Windows Forms applications with a user interface).&lt;/p&gt;
&lt;p&gt;The libraries consist of a central reporting engine, into which various reporters are plugged and these handle all the various methods for recording exceptions.  One call to the reporting engine to display a message or exception calls all the reporters in turn.  This allows new methods of reporting exceptions to be added quickly, and for various methods to be turned off as required (such as disabling writing to the Event Log on shared hosting providers).&lt;/p&gt;
&lt;p&gt;Whether you use the Microsoft application block, log4net or some home grown exception handling, the biggest issue is getting access to the log files or event log messages once an exception has occurred.&lt;/p&gt;
&lt;p&gt;Without remote access, we rely on the client IT team to either take the text log file, or dump the Event Logs to a CSV file, and e-mail the file to us. Of course, this assumes that the client is already aware they have a problem, which means it has very likely started to affect their use of the application.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Proactive exception handling&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;In an ideal world you would receive notification automatically about any exceptions in your applications, without requiring intervention from the client.&lt;/p&gt;
&lt;p style="margin-left: 40px;"&gt;&lt;em&gt;Nothing impresses a client more than when you phone &lt;strong&gt;them &lt;/strong&gt;to tell them they have an issue, &lt;strong&gt;and &lt;/strong&gt;that you have already got a solution which they can implement to fix it.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Although our reporting libraries do include an SMTP e-mail reporter which can provide some of this proactive functionality it is not always possible to persuade clients that their SMTP gateway or firewall should be ‘tweaked’ to allow support e-mails out of the building.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Exceptioneer&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Earlier this year I was kindly invited into a beta program for a ‘hosted exception collection’ service called Exceptioneer run by the good chaps at Pixel Programming, Phil Winstanley (a Microsoft MVP, no less) and Chris Gaskell.  &lt;/p&gt;
&lt;p&gt;These guys write .NET applications for a living and had already created their own centralised exception collection system for their own applications, solving the issues encountered when creating this type of solution.  Realising they had something well worth sharing, they turned their system into a packaged, hosted service for other developers and Exceptioneer was born.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;.NET support&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Exceptioneer supports ASP.NET, Windows Forms and JavaScript (although I have yet to use the JavaScript exception hander).&lt;/p&gt;
&lt;p&gt;Integration in an ASP.NET application is simple; reference the Exceptioneer web client assembly and add a few lines in the Web.Config and it will be reporting unhandled exceptions right away.  &lt;/p&gt;
&lt;p&gt;For Windows Forms, you need to reference a windows form assembly and integrate the API into whatever exception handling system you are already using.  We had it integrated with our reporting engine within an hour or so.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What does Exceptioneer provide?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The management interface of Exceptioneer provides a very clean web interface, where you can view all your registered projects (limited to three in the free service), and drill down into the various exceptions which might have occurred, when the last occurred and what application generate the exception. &lt;/p&gt;
&lt;p&gt;Repeated exceptions are intelligently grouped with drill down for further detail, including stack traces and full source code from the PDB file if you are testing a debug compilation.  You can identify the exact line causing the issue, and 75% of the time it is possible to identify the underlying cause without even starting up Visual Studio to view the source code.&lt;/p&gt;
&lt;p&gt;Exceptioneer provides e-mail notifications, and if you are a Twitter user, Exceptioneer can even send direct messages when new exceptions occur, which tends to catch the eye even quicker than e-mails.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;... and it works&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Since integrating Exceptioneer with a new system deployed in September, it has proved invaluable for resolving issues (related to user input which was not being verified correctly) which would have come close to an on-site visit to identify exactly what was happening.&lt;/p&gt;
&lt;p&gt;Even better, on most occasions we phone the client first to inform them that they had the problem (which occurred more than once) and the IT support guys were able to fix the problem before the end user actually realised something had gone wrong.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Try it yourself&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Now the beta program has been completed, the service has been opened for everyone.  I recommend heading over to &lt;a href="http://www.exceptioneer.com"&gt;http://www.exceptioneer.com&lt;/a&gt; and registering for a free account, and giving it a spin in your own projects.&lt;br /&gt;
 &lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136439"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136439" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/twickers/aggbug/136439.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/WsJTIDp3PgU" height="1" width="1"/&gt;</description><dc:creator>Liam Westley</dc:creator><feedburner:origLink>http://geekswithblogs.net/twickers/archive/2009/11/20/136439.aspx</feedburner:origLink></item><item><title>BizTalk Server 2009 - Rule deployment issue</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/np2-b2CyRu0/136438.aspx</link><pubDate>Fri, 20 Nov 2009 13:28:40 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/cyoung/archive/2009/11/20/136438.aspx</guid><wfw:comment>http://geekswithblogs.net/cyoung/comments/136438.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/cyoung/comments/commentRss/136438.aspx</wfw:commentRss><comments>http://geekswithblogs.net/cyoung/archive/2009/11/20/136438.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/cyoung/services/trackbacks/136438.aspx</trackback:ping><source url="http://geekswithblogs.net/cyoung/rss.aspx">BizTalk Server 2009 - Rule deployment issue</source><description>&lt;div style="margin: 0cm 0cm 10pt"&gt;&lt;span style="font-family: Verdana"&gt;&lt;span style="font-size: small"&gt;There is a small configuration issue with the Microsoft Business Rules Composer in BizTalk Server 2009.   This will only affect you if you deploy the rules engine by itself without the rest of BizTalk Server.   In a full installation of BizTalk Server, BTS provides a set of BTS-specific Rule Framework components in as assembly called Microsoft.BizTalk.RuleEngineExtensions. This includes a RuleSetDeploymentDriver component that manages deployment of rules via the SQL Server repository.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin: 0cm 0cm 10pt"&gt;&lt;span style="font-family: Verdana"&gt;&lt;span style="font-size: small"&gt;The BTS-specific RuleSetDeploymentDriver has a dependency on WMI (Windows Management Instrumentation). In a full BTS installation, BTS creates an instance of a CIM class called MSBTS_GroupSetting and populates various property values from the BizTalk management database.   This includes the assembly and class name of a RuleSetDeploymentDriver.   If you install only the rule processing components, there is no BizTalk management database, and no instance of this class is created. Unfortunately, this means that, whenever you try to deploy a rule set from the Rules Composer, you get a rude message saying:&lt;/span&gt;&lt;/span&gt; &lt;/div&gt;
&lt;div style="margin: 0cm 0cm 10pt 40px"&gt;&lt;span style="font-family: Verdana"&gt;&lt;span style="font-size: small"&gt;The database "&amp;lt;server&amp;gt;:&amp;lt;database&amp;gt;" associated with the deployment driver does not match the database ":" specified during product configuration&lt;/span&gt;&lt;/span&gt; &lt;/div&gt;
&lt;div style="margin: 0cm 0cm 10pt"&gt;&lt;span style="font-family: Verdana"&gt;&lt;span style="font-size: small"&gt;The message is entirely correct. Microsoft's BTS-specific RuleSetDeploymentDriver component performs this check presumably to ensure that registry settings for the rule repository database name and server name are identical to those configured in the BizTalk management database.   This ensures that the Rule Engine Update Service is using the same BTS-specific RuleSetDeploymentDriver component.&lt;/span&gt;&lt;/span&gt; &lt;/div&gt;
&lt;div style="margin: 0cm 0cm 10pt"&gt;&lt;span style="font-family: Verdana"&gt;&lt;span style="font-size: small"&gt;When you install only the rule processing components, the registry is unfortunately configured as if a full BizTalk installation had been done. The Rule Composer tries to use the BTS-specific RuleSetDeploymentDriver component to deploy rule sets and fails because no instance of MSBTS_GroupSetting has been created in the CIM store.&lt;/span&gt;&lt;/span&gt; &lt;/div&gt;
&lt;div style="margin: 0cm 0cm 10pt"&gt;&lt;span style="font-family: Verdana"&gt;&lt;span style="font-size: small"&gt;Fortunately, this is a simple problem to fix. Microsoft provides a non BTS-specific RuleSetDeploymentDriver component for the rule repository database.   All you need to do is change the registry settings to use this instead.&lt;/span&gt;&lt;/span&gt; &lt;/div&gt;
&lt;div style="margin: 0cm 0cm 10pt"&gt;&lt;span style="font-family: Verdana"&gt;&lt;span style="font-size: small"&gt;Open the Registry Editor (regedit) and locate the following key:&lt;/span&gt;&lt;/span&gt; &lt;/div&gt;
&lt;div style="margin: 0cm 0cm 10pt 36pt"&gt;&lt;span style="font-family: Verdana"&gt;&lt;span style="font-size: small"&gt;HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\BusinessRules\3.0&lt;/span&gt;&lt;/span&gt; &lt;/div&gt;
&lt;div style="margin: 0cm 0cm 10pt"&gt;&lt;span style="font-family: Verdana"&gt;&lt;span style="font-size: small"&gt;If you have installed the rule processing components on a 64-bit version of Windows, they key will be at:&lt;/span&gt;&lt;/span&gt; &lt;/div&gt;
&lt;div style="margin: 0cm 0cm 10pt 36pt"&gt;&lt;span style="font-family: Verdana"&gt;&lt;span style="font-size: small"&gt;HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\BusinessRules\3.0&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin: 0cm 0cm 10pt"&gt;&lt;span style="font-family: Verdana"&gt;&lt;span style="font-size: small"&gt;You should find the DeploymentDriverAssembly and DeploymentDriverClass values under the key.   These should be changed to the following values, respectively:&lt;/span&gt;&lt;/span&gt; &lt;/div&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;span style="font-family: Verdana"&gt;&lt;span style="font-size: small"&gt;&lt;span style="font: 7pt 'Times New Roman'"&gt; &lt;/span&gt;Microsoft.RuleEngine, Version=3.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
    &lt;li&gt;&lt;span style="font-family: Verdana"&gt;&lt;span style="font-size: small"&gt;&lt;span style="font: 7pt 'Times New Roman'"&gt; &lt;/span&gt;Microsoft.RuleEngine.RuleSetDeploymentDriver&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div style="margin: 0cm 0cm 10pt"&gt;&lt;span style="font-family: Verdana"&gt;&lt;span style="font-size: small"&gt;&lt;span style="line-height: 115%"&gt;That's it. The Rule Composer should now be able to deploy rule sets.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136438"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136438" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/cyoung/aggbug/136438.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/np2-b2CyRu0" height="1" width="1"/&gt;</description><dc:creator>Charles Young</dc:creator><feedburner:origLink>http://geekswithblogs.net/cyoung/archive/2009/11/20/136438.aspx</feedburner:origLink></item><item><title>Microsoft PDC 2009 &amp;ndash; Day Two Keynote</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/do5u7uDCv60/136436.aspx</link><pubDate>Fri, 20 Nov 2009 12:36:54 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/evjen/archive/2009/11/20/136436.aspx</guid><wfw:comment>http://geekswithblogs.net/evjen/comments/136436.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/evjen/comments/commentRss/136436.aspx</wfw:commentRss><comments>http://geekswithblogs.net/evjen/archive/2009/11/20/136436.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/evjen/services/trackbacks/136436.aspx</trackback:ping><source url="http://geekswithblogs.net/evjen/rss.aspx">Microsoft PDC 2009 &amp;ndash; Day Two Keynote</source><description>&lt;p&gt;The second day keynote at PDC 2009 in Lost Angeles was shared by &lt;a href="http://www.microsoft.com/presspass/exec/ssinofsky/" target="_blank"&gt;Steven Sinofsky&lt;/a&gt; and &lt;a href="http://www.microsoft.com/presspass/exec/guthrie/" target="_blank"&gt;Scott Guthrie&lt;/a&gt;. Steven is the &lt;em&gt;President of Windows and Windows Live Division&lt;/em&gt; and it really must have been a great day for him as he came out for the first time in a major conference with the new Windows 7 launched and the old Vista problems just fading away into Microsoft’s past. There is a lot of excitement for Windows 7 and there is excitement for the new &lt;a href="http://code.msdn.microsoft.com/WindowsAPICodePack" target="_blank"&gt;Windows 7 APIs&lt;/a&gt; that are available for developers to work with to take advantage of the new features that this new OS offers.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/evjen/WindowsLiveWriter/MicrosoftPDC2009DayTwoKeynote_E86E/image_2.png"&gt;&lt;img style="border-right-width: 0px; margin: 0px 10px 10px 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" align="left" src="http://geekswithblogs.net/images/geekswithblogs_net/evjen/WindowsLiveWriter/MicrosoftPDC2009DayTwoKeynote_E86E/image_thumb.png" width="90" height="117" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;The big thing that Steven brought forth was the achievement that was Windows 7’s release. He was rather excited about how they developed this OS. One of the big changes in the development process was the introduction of the &lt;a href="http://blogs.msdn.com/e7/" target="_blank"&gt;Windows 7 Engineering blog&lt;/a&gt;. This was a tool that the Windows 7 used to let people know what they were thinking and how things were going to work. The team got considerable comments from this blog and it helped shape what they were doing. For me, I did find it interesting in how open they were to their process and how they got the community involved in the process. I can see how that would be hard to do given the fact that Microsoft probably doesn’t want to give much information to their competitors on what they are doing. But they put out quite a bit of information that in the end – really made a difference.&lt;/p&gt;  &lt;p&gt;There were also some interesting stats on the Win7 development process that Steven outlined. These included:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;1,729,890 people pressed the send feedback reports button &lt;/li&gt;    &lt;li&gt;91,521 external devices were plugged in &lt;/li&gt;    &lt;li&gt;14,057 unique printers were plugged in &lt;/li&gt;    &lt;li&gt;883,612 unique applications were used &lt;/li&gt;    &lt;li&gt;8,107,258 installations were done &lt;/li&gt;    &lt;li&gt;4,357156 installations of the RC were done &lt;/li&gt;    &lt;li&gt;10,427,189 aggregated Windows Error Reports were sent in &lt;/li&gt;    &lt;li&gt;4,753 code changes were made because of these WERs &lt;/li&gt;    &lt;li&gt;6,114 SQM Measurement Points &lt;/li&gt;    &lt;li&gt;~900,000,000 SQM Sessions (Logon to Logoff/Standby) &lt;/li&gt;    &lt;li&gt;514,253,176 times the Start menu button was clicked in the last 6 months &lt;/li&gt;    &lt;li&gt;46,447,784 times Aero Snap and Shake were used &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;It is important to note that these stats are only collected during the pre-RTM releases and are not something that Microsoft collects off of the production release of the OS.&lt;/p&gt;  &lt;p&gt;After this, Steven then went through some hardware with another Microsoft worker and in the end help up a laptop – a not yet released Acer Aspire 1420P. It had the following stats: it is a convertible TabletPC with a Core2 Duo U2300 processor, Mobile Intel GS45 video, 2GB of DDR3 1066 MHz memory (supports up to 8GB), an 11.6" 1366x768 multitouch screen, webcam/mic, 3G WWAN, WLAN (supporting up to Draft-N), S/PDIF for digital speakers, 3 USB, 250GB HDD, card reader, and even an HDMI port. Then he said he was offering us a deal on the laptop for the price of &lt;strong&gt;FREE!&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;I was totally shocked! Here is me with my new laptop:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/evjen/WindowsLiveWriter/MicrosoftPDC2009DayTwoKeynote_E86E/image_4.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://geekswithblogs.net/images/geekswithblogs_net/evjen/WindowsLiveWriter/MicrosoftPDC2009DayTwoKeynote_E86E/image_thumb_1.png" width="359" height="269" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;I see why Microsoft did this. They just introduced all the cool features that you can do with the new Windows 7 APIs including multitouch and more. Most developers don’t even have computers to deal with this or some of the other capabilities. If Microsoft really wants development in this space, there isn’t a better way to spur the development than by giving some of your community’s best developers the equipment to get the job done? Perfect.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/evjen/WindowsLiveWriter/MicrosoftPDC2009DayTwoKeynote_E86E/image_6.png"&gt;&lt;img style="border-right-width: 0px; margin: 0px 0px 10px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" align="right" src="http://geekswithblogs.net/images/geekswithblogs_net/evjen/WindowsLiveWriter/MicrosoftPDC2009DayTwoKeynote_E86E/image_thumb_2.png" width="95" height="144" /&gt;&lt;/a&gt; Next up was ScottGu – all .NET developer’s hero. He continued on with the &lt;a href="http://geekswithblogs.net/evjen/archive/2009/11/17/136363.aspx" target="_blank"&gt;day 1 keynote message&lt;/a&gt; from Ray Ozzie and talked about the Silverlight everywhere message. The biggest message was the release of Silverlight 4 Beta. This is now available and includes a plethora of new features. These new features include things like:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Media      &lt;ul&gt;       &lt;li&gt;Continuing to invest in the rich media stack &lt;/li&gt;        &lt;li&gt;Media stack is by far the most feature rich of any media stack out there &lt;/li&gt;        &lt;li&gt;Winter Olympics will be coming on Silverlight &lt;/li&gt;        &lt;li&gt;Adding          &lt;ul&gt;           &lt;li&gt;Webcam and microphone &lt;/li&gt;            &lt;li&gt;Multicast &lt;/li&gt;            &lt;li&gt;H.264 Output Protection &lt;/li&gt;            &lt;li&gt;Offline DRM &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;ul&gt;   &lt;li&gt;Business Applications      &lt;ul&gt;       &lt;li&gt;Printing &lt;/li&gt;        &lt;li&gt;Rich Text &lt;/li&gt;        &lt;li&gt;Clipboard Access &lt;/li&gt;        &lt;li&gt;Right click &lt;/li&gt;        &lt;li&gt;Mouse wheel &lt;/li&gt;        &lt;li&gt;Implicit styles &lt;/li&gt;        &lt;li&gt;VS 2010 &lt;/li&gt;        &lt;li&gt;Drag/Drop &lt;/li&gt;        &lt;li&gt;Bidi &amp;amp; RTL - Right to left layout &lt;/li&gt;        &lt;li&gt;Updated Controls &lt;/li&gt;        &lt;li&gt;Data Binding - Support for string formatters &lt;/li&gt;        &lt;li&gt;Networking &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;ul&gt;   &lt;li&gt;Beyond the Browser      &lt;ul&gt;       &lt;li&gt;Windowing APIs &lt;/li&gt;        &lt;li&gt;Notification Popups &lt;/li&gt;        &lt;li&gt;HTML Support &lt;/li&gt;        &lt;li&gt;Drop Target &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;ul&gt;   &lt;li&gt;Trusted applications      &lt;ul&gt;       &lt;li&gt;Custom Window Chrome &lt;/li&gt;        &lt;li&gt;Local File System &lt;/li&gt;        &lt;li&gt;Cross-Site Networking &lt;/li&gt;        &lt;li&gt;Full Screen Keyboard &lt;/li&gt;        &lt;li&gt;Hardware Device Access &lt;/li&gt;        &lt;li&gt;COM Automation Support &lt;/li&gt;        &lt;li&gt;Office Integration &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;As you can see, there is a lot to this release! Though, as Ray Ozzie really said in the first keynote – this PDC was really about touching the “three screens” – mobile, PC, and TV&amp;amp;game console, etc. Ray pointed out that Silverlight was the technology to get you there and Scott spent his keynote really showcasing Silverlight and its future in this regards. Again, it is interesting to note that there wasn’t any mention of WPF and it’s role in this revolution. &lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136436"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136436" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/evjen/aggbug/136436.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/do5u7uDCv60" height="1" width="1"/&gt;</description><dc:creator>Bill Evjen</dc:creator><feedburner:origLink>http://geekswithblogs.net/evjen/archive/2009/11/20/136436.aspx</feedburner:origLink></item><item><title>More "Getting started with managed code (C#) development for Windows Mobile" articles</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/8JbIzZSuy28/more-getting-started-with-managed-code-c-development-for-windows.aspx</link><pubDate>Fri, 20 Nov 2009 11:53:14 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/TechTwaddle/archive/2009/11/20/more-getting-started-with-managed-code-c-development-for-windows.aspx</guid><wfw:comment>http://geekswithblogs.net/TechTwaddle/comments/136435.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/TechTwaddle/comments/commentRss/136435.aspx</wfw:commentRss><comments>http://geekswithblogs.net/TechTwaddle/archive/2009/11/20/more-getting-started-with-managed-code-c-development-for-windows.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/TechTwaddle/services/trackbacks/136435.aspx</trackback:ping><source url="http://geekswithblogs.net/TechTwaddle/rss.aspx">More "Getting started with managed code (C#) development for Windows Mobile" articles</source><description>&lt;p style="text-align: justify"&gt;&lt;span style="font-family: Comic Sans MS"&gt;Last year &lt;/span&gt;&lt;a href="http://www.cjcraft.com/blog/default.aspx"&gt;&lt;span style="font-family: Comic Sans MS"&gt;Chris Craft&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: Comic Sans MS"&gt; wrote this excellent "&lt;/span&gt;&lt;a href="http://www.cjcraft.com/blog/default,month,2008-06.aspx"&gt;&lt;span style="font-family: Comic Sans MS"&gt;30 days of .NET&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: Comic Sans MS"&gt;" articles where he wrote 30 .NET applications in C# each day. I have gone through the initial few and plan to complete the list as and when I find time. He hasn't actually explained the code and the application logic in detail and that would surely be some task if you are doing 30 apps in 30 days (; You couldn't ask for more.&lt;/span&gt;&lt;/p&gt;
&lt;p style="text-align: justify"&gt;&lt;span style="font-family: Comic Sans MS"&gt;The source code for all the applications is available. So just &lt;/span&gt;&lt;a href="http://www.cjcraft.com/blog/2008/06/02/30DaysOfNETWindowsMobileApplicationsDay01MinutesToMidnightCountdown.aspx"&gt;&lt;span style="font-family: Comic Sans MS"&gt;download'em and dig through&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: Comic Sans MS"&gt;. There's no better way to learn than to dive-in and experiment.&lt;br /&gt;
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136435"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136435" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/TechTwaddle/aggbug/136435.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/8JbIzZSuy28" height="1" width="1"/&gt;</description><dc:creator>TechTwaddle</dc:creator><feedburner:origLink>http://geekswithblogs.net/TechTwaddle/archive/2009/11/20/more-getting-started-with-managed-code-c-development-for-windows.aspx</feedburner:origLink></item><item><title>Windows Mobile 6.5 Gestures : Introduction (C++)</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/6LV7SnELasY/windows-mobile-6.5-gestures--introduction-c.aspx</link><pubDate>Fri, 20 Nov 2009 11:38:12 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/TechTwaddle/archive/2009/11/20/windows-mobile-6.5-gestures--introduction-c.aspx</guid><wfw:comment>http://geekswithblogs.net/TechTwaddle/comments/136434.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/TechTwaddle/comments/commentRss/136434.aspx</wfw:commentRss><comments>http://geekswithblogs.net/TechTwaddle/archive/2009/11/20/windows-mobile-6.5-gestures--introduction-c.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/TechTwaddle/services/trackbacks/136434.aspx</trackback:ping><source url="http://geekswithblogs.net/TechTwaddle/rss.aspx">Windows Mobile 6.5 Gestures : Introduction (C++)</source><description>&lt;p&gt;&lt;span style="font-family: Comic Sans MS"&gt;Found a nice article on &lt;/span&gt;&lt;a href="http://www.codeproject.com/KB/mobile/IntroToGesturesAPI.aspx?msg=3279054#xx3279054xx"&gt;&lt;span style="font-family: Comic Sans MS"&gt;Code Project&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: Comic Sans MS"&gt; about using gesture API's on Windows Mobile 6.5 devices.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.codeproject.com/KB/mobile/IntroToGesturesAPI.aspx?msg=3279054#xx3279054xx"&gt;&lt;span style="font-family: Comic Sans MS"&gt;Hit the link&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: Comic Sans MS"&gt; and give it a read.&lt;/span&gt; &lt;span style="font-family: Comic Sans MS"&gt;And off I go to try the program out.&lt;/span&gt;&lt;br /&gt;
 &lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136434"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136434" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/TechTwaddle/aggbug/136434.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/6LV7SnELasY" height="1" width="1"/&gt;</description><dc:creator>TechTwaddle</dc:creator><feedburner:origLink>http://geekswithblogs.net/TechTwaddle/archive/2009/11/20/windows-mobile-6.5-gestures--introduction-c.aspx</feedburner:origLink></item><item><title>T4 Templates and the answer to life, the universe and everything</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/Q-BOVJiyNr0/t4-templates-and-the-answer-to-life-the-universe-and.aspx</link><pubDate>Fri, 20 Nov 2009 09:22:31 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/iupdateable/archive/2009/11/20/t4-templates-and-the-answer-to-life-the-universe-and.aspx</guid><wfw:comment>http://geekswithblogs.net/iupdateable/comments/136433.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/iupdateable/comments/commentRss/136433.aspx</wfw:commentRss><comments>http://geekswithblogs.net/iupdateable/archive/2009/11/20/t4-templates-and-the-answer-to-life-the-universe-and.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/iupdateable/services/trackbacks/136433.aspx</trackback:ping><source url="http://geekswithblogs.net/iupdateable/rss.aspx">T4 Templates and the answer to life, the universe and everything</source><description>&lt;p&gt;[This is the third in a &lt;a href="http://geekswithblogs.net/iupdateable/category/10944.aspx"&gt;series of posts&lt;/a&gt; on getting started with the new features in Entity Framework 4 based on the demos I did in my session at TechEd Europe in Berlin last week (Nov 2009).]&lt;/p&gt;  &lt;p&gt;Entity Framework 4 relies significantly on the Text Template Transformation Toolkit (T4) to generate code from the EDM.&lt;/p&gt;  &lt;p&gt;I thought it would be useful to show a really simple example of T4 in action which is nothing to do with Entity Framework.&lt;/p&gt;  &lt;p&gt;In a Visual Studio 2008/2010 solution, add a new item of type &lt;em&gt;Text Template&lt;/em&gt;:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/iupdateable/WindowsLiveWriter/T4Templates_1372B/image_2.png" rel="lightbox"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://geekswithblogs.net/images/geekswithblogs_net/iupdateable/WindowsLiveWriter/T4Templates_1372B/image_thumb.png" width="640" height="443" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Edit the “output extension=” pragma to generate a “.cs” file and add some C# code for a very simple class which has a single method &lt;em&gt;TheAnswer &lt;/em&gt;which contains a single &lt;em&gt;WriteLine&lt;/em&gt;. In the WriteLine use a T4 &amp;lt;#= #&amp;gt; block. &amp;lt;#= represents the start of a simple evaluation block, in this case the evaluation is to add 41+1:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/iupdateable/WindowsLiveWriter/T4Templates_1372B/image_4.png" rel="lightbox"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://geekswithblogs.net/images/geekswithblogs_net/iupdateable/WindowsLiveWriter/T4Templates_1372B/image_thumb_1.png" width="642" height="194" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;NB: I am using the &lt;a href="http://geekswithblogs.net/iupdateable/archive/2009/11/20/tangible-t4-editor-ndash-a-life-saver.aspx"&gt;Tangible T4 editor&lt;/a&gt; to give me syntax highlighting and intellisense. You will need to add this into Visual Studio &lt;a href="http://geekswithblogs.net/iupdateable/archive/2009/11/20/tangible-t4-editor-ndash-a-life-saver.aspx"&gt;using the Extensions Manager&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Next build the project or click on Transform Templates in the Solution Explorer:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/iupdateable/WindowsLiveWriter/T4Templates_1372B/image_8.png" rel="lightbox"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://geekswithblogs.net/images/geekswithblogs_net/iupdateable/WindowsLiveWriter/T4Templates_1372B/image_thumb_3.png" width="331" height="218" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;You will now see a new C# file in your project,&lt;em&gt; SimpleTemaplate.cs&lt;/em&gt;:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/iupdateable/WindowsLiveWriter/T4Templates_1372B/image_6.png" rel="lightbox"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://geekswithblogs.net/images/geekswithblogs_net/iupdateable/WindowsLiveWriter/T4Templates_1372B/image_thumb_2.png" width="642" height="190" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;In summary a T4 template is composed of: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Blocks of text: text that simply is copied into the output file(s) &lt;/li&gt;    &lt;li&gt;Directives: meta information for the template such as “output extension=” enclosed in &amp;lt;#@ … #&amp;gt; &lt;/li&gt;    &lt;li&gt;Statements: code enclosed in &amp;lt;#...#&amp;gt; &lt;/li&gt;    &lt;li&gt;Expressions: code that is evaluated to a string &amp;lt;#= …#&amp;gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;The above is pretty much the most basic example of T4 I could come up with. However there are plenty of other great resources on T4 out there. &lt;a href="http://www.olegsych.com"&gt;Oleg Sych&lt;/a&gt; has been heavily involved with T4 for many years and has many great posts. You may want to start with &lt;a href="http://www.olegsych.com/2008/09/t4-tutorial-creatating-your-first-code-generator/"&gt;this tutorial&lt;/a&gt; done as a series of posts.&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136433"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136433" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/iupdateable/aggbug/136433.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/Q-BOVJiyNr0" height="1" width="1"/&gt;</description><dc:creator>Eric Nelson</dc:creator><feedburner:origLink>http://geekswithblogs.net/iupdateable/archive/2009/11/20/t4-templates-and-the-answer-to-life-the-universe-and.aspx</feedburner:origLink></item><item><title>Tangible T4 Editor &amp;ndash; a life saver</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/O1C6OX5ybmk/tangible-t4-editor-ndash-a-life-saver.aspx</link><pubDate>Fri, 20 Nov 2009 09:18:04 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/iupdateable/archive/2009/11/20/tangible-t4-editor-ndash-a-life-saver.aspx</guid><wfw:comment>http://geekswithblogs.net/iupdateable/comments/136432.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/iupdateable/comments/commentRss/136432.aspx</wfw:commentRss><comments>http://geekswithblogs.net/iupdateable/archive/2009/11/20/tangible-t4-editor-ndash-a-life-saver.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/iupdateable/services/trackbacks/136432.aspx</trackback:ping><source url="http://geekswithblogs.net/iupdateable/rss.aspx">Tangible T4 Editor &amp;ndash; a life saver</source><description>&lt;p&gt;I have been working with T4 (Text Template Transformation Toolkit) lately thanks to the Entity Framework team &lt;a href="http://geekswithblogs.net/iupdateable/archive/2009/11/19/getting-started-with-entity-framework-4---templated-code-generation.aspx"&gt;moving their code generation model over to T4&lt;/a&gt; in Visual Studio 2010. However by default Visual Studio 2008 and 2010 do not include syntax highlighting or intellisense support for T4 files, which makes it rather difficult to work with them (very difficult at times!). Thankfully there are partners who address this. The one I am using with Beta 2 of Visual Studio 2010 is the &lt;a href="http://t4-editor.tangible-engineering.com/Readme_FMT_B2.htm"&gt;Tangible T4 editor&lt;/a&gt;. You can easily add this into Visual Studio using the Extensions Manager from the Tools menu:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/iupdateable/WindowsLiveWriter/TangibleT4Editoralifesaver_82BB/image_2.png" rel="lightbox"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://geekswithblogs.net/images/geekswithblogs_net/iupdateable/WindowsLiveWriter/TangibleT4Editoralifesaver_82BB/image_thumb.png" width="640" height="442" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Once added, it will change this:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/iupdateable/WindowsLiveWriter/TangibleT4Editoralifesaver_82BB/image_4.png" rel="lightbox"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://geekswithblogs.net/images/geekswithblogs_net/iupdateable/WindowsLiveWriter/TangibleT4Editoralifesaver_82BB/image_thumb_1.png" width="518" height="208" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Into this:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/iupdateable/WindowsLiveWriter/TangibleT4Editoralifesaver_82BB/image_6.png" rel="lightbox"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://geekswithblogs.net/images/geekswithblogs_net/iupdateable/WindowsLiveWriter/TangibleT4Editoralifesaver_82BB/image_thumb_2.png" width="612" height="237" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Sweet!&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136432"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136432" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/iupdateable/aggbug/136432.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/O1C6OX5ybmk" height="1" width="1"/&gt;</description><dc:creator>Eric Nelson</dc:creator><feedburner:origLink>http://geekswithblogs.net/iupdateable/archive/2009/11/20/tangible-t4-editor-ndash-a-life-saver.aspx</feedburner:origLink></item><item><title>PDC 2009 Hangover</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/3yfwv31fa-M/136431.aspx</link><pubDate>Fri, 20 Nov 2009 08:38:45 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/mikehuguet/archive/2009/11/20/136431.aspx</guid><wfw:comment>http://geekswithblogs.net/mikehuguet/comments/136431.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/mikehuguet/comments/commentRss/136431.aspx</wfw:commentRss><comments>http://geekswithblogs.net/mikehuguet/archive/2009/11/20/136431.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/mikehuguet/services/trackbacks/136431.aspx</trackback:ping><source url="http://geekswithblogs.net/mikehuguet/rss.aspx">PDC 2009 Hangover</source><description>&lt;p&gt;For the first time in my career I have attended a major conference and it was well worth the wait.  I had a handful of major objectives in attending of which all were met.&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Gain an understanding of Azure and how we can leverage it for our small and mid market customers. &lt;/li&gt;    &lt;li&gt;Gain more detailed insight into changes in SharePoint 2010 that will impact customizations and solutions that we provide our customers. &lt;/li&gt;    &lt;li&gt;Have some dialog with some of the MS data team members and others to understand MS’ vision for data store interaction. &lt;/li&gt;    &lt;li&gt;Meet people and make some great contacts. &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;There are a few things that became VERY clear as early as the first day. &lt;/p&gt;  &lt;h3&gt;MS’ Vision is “clouded.”  (***pun intended***)&lt;/h3&gt;  &lt;p&gt;Microsoft has made major investments in software (across a large portion of product lines), hardware, and relationships in order to make their vision of &lt;strong&gt;&lt;font color="#800080" size="4"&gt;3 screens and a cloud &lt;/font&gt;&lt;/strong&gt;a reality.  They now have a modular datacenter in which they will be reselling at some point in the future.  You can see an installation at &lt;a title="http://www.microsoft.com/video/en/us/details/bafe5c0f-8651-4609-8c71-24c733ce628b" href="http://www.microsoft.com/video/en/us/details/bafe5c0f-8651-4609-8c71-24c733ce628b"&gt;http://www.microsoft.com/video/en/us/details/bafe5c0f-8651-4609-8c71-24c733ce628b&lt;/a&gt;.  It is essentially a data center in a box that can be delivered like a POD storage unit.  It can be “plugged” into your existing datacenter or it can be standalone.  In either case Windows Azure is the operating system for the data center.  It has services that facilitates many features, but an example is support for quick scale out of servers.  This is controlled by a customer developer portal that only takes a few configuration changes in the browser and clicking a button to increase the number of servers.  Silverlight is being highlighted as part of this vision as it enriches the browser experience and will soon find its way to a mobile device.&lt;/p&gt;  &lt;h3&gt;There is a Focus on OS Usability with Win 7&lt;/h3&gt;  &lt;p&gt;Microsoft has gone back to the basics and spent much time and effort in improving the usability of their consumer operating system.  They want Windows 7 to be successful so much that they gave us each a laptop loaded with the Ultimate edition that supports all features including the multi-touch display.  They spent a decent chunk of time on this during the second day keynote.&lt;/p&gt;  &lt;h3&gt;There is a Push for SharePoint Adoption by Developers&lt;/h3&gt;  &lt;p&gt;The development environment for SharePoint customizations is now a first class citizen in Visual Studio and SharePoint.  While there seem to be a few kinks to work out between now and the release of MSS 2010 and VS 2010, it is VERY exciting.  It was unfortunate to see that a good portion of developers left the keynote when they started talking about Office and SharePoint 2010.  For every session block there seemed to be a session on something SharePoint related.&lt;/p&gt;  &lt;h3&gt;The Data team (as they are now called) has heard our pain of getting something drastically new annually&lt;/h3&gt;  &lt;p&gt;In listening to the keynote and several sessions as well as speaking with &lt;a href="http://blogs.msdn.com/elisaj"&gt;Elisa Flasko&lt;/a&gt; from the data team it became evident that one of the main reasons for them introducing oData was to make things more consistent and transparent.  This will allow us to have one consistent API/Protocol to use instead of having to choose from between ADO.NET Data Services, REST Services, etc.  I was pretty impressed with what I saw.  Check out the new data site on MSDN, &lt;a title="http://msdn.microsoft.com/en-us/data/default.aspx" href="http://msdn.microsoft.com/en-us/data/default.aspx"&gt;http://msdn.microsoft.com/en-us/data/default.aspx&lt;/a&gt;.  &lt;/p&gt;  &lt;p&gt;Thanks again to &lt;a href="http://chriskoenig.net"&gt;Chris Koenig&lt;/a&gt;, MS Developer Evangelist, for letting a newbie hang around!&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136431"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136431" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/mikehuguet/aggbug/136431.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/3yfwv31fa-M" height="1" width="1"/&gt;</description><dc:creator>Mike Huguet</dc:creator><feedburner:origLink>http://geekswithblogs.net/mikehuguet/archive/2009/11/20/136431.aspx</feedburner:origLink></item><item><title>Silverlight Cream for November 19, 2009 - 2 -- #736</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/A_IV3Kjfi4M/136430.aspx</link><pubDate>Fri, 20 Nov 2009 05:28:15 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/WynApseTechnicalMusings/archive/2009/11/19/136430.aspx</guid><wfw:comment>http://geekswithblogs.net/WynApseTechnicalMusings/comments/136430.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/WynApseTechnicalMusings/comments/commentRss/136430.aspx</wfw:commentRss><comments>http://geekswithblogs.net/WynApseTechnicalMusings/archive/2009/11/19/136430.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/WynApseTechnicalMusings/services/trackbacks/136430.aspx</trackback:ping><source url="http://geekswithblogs.net/WynApseTechnicalMusings/rss.aspx">Silverlight Cream for November 19, 2009 - 2 -- #736</source><description>&lt;p&gt;&lt;font face="tahoma"&gt;In this Issue: &lt;a href="#20091119Rob Houweling"&gt;&lt;u&gt;Rob Houweling&lt;/u&gt;&lt;/a&gt;, &lt;a href="#20091119Michael Washington"&gt;&lt;u&gt;Michael Washington&lt;/u&gt;&lt;/a&gt;, &lt;a href="#20091119Colin Eberhardt"&gt;&lt;u&gt;Colin Eberhardt&lt;/u&gt;&lt;/a&gt;, &lt;a href="#20091119Laurent Bugnion"&gt;&lt;u&gt;Laurent Bugnion&lt;/u&gt;&lt;/a&gt;, &lt;a href="#20091119Tomasz Janczuk"&gt;&lt;u&gt;Tomasz Janczuk&lt;/u&gt;&lt;/a&gt;, &lt;a href="#20091119Jeremy Likness"&gt;&lt;u&gt;Jeremy Likness&lt;/u&gt;&lt;/a&gt;, and &lt;a href="#20091119Andy Beaulieu"&gt;&lt;u&gt;Andy Beaulieu&lt;/u&gt;&lt;/a&gt;. &lt;br /&gt;
&lt;br /&gt;
&lt;/font&gt;
&lt;/p&gt;&lt;p&gt; &lt;/p&gt;

&lt;center&gt;&lt;hr width="50%" /&gt;
&lt;/center&gt;
&lt;p&gt;From &lt;a href="http://www.silverlightcream.com"&gt;&lt;u&gt;SilverlightCream.com&lt;/u&gt;&lt;/a&gt;:&lt;/p&gt;
&lt;dl&gt;
    &lt;dt&gt;&lt;a name="20091119Rob Houweling"&gt;&lt;/a&gt;&lt;a title="http://sixin.nl/rob-houweling-blog/09-11-19/Silverlight_4_ndash_Using_the_webcam.aspx" href="http://www.silverlightcream.com/SilverlightCreamRedirect.aspx?LinkID=4558"&gt;&lt;u&gt;Silverlight 4 – Using the webcam &lt;/u&gt;&lt;/a&gt;&lt;/dt&gt;
    &lt;dd&gt;&lt;b&gt;Rob Houweling&lt;/b&gt; has a tutorial up on using the webcam in Silverlight 4 Beta ... all good stuff, and hmm... I'm not following their new site, so that brings the total up to 397 :) &lt;/dd&gt;
    &lt;dt&gt;&lt;a name="20091119Michael Washington"&gt;&lt;/a&gt;&lt;a title="http://openlightgroup.net/Blog/tabid/58/EntryId/45/Silverlight-Bridge-A-Silverlight-4-File-Manager.aspx" href="http://www.silverlightcream.com/SilverlightCreamRedirect.aspx?LinkID=4557"&gt;&lt;u&gt;Silverlight Bridge - A Silverlight 4 File Manager&lt;/u&gt;&lt;/a&gt; &lt;/dt&gt;
    &lt;dd&gt;Access your local file system and drag-and-drop, and OOB in Silverlight? --- wow, check out the work &lt;b&gt;Michael Washington&lt;/b&gt;'s been up to! &lt;/dd&gt;
    &lt;dt&gt;&lt;a name="20091119Colin Eberhardt"&gt;&lt;/a&gt;&lt;a title="http://www.scottlogic.co.uk/blog/colin/2009/11/silverlight-4-beta-released-leaving-flex-behind/" href="http://www.silverlightcream.com/SilverlightCreamRedirect.aspx?LinkID=4556"&gt;&lt;u&gt;Silverlight 4 beta released leaving Flex behind&lt;/u&gt;&lt;/a&gt; &lt;/dt&gt;
    &lt;dd&gt;&lt;b&gt;Colin Eberhardt&lt;/b&gt; goes so far as to say Silverlight has now left Flex behind... check it out and see if you agree... don't ask me, I drank the Kool-Aid :) -- and thanks for the shoutout, Colin! &lt;/dd&gt;
    &lt;dt&gt;&lt;a name="20091119Laurent Bugnion"&gt;&lt;/a&gt;&lt;a title="http://blog.galasoft.ch/archive/2009/11/18/silverlight-4-beta-released-at-pdc09.aspx" href="http://www.silverlightcream.com/SilverlightCreamRedirect.aspx?LinkID=4555"&gt;&lt;u&gt;Silverlight 4 beta released at #PDC09&lt;/u&gt;&lt;/a&gt; &lt;/dt&gt;
    &lt;dd&gt;I held back &lt;b&gt;Laurent Bugnion&lt;/b&gt;'s post about Silverlight 4 this morning because he discusses what's on many people's mind, and that's "what does this mean for WPF?" &lt;/dd&gt;
    &lt;dt&gt;&lt;a name="20091119Tomasz Janczuk"&gt;&lt;/a&gt;&lt;a title="http://tomasz.janczuk.org/2009/11/wcf-nettcp-protocol-in-silverlight-4.html" href="http://www.silverlightcream.com/SilverlightCreamRedirect.aspx?LinkID=4554"&gt;&lt;u&gt;WCF net.tcp protocol in Silverlight 4&lt;/u&gt;&lt;/a&gt; &lt;/dt&gt;
    &lt;dd&gt;&lt;b&gt;Tomasz Janczuk&lt;/b&gt; discusses the new WCF service capability in Silverlight 4 Beta using net.tcp &lt;/dd&gt;
    &lt;dt&gt;&lt;a name="20091119Jeremy Likness"&gt;&lt;/a&gt;&lt;a title="http://csharperimage.jeremylikness.com/2009/11/dynamic-module-loading-with-silverlight.html" href="http://www.silverlightcream.com/SilverlightCreamRedirect.aspx?LinkID=4553"&gt;&lt;u&gt;Dynamic Module Loading with Silverlight Navigation using Prism&lt;/u&gt;&lt;/a&gt; &lt;/dt&gt;
    &lt;dd&gt;&lt;b&gt;Jeremy Likness&lt;/b&gt; has a post up on Prism and Silverlight, Dynamic Modules, and Navigation. This is a farily involved tutorial, so give yourself time to read. &lt;/dd&gt;
    &lt;dt&gt;&lt;a name="20091119Andy Beaulieu"&gt;&lt;/a&gt;&lt;a title="http://www.andybeaulieu.com/Home/tabid/67/EntryID/180/Default.aspx" href="http://www.silverlightcream.com/SilverlightCreamRedirect.aspx?LinkID=4552"&gt;&lt;u&gt;Silverlight 4 Beta: Implicit Styles&lt;/u&gt;&lt;/a&gt; &lt;/dt&gt;
    &lt;dd&gt;&lt;b&gt;Andy Beaulieu&lt;/b&gt; has a post up talking about the new Implicit Styles in Silverlight 4 Beta with code examples and Blend examples. &lt;/dd&gt;
&lt;/dl&gt;
&lt;p&gt;&lt;br /&gt;
&lt;font color="#0000ff"&gt;&lt;strong&gt;Stay in the 'Light!&lt;/strong&gt;&lt;/font&gt;&lt;br /&gt;
 &lt;/p&gt;
&lt;center&gt;&lt;hr width="50%" /&gt;
&lt;a href="http://twitter.com/SilverlightNews"&gt;&lt;u&gt;Twitter SilverlightNews&lt;/u&gt;&lt;/a&gt; | &lt;a href="http://twitter.com/WynApse"&gt;&lt;u&gt;Twitter WynApse&lt;/u&gt;&lt;/a&gt; | &lt;a href="http://www.wynapse.com"&gt;&lt;u&gt;WynApse.com&lt;/u&gt;&lt;/a&gt; | &lt;a href="http://www.wynapse.com/TaggedPosts.aspx"&gt;&lt;u&gt;Tagged Posts&lt;/u&gt;&lt;/a&gt; | &lt;a href="http://www.silverlightcream.com"&gt;&lt;u&gt;SilverlightCream&lt;/u&gt;&lt;/a&gt; &lt;br /&gt;
&lt;a href="http://tech.groups.yahoo.com/group/SilverlightCream/join"&gt;&lt;u&gt;Join me @ SilverlightCream&lt;/u&gt;&lt;/a&gt; | &lt;a href="http://www.phoenixsilverlight.net"&gt;&lt;u&gt;Phoenix Silverlight User Group&lt;/u&gt;&lt;/a&gt; &lt;br /&gt;
&lt;/center&gt;
&lt;p&gt;&lt;br /&gt;
&lt;br /&gt;
Technorati Tags: &lt;a rel="tag" href="http://technorati.com/tag/Silverlight"&gt;&lt;img alt=" " style="border-bottom: 0pt; border-left: 0pt; margin-left: 0.4em; vertical-align: middle; border-top: 0pt; border-right: 0pt" src="http://static.technorati.com/static/img/pub/icon-utag-16x13.png?tag=Silverlight" /&gt;Silverlight&lt;/a&gt;    &lt;a rel="tag" href="http://technorati.com/tag/silverlight-3"&gt;&lt;img alt=" " style="border-bottom: 0pt; border-left: 0pt; margin-left: 0.4em; vertical-align: middle; border-top: 0pt; border-right: 0pt" src="http://static.technorati.com/static/img/pub/icon-utag-16x13.png?tag=silverlight-3" /&gt;Silverlight 3&lt;/a&gt;    &lt;a rel="tag" href="http://technorati.com/tag/silverlight-4"&gt;&lt;img alt=" " style="border-bottom: 0pt; border-left: 0pt; margin-left: 0.4em; vertical-align: middle; border-top: 0pt; border-right: 0pt" src="http://static.technorati.com/static/img/pub/icon-utag-16x13.png?tag=silverlight-4" /&gt;Silverlight 4&lt;/a&gt;    &lt;a rel="tag" href="http://technorati.com/tag/SilverlightCream"&gt;&lt;img alt=" " style="border-bottom: 0pt; border-left: 0pt; margin-left: 0.4em; vertical-align: middle; border-top: 0pt; border-right: 0pt" src="http://static.technorati.com/static/img/pub/icon-utag-16x13.png?tag=SilverlightCream" /&gt;SilverlightCream&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136430"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136430" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/WynApseTechnicalMusings/aggbug/136430.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/A_IV3Kjfi4M" height="1" width="1"/&gt;</description><dc:creator>Dave Campbell</dc:creator><feedburner:origLink>http://geekswithblogs.net/WynApseTechnicalMusings/archive/2009/11/19/136430.aspx</feedburner:origLink></item><item><title>SharePoint Saturday Cleveland 2009 Recap</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/CCzfmNrlG5U/sharepoint-saturday-cleveland-2009-recap.aspx</link><pubDate>Fri, 20 Nov 2009 05:02:36 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/bjackett/archive/2009/11/20/sharepoint-saturday-cleveland-2009-recap.aspx</guid><wfw:comment>http://geekswithblogs.net/bjackett/comments/136429.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/bjackett/comments/commentRss/136429.aspx</wfw:commentRss><comments>http://geekswithblogs.net/bjackett/archive/2009/11/20/sharepoint-saturday-cleveland-2009-recap.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/bjackett/services/trackbacks/136429.aspx</trackback:ping><source url="http://geekswithblogs.net/bjackett/rss.aspx">SharePoint Saturday Cleveland 2009 Recap</source><description>&lt;p&gt;     As noted in my &lt;a href="http://geekswithblogs.net/bjackett/archive/2009/11/15/sharepoint-saturday-cleveland-slides-and-demo-scripts-ndash-powershell.aspx"&gt;previous post&lt;/a&gt; I attended and spoke at the &lt;a href="http://www.sharepointsaturday.org/cleveland/default.aspx"&gt;SharePoint Saturday Cleveland&lt;/a&gt; 2009 conference.  For those unfamiliar, SharePoint Saturday is a community driven event where various speakers gather to present at a FREE conference on all topics related to SharePoint.  This was my first SharePoint Saturday and it was a great community event to attend.  Over the past 6 months or so I’ve been following various Twitter users talking about SharePoint Saturdays in their region so I was excited to see what all the buzz was about.&lt;/p&gt;  &lt;p&gt;    Friday night I arrived in Cleveland for the speaker (nerd) dinner at Fahrenheit in Tremont.  I was finally able to put a face (real, not just their picture online) to various names like &lt;a href="http://www.ericharlan.com/"&gt;Eric Harlan&lt;/a&gt; (@ericharlan) and &lt;a href="http://thesharepoint.spaces.live.com/"&gt;Jesse Murray&lt;/a&gt; (@lackscreativity) from the Baltimore and Detroit Sogeti offices, &lt;a href="http://ricknology.blogspot.com/"&gt;Rick Black&lt;/a&gt; (@ricknology), and also see some familiar faces again like John Ferringer (@ferringer), Sean McDonough (@spmcdonough), Callahan (@cacallahan) and Melissa Lucarelli (@smartyskirt).  Can you sense that I know too many people by their Twitter names?&lt;/p&gt;  &lt;p&gt;    Saturday started off early as I was scheduled to speak during the first session.  I gave my “The Power of PowerShell + SharePoint” presentation to about 20 people.  As most of the crowd was still waking up I threw in some jokes and funny slides to keep things lively.  They had a number of great questions as we went along and hopefully learned a good introduction to PowerShell and how to use it with SharePoint.&lt;/p&gt;  &lt;p&gt;    After my session I tried to attend talks on other topics that I hadn’t heard much about such as PerformancePoint, InfoPath Forms, SharePoint branding, and the new Metadata Manager.  I wish I could have attended more sessions, but only so much time in the day and I can only be in one place at a time.  Overall the level of content was good and I appreciate all the time and hard work each speaker put into the day.&lt;/p&gt;  &lt;p&gt;    Following the conference wrap-up session a dozen or so attendees and speakers met at The Blind Pig in downtown Cleveland for a ritual SharePint.  The Blind Pig was nice enough to host us and provide drinks and appetizers while us conference folks got to unwind from the day.  It was good to hear positive feedback from the conference and get to share SharePoint and personal stories.&lt;/p&gt;  &lt;p&gt;    As all good things must come to an end, so did my time at SharePoint Saturday Cleveland.  I was able to snap a few pictures which I’ve posted a link to below.  I’ve heard there will be a SharePoint Saturday Indianapolis early in 2010 as well as ones being planned for Pittsburgh and Columbus not far after.  If you’ve never been to a SharePoint Saturday I would highly encourage you to attend (did I mention it’s FREE!)  A final thanks to everyone who helped put on the event, spoke, sponsored, or had any hand in making this event happen.  Without you this never would have been possible.  I look forward to attending more such events and keeping the SharePoint community growing.  &lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;   &lt;/p&gt;&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:66721397-FF69-4ca6-AEC4-17E6B3208830:7e27a092-18d9-46ac-80ea-02c215ac33fc" class="wlWriterEditableSmartContent"&gt;&lt;a style="border:0px" href="http://cid-9137d132751b949f.skydrive.live.com/redir.aspx?page=browse&amp;amp;resid=9137D132751B949F!290&amp;amp;ct=photos"&gt;&lt;img style="border:0px" alt="View SharePoint Saturday Cleveland Nov '09" src="http://geekswithblogs.net/images/geekswithblogs_net/bjackett/WindowsLiveWriter/SharePointSaturdayCleveland2009Recap_7F/InlineRepresentation615982b6-120a-4980-a105-e8fbc8f05cbf.jpg" /&gt;&lt;/a&gt;&lt;div style="width:340px;text-align:right;"&gt;&lt;a href="http://cid-9137d132751b949f.skydrive.live.com/redir.aspx?page=browse&amp;amp;resid=9137D132751B949F!290&amp;amp;ct=photos"&gt;View Full Album&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;   &lt;p&gt; &lt;/p&gt;  &lt;p&gt;       -Frog Out&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136429"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136429" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/bjackett/aggbug/136429.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/CCzfmNrlG5U" height="1" width="1"/&gt;</description><dc:creator>Brian Jackett</dc:creator><feedburner:origLink>http://geekswithblogs.net/bjackett/archive/2009/11/20/sharepoint-saturday-cleveland-2009-recap.aspx</feedburner:origLink></item><item><title>Mitch.Web Re-Branded to The Evil Little Developer's Toolbox</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/qLWsV7PMHAs/mitch.web-re-branded-to-the-evil-little-developers-toolbox.aspx</link><pubDate>Fri, 20 Nov 2009 04:48:18 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/Mitch/archive/2009/11/19/mitch.web-re-branded-to-the-evil-little-developers-toolbox.aspx</guid><wfw:comment>http://geekswithblogs.net/Mitch/comments/136428.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/Mitch/comments/commentRss/136428.aspx</wfw:commentRss><comments>http://geekswithblogs.net/Mitch/archive/2009/11/19/mitch.web-re-branded-to-the-evil-little-developers-toolbox.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/Mitch/services/trackbacks/136428.aspx</trackback:ping><source url="http://geekswithblogs.net/Mitch/rss.aspx">Mitch.Web Re-Branded to The Evil Little Developer's Toolbox</source><description>&lt;p&gt;Let's face it, it needed a rename. &lt;a title="Mitch.Web Framework" href="http://mitchweb.codeplex.com/" rel="" target="_blank"&gt;Mitch.Web&lt;/a&gt; just lacks everything in terms of marketing, so I've re-branded my (currently error logging :P) framework to "The Evil Little Developer's Toolbox" in game with my EvilDev theme. I've also made advancements (not guaranteed to work yet) on my error logging framework, mostly in terms of a new Services Project, and the Logging Service. The logging service, is a WCF Service, designed to log errors to a database.&lt;br /&gt;
&lt;br /&gt;
The idea behind it, well, I generally focus my efforts towards Web Applications, and one thing I've been looking for, and haven't had much luck in finding is, a standardized end-to-end error logging solution. I like to know when my javascript breaks, or my silverlight application has a heart attack. I like to know when my flash components fail horribly. Now, each platform has methods of error logging (let's face it, this isn't exactly a "new" concept). I haven't had much chance to play with WCF before this, so I figured I could kill two birds with one stone if you will.&lt;br /&gt;
&lt;br /&gt;
Once I solidify my service code, (and hopefully find a pleasant way to make it easily redistribute), I'll set about writing libraries for the various platforms I plan to support (I want to be able to simply include a js file in my GlobalMaster.aspx for example, and have all javascript errors logged).&lt;br /&gt;
&lt;br /&gt;
It's a rather simple Architecture, requiring only some basic error info/log message, and a Registered Application Guid (to ensure not just anybody can log to my service.&lt;/p&gt;
&lt;p&gt;Anyways, if you feel like checking it out, codeplex URL has been changed (although apparantly the old url will just redirect), so check it at:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://evildevtoolbox.codeplex.com/"&gt;http://evildevtoolbox.codeplex.com/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136428"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136428" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/Mitch/aggbug/136428.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/qLWsV7PMHAs" height="1" width="1"/&gt;</description><dc:creator>Mitchell Lee</dc:creator><feedburner:origLink>http://geekswithblogs.net/Mitch/archive/2009/11/19/mitch.web-re-branded-to-the-evil-little-developers-toolbox.aspx</feedburner:origLink></item><item><title>#PDC09 &amp;rsquo;s Final Verdict: Eyes on The Prize, Not in the Sky</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/5z_ma1UBB3Q/pdc09-rsquos-final-verdict-eyes-on-the-prize-not-in.aspx</link><pubDate>Fri, 20 Nov 2009 03:19:10 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/andrewbrust/archive/2009/11/19/pdc09-rsquos-final-verdict-eyes-on-the-prize-not-in.aspx</guid><wfw:comment>http://geekswithblogs.net/andrewbrust/comments/136427.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/andrewbrust/comments/commentRss/136427.aspx</wfw:commentRss><comments>http://geekswithblogs.net/andrewbrust/archive/2009/11/19/pdc09-rsquos-final-verdict-eyes-on-the-prize-not-in.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/andrewbrust/services/trackbacks/136427.aspx</trackback:ping><source url="http://geekswithblogs.net/andrewbrust/rss.aspx">#PDC09 &amp;rsquo;s Final Verdict: Eyes on The Prize, Not in the Sky</source><description>&lt;p&gt;&lt;font size="2"&gt;What a difference a day makes…at least to some.  While the Day 1 keynote at PDC seemed mostly like a news update on last year’s announcements, and a somewhat dry one at that, Day 2 gave developers some real “red meat.”  It began with a presentation by Steven Sinofsky on Windows 7’s progress since its launch last month, including demos of the diverse array of hardware on which it now runs.  Sinofsky then offered the ultimate crowd pleaser: he described the specs for a multi-touch Microsoft-designed laptop manufactured by Acer, and then explained that all attendees would be receiving one for free.  That greased the wheels for sure, and was followed up with a glimpse of IE9.  &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;The pièce de résistance was a presentation by developer folk hero Scott Guthrie describing features that would be in the forthcoming Silverlight 4, the beta of which he announced was being made available immediately.  We learned from Guthrie that this release of Silverlight will add an impressive array of client capabilities, from things like printing and microphone/webcam access to applications running in full trust and performing COM automation of Office.  Scott Hanselman showed us how Silverlight 4 and Visual Studio 2010’s Data Sources window make this new version of the RIA platform keenly well-suited for data-over-forms line-of-business applications.  All of this really showed the audience that WPF was becoming more and more of a technology for ISVs (and Microsoft itself), and that custom app developers will find their rich client home in Silverlight.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;After Guthrie finished his presentation, the audience was shown some of the cool new dev-features in SharePoint 2010. Much of this was a summary of stuff shown at Microsoft’s SharePoint conference a few weeks earlier.  Given that, and the fact that Guthrie’s a hard act to follow, the keynote ended somewhat anti-climactically. At about that time, &lt;/font&gt;&lt;font size="2"&gt;my live and prolific “tweeting” of the keynote encountered an anti-climax of its own: Twitter told me I had exceeded my allowance of status updates and shut me down.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;As annoyed as I was by Twitter’s forced interruption of my reports, I thought about it and realized that it was OK.  I really didn’t need to give people the blow-by-blow.  Why?  Because this Day 2 keynote, at which we saw new Internet Explorer and new Silverlight, was still really about incremental developments at Microsoft, as opposed to giant leaps.  Giant leaps are more fun to tweet.  Giant leaps are more fun to see covered at a $2000 conference.  Pondering giant leaps can invoke excitement, optimism and inspiration.  And that’s not what this PDC or this keynote, despite its improvement over Day 1’s, was about.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;Maybe that’s OK.  Maybe it’s alright that this PDC was more like a mid-year parent-teacher conference than starting a new grade and learning new subjects.  The pipeline of the 2010 (and 2008 R2) new releases is dizzying, and developers really need help in absorbing them.  Perhaps now is not the time for bold new vision, but rather for doing the homework and housekeeping necessary to ensure last year’s vision is implemented calmly, clearly and competently.  There’s little point in planning a new game while we’re still in an active one and we need to win.&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136427"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136427" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/andrewbrust/aggbug/136427.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/5z_ma1UBB3Q" height="1" width="1"/&gt;</description><dc:creator>andrewbrust</dc:creator><feedburner:origLink>http://geekswithblogs.net/andrewbrust/archive/2009/11/19/pdc09-rsquos-final-verdict-eyes-on-the-prize-not-in.aspx</feedburner:origLink></item><item><title>A Pilgrim&amp;rsquo;s Diary</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/aheeXTNso0g/alfitoryrsquos-ldquoa-pilgrimrsquos-diaryquot.aspx</link><pubDate>Fri, 20 Nov 2009 03:14:51 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/kariemali/archive/2009/11/19/alfitoryrsquos-ldquoa-pilgrimrsquos-diaryquot.aspx</guid><wfw:comment>http://geekswithblogs.net/kariemali/comments/136426.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/kariemali/comments/commentRss/136426.aspx</wfw:commentRss><comments>http://geekswithblogs.net/kariemali/archive/2009/11/19/alfitoryrsquos-ldquoa-pilgrimrsquos-diaryquot.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/kariemali/services/trackbacks/136426.aspx</trackback:ping><source url="http://geekswithblogs.net/kariemali/rss.aspx">A Pilgrim&amp;rsquo;s Diary</source><description>&lt;p dir="rtl" align="right"&gt;&lt;font face="Tahoma"&gt;أحياناً أوثر الصمت لأني ربما أعجز عن إنتقاء كلمات تنقل ما أشعر به. أو ربما أظن أن الكلمات لا تكفي أحياناً. فهذه أجزاء من قصيدة  الفيتوري يوميات حاج فلتأخذ منها ما شئت فلا أرى وقتاً يوافق واقعه تلك الكلمات مثل هذا الوقت:&lt;/font&gt;&lt;/p&gt;  &lt;p dir="rtl" align="right"&gt;&lt;font face="Tahoma"&gt;قوافل يا سيدي قلوبنا إليك      &lt;br /&gt;تحج كل عام       &lt;br /&gt;هياكل مثقلة بالوجد والهيام       &lt;br /&gt;تسجد عند عتبات البيت والمقام       &lt;br /&gt;تقرئك السلام       &lt;br /&gt;يا سيدي عليك أفضل السلام       &lt;br /&gt;      &lt;br /&gt;يا سيدي عليك أفضل السلام       &lt;br /&gt;من أمة مضاعة       &lt;br /&gt;خاسرة البضاعة       &lt;br /&gt;تقذفها حضارة الخراب والظلام       &lt;br /&gt;إليك كل عام       &lt;br /&gt;لعلها تجد الشفاعة       &lt;br /&gt;لشمسها العمياء في الزحام       &lt;br /&gt;      &lt;br /&gt;يا سيدي       &lt;br /&gt;منذ ردمنا البحر بالسدود       &lt;br /&gt;وانتصبت بيننا وبينك الحدود       &lt;br /&gt;متنا       &lt;br /&gt;وداست فوقنا ماشية اليهود       &lt;br /&gt;      &lt;br /&gt;يا سيدي       &lt;br /&gt;تعلم أن كان لنا مجد وضيعناه       &lt;br /&gt;بنيته انت وهدمناه       &lt;br /&gt;واليوم ها نحن       &lt;br /&gt;أجل يا سيدي       &lt;br /&gt;نرفل في سقطتنا العظيمة       &lt;br /&gt;كأننا شواهد قديمة       &lt;br /&gt;تعيش عمرها لكي       &lt;br /&gt;تؤرخ الهزيمة  &lt;br /&gt;      &lt;br /&gt;لا جمر في عظامنا ولا رماد       &lt;br /&gt;لا ثلج لا سواد       &lt;br /&gt;لا الكفر كله ولا العبادة       &lt;br /&gt;الضعف والذلة عادة       &lt;br /&gt;يا سيدي       &lt;br /&gt;علمتنا الحب       &lt;br /&gt;فعلمنا تمرد الإرادة&lt;/font&gt;&lt;/p&gt;  &lt;p dir="rtl" align="right"&gt;&lt;font face="Tahoma"&gt; &lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136426"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136426" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/kariemali/aggbug/136426.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/aheeXTNso0g" height="1" width="1"/&gt;</description><dc:creator>kariemali</dc:creator><feedburner:origLink>http://geekswithblogs.net/kariemali/archive/2009/11/19/alfitoryrsquos-ldquoa-pilgrimrsquos-diaryquot.aspx</feedburner:origLink></item><item><title>mocra off railers t-shirt</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/z1K23Y-lE7Y/136424.aspx</link><pubDate>Thu, 19 Nov 2009 20:14:06 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/liammclennan/archive/2009/11/19/136424.aspx</guid><wfw:comment>http://geekswithblogs.net/liammclennan/comments/136424.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/liammclennan/comments/commentRss/136424.aspx</wfw:commentRss><comments>http://geekswithblogs.net/liammclennan/archive/2009/11/19/136424.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/liammclennan/services/trackbacks/136424.aspx</trackback:ping><source url="http://geekswithblogs.net/liammclennan/rss.aspx">mocra off railers t-shirt</source><description>&lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/liammclennan/WindowsLiveWriter/mocraoffrailerstshirt_AC00/mocra_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px" title="mocra" border="0" alt="mocra" align="left" src="http://geekswithblogs.net/images/geekswithblogs_net/liammclennan/WindowsLiveWriter/mocraoffrailerstshirt_AC00/mocra_thumb.png" width="244" height="244" /&gt;&lt;/a&gt; In a little over 5 weeks Dr Nic and the Fair-brothers will begin their Homeric &lt;a href="http://www.mocraoffrailers.com/what-is-rickshaw-run.html" target="_blank"&gt;rickshaw running adventure&lt;/a&gt; from the Himalayas to the south of India. Their adventure is raising money for &lt;a href="http://www.mocraoffrailers.com/our-charities.html" target="_blank"&gt;some worthy causes&lt;/a&gt; so please give generously.&lt;/p&gt;  &lt;p&gt;As you can see, Greg was kind enough to send me a mocra off railers t-shirt. It is very comfortable. Thanks Greg and good luck!&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136424"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136424" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/liammclennan/aggbug/136424.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/z1K23Y-lE7Y" height="1" width="1"/&gt;</description><dc:creator>Liam McLennan</dc:creator><feedburner:origLink>http://geekswithblogs.net/liammclennan/archive/2009/11/19/136424.aspx</feedburner:origLink></item><item><title>Silverlight (beta) 4.0 is here!!</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/kyGvxfhzExY/silverlight-4.0-is-here.aspx</link><pubDate>Fri, 20 Nov 2009 00:03:22 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/subodhnpushpak/archive/2009/11/20/silverlight-4.0-is-here.aspx</guid><wfw:comment>http://geekswithblogs.net/subodhnpushpak/comments/136423.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/subodhnpushpak/comments/commentRss/136423.aspx</wfw:commentRss><comments>http://geekswithblogs.net/subodhnpushpak/archive/2009/11/20/silverlight-4.0-is-here.aspx#comment</comments><slash:comments>3</slash:comments><trackback:ping>http://geekswithblogs.net/subodhnpushpak/services/trackbacks/136423.aspx</trackback:ping><source url="http://geekswithblogs.net/subodhnpushpak/rss.aspx">Silverlight (beta) 4.0 is here!!</source><description>&lt;p&gt;Silverlight has come to an age from WPF/E days and today 4.0 version was launched.&lt;/p&gt;
&lt;p&gt;Features includes:&lt;/p&gt;
&lt;p&gt;Support for enterprise applications:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Printing support&lt;/strong&gt;: Silverlight application can print itself, how the content is formatted when printed, and determine the content that will appear. It even has capabilities to print a portion of the Silverlight content.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;RichTextArea control / WebBrowser Control&lt;/strong&gt;: The RichTextArea has Bi-Di support, allows hyperlinks, XAML content, and embedding of images. It also supports changing the font size, foreground color, and making text bold, italicized, and underlined as well as many other rich text features. The WebBrowser control displays HTML in the control when running Out-of-Browser&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;WCF RIA services&lt;/strong&gt;: Exposes an object model on the server through an optimized .NET to .NET binary format as well as an open JavaScript Object Notation (JSON) format to Silverlight application. WCF RIA Services has features to assist with change tracking on the client in Silverlight, user authentication, and personalization ( a la EDM change tracking system for integration with DB!!!)..&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;MEF suuport&lt;/strong&gt;: Deploy application in multiple Silverlight applications (XAP) files. This allows the XAP files to be dynamically downloaded at runtime. MEF allows applications to be context-aware where the available parts change based on the state of the application. It also improves the general maintainability of Silverlight applications by greatly introduce loose coupling between its components.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;InBuilt support for MVVM: &lt;b&gt;Command Property on ButtonBase and Hyperlink&lt;/b&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;IDataErrorInfo, &lt;b&gt;INotifyDataErrorInfo &lt;/b&gt;: Get errors when (data) bindings fails. &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Auto-Sizing Columns and Copy from DataGrid&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Navigation Page Loading Extensibility: introduces MVC-style navigation&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Excellent data binding support through XAML code: &lt;/strong&gt;Binding to String Indexers / SelectedValue and SelectedValuePath on the Selector / StringFormat, TargetNullValue, FallbackValue:&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Databinding Support for Dependency Objects&lt;/b&gt;: Allows bind properties on a DependencyObject (DO) and not just on FrameworkElements.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;CompositeTransform for animations:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;ObservableCollection&amp;lt;T&amp;gt; Constructor Accepts IList and IEnumerable &lt;/b&gt;:&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Inbuilt MouseWheel Support: &lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Right Mouse Click:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Programmatic Clipboard Access:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Webcam and Microphone Support:&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Offline Digital Rights Management&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Notifications (Toast)&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;File System Access / COM automation for trusted applications: &lt;/strong&gt;If both return true and Microsoft Office is installed, you can create an instance of an object such as Microsoft Word&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Cross-Domain Networking Access&lt;/b&gt;: An Out-of-Browser Trusted Application can perform cross-domain network calls.&lt;/p&gt;
&lt;p&gt;It could NOT have been better than this… i wished i had all these features for a silverlight application(currently in SL3) i am involved in and SL team has delivered!!&lt;/p&gt;
&lt;p&gt;Will be blogging more on these once a have more time…&lt;/p&gt;
&lt;div class="wlWriterEditableSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:93371350-4797-4174-bb27-5cfa04047e76" style="margin: 0px; padding: 0px; display: inline; float: none;"&gt;Technorati Tags: &lt;a rel="tag" href="http://technorati.com/tags/Silverlight+4.0"&gt;Silverlight 4.0&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136423"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136423" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/subodhnpushpak/aggbug/136423.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/kyGvxfhzExY" height="1" width="1"/&gt;</description><dc:creator>subodhnpushpak</dc:creator><feedburner:origLink>http://geekswithblogs.net/subodhnpushpak/archive/2009/11/20/silverlight-4.0-is-here.aspx</feedburner:origLink></item><item><title>Creating a comma separated list from IEnumerable&amp;lt;T&amp;gt; &amp;hellip; again</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/lxaxnqgSllk/creating-a-comma-separated-list-from-ienumerablelttgt-hellip-again.aspx</link><pubDate>Thu, 19 Nov 2009 22:02:16 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/WillSmith/archive/2009/11/19/creating-a-comma-separated-list-from-ienumerablelttgt-hellip-again.aspx</guid><wfw:comment>http://geekswithblogs.net/WillSmith/comments/136422.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/WillSmith/comments/commentRss/136422.aspx</wfw:commentRss><comments>http://geekswithblogs.net/WillSmith/archive/2009/11/19/creating-a-comma-separated-list-from-ienumerablelttgt-hellip-again.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/WillSmith/services/trackbacks/136422.aspx</trackback:ping><source url="http://geekswithblogs.net/WillSmith/rss.aspx">Creating a comma separated list from IEnumerable&amp;lt;T&amp;gt; &amp;hellip; again</source><description>&lt;p&gt;So in response to some comments on my &lt;a href="http://geekswithblogs.net/WillSmith/archive/2008/06/26/creating-a-comma-separated-list-from-ienumerablet.aspx"&gt;original post&lt;/a&gt; on this topic, I started playing around with some other ideas.  I figured it would be cleaner to post code here, rather than the comments.&lt;/p&gt;  &lt;p&gt;How many variations on the theme can we really have?&lt;/p&gt;  &lt;p&gt;As suggested in the comments on the previous post:&lt;/p&gt;  &lt;div id="codeSnippetWrapper" class="csharpcode-wrapper"&gt;   &lt;div id="codeSnippet" class="csharpcode"&gt;     &lt;pre class="alt"&gt;&lt;span id="lnum1" class="lnum"&gt;   1:&lt;/span&gt; &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;static&lt;/span&gt; string Join1&amp;lt;T&amp;gt;( this IEnumerable&amp;lt;T&amp;gt; items, string delimiter, Func&amp;lt;T,string&amp;gt; converter )&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre class="alteven"&gt;&lt;span id="lnum2" class="lnum"&gt;   2:&lt;/span&gt; {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre class="alt"&gt;&lt;span id="lnum3" class="lnum"&gt;   3:&lt;/span&gt;     &lt;span class="kwrd"&gt;return&lt;/span&gt; string.&lt;span class="kwrd"&gt;Join&lt;/span&gt;( delimiter,&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre class="alteven"&gt;&lt;span id="lnum4" class="lnum"&gt;   4:&lt;/span&gt;                         items&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre class="alt"&gt;&lt;span id="lnum5" class="lnum"&gt;   5:&lt;/span&gt;                             .&lt;span class="kwrd"&gt;Select&lt;/span&gt;( converter )&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre class="alteven"&gt;&lt;span id="lnum6" class="lnum"&gt;   6:&lt;/span&gt;                             .&lt;span class="kwrd"&gt;Where&lt;/span&gt;( s =&amp;gt; !string.IsNullOrEmpty( s ) )&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre class="alt"&gt;&lt;span id="lnum7" class="lnum"&gt;   7:&lt;/span&gt;                             .ToArray() );            &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre class="alteven"&gt;&lt;span id="lnum8" class="lnum"&gt;   8:&lt;/span&gt; }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Using Aggregate Linq extension:&lt;/p&gt;

&lt;div id="codeSnippetWrapper" class="csharpcode-wrapper"&gt;
  &lt;div id="codeSnippet" class="csharpcode"&gt;
    &lt;pre class="alt"&gt;&lt;span id="lnum1" class="lnum"&gt;   1:&lt;/span&gt; &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;static&lt;/span&gt; string Join2&amp;lt;T&amp;gt;( this IEnumerable&amp;lt;T&amp;gt; items, string delimiter, Func&amp;lt;T, string&amp;gt; converter )&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre class="alteven"&gt;&lt;span id="lnum2" class="lnum"&gt;   2:&lt;/span&gt; {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre class="alt"&gt;&lt;span id="lnum3" class="lnum"&gt;   3:&lt;/span&gt;     &lt;span class="kwrd"&gt;return&lt;/span&gt; items&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre class="alteven"&gt;&lt;span id="lnum4" class="lnum"&gt;   4:&lt;/span&gt;         .&lt;span class="kwrd"&gt;Aggregate&lt;/span&gt;( string.Empty,&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre class="alt"&gt;&lt;span id="lnum5" class="lnum"&gt;   5:&lt;/span&gt;                     ( agg, &lt;span class="kwrd"&gt;next&lt;/span&gt; ) =&amp;gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre class="alteven"&gt;&lt;span id="lnum6" class="lnum"&gt;   6:&lt;/span&gt;                         {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre class="alt"&gt;&lt;span id="lnum7" class="lnum"&gt;   7:&lt;/span&gt;                             var sNext = converter( &lt;span class="kwrd"&gt;next&lt;/span&gt; );&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre class="alteven"&gt;&lt;span id="lnum8" class="lnum"&gt;   8:&lt;/span&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre class="alt"&gt;&lt;span id="lnum9" class="lnum"&gt;   9:&lt;/span&gt;                             &lt;span class="kwrd"&gt;return&lt;/span&gt; string.IsNullOrEmpty( sNext )&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre class="alteven"&gt;&lt;span id="lnum10" class="lnum"&gt;  10:&lt;/span&gt;                                        ? agg&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre class="alt"&gt;&lt;span id="lnum11" class="lnum"&gt;  11:&lt;/span&gt;                                        : agg + delimiter + sNext;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre class="alteven"&gt;&lt;span id="lnum12" class="lnum"&gt;  12:&lt;/span&gt;                         } );&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre class="alt"&gt;&lt;span id="lnum13" class="lnum"&gt;  13:&lt;/span&gt; }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Aggregate again:&lt;/p&gt;

&lt;div id="codeSnippetWrapper" class="csharpcode-wrapper"&gt;
  &lt;div id="codeSnippet" class="csharpcode"&gt;
    &lt;pre class="alt"&gt;&lt;span id="lnum1" class="lnum"&gt;   1:&lt;/span&gt; &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;static&lt;/span&gt; string Join3&amp;lt;T&amp;gt;( this IEnumerable&amp;lt;T&amp;gt; items, string delimiter, Func&amp;lt;T, string&amp;gt; converter )&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre class="alteven"&gt;&lt;span id="lnum2" class="lnum"&gt;   2:&lt;/span&gt; {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre class="alt"&gt;&lt;span id="lnum3" class="lnum"&gt;   3:&lt;/span&gt;     &lt;span class="kwrd"&gt;return&lt;/span&gt; items&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre class="alteven"&gt;&lt;span id="lnum4" class="lnum"&gt;   4:&lt;/span&gt;         .&lt;span class="kwrd"&gt;Select&lt;/span&gt;( converter )&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre class="alt"&gt;&lt;span id="lnum5" class="lnum"&gt;   5:&lt;/span&gt;         .&lt;span class="kwrd"&gt;Aggregate&lt;/span&gt;( ( agg, sNext ) =&amp;gt; string.IsNullOrEmpty( sNext )&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre class="alteven"&gt;&lt;span id="lnum6" class="lnum"&gt;   6:&lt;/span&gt;                                           ? agg&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre class="alt"&gt;&lt;span id="lnum7" class="lnum"&gt;   7:&lt;/span&gt;                                           : agg + delimiter + sNext );&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre class="alteven"&gt;&lt;span id="lnum8" class="lnum"&gt;   8:&lt;/span&gt; }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;And again:&lt;/p&gt;

&lt;div id="codeSnippetWrapper" class="csharpcode-wrapper"&gt;
  &lt;div id="codeSnippet" class="csharpcode"&gt;
    &lt;pre class="alt"&gt;&lt;span id="lnum1" class="lnum"&gt;   1:&lt;/span&gt; &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;static&lt;/span&gt; string Join4&amp;lt;T&amp;gt;( this IEnumerable&amp;lt;T&amp;gt; items, string delimiter, Func&amp;lt;T, string&amp;gt; converter )&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre class="alteven"&gt;&lt;span id="lnum2" class="lnum"&gt;   2:&lt;/span&gt; {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre class="alt"&gt;&lt;span id="lnum3" class="lnum"&gt;   3:&lt;/span&gt;     &lt;span class="kwrd"&gt;return&lt;/span&gt; items&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre class="alteven"&gt;&lt;span id="lnum4" class="lnum"&gt;   4:&lt;/span&gt;         .&lt;span class="kwrd"&gt;Select&lt;/span&gt;( converter )&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre class="alt"&gt;&lt;span id="lnum5" class="lnum"&gt;   5:&lt;/span&gt;         .&lt;span class="kwrd"&gt;Where&lt;/span&gt;( s =&amp;gt; !string.IsNullOrEmpty( s ) )&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre class="alteven"&gt;&lt;span id="lnum6" class="lnum"&gt;   6:&lt;/span&gt;         .&lt;span class="kwrd"&gt;Aggregate&lt;/span&gt;( ( agg, &lt;span class="kwrd"&gt;next&lt;/span&gt; ) =&amp;gt; agg + delimiter + &lt;span class="kwrd"&gt;next&lt;/span&gt; );&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre class="alt"&gt;&lt;span id="lnum7" class="lnum"&gt;   7:&lt;/span&gt; }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;In the comments for my previous post, there was a decent discussion about the performance of string aggregation, and the suggestion of using StringBuilder instead.  I’m not too concerned about it.  I’m not dealing with large data sets.&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:247a46c1-6d34-43a1-83a5-2efab6f16a05" class="wlWriterEditableSmartContent"&gt;Tags: &lt;a href="http://technorati.com/tags/.Net" rel="tag"&gt;.Net&lt;/a&gt;, &lt;a href="http://technorati.com/tags/C%23" rel="tag"&gt;C#&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136422"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136422" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/WillSmith/aggbug/136422.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/lxaxnqgSllk" height="1" width="1"/&gt;</description><dc:creator>Will Smith</dc:creator><feedburner:origLink>http://geekswithblogs.net/WillSmith/archive/2009/11/19/creating-a-comma-separated-list-from-ienumerablelttgt-hellip-again.aspx</feedburner:origLink></item><item><title>Review of Ext JS 3.0 Cookbook</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/PDwC8Nvga6o/review-of-ext-js-3.0-cookbook.aspx</link><pubDate>Thu, 19 Nov 2009 15:24:32 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/joshholmes/archive/2009/11/19/review-of-ext-js-3.0-cookbook.aspx</guid><wfw:comment>http://geekswithblogs.net/joshholmes/comments/136421.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/joshholmes/comments/commentRss/136421.aspx</wfw:commentRss><comments>http://geekswithblogs.net/joshholmes/archive/2009/11/19/review-of-ext-js-3.0-cookbook.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/joshholmes/services/trackbacks/136421.aspx</trackback:ping><source url="http://geekswithblogs.net/joshholmes/rss.aspx">Review of Ext JS 3.0 Cookbook</source><description>&lt;p&gt;&lt;a href="http://www.joshholmes.com/blog/ct.ashx?id=eac3820b-5113-4df4-ace4-3dbcaa497f39&amp;amp;url=http%3a%2f%2fwww.amazon.com%2fexec%2fobidos%2fASIN%2f1847198708%2fjoshholmes-20"&gt;&lt;img style="margin: 5px 5px 0px; display: inline" border="0" align="left" src="http://images.amazon.com/images/P/1847198708.01.MZZZZZZZ.jpg" /&gt;&lt;/a&gt;For full disclosure, &lt;a href="http://www.joshholmes.com/blog/ct.ashx?id=eac3820b-5113-4df4-ace4-3dbcaa497f39&amp;amp;url=http%3a%2f%2fwww.packtpub.com"&gt;Packt Publishing&lt;/a&gt; sent me a review copy of this book. They did not ask for a positive review, just a review. &lt;/p&gt;  &lt;p&gt;This is the first book by Jorge Ramon that I’ve read. This book is exactly what the title says that it is, a Cookbook. It’s got 109 solutions to problems solved by &lt;a href="http://www.joshholmes.com/blog/ct.ashx?id=eac3820b-5113-4df4-ace4-3dbcaa497f39&amp;amp;url=http%3a%2f%2fwww.amazon.com%2fexec%2fobidos%2fASIN%2f1847198708%2fjoshholmes-20"&gt;Ext JS 3.0&lt;/a&gt;. I was expecting, like a lot of other books to get a fill of all of the philosophy behind what they are trying to promote but that wasn’t the case. This book just in with no nonsense and gets right to the code. &lt;/p&gt;  &lt;p&gt;More on my blog at &lt;a href="http://www.joshholmes.com/blog/2009/11/19/ReviewOfExtJS30Cookbook.aspx"&gt;Review of Ext JS 3.0 Cookbook&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136421"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136421" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/joshholmes/aggbug/136421.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/PDwC8Nvga6o" height="1" width="1"/&gt;</description><dc:creator>Josh Holmes</dc:creator><feedburner:origLink>http://geekswithblogs.net/joshholmes/archive/2009/11/19/review-of-ext-js-3.0-cookbook.aspx</feedburner:origLink></item><item><title>NotAtPDC Demo</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/1XJLc9G2DkM/notatpdc-demo.aspx</link><pubDate>Thu, 19 Nov 2009 21:01:52 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/danemorgridge/archive/2009/11/19/notatpdc-demo.aspx</guid><wfw:comment>http://geekswithblogs.net/danemorgridge/comments/136420.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/danemorgridge/comments/commentRss/136420.aspx</wfw:commentRss><comments>http://geekswithblogs.net/danemorgridge/archive/2009/11/19/notatpdc-demo.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/danemorgridge/services/trackbacks/136420.aspx</trackback:ping><source url="http://geekswithblogs.net/danemorgridge/rss.aspx">NotAtPDC Demo</source><description>&lt;p&gt;I just got done with my NotAtPdc Session On "Getting to Know the Entity Framework".  Of course like a good live presentation, my demo broke.  The problem was in the connection string.  When I did the model first development, I named the model something different for some reason and that caused the connection string to be out of sync in the actual application.  Someone had mentioned that was the problem in the chat, but I didn't see it until after the demo was over.  So, in case anyone else happens to run into this error down the road, be sure your connection string in the app that is using your data model is up to date.  And thanks to the person who mentioned that.  (I don't have the chat log in front of me so I don't have your name or I'd give you credit)&lt;/p&gt;  &lt;p&gt;Thanks to all that attended my session and you can download the demo code (that actually works) &lt;a href="http://danemorgridgebackup.s3.amazonaws.com/codedownload/CMAPCCDemo.zip"&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136420"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136420" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/danemorgridge/aggbug/136420.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/1XJLc9G2DkM" height="1" width="1"/&gt;</description><dc:creator>Dane Morgridge</dc:creator><feedburner:origLink>http://geekswithblogs.net/danemorgridge/archive/2009/11/19/notatpdc-demo.aspx</feedburner:origLink></item><item><title>My talk at #notatpdc postponed</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/pQllfJQkaEk/my-talk-at-notatpdc-postponed.aspx</link><pubDate>Thu, 19 Nov 2009 20:16:05 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/lbugnion/archive/2009/11/19/my-talk-at-notatpdc-postponed.aspx</guid><wfw:comment>http://geekswithblogs.net/lbugnion/comments/136419.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/lbugnion/comments/commentRss/136419.aspx</wfw:commentRss><comments>http://geekswithblogs.net/lbugnion/archive/2009/11/19/my-talk-at-notatpdc-postponed.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/lbugnion/services/trackbacks/136419.aspx</trackback:ping><source url="http://geekswithblogs.net/lbugnion/rss.aspx">My talk at #notatpdc postponed</source><description>&lt;p&gt;Hey guys,&lt;/p&gt;  &lt;p&gt;I am really sorry for having to postpone my talk about Expression Blend 3 and SketchFlow. We had some huge difficulties with the NotAtPDC.com website, and unfortunately we were not able to locate the site administrator on time to solve the issue. Without a speaker login, I was able to talk to the attendees, but not share my desktop. Now I love to &lt;strong&gt;talk&lt;/strong&gt; about Blend but I love even more to &lt;strong&gt;show&lt;/strong&gt; Blend ;)&lt;/p&gt;  &lt;p&gt;Ironically, as a Microsoft MVP I do have a LiveMeeting account, so I would be able to host the talk myself, but organizing a LiveMeeting take a little time, and I didn’t want to rush into that, cut my talk short or step on the next speaker’s feet (let’s hope that the issues get solved in time for him!)&lt;/p&gt;  &lt;p&gt;We will definitely reschedule the talk, either within NotAtPDC (if we find a suitable time slot) or a bit later, so definitely stay tuned on this blog and &lt;a href="http://www.twitter.com/lbugnion"&gt;my twitter feed&lt;/a&gt; for more info.&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136419"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136419" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/lbugnion/aggbug/136419.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/pQllfJQkaEk" height="1" width="1"/&gt;</description><dc:creator>Laurent Bugnion</dc:creator><feedburner:origLink>http://geekswithblogs.net/lbugnion/archive/2009/11/19/my-talk-at-notatpdc-postponed.aspx</feedburner:origLink></item><item><title>Exciting New Experiment in Data Visualization</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/EGs8BItGbZo/136418.aspx</link><pubDate>Thu, 19 Nov 2009 20:06:06 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/MSARCH/archive/2009/11/19/136418.aspx</guid><wfw:comment>http://geekswithblogs.net/MSARCH/comments/136418.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/MSARCH/comments/commentRss/136418.aspx</wfw:commentRss><comments>http://geekswithblogs.net/MSARCH/archive/2009/11/19/136418.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/MSARCH/services/trackbacks/136418.aspx</trackback:ping><source url="http://geekswithblogs.net/MSARCH/rss.aspx">Exciting New Experiment in Data Visualization</source><description>&lt;p&gt;Within the world of Business Intelligence and Analytics, data analysis can only be automated so far and manual analysis is often required to add an important component of human intelligence.  To that end, data visualization is a useful, if not critical tool to be able to absorb and understand large amounts of data.  So it came as a bit of a surprise that Microsoft’s Live Labs has a &lt;a href="http://www.getpivot.com/"&gt;research project called “Pivot”&lt;/a&gt; intended to help visually analyze data patterns on a Web scale.  What intrigues me the most about this project is that, while it is intended to operate at “Web scale” it would appear to be able to scale down to handle any size data set as long as it can be organized into “Collections,” even if the collection represent business data like customers and product orders.  While the project is very limited at this time the sample video teases a user interface that is very intuitive for any user comfortable with Web 2.0 technologies. &lt;/p&gt;
&lt;p&gt;Has anyone work with this technology yet?&lt;/p&gt;
&lt;object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="509" height="382" id="video-player"&gt;
 &lt;param name="source" value="http://www.getpivot.com/silverlight/video-player.xap" /&gt;
 &lt;param name="onError" value="onSilverlightError" /&gt;
 &lt;param name="background" value="white" /&gt;
 &lt;param name="minRuntimeVersion" value="3.0.40624.0" /&gt; 
&lt;param name="autoUpgrade" value="true" /&gt;
 &lt;param name="enableHtmlAccess" value="true" /&gt;
 &lt;param name="enableGPUAcceleration" value="true" /&gt;
 &lt;param name="initparams" value="sdStreamUrl=http://content.getpivot.com/wmv/PivotVideo_SD.wmv,sdDownloadUrl=http://content.getpivot.com/wmv/PivotVideo_SD.zip,hdStreamUrl=http://content.getpivot.com/wmv/PivotVideo_HD.wmv,hdDownloadUrl=http://content.getpivot.com/wmv/PivotVideo_HD.zip,playerSettings = &amp;lt;Playlist&amp;gt;&amp;lt;AutoLoad&amp;gt;false&amp;lt;/AutoLoad&amp;gt;&amp;lt;AutoPlay&amp;gt;false&amp;lt;/AutoPlay&amp;gt;&amp;lt;DisplayTimeCode&amp;gt;false&amp;lt;/DisplayTimeCode&amp;gt;&amp;lt;EnableCachedComposition&amp;gt;false&amp;lt;/EnableCachedComposition&amp;gt;&amp;lt;EnableCaptions&amp;gt;false&amp;lt;/EnableCaptions&amp;gt;&amp;lt;EnableOffline&amp;gt;false&amp;lt;/EnableOffline&amp;gt;&amp;lt;EnablePopOut&amp;gt;false&amp;lt;/EnablePopOut&amp;gt;&amp;lt;StartMuted&amp;gt;false&amp;lt;/StartMuted&amp;gt;&amp;lt;StretchMode&amp;gt;0&amp;lt;/StretchMode&amp;gt;&amp;lt;Items&amp;gt;&amp;lt;PlaylistItem&amp;gt;&amp;lt;IsAdaptiveStreaming&amp;gt;false&amp;lt;/IsAdaptiveStreaming&amp;gt;&amp;lt;MediaSource&amp;gt;http://content.getpivot.com/wmv/1002290_LiveLabs_111109_v03_512x384_600kbps_VBR.wmv&amp;lt;/MediaSource&amp;gt;&amp;lt;ThumbSource&amp;gt;http://www.getpivot.com/silverlight/images/videos/hero-02-pivot-screenshot-play-btn.jpg&amp;lt;/ThumbSource&amp;gt;&amp;lt;Description&amp;gt;Clicking this takes you to video 2&amp;lt;/Description&amp;gt;&amp;lt;/PlaylistItem&amp;gt;&amp;lt;/Items&amp;gt;&amp;lt;/Playlist&amp;gt;" /&gt;
 &lt;a href="http://go.microsoft.com/fwlink/?LinkID=149156&amp;amp;v=3.0.40624.0" style="text-decoration:none"&gt;
 &lt;img src="http://go.microsoft.com/fwlink/?LinkId=108181" alt="Get Microsoft Silverlight" style="border-style:none" /&gt;
 &lt;/a&gt;
 &lt;/object&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136418"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136418" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/MSARCH/aggbug/136418.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/EGs8BItGbZo" height="1" width="1"/&gt;</description><dc:creator>Jim Kita</dc:creator><feedburner:origLink>http://geekswithblogs.net/MSARCH/archive/2009/11/19/136418.aspx</feedburner:origLink></item><item><title>Outlook 2010 Social Networking Plugins</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/EYrRvTf69Gg/outlook-2010-social-netoworking-plugins.aspx</link><pubDate>Thu, 19 Nov 2009 19:35:06 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/MadeIT/archive/2009/11/19/outlook-2010-social-netoworking-plugins.aspx</guid><wfw:comment>http://geekswithblogs.net/MadeIT/comments/136417.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/MadeIT/comments/commentRss/136417.aspx</wfw:commentRss><comments>http://geekswithblogs.net/MadeIT/archive/2009/11/19/outlook-2010-social-netoworking-plugins.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/MadeIT/services/trackbacks/136417.aspx</trackback:ping><source url="http://geekswithblogs.net/MadeIT/rss.aspx">Outlook 2010 Social Networking Plugins</source><description>&lt;p&gt;Just moved from the Office 2010 Technical Preview to the Beta that was released last week or so and noticed a new bit of functionality in Outlook. I don't know the extent of the interoperability just yet but I look forward to seeing it in action with anything other than SharePoint.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;img src="http://i109.photobucket.com/albums/n67/tn1044/Outlook2010SocialNetworking.png" alt="" /&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="http://officebeta.microsoft.com/en-us/outlook/connect-to-your-favorite-social-network-using-microsoft-outlook-HA101789909.aspx"&gt;MS Info Page Here&lt;/a&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136417"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136417" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/MadeIT/aggbug/136417.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/EYrRvTf69Gg" height="1" width="1"/&gt;</description><dc:creator>Matt deClercq</dc:creator><feedburner:origLink>http://geekswithblogs.net/MadeIT/archive/2009/11/19/outlook-2010-social-netoworking-plugins.aspx</feedburner:origLink></item><item><title>Office Communicator 2007 R2 &amp;ndash; AOL PIC Issue</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/1LQ0Fp8bx6Q/office-communicator-2007-r2-ndash-aol-pic-issue.aspx</link><pubDate>Thu, 19 Nov 2009 18:55:11 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/BWCA/archive/2009/11/19/office-communicator-2007-r2-ndash-aol-pic-issue.aspx</guid><wfw:comment>http://geekswithblogs.net/BWCA/comments/136416.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/BWCA/comments/commentRss/136416.aspx</wfw:commentRss><comments>http://geekswithblogs.net/BWCA/archive/2009/11/19/office-communicator-2007-r2-ndash-aol-pic-issue.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/BWCA/services/trackbacks/136416.aspx</trackback:ping><source url="http://geekswithblogs.net/BWCA/rss.aspx">Office Communicator 2007 R2 &amp;ndash; AOL PIC Issue</source><description>&lt;p&gt;   &lt;br /&gt;After we enabled our Office Communicator 2007 R2 Access Edge Server for Federation with AOL, Yahoo, and MSN, our Communicator 2007 R2 clients were able to chat successfully with Yahoo and MSN users and vice versa.  Also, AOL users could send instant messages to our clients.    &lt;br /&gt;    &lt;br /&gt;However, our Communicator clients could not send instant messages to or reply to IMs from AOL users.  When an AOL user would send us an instant message, we would get the following error message when we attempted to reply or when we tried to send a new instant message to an AOL user.  Also, we could not see presence information for AOL contacts in Office Communicator.    &lt;br /&gt;    &lt;br /&gt;&lt;strong&gt;The following message was not delivered to &lt;/strong&gt;&lt;a href="mailto:mikesmith1@aol.com"&gt;&lt;strong&gt;mikesmith1@aol.com&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;. More details (ID:430)     &lt;br /&gt;      &lt;br /&gt;&lt;/strong&gt;After troubleshooting the problem for a few days, I opened up a Microsoft Premier Support ticket requesting additional assistance.  It took us approximately six weeks to isolate and fix the problem.     &lt;br /&gt;    &lt;br /&gt;In a nutshell, we used the OCS 2007 R2 Logging Tool on the Access Edge Server to monitor traffic between an AOL and MOC IM conversation and vice versa to isolate the problem.  Using snooper, we noticed a &lt;strong&gt;80072746&lt;/strong&gt; error message specific to sip.oscar.aol.com when a MOC client tried to reply to an AOL user IM.  Every time a MOC client tried to send a new IM or reply to an AOL user, the AOL IM Federation Servers would refuse the connection.  With this information, Microsoft PSS opened a ticket with AOL to troubleshoot this further.    &lt;br /&gt;    &lt;br /&gt;After speaking with AOL and Microsoft, we learned that our Comodo 2048-bit signed Root CA was causing the problem in our Certificate Chain on the OCS 2007 R2 Access Edge Server.  Please note we did not have to make any changes to our 2048-bit Intermediate and 1024-bit Personal CAs.    &lt;br /&gt;    &lt;br /&gt;With this information, we worked with our CA to issue a new 1024-bit Root CA.  After receiving the new certificate, we deployed it on our Access Edge Server and restarted the services.  Shortly thereafter, our Communicator 2007 R2 clients were able to chat successfully with AOL users and vice versa.   Also, we could see presence information for our AOL contacts.  A big thanks goes to Microsoft PSS and AOL for helping us troubleshoot the problem.    &lt;br /&gt;    &lt;br /&gt;For more information regarding similar issues, you can check out a couple of postings, especially the Comments section, on Scott Oseychik’s blog.    &lt;br /&gt;    &lt;br /&gt;&lt;a title="http://blogs.msdn.com/scottos/archive/2009/07/14/federation-and-or-pic-may-fail-against-partners-using-2048-bit-signed-root-cas.aspx" href="http://blogs.msdn.com/scottos/archive/2009/07/14/federation-and-or-pic-may-fail-against-partners-using-2048-bit-signed-root-cas.aspx"&gt;http://blogs.msdn.com/scottos/archive/2009/07/14/federation-and-or-pic-may-fail-against-partners-using-2048-bit-signed-root-cas.aspx&lt;/a&gt;    &lt;br /&gt;&lt;a title="http://blogs.msdn.com/scottos/archive/2008/12/30/pic-stops-functioning-after-installing-renewing-your-certificate.aspx" href="http://blogs.msdn.com/scottos/archive/2008/12/30/pic-stops-functioning-after-installing-renewing-your-certificate.aspx"&gt;http://blogs.msdn.com/scottos/archive/2008/12/30/pic-stops-functioning-after-installing-renewing-your-certificate.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136416"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136416" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/BWCA/aggbug/136416.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/1LQ0Fp8bx6Q" height="1" width="1"/&gt;</description><dc:creator>BWCA</dc:creator><feedburner:origLink>http://geekswithblogs.net/BWCA/archive/2009/11/19/office-communicator-2007-r2-ndash-aol-pic-issue.aspx</feedburner:origLink></item><item><title>Locating your MediaElement Video Source File in a Silverlight 3 Control</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/0Wg-y2NjI-U/locating-your-mediaelement-video-source-file-in-a-silverlight-3.aspx</link><pubDate>Thu, 19 Nov 2009 18:24:37 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/RockStarCoder/archive/2009/11/19/locating-your-mediaelement-video-source-file-in-a-silverlight-3.aspx</guid><wfw:comment>http://geekswithblogs.net/RockStarCoder/comments/136415.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/RockStarCoder/comments/commentRss/136415.aspx</wfw:commentRss><comments>http://geekswithblogs.net/RockStarCoder/archive/2009/11/19/locating-your-mediaelement-video-source-file-in-a-silverlight-3.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/RockStarCoder/services/trackbacks/136415.aspx</trackback:ping><source url="http://geekswithblogs.net/RockStarCoder/rss.aspx">Locating your MediaElement Video Source File in a Silverlight 3 Control</source><description>&lt;p&gt;In this Demo I will show 3 ways to have your web page locate your MediaElement’s video file.&lt;/p&gt;
&lt;p&gt;I have created a Silverlight 3 application and let it automatically create a web site to host the control.&lt;/p&gt;
&lt;p&gt;&lt;a rel="lightbox" href="http://geekswithblogs.net/images/geekswithblogs_net/RockStarCoder/WindowsLiveWriter/LocatingyourMediaElementVideoSourceFilei_B4D4/clip_image002_2.jpg"&gt;&lt;img height="374" border="0" width="275" src="http://geekswithblogs.net/images/geekswithblogs_net/RockStarCoder/WindowsLiveWriter/LocatingyourMediaElementVideoSourceFilei_B4D4/clip_image002_thumb.jpg" alt="clip_image002" title="clip_image002" style="border-width: 0px; display: inline;" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Drag a &amp;lt;MediaElement&amp;gt; onto the UserControl and set its source file attribute.&lt;/p&gt;
&lt;p&gt;&lt;a rel="lightbox" href="http://geekswithblogs.net/images/geekswithblogs_net/RockStarCoder/WindowsLiveWriter/LocatingyourMediaElementVideoSourceFilei_B4D4/clip_image004_2.jpg"&gt;&lt;img border="0" src="http://geekswithblogs.net/images/geekswithblogs_net/RockStarCoder/WindowsLiveWriter/LocatingyourMediaElementVideoSourceFilei_B4D4/clip_image004_thumb.jpg" alt="clip_image004" title="clip_image004" style="border-width: 0px; display: inline; width: 540px; height: 170px;" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Drag the video file using window explorer and drop it in the root of my Silverlight’s UserControl project.&lt;/p&gt;
&lt;p&gt;&lt;a rel="lightbox" href="http://geekswithblogs.net/images/geekswithblogs_net/RockStarCoder/WindowsLiveWriter/LocatingyourMediaElementVideoSourceFilei_B4D4/clip_image006_2.jpg"&gt;&lt;img height="406" border="0" width="431" src="http://geekswithblogs.net/images/geekswithblogs_net/RockStarCoder/WindowsLiveWriter/LocatingyourMediaElementVideoSourceFilei_B4D4/clip_image006_thumb.jpg" alt="clip_image006" title="clip_image006" style="border-width: 0px; display: inline;" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Note the size of this file is about 25mb.&lt;/p&gt;
&lt;p&gt;&lt;a rel="lightbox" href="http://geekswithblogs.net/images/geekswithblogs_net/RockStarCoder/WindowsLiveWriter/LocatingyourMediaElementVideoSourceFilei_B4D4/clip_image008_2.jpg"&gt;&lt;img height="39" border="0" width="642" src="http://geekswithblogs.net/images/geekswithblogs_net/RockStarCoder/WindowsLiveWriter/LocatingyourMediaElementVideoSourceFilei_B4D4/clip_image008_thumb.jpg" alt="clip_image008" title="clip_image008" style="border-width: 0px; display: inline;" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;I will demo 3 different methods for setting the location so that the web page can find it.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;u&gt;Method 1&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Highlight the video and set its “Build Action” to “Content”&lt;/p&gt;
&lt;p&gt;Your properties will look like below:&lt;/p&gt;
&lt;p&gt;&lt;a rel="lightbox" href="http://geekswithblogs.net/images/geekswithblogs_net/RockStarCoder/WindowsLiveWriter/LocatingyourMediaElementVideoSourceFilei_B4D4/clip_image010_2.jpg"&gt;&lt;img height="209" border="0" width="546" src="http://geekswithblogs.net/images/geekswithblogs_net/RockStarCoder/WindowsLiveWriter/LocatingyourMediaElementVideoSourceFilei_B4D4/clip_image010_thumb.jpg" alt="clip_image010" title="clip_image010" style="border-width: 0px; display: inline;" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Change the source attribute to have a forward slash before the video name.&lt;/p&gt;
&lt;p&gt;&lt;a rel="lightbox" href="http://geekswithblogs.net/images/geekswithblogs_net/RockStarCoder/WindowsLiveWriter/LocatingyourMediaElementVideoSourceFilei_B4D4/clip_image012_2.jpg"&gt;&lt;img height="76" border="0" width="642" src="http://geekswithblogs.net/images/geekswithblogs_net/RockStarCoder/WindowsLiveWriter/LocatingyourMediaElementVideoSourceFilei_B4D4/clip_image012_thumb.jpg" alt="clip_image012" title="clip_image012" style="border-width: 0px; display: inline;" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Build the solution.&lt;/p&gt;
&lt;p&gt;Test using the test aspx page (TestMediaTestPage.aspx) in your web project and the video should work fine.&lt;/p&gt;
&lt;p&gt;Check the size of your xap in the ClientBin folder. Notice that it &lt;u&gt;includes&lt;/u&gt; the video file.&lt;/p&gt;
&lt;p&gt;&lt;a rel="lightbox" href="http://geekswithblogs.net/images/geekswithblogs_net/RockStarCoder/WindowsLiveWriter/LocatingyourMediaElementVideoSourceFilei_B4D4/clip_image014_2.jpg"&gt;&lt;img height="39" border="0" width="642" src="http://geekswithblogs.net/images/geekswithblogs_net/RockStarCoder/WindowsLiveWriter/LocatingyourMediaElementVideoSourceFilei_B4D4/clip_image014_thumb.jpg" alt="clip_image014" title="clip_image014" style="border-width: 0px; display: inline;" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;u&gt;Method 2&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Again from a fresh Silverlight solution containing the 2 projects, drag the video to the root of the Silverlight project.&lt;/p&gt;
&lt;p&gt;Highlight the video and set its “Build Action” to “Resource”.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Add a &amp;lt;MediaElement&amp;gt; onto the UserControl and set its source file attribute.&lt;/p&gt;
&lt;p&gt;In this case a slash is not used in front of the file name in the MediaElement&lt;/p&gt;
&lt;p&gt;&lt;a rel="lightbox" href="http://geekswithblogs.net/images/geekswithblogs_net/RockStarCoder/WindowsLiveWriter/LocatingyourMediaElementVideoSourceFilei_B4D4/clip_image016_2.jpg"&gt;&lt;img height="73" border="0" width="642" src="http://geekswithblogs.net/images/geekswithblogs_net/RockStarCoder/WindowsLiveWriter/LocatingyourMediaElementVideoSourceFilei_B4D4/clip_image016_thumb.jpg" alt="clip_image016" title="clip_image016" style="border-width: 0px; display: inline;" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Build the solution.&lt;/p&gt;
&lt;p&gt;Once again check the size of your xap in the ClientBin folder. Notice that it &lt;u&gt;includes&lt;/u&gt; the video file.&lt;/p&gt;
&lt;p&gt;Test using the test aspx page (TestMediaTestPage.aspx) in your web project and the video should work fine.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;u&gt;Method 3&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Again from a fresh Silverlight solution containing the 2 projects, drag the video to the root of the Silverlight project.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Highlight the video and verify its “Build Action” is set to “None”.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Add a &amp;lt;MediaElement&amp;gt; onto the UserControl and set its source file attribute.&lt;/p&gt;
&lt;p&gt;It does not matter if a slash is in front of the file name or not in the MediaElement&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Build the solution and using windows explorer check the size of the xap file in the ClientBin.&lt;/p&gt;
&lt;p&gt;Notice that it does not include the video file.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;a rel="lightbox" href="http://geekswithblogs.net/images/geekswithblogs_net/RockStarCoder/WindowsLiveWriter/LocatingyourMediaElementVideoSourceFilei_B4D4/clip_image018_2.jpg"&gt;&lt;img height="29" border="0" width="642" src="http://geekswithblogs.net/images/geekswithblogs_net/RockStarCoder/WindowsLiveWriter/LocatingyourMediaElementVideoSourceFilei_B4D4/clip_image018_thumb.jpg" alt="clip_image018" title="clip_image018" style="border-width: 0px; display: inline;" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Using windows explorer, drag the video file into the ClientBin folder.&lt;/p&gt;
&lt;p&gt;&lt;a rel="lightbox" href="http://geekswithblogs.net/images/geekswithblogs_net/RockStarCoder/WindowsLiveWriter/LocatingyourMediaElementVideoSourceFilei_B4D4/clip_image020_2.jpg"&gt;&lt;img height="388" border="0" width="281" src="http://geekswithblogs.net/images/geekswithblogs_net/RockStarCoder/WindowsLiveWriter/LocatingyourMediaElementVideoSourceFilei_B4D4/clip_image020_thumb.jpg" alt="clip_image020" title="clip_image020" style="border-width: 0px; display: inline;" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Test using the test aspx page (TestMediaTestPage.aspx) in your web project and the video should work fine.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://silverlight.services.live.com/110365/bigweb/video.wmv"&gt;Here&lt;/a&gt; is a video recap.&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136415"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136415" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/RockStarCoder/aggbug/136415.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/0Wg-y2NjI-U" height="1" width="1"/&gt;</description><dc:creator>RockStarCoder</dc:creator><feedburner:origLink>http://geekswithblogs.net/RockStarCoder/archive/2009/11/19/locating-your-mediaelement-video-source-file-in-a-silverlight-3.aspx</feedburner:origLink></item><item><title>Silverlight Cream for November 19, 2009 -- #735</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/w7vpUwf8Zdo/136414.aspx</link><pubDate>Thu, 19 Nov 2009 17:26:49 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/WynApseTechnicalMusings/archive/2009/11/19/136414.aspx</guid><wfw:comment>http://geekswithblogs.net/WynApseTechnicalMusings/comments/136414.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/WynApseTechnicalMusings/comments/commentRss/136414.aspx</wfw:commentRss><comments>http://geekswithblogs.net/WynApseTechnicalMusings/archive/2009/11/19/136414.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/WynApseTechnicalMusings/services/trackbacks/136414.aspx</trackback:ping><source url="http://geekswithblogs.net/WynApseTechnicalMusings/rss.aspx">Silverlight Cream for November 19, 2009 -- #735</source><description>&lt;p&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&lt;font face="tahoma"&gt;&lt;b&gt;Silverlight 4 Overview Postings&lt;/b&gt;&lt;/font&gt;&lt;/span&gt;&lt;font face="tahoma"&gt;&lt;br /&gt;
&lt;br /&gt;
Every time there's a beta or a release I try a different way to get all the good stuff out. I waited until today, and am scooping up all the overview blog posts, and posting them first in this post. I've got a few submissions I'll get out later today and then I'll start catching up with everyone as the days go on... I've tagged 63 posts so far! -- oh, and I added a "4 Beta" tag on Silverlight Cream, so that's ready to roll&lt;br /&gt;
&lt;br /&gt;
For now, here is the (SL4ß Overview) end-result of looking at 396 blogs at varying times since 5:30 this morning: &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Andy Beaulieu&lt;/b&gt; has a post up: &lt;a href="http://www.andybeaulieu.com/Home/tabid/67/EntryID/181/Default.aspx"&gt;&lt;u&gt;Silverlight 4 Beta Summary&lt;/u&gt;&lt;/a&gt; with links out to his and other posts &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Adam Kinney&lt;/b&gt; reports a &lt;a href="http://adamkinney.wordpress.com/2009/11/18/rundown-of-silverlight-4-beta-features-and-6-hands-on-labs/"&gt;&lt;u&gt;Rundown of Silverlight 4 Beta Features and 6 Hands on Labs&lt;/u&gt;&lt;/a&gt; with lots of goodies &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;David Anson&lt;/b&gt; discusses SL4: &lt;a href="http://blogs.msdn.com/delay/archive/2009/11/18/silverlight-4-beta-is-out-and-the-toolkit-has-it-covered-silverlight-toolkit-november-2009-release-now-available-for-silverlight-3-and-4.aspx"&gt;&lt;u&gt;Silverlight 4 Beta is out - and the Toolkit has it covered! [Silverlight Toolkit November 2009 release now available for Silverlight 3 and 4!]&lt;/u&gt;&lt;/a&gt; &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Stefan Olson&lt;/b&gt; already has a list up of &lt;a href="http://www.olsonsoft.com/blogs/stefanolson/post/Bugs-fixed-(or-not)-in-Silverlight-4-Beta.aspx"&gt;&lt;u&gt;Bugs fixed (or not) in Silverlight 4 Beta&lt;/u&gt;&lt;/a&gt; &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Ning Zhang&lt;/b&gt; reports and demonstrates that &lt;a href="http://www.ningzhang.org/2009/11/18/silverlight-4-adds-arabic-support/"&gt;&lt;u&gt;Silverlight 4 Adds Arabic Support&lt;/u&gt;&lt;/a&gt; &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;John Papa&lt;/b&gt; has some good information and links: &lt;a href="http://johnpapa.net/silverlight/silverlight-4-beta-announced-at-pdc09-great-learning-material-too/"&gt;&lt;u&gt;Silverlight 4 Beta Announced at PDC09: Great Learning Material Too!&lt;/u&gt;&lt;/a&gt; &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Chris Anderson&lt;/b&gt; posted this one from watching the keynote: &lt;a href="http://chrisa.wordpress.com/2009/11/19/pdc09-news/"&gt;&lt;u&gt;PDC09 News&lt;/u&gt;&lt;/a&gt; &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Nikhil Kothari&lt;/b&gt; has a great overview of and links to the PDC demos: &lt;a href="http://www.nikhilk.net/Silverlight4-Killer-Demos-At-PDC09.aspx"&gt;&lt;u&gt;Silverlight 4 Debuts with Killer Demos at PDC09&lt;/u&gt;&lt;/a&gt; &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Shawn Wildermuth&lt;/b&gt;'s post I mentioned yesterday in my mad dash to post: &lt;a href="http://wildermuth.com/2009/11/18/Silverlight_4_Beta_Announced!"&gt;&lt;u&gt;Silverlight 4 Beta Announced!&lt;/u&gt;&lt;/a&gt; &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Koen Zwikstra&lt;/b&gt; is nothing if not efficient... he's got a Silverlight 4 Beta version of SilverlightSpy up already: &lt;a href="http://firstfloorsoftware.com/blog/silverlight-spy-3-0-0-5/"&gt;&lt;u&gt;Silverlight Spy 3.0.0.5&lt;/u&gt;&lt;/a&gt; &lt;br /&gt;
&lt;br /&gt;
And if you thought the &lt;b&gt;Expression Blend and Design&lt;/b&gt; folks were napping: &lt;a href="http://blogs.msdn.com/expression/archive/2009/11/18/download-expression-blend-preview-for-net-4.aspx"&gt;&lt;u&gt;Download Expression Blend Preview for .NET 4 &lt;/u&gt;&lt;/a&gt; &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Tim Heuer&lt;/b&gt;'s great post of yesterday referenced by *everyone*: &lt;a href="http://timheuer.com/blog/archive/2009/11/18/whats-new-in-silverlight-4-complete-guide-new-features.aspx"&gt;&lt;u&gt;Silverlight 4 Beta – A guide to the new features&lt;/u&gt;&lt;/a&gt; &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Andrea Boschin&lt;/b&gt; has a post and some sample code up: &lt;a href="http://www.silverlightplayground.org/post/2009/11/18/Silverlight-40-beta-released.aspx"&gt;&lt;u&gt;Silverlight 4.0 beta released&lt;/u&gt;&lt;/a&gt; &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;András Velvárt&lt;/b&gt; has a good list of what's new: &lt;a href="http://dotneteers.net/blogs/vbandi/archive/2009/11/18/discovering-silverlight-4-what-is-new.aspx"&gt;&lt;u&gt;Discovering Silverlight 4 – What is new?&lt;/u&gt;&lt;/a&gt; &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;The Silverlight SDK&lt;/b&gt; has a couple good posts up. First the obligatorey &lt;a href="http://blogs.msdn.com/silverlight_sdk/archive/2009/11/18/silverlight-4-beta-released.aspx"&gt;&lt;u&gt;Silverlight 4 Beta Released!&lt;/u&gt;&lt;/a&gt; with a ton of links, then &lt;a href="http://blogs.msdn.com/silverlight_sdk/archive/2009/11/05/silverlight-4-beta-bugs.aspx"&gt;&lt;u&gt;Silverlight 4 Beta Bugs&lt;/u&gt;&lt;/a&gt; &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Katrien De Graeve&lt;/b&gt; has a good post up with links: &lt;a href="http://blogs.msdn.com/katriend/archive/2009/11/19/silverlight-4-beta-overview-of-the-new-features.aspx"&gt;&lt;u&gt;Silverlight 4 Beta – Overview of the new features &lt;/u&gt;&lt;/a&gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;font color="#0000ff"&gt;&lt;strong&gt;Stay in the 'Light!&lt;/strong&gt;&lt;/font&gt;&lt;br /&gt;
&lt;center&gt;   &lt;hr width="50%" /&gt;
&lt;a href="http://twitter.com/SilverlightNews"&gt;&lt;u&gt;Twitter SilverlightNews&lt;/u&gt;&lt;/a&gt; |    &lt;a href="http://twitter.com/WynApse"&gt;&lt;u&gt;Twitter WynApse&lt;/u&gt;&lt;/a&gt; |    &lt;a href="http://www.wynapse.com"&gt;&lt;u&gt;WynApse.com&lt;/u&gt;&lt;/a&gt; |    &lt;a href="http://www.wynapse.com/TaggedPosts.aspx"&gt;&lt;u&gt;Tagged Posts&lt;/u&gt;&lt;/a&gt; |    &lt;a href="http://www.silverlightcream.com"&gt;&lt;u&gt;SilverlightCream&lt;/u&gt;&lt;/a&gt; &lt;br /&gt;
&lt;a href="http://tech.groups.yahoo.com/group/SilverlightCream/join"&gt;&lt;u&gt;Join me @ SilverlightCream&lt;/u&gt;&lt;/a&gt; |    &lt;a href="http://www.phoenixsilverlight.net"&gt;&lt;u&gt;Phoenix Silverlight User Group&lt;/u&gt;&lt;/a&gt;   &lt;br /&gt;
&lt;/center&gt;  &lt;br /&gt;
&lt;br /&gt;
Technorati Tags:     &lt;a rel="tag" href="http://technorati.com/tag/Silverlight"&gt;&lt;img alt=" " src="http://static.technorati.com/static/img/pub/icon-utag-16x13.png?tag=Silverlight" style="border: 0pt none ; vertical-align: middle; margin-left: 0.4em;" /&gt;Silverlight&lt;/a&gt;        &lt;a rel="tag" href="http://technorati.com/tag/silverlight-3"&gt;&lt;img alt=" " src="http://static.technorati.com/static/img/pub/icon-utag-16x13.png?tag=silverlight-3" style="border: 0pt none ; vertical-align: middle; margin-left: 0.4em;" /&gt;Silverlight 3&lt;/a&gt;        &lt;a rel="tag" href="http://technorati.com/tag/silverlight-4"&gt;&lt;img alt=" " src="http://static.technorati.com/static/img/pub/icon-utag-16x13.png?tag=silverlight-4" style="border: 0pt none ; vertical-align: middle; margin-left: 0.4em;" /&gt;Silverlight 4&lt;/a&gt;        &lt;a rel="tag" href="http://technorati.com/tag/SilverlightCream"&gt;&lt;img alt=" " src="http://static.technorati.com/static/img/pub/icon-utag-16x13.png?tag=SilverlightCream" style="border: 0pt none ; vertical-align: middle; margin-left: 0.4em;" /&gt;SilverlightCream&lt;/a&gt;  &lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136414"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136414" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/WynApseTechnicalMusings/aggbug/136414.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/w7vpUwf8Zdo" height="1" width="1"/&gt;</description><dc:creator>Dave Campbell</dc:creator><feedburner:origLink>http://geekswithblogs.net/WynApseTechnicalMusings/archive/2009/11/19/136414.aspx</feedburner:origLink></item><item><title>Time for a new computer!</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/5tDQphObznw/time-for-a-new-computer.aspx</link><pubDate>Thu, 19 Nov 2009 15:10:19 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/mbcrump/archive/2009/11/19/time-for-a-new-computer.aspx</guid><wfw:comment>http://geekswithblogs.net/mbcrump/comments/136413.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/mbcrump/comments/commentRss/136413.aspx</wfw:commentRss><comments>http://geekswithblogs.net/mbcrump/archive/2009/11/19/time-for-a-new-computer.aspx#comment</comments><slash:comments>2</slash:comments><trackback:ping>http://geekswithblogs.net/mbcrump/services/trackbacks/136413.aspx</trackback:ping><source url="http://geekswithblogs.net/mbcrump/rss.aspx">Time for a new computer!</source><description>&lt;p&gt;I have finally completeed building my computer. So far, it is very fast. I am using Windows 7 x64 and I am amazed that I have not had many problems. Check out the build and leave comments below.&lt;/p&gt;
&lt;table cellspacing="0" cellpadding="0" border="0" style="border-collapse: collapse;"&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="221" style="border: 1pt solid black; padding: 0in 5.4pt; width: 165.45pt;"&gt;
            &lt;div&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;Part&lt;/span&gt;&lt;/div&gt;
            &lt;/td&gt;
            &lt;td valign="top" width="210" style="border-style: solid solid solid none; border-color: black black black -moz-use-text-color; border-width: 1pt 1pt 1pt medium; padding: 0in 5.4pt; width: 157.15pt;"&gt;
            &lt;div&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;New Machine Q4 - 2009&lt;/span&gt;&lt;/div&gt;
            &lt;/td&gt;
            &lt;td valign="top" width="208" style="border-style: solid solid solid none; border-color: black black black -moz-use-text-color; border-width: 1pt 1pt 1pt medium; padding: 0in 5.4pt; width: 156.2pt;"&gt;
            &lt;div&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;Old Machine Q4 -2004&lt;/span&gt;&lt;/div&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="221" style="border-style: none solid solid; border-color: -moz-use-text-color black black; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 165.45pt;"&gt;
            &lt;div&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;CPU&lt;/span&gt;&lt;/div&gt;
            &lt;/td&gt;
            &lt;td valign="top" width="210" style="border-style: none solid solid none; border-color: -moz-use-text-color black black -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 157.15pt;"&gt;
            &lt;div&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;Q6600 4 Cores @ 2.4Ghz&lt;/span&gt;&lt;/div&gt;
            &lt;/td&gt;
            &lt;td valign="top" width="208" style="border-style: none solid solid none; border-color: -moz-use-text-color black black -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 156.2pt;"&gt;
            &lt;div&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;Athlon 64 4000+&lt;/span&gt;&lt;/div&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="221" style="border-style: none solid solid; border-color: -moz-use-text-color black black; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 165.45pt;"&gt;
            &lt;div&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;Motherboard&lt;/span&gt;&lt;/div&gt;
            &lt;/td&gt;
            &lt;td valign="top" width="210" style="border-style: none solid solid none; border-color: -moz-use-text-color black black -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 157.15pt;"&gt;
            &lt;div&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;Intel G31&lt;/span&gt;&lt;/div&gt;
            &lt;/td&gt;
            &lt;td valign="top" width="208" style="border-style: none solid solid none; border-color: -moz-use-text-color black black -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 156.2pt;"&gt;
            &lt;div&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;Abit AV8 &lt;/span&gt;&lt;/div&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="221" style="border-style: none solid solid; border-color: -moz-use-text-color black black; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 165.45pt;"&gt;
            &lt;div&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;RAM&lt;/span&gt;&lt;/div&gt;
            &lt;/td&gt;
            &lt;td valign="top" width="210" style="border-style: none solid solid none; border-color: -moz-use-text-color black black -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 157.15pt;"&gt;
            &lt;div&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;4GB DDR2&lt;/span&gt;&lt;/div&gt;
            &lt;/td&gt;
            &lt;td valign="top" width="208" style="border-style: none solid solid none; border-color: -moz-use-text-color black black -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 156.2pt;"&gt;
            &lt;div&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;2GB DDR&lt;/span&gt;&lt;/div&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="221" style="border-style: none solid solid; border-color: -moz-use-text-color black black; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 165.45pt;"&gt;
            &lt;div&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;HardDrive 1 (SATA)&lt;/span&gt;&lt;/div&gt;
            &lt;/td&gt;
            &lt;td valign="top" width="210" style="border-style: none solid solid none; border-color: -moz-use-text-color black black -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 157.15pt;"&gt;
            &lt;div&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;1.5TB&lt;/span&gt;&lt;/div&gt;
            &lt;/td&gt;
            &lt;td valign="top" width="208" style="border-style: none solid solid none; border-color: -moz-use-text-color black black -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 156.2pt;"&gt;
            &lt;div&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;160GB&lt;/span&gt;&lt;/div&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="221" style="border-style: none solid solid; border-color: -moz-use-text-color black black; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 165.45pt;"&gt;
            &lt;div&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;HardDrive 2 (SATA)&lt;/span&gt;&lt;/div&gt;
            &lt;/td&gt;
            &lt;td valign="top" width="210" style="border-style: none solid solid none; border-color: -moz-use-text-color black black -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 157.15pt;"&gt;
            &lt;div&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;None&lt;/span&gt;&lt;/div&gt;
            &lt;/td&gt;
            &lt;td valign="top" width="208" style="border-style: none solid solid none; border-color: -moz-use-text-color black black -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 156.2pt;"&gt;
            &lt;div&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;400GB&lt;/span&gt;&lt;/div&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="221" style="border-style: none solid solid; border-color: -moz-use-text-color black black; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 165.45pt;"&gt;
            &lt;div&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;Video&lt;/span&gt;&lt;/div&gt;
            &lt;/td&gt;
            &lt;td valign="top" width="210" style="border-style: none solid solid none; border-color: -moz-use-text-color black black -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 157.15pt;"&gt;
            &lt;div&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;Geforce 8600GT (PCI-E)&lt;/span&gt;&lt;/div&gt;
            &lt;/td&gt;
            &lt;td valign="top" width="208" style="border-style: none solid solid none; border-color: -moz-use-text-color black black -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 156.2pt;"&gt;
            &lt;div&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;Geforce 6600GT (AGP)&lt;/span&gt;&lt;/div&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="221" style="border-style: none solid solid; border-color: -moz-use-text-color black black; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 165.45pt;"&gt;
            &lt;div&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;CD/DVD Drive&lt;/span&gt;&lt;/div&gt;
            &lt;/td&gt;
            &lt;td valign="top" width="210" style="border-style: none solid solid none; border-color: -moz-use-text-color black black -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 157.15pt;"&gt;
            &lt;div&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;CD/Dvd Reader&lt;/span&gt;&lt;/div&gt;
            &lt;/td&gt;
            &lt;td valign="top" width="208" style="border-style: none solid solid none; border-color: -moz-use-text-color black black -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 156.2pt;"&gt;
            &lt;div&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;CD/Dvd Burner&lt;/span&gt;&lt;/div&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="221" style="border-style: none solid solid; border-color: -moz-use-text-color black black; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 165.45pt;"&gt;
            &lt;div&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;Sound Card&lt;/span&gt;&lt;/div&gt;
            &lt;/td&gt;
            &lt;td valign="top" width="210" style="border-style: none solid solid none; border-color: -moz-use-text-color black black -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 157.15pt;"&gt;
            &lt;div&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;7.1 Channel Surround Sound&lt;/span&gt;&lt;/div&gt;
            &lt;/td&gt;
            &lt;td valign="top" width="208" style="border-style: none solid solid none; border-color: -moz-use-text-color black black -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 156.2pt;"&gt;
            &lt;div&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;Integrated Sound&lt;/span&gt;&lt;/div&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="221" style="border-style: none solid solid; border-color: -moz-use-text-color black black; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 165.45pt;"&gt;
            &lt;div&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;TV Tuner&lt;/span&gt;&lt;/div&gt;
            &lt;/td&gt;
            &lt;td valign="top" width="210" style="border-style: none solid solid none; border-color: -moz-use-text-color black black -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 157.15pt;"&gt;
            &lt;div&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;Hauppauge TV Tuner with Remote&lt;/span&gt;&lt;/div&gt;
            &lt;/td&gt;
            &lt;td valign="top" width="208" style="border-style: none solid solid none; border-color: -moz-use-text-color black black -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 156.2pt;"&gt;
            &lt;div&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;None&lt;/span&gt;&lt;/div&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td valign="top" width="221" style="border-style: none solid solid; border-color: -moz-use-text-color black black; border-width: medium 1pt 1pt; padding: 0in 5.4pt; width: 165.45pt;"&gt;
            &lt;div&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;Total Price&lt;/span&gt;&lt;/div&gt;
            &lt;/td&gt;
            &lt;td valign="top" width="210" style="border-style: none solid solid none; border-color: -moz-use-text-color black black -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 157.15pt;"&gt;
            &lt;div&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;Q6600 - $130&lt;/span&gt;&lt;/div&gt;
            &lt;div&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;HDD - $110&lt;/span&gt;&lt;/div&gt;
            &lt;div&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;Sound Card - $11&lt;/span&gt;&lt;/div&gt;
            &lt;div&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;TV Tuner - $51&lt;/span&gt;&lt;/div&gt;
            &lt;div&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;Total Invested $302&lt;/span&gt;&lt;/div&gt;
            &lt;/td&gt;
            &lt;td valign="top" width="208" style="border-style: none solid solid none; border-color: -moz-use-text-color black black -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0in 5.4pt; width: 156.2pt;"&gt;
            &lt;div&gt;&lt;span style="color: rgb(31, 73, 125);"&gt;$800 Total Price&lt;/span&gt;&lt;/div&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt; &lt;a target="_self" href="http://img692.imageshack.us/img692/3053/capture1gb.jpg"&gt;&lt;img height="395" width="407" src="/images/geekswithblogs_net/mbcrump/Capture1.JPG" alt="" /&gt;&lt;br /&gt;
&lt;/a&gt;&lt;/div&gt;
&lt;p&gt; &lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136413"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136413" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/mbcrump/aggbug/136413.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/5tDQphObznw" height="1" width="1"/&gt;</description><dc:creator>mbcrump</dc:creator><feedburner:origLink>http://geekswithblogs.net/mbcrump/archive/2009/11/19/time-for-a-new-computer.aspx</feedburner:origLink></item><item><title>Hurray: NUnit's equivalent for MsTest's AssemblyInitialise is SetupFixture!</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/33vuL5oVeWQ/hurray-nunits-equivalent-for-mstests-assemblyinitialise-is-setupfixture.aspx</link><pubDate>Thu, 19 Nov 2009 14:13:02 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/marocanu2001/archive/2009/11/19/hurray-nunits-equivalent-for-mstests-assemblyinitialise-is-setupfixture.aspx</guid><wfw:comment>http://geekswithblogs.net/marocanu2001/comments/136412.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/marocanu2001/comments/commentRss/136412.aspx</wfw:commentRss><comments>http://geekswithblogs.net/marocanu2001/archive/2009/11/19/hurray-nunits-equivalent-for-mstests-assemblyinitialise-is-setupfixture.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/marocanu2001/services/trackbacks/136412.aspx</trackback:ping><source url="http://geekswithblogs.net/marocanu2001/rss.aspx">Hurray: NUnit's equivalent for MsTest's AssemblyInitialise is SetupFixture!</source><description>&lt;p&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Arial;"&gt;We used MsTest framework for a project that mainly had integration tests for Wcf Services, and found particularly useful to use &lt;span style="color: rgb(153, 204, 0);"&gt;&lt;strong&gt;AssemblyInitialise&lt;/strong&gt; &lt;/span&gt;method to start the services hosts before all the tests are run and &lt;span style="color: rgb(153, 204, 0);"&gt;&lt;strong&gt;AssemblyCleanup&lt;/strong&gt; &lt;/span&gt;to stop all the hosts after all the tests in the &lt;span style="color: rgb(153, 204, 0);"&gt;assembly &lt;/span&gt;have run.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Arial;"&gt;At some point, the company decided they would like to change this project to use NUnit instead of MsTest (for sake of uniformity, as all thi other project were using NUnit).&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Arial;"&gt;The only problem that I saw there was that I didn't find any easy way to simulate this AssemblyInitialise and AssemblyCleanup methods.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Arial;"&gt;But here we are saved, as someone told me about this &lt;span style="color: rgb(153, 204, 0);"&gt;&lt;strong&gt;SetupFixture&lt;/strong&gt; &lt;/span&gt;which works like this:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Arial;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;&lt;meta content="text/html; charset=utf-8" http-equiv="Content-Type" /&gt;
&lt;meta content="Word.Document" name="ProgId" /&gt;
&lt;meta content="Microsoft Word 12" name="Generator" /&gt;
&lt;meta content="Microsoft Word 12" name="Originator" /&gt;
&lt;link href="file:///C:%5CDOCUME%7E1%5CDEVELO%7E1%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_filelist.xml" rel="File-List" /&gt;
&lt;link href="file:///C:%5CDOCUME%7E1%5CDEVELO%7E1%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_themedata.thmx" rel="themeData" /&gt;
&lt;link href="file:///C:%5CDOCUME%7E1%5CDEVELO%7E1%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_colorschememapping.xml" rel="colorSchemeMapping" /&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Arial;"&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;
&lt;w:WordDocument&gt;
&lt;w:View&gt;Normal&lt;/w:View&gt;
&lt;w:Zoom&gt;0&lt;/w:Zoom&gt;
&lt;w:TrackMoves /&gt;
&lt;w:TrackFormatting /&gt;
&lt;w:PunctuationKerning /&gt;
&lt;w:ValidateAgainstSchemas /&gt;
&lt;w:SaveIfXMLInvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;
&lt;w:IgnoreMixedContent&gt;false&lt;/w:IgnoreMixedContent&gt;
&lt;w:AlwaysShowPlaceholderText&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;
&lt;w:DoNotPromoteQF /&gt;
&lt;w:LidThemeOther&gt;EN-GB&lt;/w:LidThemeOther&gt;
&lt;w:LidThemeAsian&gt;X-NONE&lt;/w:LidThemeAsian&gt;
&lt;w:LidThemeComplexScript&gt;X-NONE&lt;/w:LidThemeComplexScript&gt;
&lt;w:Compatibility&gt;
&lt;w:BreakWrappedTables /&gt;
&lt;w:SnapToGridInCell /&gt;
&lt;w:WrapTextWithPunct /&gt;
&lt;w:UseAsianBreakRules /&gt;
&lt;w:DontGrowAutofit /&gt;
&lt;w:SplitPgBreakAndParaMark /&gt;
&lt;w:DontVertAlignCellWithSp /&gt;
&lt;w:DontBreakConstrainedForcedTables /&gt;
&lt;w:DontVertAlignInTxbx /&gt;
&lt;w:Word11KerningPairs /&gt;
&lt;w:CachedColBalance /&gt;
&lt;/w:Compatibility&gt;
&lt;w:BrowserLevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;
&lt;m:mathPr&gt;
&lt;m:mathFont m:val="Cambria Math" /&gt;
&lt;m:brkBin m:val="before" /&gt;
&lt;m:brkBinSub m:val="&amp;#45;-" /&gt;
&lt;m:smallFrac m:val="off" /&gt;
&lt;m:dispDef /&gt;
&lt;m:lMargin m:val="0" /&gt;
&lt;m:rMargin m:val="0" /&gt;
&lt;m:defJc m:val="centerGroup" /&gt;
&lt;m:wrapIndent m:val="1440" /&gt;
&lt;m:intLim m:val="subSup" /&gt;
&lt;m:naryLim m:val="undOvr" /&gt;
&lt;/m:mathPr&gt;&lt;/w:WordDocument&gt;
&lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;
&lt;w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"
DefSemiHidden="true" DefQFormat="false" DefPriority="99"
LatentStyleCount="267"&gt;
&lt;w:LsdException Locked="false" Priority="0" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Normal" /&gt;
&lt;w:LsdException Locked="false" Priority="9" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="heading 1" /&gt;
&lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2" /&gt;
&lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3" /&gt;
&lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4" /&gt;
&lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5" /&gt;
&lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6" /&gt;
&lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7" /&gt;
&lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8" /&gt;
&lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9" /&gt;
&lt;w:LsdException Locked="false" Priority="39" Name="toc 1" /&gt;
&lt;w:LsdException Locked="false" Priority="39" Name="toc 2" /&gt;
&lt;w:LsdException Locked="false" Priority="39" Name="toc 3" /&gt;
&lt;w:LsdException Locked="false" Priority="39" Name="toc 4" /&gt;
&lt;w:LsdException Locked="false" Priority="39" Name="toc 5" /&gt;
&lt;w:LsdException Locked="false" Priority="39" Name="toc 6" /&gt;
&lt;w:LsdException Locked="false" Priority="39" Name="toc 7" /&gt;
&lt;w:LsdException Locked="false" Priority="39" Name="toc 8" /&gt;
&lt;w:LsdException Locked="false" Priority="39" Name="toc 9" /&gt;
&lt;w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption" /&gt;
&lt;w:LsdException Locked="false" Priority="10" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Title" /&gt;
&lt;w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font" /&gt;
&lt;w:LsdException Locked="false" Priority="11" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtitle" /&gt;
&lt;w:LsdException Locked="false" Priority="22" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Strong" /&gt;
&lt;w:LsdException Locked="false" Priority="20" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Emphasis" /&gt;
&lt;w:LsdException Locked="false" Priority="59" SemiHidden="false"
UnhideWhenUsed="false" Name="Table Grid" /&gt;
&lt;w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text" /&gt;
&lt;w:LsdException Locked="false" Priority="1" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="No Spacing" /&gt;
&lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading" /&gt;
&lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List" /&gt;
&lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid" /&gt;
&lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1" /&gt;
&lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2" /&gt;
&lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1" /&gt;
&lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2" /&gt;
&lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1" /&gt;
&lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2" /&gt;
&lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3" /&gt;
&lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List" /&gt;
&lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading" /&gt;
&lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List" /&gt;
&lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid" /&gt;
&lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 1" /&gt;
&lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 1" /&gt;
&lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 1" /&gt;
&lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1" /&gt;
&lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1" /&gt;
&lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 1" /&gt;
&lt;w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision" /&gt;
&lt;w:LsdException Locked="false" Priority="34" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="List Paragraph" /&gt;
&lt;w:LsdException Locked="false" Priority="29" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Quote" /&gt;
&lt;w:LsdException Locked="false" Priority="30" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Quote" /&gt;
&lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 1" /&gt;
&lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1" /&gt;
&lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1" /&gt;
&lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1" /&gt;
&lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 1" /&gt;
&lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 1" /&gt;
&lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 1" /&gt;
&lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 1" /&gt;
&lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 2" /&gt;
&lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 2" /&gt;
&lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 2" /&gt;
&lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2" /&gt;
&lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2" /&gt;
&lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 2" /&gt;
&lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 2" /&gt;
&lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2" /&gt;
&lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2" /&gt;
&lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2" /&gt;
&lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 2" /&gt;
&lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 2" /&gt;
&lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 2" /&gt;
&lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 2" /&gt;
&lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 3" /&gt;
&lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 3" /&gt;
&lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 3" /&gt;
&lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3" /&gt;
&lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3" /&gt;
&lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 3" /&gt;
&lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 3" /&gt;
&lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3" /&gt;
&lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3" /&gt;
&lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3" /&gt;
&lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 3" /&gt;
&lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 3" /&gt;
&lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 3" /&gt;
&lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 3" /&gt;
&lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 4" /&gt;
&lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 4" /&gt;
&lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 4" /&gt;
&lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4" /&gt;
&lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4" /&gt;
&lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 4" /&gt;
&lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 4" /&gt;
&lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4" /&gt;
&lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4" /&gt;
&lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4" /&gt;
&lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 4" /&gt;
&lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 4" /&gt;
&lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 4" /&gt;
&lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 4" /&gt;
&lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 5" /&gt;
&lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 5" /&gt;
&lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 5" /&gt;
&lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5" /&gt;
&lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5" /&gt;
&lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 5" /&gt;
&lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 5" /&gt;
&lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5" /&gt;
&lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5" /&gt;
&lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5" /&gt;
&lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 5" /&gt;
&lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 5" /&gt;
&lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 5" /&gt;
&lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 5" /&gt;
&lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 6" /&gt;
&lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 6" /&gt;
&lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 6" /&gt;
&lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6" /&gt;
&lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6" /&gt;
&lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 6" /&gt;
&lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 6" /&gt;
&lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6" /&gt;
&lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6" /&gt;
&lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6" /&gt;
&lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 6" /&gt;
&lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 6" /&gt;
&lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 6" /&gt;
&lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 6" /&gt;
&lt;w:LsdException Locked="false" Priority="19" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis" /&gt;
&lt;w:LsdException Locked="false" Priority="21" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis" /&gt;
&lt;w:LsdException Locked="false" Priority="31" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference" /&gt;
&lt;w:LsdException Locked="false" Priority="32" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Reference" /&gt;
&lt;w:LsdException Locked="false" Priority="33" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Book Title" /&gt;
&lt;w:LsdException Locked="false" Priority="37" Name="Bibliography" /&gt;
&lt;w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading" /&gt;
&lt;/w:LatentStyles&gt;
&lt;/xml&gt;&lt;![endif]--&gt;&lt;/span&gt;&lt;/span&gt;&lt;style type="text/css"&gt;&lt;/style&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Arial;"&gt;&lt;!--[if gte mso 10]&gt;
&lt;style&gt;
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Table Normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-qformat:yes;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-fareast-font-family:"Times New Roman";
mso-fareast-theme-font:minor-fareast;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-bidi-font-family:"Times New Roman";
mso-bidi-theme-font:minor-bidi;}
&lt;/style&gt;
&lt;![endif]--&gt; &lt;/span&gt;&lt;/span&gt;




&lt;p&gt;
&lt;/p&gt;&lt;meta content="text/html; charset=utf-8" http-equiv="Content-Type" /&gt;
&lt;meta content="Word.Document" name="ProgId" /&gt;
&lt;meta content="Microsoft Word 12" name="Generator" /&gt;
&lt;meta content="Microsoft Word 12" name="Originator" /&gt;
&lt;p class="MsoNormal"&gt; &lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Arial;"&gt;The class with this attribute can contain a &lt;span style="color: rgb(153, 204, 0);"&gt;&lt;strong&gt;SetUp&lt;/strong&gt; &lt;/span&gt;method and a &lt;span style="color: rgb(153, 204, 0);"&gt;&lt;strong&gt;TearDown&lt;/strong&gt; &lt;/span&gt;method.&lt;br /&gt;
The setup method from the Setup fixture  is executed before all the tests from a &lt;span style="color: rgb(153, 204, 0);"&gt;namespace &lt;/span&gt;are executed, TearDown method, after all the tests in a namespace are executed.&lt;br /&gt;
&lt;br /&gt;
This was very useful for out DB integration tests as well, as we needed to setup database stuff before executing all the DB integration tests.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Arial;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;span style="font-size: small;"&gt;
&lt;p&gt;&lt;span style="font-family: Arial;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;/span&gt;&lt;span style="font-family: Arial;"&gt;&lt;span style="font-size: small;"&gt;
&lt;p class="MsoNormal"&gt; &lt;/p&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;
&lt;p class="MsoNormal"&gt; &lt;/p&gt;
&lt;/span&gt;&lt;span style="font-size: small;"&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Arial;"&gt;  &lt;/span&gt;&lt;/span&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Arial;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Arial;"&gt;So here we are, saved and NUnit is still better than MsTest ! (but not better than &lt;span style="color: rgb(153, 204, 0);"&gt;MbUnit &lt;/span&gt;, imho) :)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Arial;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Arial;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Arial;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;





&lt;p&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Arial;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136412"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136412" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/marocanu2001/aggbug/136412.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/33vuL5oVeWQ" height="1" width="1"/&gt;</description><dc:creator>marocanu2001</dc:creator><feedburner:origLink>http://geekswithblogs.net/marocanu2001/archive/2009/11/19/hurray-nunits-equivalent-for-mstests-assemblyinitialise-is-setupfixture.aspx</feedburner:origLink></item><item><title>Getting Started with Entity Framework 4 - Templated Code Generation</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/jkGEIT95s6U/getting-started-with-entity-framework-4---templated-code-generation.aspx</link><pubDate>Thu, 19 Nov 2009 13:47:05 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/iupdateable/archive/2009/11/19/getting-started-with-entity-framework-4---templated-code-generation.aspx</guid><wfw:comment>http://geekswithblogs.net/iupdateable/comments/136411.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/iupdateable/comments/commentRss/136411.aspx</wfw:commentRss><comments>http://geekswithblogs.net/iupdateable/archive/2009/11/19/getting-started-with-entity-framework-4---templated-code-generation.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/iupdateable/services/trackbacks/136411.aspx</trackback:ping><source url="http://geekswithblogs.net/iupdateable/rss.aspx">Getting Started with Entity Framework 4 - Templated Code Generation</source><description>&lt;p&gt;[This is the second in a &lt;a href="http://geekswithblogs.net/iupdateable/category/10944.aspx"&gt;series of posts&lt;/a&gt; on getting started with the new features in Entity Framework 4 based on the demos I did in my session at TechEd Europe in Berlin last week (Nov 2009).]&lt;/p&gt;  &lt;p&gt;Code generation from the Entity Data Model (EDM) has changed significantly in version 4 of the Entity Framework. The product does retain a backwardly compatible model of code generation but also now includes T4 templates for code generation. This is a fantastic addition to the Entity Framework as many developers want to (easily) control the code generated from the EDM to meet their specific needs, which was very difficult to do in version 1 as it depended on the &lt;a href="http://msdn.microsoft.com/en-us/library/y2k85ax6.aspx"&gt;CodeDom&lt;/a&gt;. T4 gives us:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Full control over the code generation from an EDM &lt;/li&gt;    &lt;li&gt;The ability for developers to easily customise the templates produced by Microsoft &lt;/li&gt;    &lt;li&gt;The ability for Microsoft to easily add additional templates in the future &lt;/li&gt;    &lt;li&gt;The ability for developers to easily share templates between projects, teams and companies &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;T4 was first introduced in Visual Studio 2008 and stands for Text Template Transformation Toolkit – a code generation tool similar in capabilities to the likes of &lt;a href="http://www.codesmithtools.com/"&gt;CodeSmith&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;T4 was largely overlooked in Visual Studio 2008, in the main because there was no real UI for T4. In general  I come across very very few developers who have heard of or understand the power of T4. However, now that the Entity Framework team (and the ASP.NET MVC team) have adopted T4 wholeheartedly I expect T4 will itself get the attention it deserves.&lt;/p&gt;  &lt;p&gt;The EF team include a single T4 template in Beta 2 but add a further template in CTP2 for self tracking entities  (In Beta 1 they also had a singel template but added an additional two in the companion CTP1).&lt;/p&gt;  &lt;p&gt;By default you are not using T4 if you add a new EDM or if you open a version 1 EDM. You need to enable T4 code gen for your EDM. You do this by right clicking on the EDM design surface and then add in the template(s).&lt;/p&gt;  &lt;p&gt;In Beta 1 this was called (confusingly) &lt;em&gt;Add New Artifact Generation Item&lt;/em&gt;:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/iupdateable/WindowsLiveWriter/EntityFramework4TemplatedCodeGeneration_132FB/image_2.png" rel="lightbox"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://geekswithblogs.net/images/geekswithblogs_net/iupdateable/WindowsLiveWriter/EntityFramework4TemplatedCodeGeneration_132FB/image_thumb.png" width="471" height="334" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;In Beta 2 it is renamed to &lt;em&gt;Add Code Generation Item&lt;/em&gt;:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/iupdateable/WindowsLiveWriter/EntityFramework4TemplatedCodeGeneration_132FB/image_16.png" rel="lightbox"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://geekswithblogs.net/images/geekswithblogs_net/iupdateable/WindowsLiveWriter/EntityFramework4TemplatedCodeGeneration_132FB/image_thumb_7.png" width="345" height="328" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;This will display the available choices:&lt;/p&gt;  &lt;p&gt;Beta 1 with CTP 1&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/iupdateable/WindowsLiveWriter/EntityFramework4TemplatedCodeGeneration_132FB/image_4.png" rel="lightbox"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://geekswithblogs.net/images/geekswithblogs_net/iupdateable/WindowsLiveWriter/EntityFramework4TemplatedCodeGeneration_132FB/image_thumb_1.png" width="640" height="443" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Beta 2 with CTP 2&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/iupdateable/WindowsLiveWriter/EntityFramework4TemplatedCodeGeneration_132FB/image_18.png" rel="lightbox"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://geekswithblogs.net/images/geekswithblogs_net/iupdateable/WindowsLiveWriter/EntityFramework4TemplatedCodeGeneration_132FB/image_thumb_8.png" width="640" height="442" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Once you have added a template you will notice that the Custom Tool generation for the EDM is now blank (It normally is the value &lt;em&gt;EntityModelCodeGenerator&lt;/em&gt;):&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/iupdateable/WindowsLiveWriter/EntityFramework4TemplatedCodeGeneration_132FB/image_6.png" rel="lightbox"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://geekswithblogs.net/images/geekswithblogs_net/iupdateable/WindowsLiveWriter/EntityFramework4TemplatedCodeGeneration_132FB/image_thumb_2.png" width="256" height="172" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;In my case I have added the POCO Code Generator (which was available in CTP1 for Beta 1 and will reappear in a future CTP for Beta 2). My solution now contains two T4 files – one to generate the Object Context class and another responsible for the generation of a class (and C# file) per Entity in the EDM. Note that a single T4 template can generate several files:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/iupdateable/WindowsLiveWriter/EntityFramework4TemplatedCodeGeneration_132FB/image_10.png" rel="lightbox"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://geekswithblogs.net/images/geekswithblogs_net/iupdateable/WindowsLiveWriter/EntityFramework4TemplatedCodeGeneration_132FB/image_thumb_4.png" width="273" height="246" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;If we take a brief look at the contents of SimpleModel.Context.tt:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/iupdateable/WindowsLiveWriter/EntityFramework4TemplatedCodeGeneration_132FB/image_8.png" rel="lightbox"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://geekswithblogs.net/images/geekswithblogs_net/iupdateable/WindowsLiveWriter/EntityFramework4TemplatedCodeGeneration_132FB/image_thumb_3.png" width="630" height="482" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;We can see that the text wrapped inside &amp;lt;# #&amp;gt; is evaluated by T4 to ultimately generated the resulting C# files. The code outside is just text in the final output. This approach should feel very familiar to anyone who has developed web sites using classic ASP. For example, this section of SimpleModel.Types.tt:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/iupdateable/WindowsLiveWriter/EntityFramework4TemplatedCodeGeneration_132FB/image_20.png" rel="lightbox"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://geekswithblogs.net/images/geekswithblogs_net/iupdateable/WindowsLiveWriter/EntityFramework4TemplatedCodeGeneration_132FB/image_thumb_9.png" width="642" height="201" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;generates the partial class code in the C# file Order.cs:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/iupdateable/WindowsLiveWriter/EntityFramework4TemplatedCodeGeneration_132FB/image_14.png" rel="lightbox"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://geekswithblogs.net/images/geekswithblogs_net/iupdateable/WindowsLiveWriter/EntityFramework4TemplatedCodeGeneration_132FB/image_thumb_6.png" width="585" height="482" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;All pretty straightforward really – although a lot of “smarts” is contained within those .tt files! I will add a more general post on T4 shortly.&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136411"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136411" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/iupdateable/aggbug/136411.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/jkGEIT95s6U" height="1" width="1"/&gt;</description><dc:creator>Eric Nelson</dc:creator><feedburner:origLink>http://geekswithblogs.net/iupdateable/archive/2009/11/19/getting-started-with-entity-framework-4---templated-code-generation.aspx</feedburner:origLink></item><item><title>RoundhousE: Version Your Database</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/PjpKDuNghwA/roundhouse-version-your-database.aspx</link><pubDate>Thu, 19 Nov 2009 13:26:05 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/robz/archive/2009/11/19/roundhouse-version-your-database.aspx</guid><wfw:comment>http://geekswithblogs.net/robz/comments/136410.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/robz/comments/commentRss/136410.aspx</wfw:commentRss><comments>http://geekswithblogs.net/robz/archive/2009/11/19/roundhouse-version-your-database.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/robz/services/trackbacks/136410.aspx</trackback:ping><source url="http://geekswithblogs.net/robz/rss.aspx">RoundhousE: Version Your Database</source><description>&lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/robz/WindowsLiveWriter/RoundhousEVersionYourDatabase_5954/RoundhousE_Logo%5B1%5D_2.jpg"&gt;&lt;font size="3" face="Times New Roman"&gt;&lt;img title="RoundhousE Logo" border="0" alt="RoundhousE Logo" align="right" width="244" height="231" style="border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px" src="http://geekswithblogs.net/images/geekswithblogs_net/robz/WindowsLiveWriter/RoundhousEVersionYourDatabase_5954/RoundhousE_Logo%5B1%5D_thumb.jpg" /&gt;&lt;/font&gt;&lt;/a&gt;&lt;font size="3" face="Times New Roman"&gt; &lt;/font&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;Versioning your database is as important as versioning your code.  How much time do we waste currently before we are even productive when we have to fix or enhance something in a database?&lt;/font&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a target="_blank" href="http://projectroundhouse.org/"&gt;&lt;font size="3" face="Times New Roman"&gt;RoundhousE&lt;/font&gt;&lt;/a&gt;&lt;font size="3" face="Times New Roman"&gt; versions your database how you want. The recommended way is to version based on source control, but that may not be your solution. But for a moment let’s pretend it is. &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;Why would versioning your database based on source control be a big help? What happens if you get a prod fix (or work order) to fix a view or a stored procedure (sproc)?  How do you know where in source control that is? Do you even know what repository it lives in? How can you even be sure right away that the item you have in source control directly maps to the item in production? Oh right. You can’t. At least not without doing a manual comparison (or with a diff tool).  And if you are not even familiar with the item, how do you get back to it in source control? You ask someone. And then someone else. And so on until you find someone that knows where you can find that view in source control. “Oh….Samsonite! I was WAYYYY off.”&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;How much time are we using up currently before we are even productive? Probably quite a bit more than we realize. Let’s put it in perspective. You are a new hire today. If I was to point you to a database and tell you to fix a view and update the view in source control, how soon do you think you could be productive? What questions are you going to ask me?&lt;/font&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;Where is the view in source control? When is this needed by? etc etc&lt;/font&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;If your company instead used RoundhousE (RH) you could empower the new hire or any developer that suffers from can’t remember stuff (CRS)! Just point them to the database. Let’s take a moment to see what happens as we run the migration.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="4" face="Times New Roman"&gt;&lt;strong&gt;&lt;u&gt;RoundhousE Versions During Migration&lt;/u&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;Remember our look at the runner? I want to concentrate in just one area.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/robz/WindowsLiveWriter/RoundhousEVersionYourDatabase_5954/image_2.png"&gt;&lt;font size="3" face="Times New Roman"&gt;&lt;img title="Versioning database with version 0.0.0.67 based on http://roundhouse.googlecode.com/svn" border="0" alt="Versioning database with version 0.0.0.67 based on http://roundhouse.googlecode.com/svn" width="644" height="295" style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" src="http://geekswithblogs.net/images/geekswithblogs_net/robz/WindowsLiveWriter/RoundhousEVersionYourDatabase_5954/image_thumb.png" /&gt;&lt;/font&gt;&lt;/a&gt;&lt;font size="3" face="Times New Roman"&gt; &lt;/font&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;font size="2" face="Lucida Console"&gt;Attempting to &lt;strong&gt;resolve version&lt;/strong&gt; from C:\code\roundhouse\code_drop\deployment\&lt;strong&gt;_BuildInfo.xml&lt;/strong&gt; using &lt;strong&gt;//buildInfo/version&lt;/strong&gt;. &lt;br /&gt;
Found version 0.0.0.67 from C:\code\roundhouse\code_drop\deployment\_BuildInfo.xml. &lt;br /&gt;
Migrating TestRoundhousE from version 0 to 0.0.0.67. &lt;br /&gt;
&lt;strong&gt;Versioning TestRoundhousE database with version 0.0.0.67 based on &lt;/strong&gt;&lt;/font&gt;&lt;a href="http://roundhouse.googlecode.com/svn"&gt;&lt;font size="2" face="Lucida Console"&gt;&lt;strong&gt;http://roundhouse.googlecode.com/svn&lt;/strong&gt;&lt;/font&gt;&lt;/a&gt;&lt;font size="2" face="Lucida Console"&gt;&lt;strong&gt;.&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;What exactly is happening here? We are looking into an xml file that contains a version.  RH also asks for the repository the versioning information comes from.  That all gets recorded in the database. &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;What does that build file look like?&lt;/font&gt;&lt;/p&gt;
&lt;div&gt;
&lt;div style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;
&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;?&lt;/span&gt;&lt;span style="color: #800000"&gt;xml&lt;/span&gt; &lt;span style="color: #ff0000"&gt;version&lt;/span&gt;&lt;span style="color: #0000ff"&gt;="1.0"&lt;/span&gt; ?&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;strong&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;buildInfo&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/strong&gt;&lt;/pre&gt;
&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;  &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;projectName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;RoundhousE&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;projectName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;  &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;companyName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;FerventCoder Software&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;companyName&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;  &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;versionMajor&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;0&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;versionMajor&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;  &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;versionMinor&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;0&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;versionMinor&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;  &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;buildNumber&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;0&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;buildNumber&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;  &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;revision&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;25&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;revision&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;strong&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;  &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;version&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;1.0.22.25&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;version&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/strong&gt;&lt;/pre&gt;
&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;  &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;repositoryPath&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;http://someotherplace/svn/repositoryname/&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;repositoryPath&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;  &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;microsoftNetFramework&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;net-3.5&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;microsoftNetFramework&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;  &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;msbuildConfiguration&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;Release&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;msbuildConfiguration&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;  &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;msbuildPlatform&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;Any CPU&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;msbuildPlatform&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;  &lt;span style="color: #0000ff"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000"&gt;builtWith&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;UppercuT v. 0.9.0.216&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;builtWith&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;
&lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;&lt;span style="color: #0000ff"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000"&gt;buildInfo&lt;/span&gt;&lt;span style="color: #0000ff"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;It is the output of an automated build product called &lt;a target="_blank" href="http://projectuppercut.org"&gt;UppercuT&lt;/a&gt;. Some of you have heard me &lt;a target="_blank" href="http://ferventcoder.com/category/uppercut.aspx"&gt;talk about it before&lt;/a&gt;. It records the version in an xml output file to be used by deployment products etc.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;Now I have a way to find the query at an exact point in source control history!&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;What if I don’t use UppercuT? That’s fine, create something in your automated build to create a simple xml file that contains a version. Then pass the file path and xpath for the version info to RH. &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;Or another way you can get to version is to point to a DLL you have versioned based on source control. &lt;/font&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;font size="2" face="Lucida Console"&gt;Attempting to resolve assembly file version from C:\code\roundhouse\code_drop\RoundhousE\NAnt\&lt;strong&gt;roundhouse.dll&lt;/strong&gt;. &lt;br /&gt;
Migrating TestRoundhousE from version 0.0.0.67 to 0.0.0.67. &lt;br /&gt;
Versioning TestRoundhousE database with version 0.0.0.67 based on &lt;a href="http://roundhouse.googlecode.com/svn"&gt;http://roundhouse.googlecode.com/svn&lt;/a&gt;.&lt;/font&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;RH will automatically pull the file version from the DLL and use it to version the database.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="4" face="Times New Roman"&gt;&lt;strong&gt;&lt;u&gt;Back To Your Empowerment&lt;/u&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;So you query the scripts ran table for the view. You notice version_id is 1.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/robz/WindowsLiveWriter/RoundhousEVersionYourDatabase_5954/image_4.png"&gt;&lt;font size="3" face="Times New Roman"&gt;&lt;img title="Version Id 1 for vw_Dude.sql" border="0" alt="Version Id 1 for vw_Dude.sql" width="516" height="163" style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" src="http://geekswithblogs.net/images/geekswithblogs_net/robz/WindowsLiveWriter/RoundhousEVersionYourDatabase_5954/image_thumb_1.png" /&gt;&lt;/font&gt;&lt;/a&gt;&lt;font size="3" face="Times New Roman"&gt; &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;Now you query the version table.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/robz/WindowsLiveWriter/RoundhousEVersionYourDatabase_5954/image_6.png"&gt;&lt;font size="3" face="Times New Roman"&gt;&lt;img title="Repository and Version stored in a table. Why didn't I think of that?" border="0" alt="Repository and Version stored in a table. Why didn't I think of that?" width="462" height="76" style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" src="http://geekswithblogs.net/images/geekswithblogs_net/robz/WindowsLiveWriter/RoundhousEVersionYourDatabase_5954/image_thumb_2.png" /&gt;&lt;/font&gt;&lt;/a&gt;&lt;font size="3" face="Times New Roman"&gt; &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;Boom. You have a path to a repository. You also have an exact point in source to find the item.  You can now look revision 67 versus the current revision in source control.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;You now know exactly where to look. Two steps to productivity. You get that production fix done in no time and we are so impressed we give you a raise on the spot.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="4" face="Times New Roman"&gt;&lt;strong&gt;&lt;u&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/robz/WindowsLiveWriter/RoundhousEVersionYourDatabase_5954/image_10.png"&gt;&lt;img title="Database name is always in source control before the scripts" border="0" alt="Database name is always in source control before the scripts" align="right" width="366" height="343" style="border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px" src="http://geekswithblogs.net/images/geekswithblogs_net/robz/WindowsLiveWriter/RoundhousEVersionYourDatabase_5954/image_thumb_4.png" /&gt;&lt;/a&gt;One Repository – Multiple Databases&lt;/u&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;That’s great, but I hit multiple databases when I deploy. Easy as pie. Do you remember &lt;a target="_blank" href="http://ferventcoder.com/archive/2009/11/15/roundhouse-configuration.aspx"&gt;last time how we said&lt;/a&gt; to always include the database name before the scripts (see the picture to the right)? For each database, it is just another call to RH to run telling it the specific information about the next database. Super simple.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="4" face="Times New Roman"&gt;&lt;strong&gt;&lt;u&gt;Multiple Repositories – One Database&lt;/u&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;What if I have multiple repositories that address the same database? We got you covered. If you have more than one repository versioning a database, they will version the database independently.&lt;/font&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;font size="2" face="Lucida Console"&gt;Found version 1.0.22.25 from C:\code\roundhouse\code_drop\deployment\_BuildInfo.xml. &lt;br /&gt;
Migrating TestRoundhousE from version 0 to 1.0.22.25. &lt;br /&gt;
&lt;strong&gt;Versioning TestRoundhousE database with&lt;/strong&gt; &lt;strong&gt;version 1.0.22.25 based on &lt;/strong&gt;&lt;/font&gt;&lt;a href="http://someotherplace/svn/repositoryname/"&gt;&lt;font size="2" face="Lucida Console"&gt;&lt;strong&gt;http://someotherplace/svn/repositoryname/&lt;/strong&gt;&lt;/font&gt;&lt;/a&gt;&lt;font size="3" face="Times New Roman"&gt;&lt;font size="2" face="Lucida Console"&gt;&lt;strong&gt;.&lt;/strong&gt;&lt;/font&gt; &lt;br /&gt;
&lt;/font&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;Notice how RH said the prior version was 0. That’s because versioning is based on repository. That repository had never ran against this database before. Now looking in the version table, we see two different repositories with two different versions.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/robz/WindowsLiveWriter/RoundhousEVersionYourDatabase_5954/image_8.png"&gt;&lt;font size="3" face="Times New Roman"&gt;&lt;img title="Two repositories. Two different versions" border="0" alt="Two repositories. Two different versions" width="487" height="86" style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" src="http://geekswithblogs.net/images/geekswithblogs_net/robz/WindowsLiveWriter/RoundhousEVersionYourDatabase_5954/image_thumb_3.png" /&gt;&lt;/font&gt;&lt;/a&gt;&lt;font size="3" face="Times New Roman"&gt; &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="4" face="Times New Roman"&gt;&lt;strong&gt;&lt;u&gt;Conclusion&lt;/u&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;Versioning your database is as important as versioning your code. &lt;/font&gt;&lt;font size="3" face="Times New Roman"&gt;RoundhousE is a very powerful product for migrating your database (rivaling even some paid alternatives). And it’s free. &lt;/font&gt;&lt;font size="3" face="Times New Roman"&gt;RoundhousE is just going to keep getting better. So why not give it a try? DBAs approve. It makes auditors smile. I heard it once helped a lady walk again.&lt;/font&gt;&lt;/p&gt;
&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fferventcoder.com%2farchive%2f2009%2f11%2f19%2froundhouse-version-your-database.aspx"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fferventcoder.com%2farchive%2f2009%2f11%2f19%2froundhouse-version-your-database.aspx" border="0" alt="kick it on DotNetKicks.com" /&gt;&lt;/a&gt; &lt;a rev="vote-for" href="http://dotnetshoutout.com/RoundhousE-Version-Your-Database"&gt;&lt;img alt="Shout it" src="http://dotnetshoutout.com/image.axd?url=http%3A%2F%2Fferventcoder.com%2Farchive%2F2009%2F11%2F19%2Froundhouse-version-your-database.aspx" style="border:0px" /&gt;&lt;/a&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136410"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136410" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/robz/aggbug/136410.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/PjpKDuNghwA" height="1" width="1"/&gt;</description><dc:creator>Robz / Fervent Coder</dc:creator><feedburner:origLink>http://geekswithblogs.net/robz/archive/2009/11/19/roundhouse-version-your-database.aspx</feedburner:origLink></item><item><title>The gem in the BizTalk Administrators toolbox</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/DBBFUlHmKrk/the-gem-in-the-biztalk-administrators-toolbox.aspx</link><pubDate>Thu, 19 Nov 2009 12:14:02 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/BizTalkMonitoring/archive/2009/11/19/the-gem-in-the-biztalk-administrators-toolbox.aspx</guid><wfw:comment>http://geekswithblogs.net/BizTalkMonitoring/comments/136409.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/BizTalkMonitoring/comments/commentRss/136409.aspx</wfw:commentRss><comments>http://geekswithblogs.net/BizTalkMonitoring/archive/2009/11/19/the-gem-in-the-biztalk-administrators-toolbox.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/BizTalkMonitoring/services/trackbacks/136409.aspx</trackback:ping><source url="http://geekswithblogs.net/BizTalkMonitoring/rss.aspx">The gem in the BizTalk Administrators toolbox</source><description>&lt;div style="margin: 0cm 0cm 10pt"&gt;There seems to be a too strong trend in too many product development organizations: This is the trend to only deliver; don’t get me wrong, delivering quality software on time and within budget is a good thing. The issue is that there is in many cases only focus on delivery of applications and not too much though and focus on how the operational aspect of that software will work.&lt;/div&gt;
&lt;div style="margin: 0cm 0cm 10pt"&gt;This observation applies to almost all types of projects, with integration projects being no exception. Probably one of the most important factors after releasing your well coded and QA’ed system is ensuring that it meets a required level of uptime. The point I am trying to make is that no product development lifecycle can be complete without taking into consideration the monitoring of the product in the intended production environment. Very often system implementations are seen as less than successful due to the fact that a production system has gone down without anyone (except of course the users or downstream systems!) knowing about it.&lt;/div&gt;
&lt;div style="margin: 0cm 0cm 10pt"&gt;BizTalk or any other integration solution for that fact is no different. In fact the potential problem of downtime and system failure can be multiplied by a factor of the number of systems being integrated. This is where the vision of &lt;a href="http://www.ragingbulltech.com/index.php?option=com_content&amp;amp;view=article&amp;amp;id=46&amp;amp;Itemid=53"&gt;&lt;b&gt;Minotaur&lt;/b&gt; &lt;/a&gt;was born.&lt;/div&gt;
&lt;div style="margin: 0cm 0cm 10pt"&gt;Minotaur is an essential component in your operational toolbox that will not only provide your BizTalk administrators with up to the minute monitoring metrics via email and a dashboard, but also provide your administrators with proactive monitoring data to try and ensure that your integration systems stay available and healthy.&lt;/div&gt;
&lt;div style="margin: 0cm 0cm 10pt"&gt;Minotaur takes BizTalk monitoring to the next level; Minotaur will not only monitor your custom built BizTalk product, but also the overall BizTalk Server environment including the BizTalk databases, services and performance metrics. Minotaur can then also be configured to monitor any peripheral applications and services including SOA services that your BizTalk solution depends on. The end result is complete end to end monitoring of BizTalk centric solutions, not just BizTalk application monitoring; A feature that differentiates Minotaur from the rest.&lt;/div&gt;
&lt;div style="margin: 0cm 0cm 10pt"&gt;The &lt;a href="http://www.ragingbulltech.com/"&gt;Raging Bull Tech &lt;/a&gt;vision is also to make effective monitoring of BizTalk Server available not only to big budget organizations, but also to smaller companies. This is why Minotaur has a competitive once-off pricing model. I invite you to visit the Minotaur product page and look at the product yourself, I am sure you will find that takes &lt;b&gt;monitoring BizTalk server&lt;/b&gt; to the next level; Minotaur was designed to be a differentiator in the BizTalk monitoring tool market after all.&lt;/div&gt;
&lt;div style="margin: 0cm 0cm 10pt"&gt;Having now just gone through this shameless punt of the system I am affiliated with, I have to take some time to add that there are a few products in the market today that will provide BizTalk monitoring capabilities. Many of these products are good products, and dependant on your requirements, may or may not fulfil your requirements. I suggest doing your research on &lt;a href="http://www.google.co.uk/search?hl=en&amp;amp;q=BizTalk+Monitoring+Software&amp;amp;meta=&amp;amp;rlz=1I7GZAZ_en"&gt;&lt;b&gt;BizTalk monitoring software&lt;/b&gt; &lt;/a&gt;and evaluating each one based on a set of logical predefined criteria:&lt;/div&gt;
&lt;div style="text-indent: -18pt; margin: 0cm 0cm 0pt 37.8pt"&gt;&lt;span&gt;·&lt;span style="font: 7pt 'Times New Roman'"&gt;        &lt;/span&gt;&lt;/span&gt;Product features&lt;/div&gt;
&lt;div style="text-indent: -18pt; margin: 0cm 0cm 0pt 37.8pt"&gt;&lt;span&gt;·&lt;span style="font: 7pt 'Times New Roman'"&gt;        &lt;/span&gt;&lt;/span&gt;Pricing model&lt;/div&gt;
&lt;div style="text-indent: -18pt; margin: 0cm 0cm 10pt 37.8pt"&gt;&lt;span&gt;·&lt;span style="font: 7pt 'Times New Roman'"&gt;        &lt;/span&gt;&lt;/span&gt;Vendor support&lt;/div&gt;
&lt;div style="margin: 0cm 0cm 10pt"&gt;Happy BizTalk monitoring!&lt;/div&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136409"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136409" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/BizTalkMonitoring/aggbug/136409.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/DBBFUlHmKrk" height="1" width="1"/&gt;</description><dc:creator>BizTalkMonitoring</dc:creator><feedburner:origLink>http://geekswithblogs.net/BizTalkMonitoring/archive/2009/11/19/the-gem-in-the-biztalk-administrators-toolbox.aspx</feedburner:origLink></item><item><title>Not sure if you need the Professional version of DotNetNuke?</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/jhu2DQ-ugGg/136408.aspx</link><pubDate>Thu, 19 Nov 2009 12:14:23 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/bscarbeau/archive/2009/11/19/136408.aspx</guid><wfw:comment>http://geekswithblogs.net/bscarbeau/comments/136408.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/bscarbeau/comments/commentRss/136408.aspx</wfw:commentRss><comments>http://geekswithblogs.net/bscarbeau/archive/2009/11/19/136408.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/bscarbeau/services/trackbacks/136408.aspx</trackback:ping><source url="http://geekswithblogs.net/bscarbeau/rss.aspx">Not sure if you need the Professional version of DotNetNuke?</source><description>&lt;p&gt;The DotNetNuke web hosters at &lt;a href="http://www.powerdnn.com/" target="_blank"&gt;PowerDNN&lt;/a&gt; have put together a nice 3 minute &lt;a href="http://www.powerdnn.com/DotNetNukeProfessionalCalculator/tabid/406/Default.aspx" target="_blank"&gt;survey&lt;/a&gt; to analyze your needs on what version of DotNetNuke that you might need to have.&lt;/p&gt; &lt;p&gt;The survey has 3 categories. &lt;/p&gt; &lt;p&gt;1. Website Size&lt;/p&gt; &lt;p&gt;2. Website Usage&lt;/p&gt; &lt;p&gt;3. Project Details&lt;/p&gt; &lt;p&gt;With an easy UI of drop down lists, you just answer the questions listed in each category and then submit them to the site.&lt;/p&gt; &lt;p&gt;After you submit, you'll get reasons why you should use either the Community or Professional Edition of DotNetNuke. &lt;/p&gt; &lt;p&gt;Here's an example of the results that I received based on my input:&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;&lt;strong&gt;You should use DotNetNuke Community Edition because:&lt;/strong&gt; &lt;/p&gt;&lt;p&gt;DotNetNuke Community Edition is designed for &lt;u&gt;Small Business Websites&lt;/u&gt;.  &lt;/p&gt;&lt;p&gt;DotNetNuke Community Edition is recommended for websites using &lt;u&gt;only 1GB or Less of disk space&lt;/u&gt;.  &lt;/p&gt;&lt;p&gt;DotNetNuke Community Edition is recommended for websites using &lt;u&gt;only 1GB or Less of database space&lt;/u&gt;.  &lt;/p&gt;&lt;p&gt;DotNetNuke Community Edition is recommended for websites with &lt;u&gt;only 1 Portal&lt;/u&gt;.  &lt;/p&gt;&lt;p&gt;DotNetNuke Community Edition is designed for small websites with &lt;u&gt;only 25 - 100 User Accounts&lt;/u&gt;.  &lt;/p&gt;&lt;p&gt;DotNetNuke Community Edition does not contain content approval workflows because it would overburden &lt;u&gt;2 - 5 Content Editors&lt;/u&gt;.  &lt;/p&gt;&lt;p&gt;DotNetNuke Community Edition is designed for websites with &lt;u&gt;only 1 Web Server&lt;/u&gt;.  &lt;/p&gt;&lt;p&gt;DotNetNuke Community Edition is free and will not impact a &lt;u&gt;small budget of $0 - $3k&lt;/u&gt;.  &lt;/p&gt;&lt;p&gt;DotNetNuke Community Edition is much simpler for an organization with &lt;u&gt;only 1 - 15 Employees&lt;/u&gt; to adequately leverage.  &lt;/p&gt;&lt;p&gt;DotNetNuke Community Edition does not include legal indemnification which may be acceptable because your &lt;u&gt;organization is small&lt;/u&gt;.  &lt;/p&gt;&lt;p&gt;  &lt;/p&gt;&lt;p&gt;&lt;strong&gt;You may consider DotNetNuke Professional Edition because:&lt;/strong&gt; &lt;/p&gt;&lt;p&gt;DotNetNuke Professional Edition's content management is designed for websites that have &lt;u&gt;25 - 50 Pages or more&lt;/u&gt;.  &lt;/p&gt;&lt;p&gt;DotNetNuke Professional Edition is optimized for heavy usage which includes &lt;u&gt;100 - 500 Concurrent Users or more&lt;/u&gt;.  &lt;/p&gt;&lt;p&gt;DotNetNuke Professional Edition's advanced security model is recommended for &lt;u&gt;high-security and VPN environments&lt;/u&gt;.  &lt;/p&gt;&lt;p&gt;DotNetNuke Professional Edition's Unlimited Support and Guaranteed Issue Resolution will reduce maintainance costs once the &lt;u&gt;outsourced project is complete&lt;/u&gt;.  &lt;/p&gt;&lt;p&gt; &lt;/p&gt; &lt;p&gt;The results were very honest and PowerDNN was not trying to sell me the Professional version of DotNetNuke. Great idea to have for those that really don't know what version they should get. &lt;/p&gt; &lt;p&gt;Check it out!&lt;/p&gt; &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:a8c46d3b-0a58-41c6-8223-8eecb0aa9afc" class="wlWriterSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/DotNetNuke" rel="tag"&gt;DotNetNuke&lt;/a&gt;, &lt;a href="http://technorati.com/tags/PowerDNN" rel="tag"&gt;PowerDNN&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136408"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136408" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/bscarbeau/aggbug/136408.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/jhu2DQ-ugGg" height="1" width="1"/&gt;</description><dc:creator>Brian Scarbeau</dc:creator><feedburner:origLink>http://geekswithblogs.net/bscarbeau/archive/2009/11/19/136408.aspx</feedburner:origLink></item><item><title>SQL Azure slides and links from EdgeUG session</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/SylZwfc2DLU/sql-azure-slides-and-links-from-edgeug-session.aspx</link><pubDate>Thu, 19 Nov 2009 11:42:52 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/iupdateable/archive/2009/11/19/sql-azure-slides-and-links-from-edgeug-session.aspx</guid><wfw:comment>http://geekswithblogs.net/iupdateable/comments/136407.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/iupdateable/comments/commentRss/136407.aspx</wfw:commentRss><comments>http://geekswithblogs.net/iupdateable/archive/2009/11/19/sql-azure-slides-and-links-from-edgeug-session.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/iupdateable/services/trackbacks/136407.aspx</trackback:ping><source url="http://geekswithblogs.net/iupdateable/rss.aspx">SQL Azure slides and links from EdgeUG session</source><description>&lt;p&gt;A big thanks to all those who attended &lt;a href="http://edgeug.net/"&gt;http://edgeug.net/&lt;/a&gt; last night to hear about SQL Azure and SQL Server 2008 R2. I really enjoyed it and once again “Merry Christmas”!&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Links&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a title="http://bit.ly/startazure" href="http://bit.ly/startazure"&gt;http://bit.ly/startazure&lt;/a&gt;&lt;strong&gt; &lt;/strong&gt; takes you to the getting started page for SQL Azure (and Windows Azure)&lt;/li&gt;
    &lt;li&gt;&lt;a href="http://geekswithblogs.net/iupdateable/archive/2009/11/11/sql-server-management-studio-now-supports-sql-azure.aspx"&gt;Download SQL Server Management Studio R2&lt;/a&gt; which works with SQL Azure&lt;/li&gt;
    &lt;li&gt;Brief &lt;a href="http://geekswithblogs.net/iupdateable/archive/2009/11/13/using-sql-server-management-studio-r2-with-sql-azure.aspx"&gt;walkthrough of using SSMS R2 with SQL Azure&lt;/a&gt; (nice screenshots similar to what I showed in the first demo)&lt;/li&gt;
    &lt;li&gt;&lt;a href="http://sqlazuremw.codeplex.com/"&gt;Download the SQL Azure Migration Wizard&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="http://twitter.com/ericnel"&gt;http://twitter.com/ericnel&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="http://twitter.com/ukmsdn"&gt;http://twitter.com/ukmsdn&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;The &lt;a href="http://geekswithblogs.net/iupdateable/category/9967.aspx"&gt;UK MSDN Flash Podcast&lt;/a&gt; which I tinker with :-) Slowly moving &lt;a href="http://channel9.msdn.com/tags/UKMSDNPodcast/"&gt;onto Channel 9&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Slides&lt;/strong&gt;&lt;/p&gt;
&lt;div id="__ss_2535529" style="text-align: left; width: 425px"&gt;&lt;a title="SQL Azure Overview - ericnel" style="margin: 12px 0px 3px; display: block; font: 14px helvetica,arial,sans-serif; text-decoration: underline" href="http://www.slideshare.net/ukdpe/sql-azure-overview-ericnel"&gt;SQL Azure Overview - ericnel&lt;/a&gt;&lt;object width="425" height="355" style="margin: 0px"&gt;
&lt;param value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=sqlazure-ericnel-091119053426-phpapp02&amp;amp;rel=0&amp;amp;stripped_title=sql-azure-overview-ericnel" name="movie" /&gt;
&lt;param value="true" name="allowFullScreen" /&gt;
&lt;param value="always" name="allowScriptAccess" /&gt;&lt;embed width="425" height="355" allowfullscreen="true" allowscriptaccess="always" type="application/x-shockwave-flash" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=sqlazure-ericnel-091119053426-phpapp02&amp;amp;rel=0&amp;amp;stripped_title=sql-azure-overview-ericnel"&gt;&lt;/embed&gt;&lt;/object&gt;
&lt;div style="font-family: tahoma,arial; height: 26px; font-size: 11px; padding-top: 2px"&gt;View more &lt;a style="text-decoration: underline" href="http://www.slideshare.net/"&gt;presentations&lt;/a&gt; from &lt;a style="text-decoration: underline" href="http://www.slideshare.net/ukdpe"&gt;ukdpe&lt;/a&gt;.&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136407"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136407" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/iupdateable/aggbug/136407.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/SylZwfc2DLU" height="1" width="1"/&gt;</description><dc:creator>Eric Nelson</dc:creator><feedburner:origLink>http://geekswithblogs.net/iupdateable/archive/2009/11/19/sql-azure-slides-and-links-from-edgeug-session.aspx</feedburner:origLink></item><item><title>Should a Build Environment match Development or Production?</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/ga_NpYdymN0/136406.aspx</link><pubDate>Thu, 19 Nov 2009 05:32:16 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/liammclennan/archive/2009/11/19/136406.aspx</guid><wfw:comment>http://geekswithblogs.net/liammclennan/comments/136406.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/liammclennan/comments/commentRss/136406.aspx</wfw:commentRss><comments>http://geekswithblogs.net/liammclennan/archive/2009/11/19/136406.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/liammclennan/services/trackbacks/136406.aspx</trackback:ping><source url="http://geekswithblogs.net/liammclennan/rss.aspx">Should a Build Environment match Development or Production?</source><description>&lt;p&gt;Today I had a twittersation about build servers, and how closely they should match the development and production environments. &lt;a href="http://damianedwards.wordpress.com/" target="_blank"&gt;Damian&lt;/a&gt;’s position was that the build server should match the development environment, while I held that the build environment should be as close to production as possible. &lt;a href="http://martinfowler.com/articles/continuousIntegration.html"&gt;Martin Fowler’s Continuous Integration article&lt;/a&gt; says:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;Test in a Clone of the Production Environment &lt;/p&gt;    &lt;p&gt;The point of testing is to flush out, under controlled conditions, any problem that the system will have in production. A significant part of this is the environment within which the production system will run. If you test in a different environment, every difference results in a risk that what happens under test won't happen in production. &lt;/p&gt;    &lt;p&gt;As a result you want to set up your test environment to be as exact a mimic of your production environment as possible.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;I can provide an example of why this is a good idea. I am currently working on a project that is using Asp.Net MVC 2, which is installed on developer’s machines as a standalone MSI. The same article I mentioned before also says, “everything you need to do a build should be in there [repository] including: test scripts, properties files, database schema, install scripts, and &lt;strong&gt;&lt;em&gt;third party libraries&lt;/em&gt;&lt;/strong&gt;”. Being fallible, I made a mistake and failed to include one of the required MVC DLLs in the source repository. Because the build environment matched production we quickly detected the error because the build broke. If the build server was similar to the development environments then it would have had the required DLL in the GAC and the bug would have gone undetected. &lt;/p&gt;  &lt;p&gt;Here are the things that I consider to be important for a build environment:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;The build server should, as close as possible, match the production environment&lt;/li&gt;    &lt;li&gt;The build server should be fast. Rapid feedback is important&lt;/li&gt;    &lt;li&gt;The same build that runs on the build server should also be runnable on the developer’s machines&lt;/li&gt;    &lt;li&gt;When a build fails, everyone should know&lt;/li&gt; &lt;/ol&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136406"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136406" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/liammclennan/aggbug/136406.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/ga_NpYdymN0" height="1" width="1"/&gt;</description><dc:creator>Liam McLennan</dc:creator><feedburner:origLink>http://geekswithblogs.net/liammclennan/archive/2009/11/19/136406.aspx</feedburner:origLink></item><item><title>Hyper-V Server on a laptop - don't forget to check the power settings for the default power scheme</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/xxT06q-CRms/136405.aspx</link><pubDate>Thu, 19 Nov 2009 08:39:39 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/twickers/archive/2009/11/18/136405.aspx</guid><wfw:comment>http://geekswithblogs.net/twickers/comments/136405.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/twickers/comments/commentRss/136405.aspx</wfw:commentRss><comments>http://geekswithblogs.net/twickers/archive/2009/11/18/136405.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/twickers/services/trackbacks/136405.aspx</trackback:ping><source url="http://geekswithblogs.net/twickers/rss.aspx">Hyper-V Server on a laptop - don't forget to check the power settings for the default power scheme</source><description>&lt;p&gt;If you install Hyper-V Server it comes without the usual Windows Server UI. On a laptop this means there is no control panel applet or system tray battery icon available to adjust the power configuration. &lt;/p&gt;
&lt;p&gt;It's highly unlikely that the default option of &lt;em&gt;Balance&lt;/em&gt;&lt;em&gt;d&lt;/em&gt; is what you really want for hosting virtual machines, and you will ideally to set it to &lt;em&gt;High Performance&lt;/em&gt; instead.&lt;/p&gt;
&lt;p&gt;No need to worry, you need the command line tool, &lt;strong&gt;powercfg&lt;/strong&gt;. Run the command line with the option &lt;strong&gt;list&lt;/strong&gt; and then use the &lt;strong&gt;-setactive&lt;/strong&gt; option with the long GUID to select your desired power scheme, as shown in the screen grab below. Job done.&lt;/p&gt;
&lt;p&gt;&lt;img width="90%" alt="Using powercfg command line utility to change the power settings" src="http://www.tigernews.co.uk/blog-twickers/hyperv-powercfg/hyperv-powercfg.jpg" /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136405"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136405" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/twickers/aggbug/136405.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/xxT06q-CRms" height="1" width="1"/&gt;</description><dc:creator>Liam Westley</dc:creator><feedburner:origLink>http://geekswithblogs.net/twickers/archive/2009/11/18/136405.aspx</feedburner:origLink></item><item><title>BizTalk 2009 – ESB Itinerary Deployment Tool</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/689vBWzDoO8/136404.aspx</link><pubDate>Thu, 19 Nov 2009 04:43:25 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/sureshg/archive/2009/11/18/136404.aspx</guid><wfw:comment>http://geekswithblogs.net/sureshg/comments/136404.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/sureshg/comments/commentRss/136404.aspx</wfw:commentRss><comments>http://geekswithblogs.net/sureshg/archive/2009/11/18/136404.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/sureshg/services/trackbacks/136404.aspx</trackback:ping><source url="http://geekswithblogs.net/sureshg/rss.aspx">BizTalk 2009 – ESB Itinerary Deployment Tool</source><description>&lt;div style="margin-left: 40px"&gt; &lt;/div&gt;
&lt;div style="margin-left: 40px"&gt; &lt;/div&gt;
&lt;div style="margin-left: 40px"&gt;&lt;span style="font-size: small"&gt;&lt;span&gt;&lt;span style="font-family: Times New Roman"&gt;When an itinerary is created using the itinerary designer you can deploy the Itinerary in different ways. Listed some of them and also I created a app which is basically derived from ESBImportUtil to do the deployment :&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Times New Roman"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;ol type="1" style="margin-top: 0in"&gt;
    &lt;li&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Times New Roman"&gt;&lt;b&gt;ESBImportUtil.exe&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;div style="margin: 0in 0in 0pt 0.5in"&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Times New Roman"&gt; You can use &lt;span style="color: #333333"&gt;ESBImportUtil.exe utility located at C:\Program Files\Microsoft BizTalk ESB Toolkit 2.0\Bin.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Times New Roman"&gt;            Ex: &lt;span style="color: #333333"&gt;ESBImportUtil&lt;/span&gt;&lt;span style="color: #333333"&gt;.exe /f: onewayitinerary.xml /c: deployed /o&lt;/span&gt;     &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin: 0in 0in 0pt 1in"&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Times New Roman"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;ol type="1" start="2" style="margin-top: 0in"&gt;
    &lt;li&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Times New Roman"&gt;&lt;b&gt;Power Shell Script&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;div style="margin: 0in 0in 0pt 0.5in"&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Times New Roman"&gt; Check out the Itinerary sample in the C:\projects\microsoft.practices.esb\Source\Samples\Itinerary\Install\Scripts\Itinerary_install.ps1&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin: 0in 0in 0pt 0.5in"&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Times New Roman"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;ol type="1" start="3" style="margin-top: 0in"&gt;
    &lt;li&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Times New Roman"&gt;&lt;b&gt;Itinerary Deployment tool&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;div style="margin-left: 40px"&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Times New Roman"&gt; Itinerary deployment tool basically provides similar functionality of ESBImportUtil, instead of deploying from command line now you have this app to deploy Itineraries and also planning to enhance later for modifying Itinerary configuration during deployment and also modify existing itinerary settings.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin: 0in 0in 0pt 0.5in"&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Times New Roman"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin: 0in 0in 0pt 0.5in"&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Times New Roman"&gt;First step is to export your itinerary using Itinerary designer as xml. Choose the Itinerary xml to import in the Itinerary Deployment tool and click deploy. Import will automatically check whether the itinerary already exists in the Itinerary database or not. It will have option to overwrite the existing itinerary or not. You can overwrite an existing itinerary.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="margin: 0in 0in 0pt 0.5in"&gt; &lt;/div&gt;
&lt;p style="margin-left: 40px"&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Times New Roman"&gt;&lt;span&gt;  Check for the Source code and document: &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 12pt"&gt;&lt;a href="http://cid-ee9f2b89b1c81738.skydrive.live.com/self.aspx/.Public/BizTalk.ESB.ItineraryImporter.rar"&gt;&lt;span style="font-size: small"&gt;&lt;span style="font-family: Times New Roman"&gt;BizTalk ESB Importer&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin-left: 40px"&gt; &lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136404"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136404" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/sureshg/aggbug/136404.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/689vBWzDoO8" height="1" width="1"/&gt;</description><dc:creator>SURESH GIRIRAJAN</dc:creator><feedburner:origLink>http://geekswithblogs.net/sureshg/archive/2009/11/18/136404.aspx</feedburner:origLink></item><item><title>Why does SubSonic&amp;rsquo;s SimpleRepository &amp;lsquo;Add&amp;lt;T&amp;gt;&amp;rsquo; return a decimal instead of an int? (Part 2)</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/AQpOpGvmimE/why-does-subsonicrsquos-simplerepository-lsquoaddlttgtrsquo-return-a-decimal-instead-of-again.aspx</link><pubDate>Thu, 19 Nov 2009 01:16:47 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/GruffCode/archive/2009/11/18/why-does-subsonicrsquos-simplerepository-lsquoaddlttgtrsquo-return-a-decimal-instead-of-again.aspx</guid><wfw:comment>http://geekswithblogs.net/GruffCode/comments/136403.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/GruffCode/comments/commentRss/136403.aspx</wfw:commentRss><comments>http://geekswithblogs.net/GruffCode/archive/2009/11/18/why-does-subsonicrsquos-simplerepository-lsquoaddlttgtrsquo-return-a-decimal-instead-of-again.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/GruffCode/services/trackbacks/136403.aspx</trackback:ping><source url="http://geekswithblogs.net/GruffCode/rss.aspx">Why does SubSonic&amp;rsquo;s SimpleRepository &amp;lsquo;Add&amp;lt;T&amp;gt;&amp;rsquo; return a decimal instead of an int? (Part 2)</source><description>&lt;p&gt;&lt;a target="_blank" href="http://geekswithblogs.net/GruffCode/archive/2009/11/15/why-does-subsonicrsquos-simplerepository-lsquoaddlttgtrsquo-return-a-decimal-instead-of.aspx"&gt;Last time&lt;/a&gt; I was taking a look at SubSonic’s SimpleRepository functionality and wondering about the return value of the ‘Add&amp;lt;T&amp;gt;’ method. More specifically, I was wondering why the ‘object’ instance being returned was typed as a decimal rather than an int when the object I was persisting had a primary key field that is typed as an int.&lt;/p&gt;
&lt;p&gt;I had discovered that the while Add&amp;lt;T&amp;gt; was returning a decimal, it was also updating the primary key field (PostID on my Post class instance in this case) with the same value; essentially I was getting the correct number back both from the return value and the PostID field but the values were being typed differently.&lt;/p&gt;
&lt;p&gt;Since SubSonic is an open source project I have the luxury of pulling down the code and having a look for myself. This was easily accomplished by doing a git clone of the repository at github: &lt;a title="git://github.com/subsonic/SubSonic-3.0.git" href="git://github.com/subsonic/SubSonic-3.0.git"&gt;git://github.com/subsonic/SubSonic-3.0.git&lt;/a&gt; to a folder on my local machine. Opening the solution and building the source code only took a second and I was then able to directly reference the newly built SubSonic.Core assembly in the bin folder of my local SubSonic copy from my sample project so that I can easily F11 into the Add&amp;lt;T&amp;gt; method and see what’s going on.&lt;/p&gt;
&lt;p&gt;This little block of code appeared to be the origin of the return value for the method:&lt;/p&gt;
&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;object&lt;/span&gt; result = &lt;span class="kwrd"&gt;null&lt;/span&gt;;
&lt;span class="kwrd"&gt;using&lt;/span&gt;(var rdr = item.ToInsertQuery(_provider).ExecuteReader())
{
    &lt;span class="kwrd"&gt;if&lt;/span&gt;(rdr.Read()) 
    result = rdr[0];
}&lt;/pre&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;style type="text/css"&gt;&lt;![CDATA[csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
]]&gt;&lt;/style&gt;
&lt;p&gt;The ‘rdr’ variable above is a simple System.Data.IDataReader, the run-time instance of which is a SqlDataReader in this case. To try and understand what’s happening it’s helpful to know what the SQL that the data reader is reading from looks like. Drilling down a little bit further into the ‘ToInsertQuery’ method can show us the SQL that’s being built up at run time:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/GruffCode/WindowsLiveWriter/WhydoesSubSonicsSimpleRepositoryAddTretu_12358/image_2.png"&gt;&lt;img title="image" border="0" alt="image" width="600" height="205" style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" src="http://geekswithblogs.net/images/geekswithblogs_net/GruffCode/WindowsLiveWriter/WhydoesSubSonicsSimpleRepositoryAddTretu_12358/image_thumb.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Pulling that SQL out and formatting it some gives us this:&lt;/p&gt;
&lt;pre class="csharpcode"&gt;
INSERT &lt;span class="kwrd"&gt;INTO&lt;/span&gt; [Posts](
  [Posts].[Title],
  [Posts].[Body],
  ...)
&lt;span class="kwrd"&gt;VALUES&lt;/span&gt; (
  @ins_PostsTitle,
  @ins_PostsBody,
  ...)

&lt;span class="kwrd"&gt;SELECT&lt;/span&gt; SCOPE_IDENTITY() &lt;span class="kwrd"&gt;as&lt;/span&gt; new_id
&lt;/pre&gt;
&lt;p&gt;&lt;/p&gt;&lt;style type="text/css"&gt;&lt;![CDATA[csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
]]&gt;&lt;/style&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;So our data reader is reading back the result of ‘SELECT SCOPE_IDENTITY()’. Taking a quick look at the ‘Posts’ table that the SimpleRepository created in my database reveals that the PostID column is indeed set as the primary key/identity and is typed as an int. Some poking around in the MSDN documentation reveals what’s going on:&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="http://msdn.microsoft.com/en-us/library/ms190315.aspx"&gt;This article on SCOPE_IDENTITY&lt;/a&gt; shows that that it has a return type of ‘NUMERIC(38,0)’ while &lt;a target="_blank" href="http://msdn.microsoft.com/en-us/library/cc716729.aspx"&gt;this article on SQL Server Data Type Mappings in ADO .NET&lt;/a&gt; shows us that numeric SQL Data Type gets converted to the ‘decimal’ .NET Framework type automatically. So that mystery is solved, but this still doesn’t explain how the integer typed ‘PostID’ field was correctly updated with the new identity value while the return type remained a decimal. The next code block down in the Add&amp;lt;T&amp;gt; shows us how:&lt;/p&gt;
&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;if&lt;/span&gt; (result != &lt;span class="kwrd"&gt;null&lt;/span&gt; &amp;amp;&amp;amp; result != DBNull.Value) {
&lt;span class="kwrd"&gt;  try&lt;/span&gt; {
    var tbl =  _provider.FindOrCreateTable(&lt;span class="kwrd"&gt;typeof&lt;/span&gt;(T));
    var prop = item.GetType().GetProperty(tbl.PrimaryKey.Name);
    var settable = result.ChangeTypeTo(prop.PropertyType);
    prop.SetValue(item, settable, &lt;span class="kwrd"&gt;null&lt;/span&gt;);

    } &lt;span class="kwrd"&gt;catch&lt;/span&gt;(Exception x) {
      &lt;span class="rem"&gt;//swallow it - I don't like this per se but this is a convenience and we&lt;/span&gt;
      &lt;span class="rem"&gt;//don't want to throw the whole thing just because we can't auto-set the value&lt;/span&gt;
    }&lt;/pre&gt;
&lt;pre class="csharpcode"&gt;
}&lt;/pre&gt;
&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;return&lt;/span&gt; result;&lt;/pre&gt;
&lt;p&gt;&lt;/p&gt;&lt;style type="text/css"&gt;&lt;![CDATA[csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
]]&gt;&lt;/style&gt;
&lt;p&gt;The point of this is to provide convert the ‘result’ variable to the type of the primary key of the object being persisted. I’m not sure that I agree with swallowing the exception here, though that’s easy for me to say as an outside observer who hasn’t poured hours and hours into this code. The main reason I don’t agree with it is that I feel like the calling method really needs to be able to rely getting back the identity of the newly created record and if something blows up I would want to know about it. You can always still rely on the ‘result’ object that gets returned, but as we’ve already seen you can’t simply cast that to an int as you might think you could. I’m kind of curious to know under what circumstances this code throws an exception and see if there’s any way to make it more reliable. I can see that the definition of the ‘ChangeTypeTo’ extension method can explicitly throw an exception when the underlying database is SQLLite, but the exception thrown also hints at the workaround for that issue. I suppose this kind of thing can be the cost of doing business when you’re trying to support multiple database platforms; not everyone has the luxury of being “SQL Server only”.&lt;/p&gt;
&lt;p&gt;Oh, and the (Exception x) isn’t needed in this case since we’re not doing anything with the caught exception object; I think a simple ‘catch’ would do just fine, but I digress. :-)&lt;/p&gt;
&lt;p&gt;It wouldn’t be very difficult to modify this code to attempt to return a properly typed ‘object’ variable since we’re already trying to convert the ‘result’ object for the purposes of setting the primary key field in the provided ‘Post’ instance by trying to do something like this:&lt;/p&gt;
&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;object&lt;/span&gt; typedResult = &lt;span class="kwrd"&gt;null&lt;/span&gt;;
&lt;span class="kwrd"&gt;if&lt;/span&gt; (result != &lt;span class="kwrd"&gt;null&lt;/span&gt; &amp;amp;&amp;amp; result != DBNull.Value) {
  &lt;span class="kwrd"&gt;try&lt;/span&gt; {
    var tbl =  _provider.FindOrCreateTable(&lt;span class="kwrd"&gt;typeof&lt;/span&gt;(T));
    var prop = item.GetType().GetProperty(tbl.PrimaryKey.Name);
    var settable = result.ChangeTypeTo(prop.PropertyType);
    typedResult = settable;
    prop.SetValue(item, settable, &lt;span class="kwrd"&gt;null&lt;/span&gt;);

    } &lt;span class="kwrd"&gt;catch&lt;/span&gt;(Exception x) {
         &lt;span class="rem"&gt;//swallow it - I don't like this per se but this is a convenience and we&lt;/span&gt;
                    &lt;span class="rem"&gt;//don't want to throw the whole thing just because we can't auto-set the value&lt;/span&gt;
    }
 }

 &lt;span class="kwrd"&gt;return&lt;/span&gt; typedResult ?? result;&lt;/pre&gt;
&lt;p&gt;&lt;/p&gt;&lt;style type="text/css"&gt;&lt;![CDATA[csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
]]&gt;&lt;/style&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;This would attempt to return a properly typed result if the type conversation was successful but would return the original result if needed. This would let the calling code look closer to what I originally expected would work:&lt;/p&gt;
&lt;pre class="csharpcode"&gt;
SimpleRepository repo = &lt;span class="kwrd"&gt;new&lt;/span&gt; SimpleRepository(&lt;span class="str"&gt;"SampleDB"&lt;/span&gt;, SimpleRepositoryOptions.RunMigrations);
&lt;span class="kwrd"&gt;object&lt;/span&gt; returnValue = repo.Add&amp;lt;Post&amp;gt;(newPost);
&lt;span class="kwrd"&gt;int&lt;/span&gt; newPostID = (&lt;span class="kwrd"&gt;int&lt;/span&gt;)returnValue;&lt;/pre&gt;
&lt;pre class="csharpcode"&gt;
 &lt;/pre&gt;
&lt;p&gt;The problem here is that since the type conversion could swallow an exception there’s no guarantee that our cast to an int would work at runtime. This could pose an issue if you were relying on being able to determine the newly created ID of the object immediately after its edited. For example, you might want to take the user to the ‘view’ screen for the post right after they create it. So what’s the solution? I’m not sure that I have the right answer, especially if you don’t have any other means to uniquely identify your records. I think it’s pretty safe to assume that you’re going to get some kind of return value back. The calling code could ‘ToString()’ the returned object and use Int32.Parse but that kind of smells to me. You could also use ‘Convert.ToInt32’, which I think I like better. I think I would also be in favor of removing the empty catch block to be able to rely on the type conversion when the method returns. I think it partially comes down to whether or not you think these potentially platform-specific quirks should be the burden of the library or the library’s consumer. Given that the consumer is always going to be in a better position to know about the specific needs of context in which the library is going to be used I think I’m leaning toward the latter.&lt;/p&gt;
&lt;p&gt;That said this &lt;em&gt;is&lt;/em&gt; open source so you can always fork it and modify it for your own purposes which is part of the fun. :-)&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;style type="text/css"&gt;&lt;![CDATA[csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }
]]&gt;&lt;/style&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136403"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136403" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/GruffCode/aggbug/136403.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/AQpOpGvmimE" height="1" width="1"/&gt;</description><dc:creator>Jesse</dc:creator><feedburner:origLink>http://geekswithblogs.net/GruffCode/archive/2009/11/18/why-does-subsonicrsquos-simplerepository-lsquoaddlttgtrsquo-return-a-decimal-instead-of-again.aspx</feedburner:origLink></item><item><title>Windows Phone Camp - News and RSVP</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/iWXa4OkP10g/136402.aspx</link><pubDate>Wed, 18 Nov 2009 22:39:48 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/campuskoder/archive/2009/11/18/136402.aspx</guid><wfw:comment>http://geekswithblogs.net/campuskoder/comments/136402.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/campuskoder/comments/commentRss/136402.aspx</wfw:commentRss><comments>http://geekswithblogs.net/campuskoder/archive/2009/11/18/136402.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/campuskoder/services/trackbacks/136402.aspx</trackback:ping><source url="http://geekswithblogs.net/campuskoder/rss.aspx">Windows Phone Camp - News and RSVP</source><description>&lt;p&gt;I’m very excited to see some progress and buzz at Tampa Code Camp since we announced. We are still accepting speaker submissions and we are working having more sessions now. Continue spreading the word in person, online and even in general public too!&lt;/p&gt;  &lt;p&gt;We can still use your help to reach out to your fellow geeks and let them know about Windows Phone Camp, you never know who is not admitting to be a fan. &lt;/p&gt;  &lt;p&gt;Don’t believe the hype? At  the very least come out and learn about what’s new for yourself. We will even have a few devices on display for you to play with.&lt;/p&gt;  &lt;p&gt;Our website is: &lt;a href="http://www.windowsphonecamp.com"&gt;http://www.windowsphonecamp.com&lt;/a&gt; &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;Expect to:&lt;/p&gt;    &lt;ul&gt;     &lt;li&gt;Learn everything you need to get you started developing for the new Windows Phone &lt;/li&gt;      &lt;li&gt;Meet other Mobile enthusiast and professionals &lt;/li&gt;      &lt;li&gt;Cool raffle prizes &lt;/li&gt;      &lt;li&gt;Chance to attend WinMoDev StartUp event later that night [see earlier &lt;a href="http://windowsphonecamp.com/blog/?p=16"&gt;post&lt;/a&gt;] &lt;/li&gt;   &lt;/ul&gt;    &lt;p&gt;Here are just a few of the sessions you will see:&lt;/p&gt;    &lt;ul&gt;     &lt;li&gt;Why Windows Mobile Platform? &lt;/li&gt;      &lt;li&gt;Getting started with Developer tools &lt;/li&gt;      &lt;li&gt;What is Marketplace for Mobile and how to Submit My Application &lt;/li&gt;      &lt;li&gt;How to work with SQL Compact and Sync Services &lt;/li&gt;      &lt;li&gt;What are Widgets and how to develop them &lt;/li&gt;      &lt;li&gt;How to build a Touch friendly Application &lt;/li&gt;      &lt;li&gt;A Windows Mobile Gaming Framework &lt;/li&gt;      &lt;li&gt;A bonus Zune HD XNA game programming session &lt;/li&gt;   &lt;/ul&gt;    &lt;p&gt;Don’t forge to RSVP - &lt;a href="http://www.surveymonkey.com/s.aspx?sm=xcEvvkDzUJvsuX7m4f8ftA_3d_3d"&gt;http://www.surveymonkey.com/s.aspx?sm=xcEvvkDzUJvsuX7m4f8ftA_3d_3d&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;Got Questions? Want to be a Speaker?      &lt;br /&gt;Or if you or someone you know, knows of a Mobile Company that would like to sponsor this event?       &lt;br /&gt;Then email us at &lt;a href="mailto:contact@windowsphonecamp.com"&gt;contact@windowsphonecamp.com&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136402"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136402" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/campuskoder/aggbug/136402.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/iWXa4OkP10g" height="1" width="1"/&gt;</description><dc:creator>Nikita Polyakov</dc:creator><feedburner:origLink>http://geekswithblogs.net/campuskoder/archive/2009/11/18/136402.aspx</feedburner:origLink></item><item><title>Silverlight for Windows Embedded tutorial (step 3)</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/_sMYaCRDhBA/silverlight-for-windows-embedded-tutorial-step-3.aspx</link><pubDate>Wed, 18 Nov 2009 21:54:47 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/WindowsEmbeddedCookbook/archive/2009/11/18/silverlight-for-windows-embedded-tutorial-step-3.aspx</guid><wfw:comment>http://geekswithblogs.net/WindowsEmbeddedCookbook/comments/136401.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/WindowsEmbeddedCookbook/comments/commentRss/136401.aspx</wfw:commentRss><comments>http://geekswithblogs.net/WindowsEmbeddedCookbook/archive/2009/11/18/silverlight-for-windows-embedded-tutorial-step-3.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/WindowsEmbeddedCookbook/services/trackbacks/136401.aspx</trackback:ping><source url="http://geekswithblogs.net/WindowsEmbeddedCookbook/rss.aspx">Silverlight for Windows Embedded tutorial (step 3)</source><description>&lt;p&gt;After the first two tutorial steps were published on this blog I received many requests about using images inside a Silverlight for Windows Embedded application. This is the topic of this post.&lt;br /&gt;
To be able to load and use image files (jpegs,bmps,gifs) inside your application you should include the imaging library components in your OSDesign.&lt;br /&gt;
Those component are not included automatically when you add the XAML runtime (the runtime can run also without the imaging components, it will simply not load your images!).&lt;br /&gt;
To display an image inside your application user interface you have to use the image control of Silverlight.&lt;br /&gt;
This is a very simple XAML file that includes just an Image object and a button:&lt;/p&gt;
&lt;pre&gt;

&lt;span style="background-color: rgb(192, 192, 192);"&gt;&amp;lt;UserControl&lt;br /&gt;    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"&lt;br /&gt;    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"&lt;br /&gt;    x:Class="ImgTest.Page"&lt;br /&gt;    Width="640" Height="480" x:Name="ImagePage"&amp;gt; &lt;br /&gt;    &amp;lt;Grid x:Name="LayoutRoot" Background="White"&amp;gt;&lt;br /&gt;        &amp;lt;Image Margin="17,25,25,103" x:Name="MyImage" Source="\Windows\img01.JPG"/&amp;gt;&lt;br /&gt;        &amp;lt;Button Height="49" Margin="259,0,253,28" VerticalAlignment="Bottom" Content="Button" x:Name="MyButton" Click="OnClick"/&amp;gt;&lt;br /&gt;    &amp;lt;/Grid&amp;gt;&lt;br /&gt;&amp;lt;/UserControl&amp;gt;&lt;/span&gt;


&lt;/pre&gt;
&lt;p&gt;The image object is named "MyImage" and the button is named "MyButton".&lt;/p&gt;
&lt;p&gt;We also have an OnClick event handler for the Click event of the button.&lt;/p&gt;
&lt;p&gt;We can create a new Win32 application inside platform builder.&lt;/p&gt;
&lt;p&gt;Using the XAML2CPP we can generate some code for us.&lt;/p&gt;
&lt;p&gt;We will just have to include "XAML2CPP.h" inside your main C++ source file to use the code that XAML2CPP created for us:&lt;/p&gt;
&lt;pre&gt;&lt;span style="background-color: rgb(192, 192, 192);"&gt;#include "XAML2CPP.h" &lt;/span&gt;
&lt;/pre&gt;
&lt;p&gt;We also have to include "XAML2CPP.rc" inside the rc file of our application to include the XAML code as a resource inside our application.&lt;/p&gt;
&lt;p&gt;XAML2CPP has created a base class that we can use to implement our own class and handle the OnClick event:&lt;/p&gt;
&lt;pre&gt;&lt;span style="background-color: rgb(192, 192, 192);"&gt;class ImagePage : public TImagePage&amp;lt;ImagePage&amp;gt;  {  ...  }&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;&lt;span style="background-color: rgb(192, 192, 192);"&gt;&lt;br /&gt;
&lt;/span&gt;In this sample we will just swap two images inside the image control each time you click on the button.&lt;br /&gt;
We have to declare a state flag (to be able to swap images) and two IXRBitmapImagePtr objects to store our bitmaps.&lt;/p&gt;
&lt;pre&gt;&lt;span style="background-color: rgb(192, 192, 192);"&gt;    bool state;          IXRBitmapImagePtr    img01;     IXRBitmapImagePtr    img02; &lt;/span&gt;  
&lt;/pre&gt;
&lt;p&gt;A very simple constructor will reset the state:&lt;/p&gt;
&lt;pre&gt;&lt;span style="background-color: rgb(192, 192, 192);"&gt;    ImagePage()     {          state=false;          }  &lt;/span&gt;
&lt;/pre&gt;
&lt;p&gt;The main initialization will be performed inside our Init method (it's not a good idea to put this kind of initialization code inside the constructor because some API calls may fail and you don't have a way to return an error code from a C++ constructor).&lt;/p&gt;
&lt;pre&gt;&lt;span style="background-color: rgb(192, 192, 192);"&gt;    virtual HRESULT Init(HINSTANCE hinstance,IXRApplication* app)          {             ...     } &lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;Inside our Init method we have to call the Init method of our base class (declared by XAML2CPP), and check its return code for errors:&lt;/p&gt;
&lt;pre&gt;
 &lt;span style="background-color: rgb(192, 192, 192);"&gt;       HRESULT retcode;                    if (FAILED(retcode=TImagePage&amp;lt;ImagePage&amp;gt;::Init(hinstance,app)))              return retcode;&lt;/span&gt;
&lt;/pre&gt;
&lt;p&gt;We declared two IXRBitmapImagePtr objects but we still haven't initialized them.&lt;br /&gt;
To create a Silverlight for Windows Embedded object we should use the CreateObject method of the IXRApplication object:&lt;/p&gt;
&lt;pre&gt;&lt;span style="background-color: rgb(192, 192, 192);"&gt;        if (FAILED(retcode=app-&amp;gt;CreateObject(IID_IXRBitmapImage,&amp;amp;img01)))              return retcode;         if (FAILED(retcode=app-&amp;gt;CreateObject(IID_IXRBitmapImage,&amp;amp;img02)))              return retcode;&lt;/span&gt;
&lt;/pre&gt;
&lt;p&gt;The we can load the bitmaps and store them inside the IXRBitmapImagePtr objects:&lt;/p&gt;
&lt;pre&gt;&lt;span style="background-color: rgb(192, 192, 192);"&gt;        if (FAILED(retcode=img01-&amp;gt;SetUriSource(TEXT("\\Windows\\img01.jpg"))))                           return retcode;         if (FAILED(retcode=img02-&amp;gt;SetUriSource(TEXT("\\Windows\\img02.jpg"))))              return retcode;&lt;/span&gt;
&lt;/pre&gt;
&lt;p&gt;In the OnClick event handler we just have to swap the image displayed by the MyImage object and change the state flag:&lt;/p&gt;
&lt;pre&gt;&lt;span style="background-color: rgb(192, 192, 192);"&gt;    HRESULT OnClick(IXRDependencyObject* source,XRMouseButtonEventArgs* args)      {                    HRESULT retcode;                    if (FAILED(retcode=MyImage-&amp;gt;SetSource(state?img01:img02)))                          return retcode;                   state=state?false:true;                  return S_OK;           }&lt;/span&gt;
&lt;/pre&gt;
&lt;p&gt;The main function of this sample is quite simple and it's not much different for the WinMain functions of the previous samples (just the class name changes):&lt;/p&gt;
&lt;pre&gt;&lt;span style="background-color: rgb(192, 192, 192);"&gt;int WINAPI WinMain(HINSTANCE hInstance,                       HINSTANCE hPrevInstance,                       LPTSTR     lpCmdLine,                       int       nCmdShow)  {      if (!XamlRuntimeInitialize())              return -1;          HRESULT retcode;            IXRApplicationPtr app;          if (FAILED(retcode=GetXRApplicationInstance(&amp;amp;app)))          return -1;        ImagePage imagepage;        if (FAILED(imagepage.Init(hInstance,app)))          return -1;        UINT exitcode;        if (FAILED(imagepage.GetVisualHost()-&amp;gt;StartDialog(&amp;amp;exitcode)))          return -1;        return 0;   }&lt;/span&gt;
&lt;/pre&gt;
&lt;p&gt;You can download the full source code of this sample here:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://cid-9b7b0aefe3514dc5.skydrive.live.com/self.aspx/.Public/ImageTest.zip"&gt;http://cid-9b7b0aefe3514dc5.skydrive.live.com/self.aspx/.Public/ImageTest.zip&lt;/a&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136401"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136401" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/WindowsEmbeddedCookbook/aggbug/136401.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/_sMYaCRDhBA" height="1" width="1"/&gt;</description><dc:creator>Valter Minute</dc:creator><feedburner:origLink>http://geekswithblogs.net/WindowsEmbeddedCookbook/archive/2009/11/18/silverlight-for-windows-embedded-tutorial-step-3.aspx</feedburner:origLink></item><item><title>Automated Acceptance Testing With NGourd and WebAii</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/nu8E698WyS0/136400.aspx</link><pubDate>Wed, 18 Nov 2009 15:51:18 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/liammclennan/archive/2009/11/18/136400.aspx</guid><wfw:comment>http://geekswithblogs.net/liammclennan/comments/136400.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/liammclennan/comments/commentRss/136400.aspx</wfw:commentRss><comments>http://geekswithblogs.net/liammclennan/archive/2009/11/18/136400.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/liammclennan/services/trackbacks/136400.aspx</trackback:ping><source url="http://geekswithblogs.net/liammclennan/rss.aspx">Automated Acceptance Testing With NGourd and WebAii</source><description>&lt;p&gt;I have &lt;a href="http://hackingon.net/post/Thoughts-on-webaii-functional-web-testing-framework.aspx"&gt;written about about WebAii&lt;/a&gt; before. It is functional but the API sucks. I have &lt;a href="http://hackingon.net/post/Executable-Specifications-in-NET.aspx"&gt;written about NGourd&lt;/a&gt; too.&lt;/p&gt;  &lt;p&gt;I am currently working on a project that is using the combination of NGourd and WebAiii for automated acceptance testing. We start with a story:&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Feature: Search      &lt;br /&gt;    As a user       &lt;br /&gt;    I want to search for items       &lt;br /&gt;    so that I can find data that I am interested in&lt;/em&gt; &lt;/p&gt;  &lt;p&gt;and then write some scenarios like:&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Scenario: Search for a compensation agreement      &lt;br /&gt;    Given I am at the home page       &lt;br /&gt;    When I select the Agreements perspective       &lt;br /&gt;    And I search for 'agreement 1'       &lt;br /&gt;    Then the search results should be displayed&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;Within the test project we have the following directory structure:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/liammclennan/WindowsLiveWriter/AutomatedAcceptanceTestingWithNGourdandW_12AE4/directory_2.gif"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="directory" border="0" alt="directory" src="http://geekswithblogs.net/images/geekswithblogs_net/liammclennan/WindowsLiveWriter/AutomatedAcceptanceTestingWithNGourdandW_12AE4/directory_thumb.gif" width="244" height="216" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Search.feature is a text file containing the previously listed feature and scenario definitions. For each scenario step we must have a corresponding step definition. For example the step ‘When I select the Agreements perspective’ matches the following step definition:&lt;/p&gt;  &lt;p&gt;[Step(@"select the ([\w\s]+) perspective")]    &lt;br /&gt;        public void select_perspective(string perspective)     &lt;br /&gt;        {     &lt;br /&gt;            CurrentBrowser.Click(CurrentBrowser.Find.PerspectiveButton(perspective));     &lt;br /&gt;        }&lt;/p&gt;  &lt;p&gt;Note the use of regular expressions to parameterise the step. Because this step is an action we put it in the ActionSteps file. Everything that we need to do for our tests falls into one of the three categories: Action, ContentAssertion or Navigation. The goal is to avoid defining the same step twice so that the set of steps form a domain specific language that can be used by business analysts and the like. &lt;/p&gt;  &lt;p&gt;NGourd is a Cucumber knockoff, but without many of the features. However, it is surprising how far you can get with just the basics. So far it is working nicely. &lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136400"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136400" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/liammclennan/aggbug/136400.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/nu8E698WyS0" height="1" width="1"/&gt;</description><dc:creator>Liam McLennan</dc:creator><feedburner:origLink>http://geekswithblogs.net/liammclennan/archive/2009/11/18/136400.aspx</feedburner:origLink></item><item><title>XAML2CPP ver. 1.0.0.1</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/XT0CSA9zcY0/xaml2cpp-ver.-1.0.0.1.aspx</link><pubDate>Wed, 18 Nov 2009 21:37:02 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/WindowsEmbeddedCookbook/archive/2009/11/18/xaml2cpp-ver.-1.0.0.1.aspx</guid><wfw:comment>http://geekswithblogs.net/WindowsEmbeddedCookbook/comments/136399.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/WindowsEmbeddedCookbook/comments/commentRss/136399.aspx</wfw:commentRss><comments>http://geekswithblogs.net/WindowsEmbeddedCookbook/archive/2009/11/18/xaml2cpp-ver.-1.0.0.1.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/WindowsEmbeddedCookbook/services/trackbacks/136399.aspx</trackback:ping><source url="http://geekswithblogs.net/WindowsEmbeddedCookbook/rss.aspx">XAML2CPP ver. 1.0.0.1</source><description>&lt;p&gt;I just found (and fixed) some bugs inside the XAML2CPP tool.&lt;/p&gt;
&lt;p&gt;You can download the new release from here:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://cid-9b7b0aefe3514dc5.skydrive.live.com/self.aspx/.Public/XAML2CPP.zip"&gt;http://cid-9b7b0aefe3514dc5.skydrive.live.com/self.aspx/.Public/XAML2CPP.zip&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Changes history:&lt;/p&gt;
&lt;p&gt;ver 1.0.0.1&lt;/p&gt;
&lt;p&gt;- the application version is inserted in the generate files and written on the console&lt;/p&gt;
&lt;p&gt;- the x:Name tag of the user control is used as class name instead of the XAML file name. If no x:Name attribute is specified the XAML file name will be used.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136399"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136399" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/WindowsEmbeddedCookbook/aggbug/136399.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/XT0CSA9zcY0" height="1" width="1"/&gt;</description><dc:creator>Valter Minute</dc:creator><feedburner:origLink>http://geekswithblogs.net/WindowsEmbeddedCookbook/archive/2009/11/18/xaml2cpp-ver.-1.0.0.1.aspx</feedburner:origLink></item><item><title>New Silverlight 4 Book Content</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/CwKbUrv5rDM/new-silverlight-4-book-content.aspx</link><pubDate>Wed, 18 Nov 2009 20:23:32 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/slria/archive/2009/11/18/new-silverlight-4-book-content.aspx</guid><wfw:comment>http://geekswithblogs.net/slria/comments/136398.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/slria/comments/commentRss/136398.aspx</wfw:commentRss><comments>http://geekswithblogs.net/slria/archive/2009/11/18/new-silverlight-4-book-content.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/slria/services/trackbacks/136398.aspx</trackback:ping><source url="http://geekswithblogs.net/slria/rss.aspx">New Silverlight 4 Book Content</source><description>&lt;p&gt;Today we are happy to be able to announce the availability of some Silverlight 4 book content. For existing Silverlight developers looking to get up to speed quickly with the features we are releasing the Silverlight 4 Overview. This is a little over 50 pages of content covering the new Silverlight 4 features.  For the rest of this week using code &lt;strong&gt;SL4DaveBlog&lt;/strong&gt; at checkout you can get the new Silverlight 4 content for only $5 almost half off the normal price.  More details on the book site &lt;a href="http://www.silverlightjumpstart.com"&gt;http://www.silverlightjumpstart.com&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;For developers that are new to Silverlight but are comfortable with .NET we are releasing a preview of Silverlight 4 Jumpstart. Silverlight 4 Jumpstart content builds on the success of the Silverlight 3 Jumpstart book to offer content focused at the business .NET developer.&lt;/p&gt;  &lt;p&gt;Both of these offerings are available today and will continue to evolve with the Silverlight 4 release. These are delivered in an electronic format (PDF) and will continue to be updated with more current releases of Silverlight 4.&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;i&gt;The following is an excerpt from the Silverlight 4 Overview chapter that is available as part of Silverlight 4 Jumpstart Preview book or as a standalone chapter from SilverlightJumpstart.com. The full overview chapter covers all the major new features of Silverlight 4 to help you get up to speed quickly. &lt;/i&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;Microsoft has fast tracked Silverlight to be a strong competitor in the global RIA space and squarely positioned itself against competitors like Adobe, Google and Yahoo for production of the finest RIA toolset. The initial battleground was video, but we are now seeing Silverlight has strong potential for building business applications as well. We have tried through the previous chapters to streamline your learning of the current version of Silverlight by focusing on the key areas a business developer needs to know. Now it’s time to talk about the future and what the road ahead looks like for Silverlight.&lt;/p&gt;  &lt;p&gt;It had only been about nine months since Silverlight 2 was released in October 2008 that Silverlight 3 hit the street in July 2009. Then, just four months after the release of Silverlight 3 Microsoft released Silverlight 4 Beta at its Professional Developer Conference in November 2009. Each of these releases build on the prior one to add new features while at the same time keeping compatibility to support this fast pace of innovation.&lt;/p&gt;  &lt;p&gt;If I had to pick a single theme for the main items that are part of Silverlight 4 I would have to choose “You Asked, Microsoft built it”. I say that because many of the items like Printing or Web Camera/Microphone support for example were some of the highest user prioritized features. You can check that out for yourself at Silverlight.UserVoice.com and while you’re there add or vote on a couple of your requests.&lt;/p&gt;  &lt;p&gt;Silverlight 4 is also a major deal because it’s the first release of Silverlight to support .NET 4 CLR (Common Language Runtime). This gives developers access to the latest runtime features that are added to CLR4 including things like dynamic object support.&lt;/p&gt;  &lt;p&gt;In addition to the core Silverlight 4 Beta, Microsoft also released corresponding updates to the other tools and products used with Silverlight. The tools for working with Silverlight from within Visual Studio were updated to support the Silverlight 4 Beta. This includes increased designer support to make it easier to develop Silverlight applications without having to leave Visual Studio for a separate tool. A new version of the Silverlight Toolkit was also released that goes along with the Silverlight 4 update. An update was also released for .NET RIA Services which has now been renamed as WCF RIA Services to reflect the fact that it now rides on top of WCF. This is an evolution of the prior .NET RIA Services releases and positions it to leverage WCF as a foundation to build on going forward. In addition to the WCF change a number of additional features such as improved inheritance support were added to WCF RIA Services in this release. Finally, a preview release of Blend for .NET 4 was released to allow it to work with Silverlight 4.    &lt;br /&gt;In the rest of this chapter we are going to preview some of these features that you will see in the Silverlight 4 Beta release. &lt;/p&gt; &lt;b&gt;&lt;/b&gt;  &lt;h4&gt;Web Camera / Microphone Support&lt;/h4&gt;  &lt;p&gt;Silverlight 4 now allows developers to access to the raw audio and video streams on the local machine from applications running both in and out of the browser. Using these capabilities developers can write applications including capture and collaboration using audio and video. This is built-in to the core runtime and no other special downloads are required on each machine. When the audio or video is accessed for the first time by the application the user will be prompted to approve the request. This ensures that audio and video is never accessed without the user’s knowledge preventing applications that capture silently in the background. The following is an example of the prompt the user sees when the application requests access to the devices.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/slria/WindowsLiveWriter/MixingSilverlight4withDynamicsCRM_BB26/VideoAudoPrompt_2.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="VideoAudoPrompt" border="0" alt="VideoAudoPrompt" src="http://geekswithblogs.net/images/geekswithblogs_net/slria/WindowsLiveWriter/MixingSilverlight4withDynamicsCRM_BB26/VideoAudoPrompt_thumb.png" width="415" height="158" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;You will notice in the above image the site name is displayed. This is another safeguard to ensure the user knows which site is requesting access to the devices. Access is granted to just this application and only for this session of the application. Currently there is no option to persist the user’s approval to avoid re-prompting each time the application is run. Additionally, it’s all or nothing; you don’t get to choose video or microphone. It’s a combined approval.&lt;/p&gt;  &lt;p&gt;Users with multiple devices can select the devices they want to be the default devices using the properties on the Silverlight plug-in. This can be selected by right-clicking on a Silverlight application and going to the Webcam/Mic tab.&lt;/p&gt;  &lt;p&gt;The following is an example of what you will see on that tab.&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/slria/WindowsLiveWriter/MixingSilverlight4withDynamicsCRM_BB26/choosedefaultmic_2.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="choosedefaultmic" border="0" alt="choosedefaultmic" src="http://geekswithblogs.net/images/geekswithblogs_net/slria/WindowsLiveWriter/MixingSilverlight4withDynamicsCRM_BB26/choosedefaultmic_thumb.png" width="447" height="159" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Developers can get access to the chosen devices using the &lt;b&gt;CaptureDeviceConfiguration&lt;/b&gt; class. Using this class you can call the &lt;b&gt;GetDefaultAudioCaptureDevice&lt;/b&gt; or &lt;b&gt;GetDefaultVideoCaptureDevice&lt;/b&gt; methods to retrieve the users selected defaults. The class also has &lt;b&gt;GetAvailableAudioCaptureDevices&lt;/b&gt; and &lt;b&gt;GetAvailableVideoCaptureDevices&lt;/b&gt; methods that allow you to enumerate the available devices if you want more control of choosing a device besides the default.&lt;/p&gt;  &lt;p&gt;Prior to using the devices you must request access to the device by calling the &lt;b&gt;RequestDeviceAccess() &lt;/b&gt;method from the &lt;b&gt;CaptureDeviceConfiguration&lt;/b&gt; class. When this method is called it is responsible for showing the user approval dialog we saw earlier. This method must be called from a user initiated event handler like the event handler for a button click event. If you call it at other times it will either not do anything or produce an error. Using the &lt;b&gt;AllowedDeviceAccess&lt;/b&gt; property you can query if access has already been granted to the device.&lt;/p&gt;  &lt;p&gt;The quickest way to get started using the video is to attach the capture from the device to a &lt;b&gt;VideoBrush&lt;/b&gt; and then use the brush to paint the background of a border. The following XAML sets up the button to trigger the capture and a border that we will paint with a video brush.     &lt;/p&gt;&lt;table border="1" cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td valign="top" width="686"&gt;           &lt;p&gt;&amp;lt;StackPanel&amp;gt;&lt;/p&gt;            &lt;p&gt;&amp;lt;Button x:Name="btnStartvideo" Click="btnStartvideo_Click" &lt;/p&gt;            &lt;p&gt;Content="Start Video"&amp;gt;&amp;lt;/Button&amp;gt;&lt;/p&gt;            &lt;p&gt;&amp;lt;Border x:Name="borderVideo" Height="200" Width="200"&amp;gt;&amp;lt;/Border&amp;gt;&lt;/p&gt;            &lt;p&gt;&amp;lt;/StackPanel&amp;gt;&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt;   &lt;p&gt;Next, the following private method &lt;b&gt;TurnOnVideo &lt;/b&gt;method is called from the handler for the click event on the button. This satisfies the requirement to be user initiated.     &lt;/p&gt;&lt;table border="1" cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td valign="top" width="686"&gt;           &lt;p&gt;private void TurnOnVideo()&lt;/p&gt;            &lt;p&gt;{&lt;/p&gt;            &lt;p&gt;VideoCaptureDevice videoCap = &lt;/p&gt;            &lt;p&gt;CaptureDeviceConfiguration.GetDefaultVideoCaptureDevice();&lt;/p&gt;            &lt;p&gt;AudioCaptureDevice audioCap = &lt;/p&gt;            &lt;p&gt;CaptureDeviceConfiguration.GetDefaultAudioCaptureDevice();&lt;/p&gt;            &lt;p&gt;CaptureSource capsource = new CaptureSource();&lt;/p&gt;            &lt;p&gt;capsource.AudioCaptureDevice = audioCap;&lt;/p&gt;            &lt;p&gt;capsource.VideoCaptureDevice = videoCap;&lt;/p&gt;            &lt;p&gt;if (CaptureDeviceConfiguration.AllowedDeviceAccess &lt;/p&gt;            &lt;p&gt;|| CaptureDeviceConfiguration.RequestDeviceAccess())&lt;/p&gt;            &lt;p&gt;{&lt;/p&gt;            &lt;p&gt;capsource.Start();&lt;/p&gt;            &lt;p&gt;VideoBrush vidBrush = new VideoBrush();&lt;/p&gt;            &lt;p&gt;vidBrush.SetSource(capsource);&lt;/p&gt;            &lt;p&gt;borderVideo.Background = vidBrush;&lt;/p&gt;            &lt;p&gt;}&lt;/p&gt;            &lt;p&gt;}&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt;   &lt;p&gt;As you can see in the code above, default audio and video devices are retrieved and assigned to a &lt;b&gt;CaptureSource&lt;/b&gt;. Access to the devices is then checked and requested if not already approved.&lt;/p&gt;  &lt;p&gt;If access is granted the &lt;b&gt;Start()&lt;/b&gt; method on the &lt;b&gt;CaptureSource&lt;/b&gt; is invoked to begin capturing audio and video. Finally, the &lt;b&gt;VideoBrush&lt;/b&gt; source is set to the &lt;b&gt;CaptureSource&lt;/b&gt; instance and the background on the border is set to the &lt;b&gt;VideoBrush&lt;/b&gt;.&lt;/p&gt;  &lt;p&gt;Overtime we will probably see some very interesting applications of the audio and video support. One example that we put together was using it with Microsoft Dynamics CRM. In this example application a membership application was simulated that associated members with pictures and stored the pictures in a database. Think of a place similar to Costco, Sam’s Club or your local gym that snaps your photo for their records.&lt;/p&gt;  &lt;p&gt;In the following image you can see how a tab has been added to the Contact form using the CRM customization capabilities. &lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/slria/WindowsLiveWriter/MixingSilverlight4withDynamicsCRM_BB26/CRMCap1_2.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="CRMCap1" border="0" alt="CRMCap1" src="http://geekswithblogs.net/images/geekswithblogs_net/slria/WindowsLiveWriter/MixingSilverlight4withDynamicsCRM_BB26/CRMCap1_thumb.png" width="460" height="196" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;A Silverlight 4 application is then hosted inside that tab that will provide the user experience for capturing the images. When the Start Camera button is clicked the user will be prompted to approve the access and the video feed will begin as you can see below.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/slria/WindowsLiveWriter/MixingSilverlight4withDynamicsCRM_BB26/crmcap3_2.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="crmcap3" border="0" alt="crmcap3" src="http://geekswithblogs.net/images/geekswithblogs_net/slria/WindowsLiveWriter/MixingSilverlight4withDynamicsCRM_BB26/crmcap3_thumb.png" width="441" height="241" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;The video feed will keep showing the live image updated from the web cam until stopped. The Capture button on the above application allows the user to capture one of the image frames from the capture source. The &lt;b&gt;AsyncCaptureImage(..)&lt;/b&gt; method on the &lt;b&gt;CaptureSource&lt;/b&gt; class allows you to request that a frame be captured and your callback invoked. The callback is then invoked and passed a &lt;b&gt;WriteableBitmap&lt;/b&gt; representing the captured frame.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/slria/WindowsLiveWriter/MixingSilverlight4withDynamicsCRM_BB26/crmcap4_2.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="crmcap4" border="0" alt="crmcap4" src="http://geekswithblogs.net/images/geekswithblogs_net/slria/WindowsLiveWriter/MixingSilverlight4withDynamicsCRM_BB26/crmcap4_thumb.png" width="457" height="247" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;This image can then be saved back to the Dynamics CRM server and associated with the record being viewed.&lt;/p&gt;  &lt;p&gt;In the above example we looked at how you could use the video capabilities to capture a static image. More advanced applications are also possible for things like collaboration by showing the real time audio and video feed of multiple users.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;i&gt;You have been reading about one of the many new and exciting features of Silverlight 4 that are covered in the complete overview chapter. Visit &lt;a href="http://www.silverlightjumpstart.com"&gt;SilverlightJumpstart.com&lt;/a&gt; today to access the full chapter. &lt;/i&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136398"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136398" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/slria/aggbug/136398.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/CwKbUrv5rDM" height="1" width="1"/&gt;</description><dc:creator>slria</dc:creator><feedburner:origLink>http://geekswithblogs.net/slria/archive/2009/11/18/new-silverlight-4-book-content.aspx</feedburner:origLink></item><item><title>Silverlight 4 beta released at #PDC09</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/D1tQTjDlQrw/silverlight-4-beta-released-at-pdc09.aspx</link><pubDate>Wed, 18 Nov 2009 19:58:06 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/lbugnion/archive/2009/11/18/silverlight-4-beta-released-at-pdc09.aspx</guid><wfw:comment>http://geekswithblogs.net/lbugnion/comments/136397.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/lbugnion/comments/commentRss/136397.aspx</wfw:commentRss><comments>http://geekswithblogs.net/lbugnion/archive/2009/11/18/silverlight-4-beta-released-at-pdc09.aspx#comment</comments><slash:comments>8</slash:comments><trackback:ping>http://geekswithblogs.net/lbugnion/services/trackbacks/136397.aspx</trackback:ping><source url="http://geekswithblogs.net/lbugnion/rss.aspx">Silverlight 4 beta released at #PDC09</source><description>&lt;p&gt;&lt;img style="margin: 0px 10px 0px 0px; display: inline" border="0" align="left" src="http://storage.timheuer.com/sl4bloglogo.png" /&gt;&lt;/p&gt;  &lt;p&gt;Well people, it was an amazing keynote. Silverlight 4 beta was just presented by Scott Guthrie at the &lt;a href="http://microsoftpdc.com/"&gt;Professional Developer Conference 2009&lt;/a&gt; in Los Angeles. As soon as Silverlight 3 was released a few months ago, the Silverlight team started working on new features to create what will be a really exciting release.&lt;/p&gt;  &lt;p&gt;As of now, the Silverlight 4 beta bits and all the necessary tools are available for download. Probably the best place to start is Tim Heuer (Silverlight evangelist for Microsoft) who has a &lt;a href="http://timheuer.com/blog/archive/2009/11/18/whats-new-in-silverlight-4-complete-guide-new-features.aspx"&gt;guide to the new features on his blog&lt;/a&gt;. A great and very clear read!&lt;/p&gt;  &lt;p&gt;Another fantastic resource is my friend Corrado Cavalli’s &lt;a href="http://www.codeworks.it/public/docs/Silverlight4eng.pdf"&gt;PDF document&lt;/a&gt; with all the new features (there is also an Italian version &lt;a href="http://blogs.ugidotnet.org/corrado/archive/2009/11/18/silverlight-4-whatrsquos-new.aspx"&gt;on Corrado’s blog&lt;/a&gt;).&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; Just found out about the &lt;a href="http://channel9.msdn.com/learn/courses/Silverlight4/"&gt;Silverlight 4 Training Course available on Channel 9&lt;/a&gt;, put together by Adam Kinney and John Papa, two Microsoft evangelists!&lt;/p&gt;  &lt;h2&gt;What happens with WPF?&lt;/h2&gt;  &lt;p&gt;Those of you who know me well know that &lt;a href="http://groups.google.com/group/wpf-disciples/?pli=1"&gt;I love WPF&lt;/a&gt; as much as Silverlight, and I am really super happy &lt;a href="http://www.identitymine.com"&gt;to work for IdentityMine&lt;/a&gt;, a firm that is very active in both environments. &lt;/p&gt;  &lt;p&gt;Windows Presentation Foundation is not dead, not at all. With WPF4 (which is available in beta with &lt;a href="http://msdn.microsoft.com/de-de/vstudio/dd582936.aspx"&gt;Visual Studio 2010 beta 2&lt;/a&gt;), a load of new features is making it to the desktop as well. In the beginning of the year at MIX09, I had a talk about the .NET continuum, and we are exactly there, with Silverlight and WPF coming closer, but still having their respective features. WPF is more than ever Silverlight’s big sister, they are closer than they have ever been, which is a blessing for us developers because passing from one world to the other has never been easier. &lt;/p&gt;  &lt;p&gt;With Silverlight running &lt;a href="http://timheuer.com/blog/archive/2009/11/18/whats-new-in-silverlight-4-complete-guide-new-features.aspx#elevated"&gt;out of the browser with elevated permissions&lt;/a&gt;, and with the possibility to modify the appearance of the window hosting the out-of-browser application, Silverlight is coming very close to a desktop application. But it is not one yet. So the question is, will we see a “merge” between Silverlight and WPF in the coming few years? Well to be frank, I am a very vocal proponent of the convergence, and I am pretty sure that we will go that way sooner or later. The good news is that all that Microsoft learned over the years while creating WPF is invested in Silverlight. In some areas, it has been made even better, because they learned from some mistakes. In others, they capitalized on the fantastic functionalities available in WPF and made that available to us without a change in Silverlight. My point is that talking about the death of WPF is &lt;a href="http://www.friends-tv.org/zz708.html"&gt;a cow’s opinion, it’s a moo point&lt;/a&gt;. WPF and Silverlight will continue to grow ever closer, and we will continue to enjoy the best of both worlds, the desktop and the web! &lt;strong&gt;Exciting years to be a client developer indeed!&lt;/strong&gt;&lt;/p&gt;  &lt;h2&gt;These are YOUR features&lt;/h2&gt;  &lt;p&gt;One thing the Silverlight does really well is listen to the community. I read somewhere that 70% of the features requested by the community have made it into Silverlight 4 beta. This is pretty amazing. So continue that work, place your requests either directly to Microsoft evangelists if you have the chance to know one, or &lt;a href="http://twitter.com/JustinAngel/silverlight-mvps"&gt;through Silverlight MVPs&lt;/a&gt; who have possibilities to get to talk to the Silverlight team often. &lt;/p&gt;  &lt;p&gt;And the story is not over yet… Keep your eyes open, we have amazing years in front of us!&lt;/p&gt;  &lt;p&gt;Happy coding!!&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;div style="margin-bottom: -1em"&gt;   &lt;div style="vertical-align: middle"&gt;&lt;a href="http://www.galasoft.ch/"&gt;&lt;img title="GalaSoft Laurent Bugnion" alt="GalaSoft Laurent Bugnion" src="http://www.galasoft.ch/logo/Current/logo_120x30.png" /&gt;&lt;/a&gt; &lt;/div&gt;    &lt;div style="position: relative; top: -36px; left: 130px"&gt;&lt;strong&gt;&lt;a href="http://www.galasoft.ch/contact_en.html"&gt;Laurent Bugnion (GalaSoft)&lt;/a&gt;&lt;/strong&gt;       &lt;br /&gt;&lt;a href="http://feeds.feedburner.com/galasoft"&gt;Subscribe&lt;/a&gt; | &lt;a href="http://twitter.com/lbugnion"&gt;Twitter&lt;/a&gt; | &lt;a href="http://www.facebook.com/lbugnion"&gt;Facebook&lt;/a&gt; | &lt;a href="http://www.flickr.com/photos/lbugnion"&gt;Flickr&lt;/a&gt; | &lt;a href="http://www.linkedin.com/in/lbugnion"&gt;LinkedIn&lt;/a&gt; &lt;/div&gt; &lt;/div&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136397"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136397" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/lbugnion/aggbug/136397.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/D1tQTjDlQrw" height="1" width="1"/&gt;</description><dc:creator>Laurent Bugnion</dc:creator><feedburner:origLink>http://geekswithblogs.net/lbugnion/archive/2009/11/18/silverlight-4-beta-released-at-pdc09.aspx</feedburner:origLink></item><item><title>My Entity Framework Sessions for November 19</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/Pq_LocgLzNg/my-entity-framework-sessions-for-november-19.aspx</link><pubDate>Wed, 18 Nov 2009 19:41:58 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/danemorgridge/archive/2009/11/18/my-entity-framework-sessions-for-november-19.aspx</guid><wfw:comment>http://geekswithblogs.net/danemorgridge/comments/136396.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/danemorgridge/comments/commentRss/136396.aspx</wfw:commentRss><comments>http://geekswithblogs.net/danemorgridge/archive/2009/11/18/my-entity-framework-sessions-for-november-19.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/danemorgridge/services/trackbacks/136396.aspx</trackback:ping><source url="http://geekswithblogs.net/danemorgridge/rss.aspx">My Entity Framework Sessions for November 19</source><description>&lt;p&gt;I am doing my "Getting to the Entity Framework" talk at NotAtPDC this year.  It will be a virtual event via live meeting and will start at 1:30 CST tomorrow, November 19, 2009.  You can get all the details at the NotAtPDC site: &lt;a href="http://www.notatpdc.com/Schedule/Detail/27"&gt;http://www.notatpdc.com/Schedule/Detail/27&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
I will also be doing a quick 15 minute quick start on Entity Framework tomorrow night at the monthly Philly.Net metting with a discussion panel to follow: &lt;a href="http://phillydotnet.org/"&gt;http://phillydotnet.org/&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
If you are all interested in checking out what Entity Framework has to offer, both in it's current state and upcoming release, checkout my NotAtPDC session tomorrow. &lt;br /&gt;
&lt;br /&gt;
I also have several blog posts in the works on some new features coming in Entity Framework 4 and I'll start posting them with in the next few days.&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136396"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136396" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/danemorgridge/aggbug/136396.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/Pq_LocgLzNg" height="1" width="1"/&gt;</description><dc:creator>Dane Morgridge</dc:creator><feedburner:origLink>http://geekswithblogs.net/danemorgridge/archive/2009/11/18/my-entity-framework-sessions-for-november-19.aspx</feedburner:origLink></item><item><title>PDC 09 : Day 2</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/_eQxzQMbiw8/pdc-09--day-2.aspx</link><pubDate>Wed, 18 Nov 2009 19:30:21 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/SoftwareDoneRight/archive/2009/11/18/pdc-09--day-2.aspx</guid><wfw:comment>http://geekswithblogs.net/SoftwareDoneRight/comments/136395.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/SoftwareDoneRight/comments/commentRss/136395.aspx</wfw:commentRss><comments>http://geekswithblogs.net/SoftwareDoneRight/archive/2009/11/18/pdc-09--day-2.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/SoftwareDoneRight/services/trackbacks/136395.aspx</trackback:ping><source url="http://geekswithblogs.net/SoftwareDoneRight/rss.aspx">PDC 09 : Day 2</source><description>&lt;h1&gt;&lt;strong&gt;Keynote:&lt;/strong&gt;&lt;/h1&gt;  &lt;p&gt; &lt;/p&gt;  &lt;h2&gt;&lt;font color="#ff0000"&gt;HOLY SMOKES!!&lt;/font&gt;  Now this is why I came to PDC!  Announced today:  Silverlight 4 Beta.  Printing?  Yep.  Access to Local File System?  Yep.  Want to share your assemblies between SL and native .NET assemblies?  No Problem.  Want access to the clipboard?  COM Interop?  Web Cam &amp;amp; Micrphone?  Done and Done.&lt;/h2&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;SketchFlow.. Wha!?!?!  OMG thats a cool prototyping tool.&lt;/p&gt;  &lt;p&gt;Sharepoint 2010 is looking like a tour de force.  The ease of development, integration and deployment.  Debugging and sandbox support.  Solutions can be deployed and tested on client OS machines.  Client toolkits uses REST or a Client SDK make it all so attractive.  NICE JOB SHAREPOINT.. NICE JOB. &lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;oh yeah.. and then there was this:  &lt;a href="http://www.betanews.com/joewilcox/article/Microsoft-gives-free-laptop-to-PDC-2009-attendees/1258566424"&gt;Microsoft gives free laptop to PDC 2009 attendees&lt;/a&gt;.  Some days its great to be a GEEK.&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;On to Windows Identity Foundation overview.  &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Windows Identity Foundation Overview:&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Covered the basics of WIF:  Stand up an STS (custom or ADFS), configure your application (RP) to be defended by the tokens issued from your new STS.  Configure the claims to fetch, etc.  WIF Wizards take care of the client configuration, and the WIF http modules will map the incoming token to an Identity, Principal,  and a set of claims.  Optionally you can control authorization logic based on the incoming claims either directly in code or by establishing policy articulated in the RP’s configuration file.  WIF supports Active, Passive and Delegated (ACTAS) scenarios. &lt;/p&gt;  &lt;p&gt;Nothing new in this session for me, but I still found the validation to be worth while.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Windows Workflow (Overview and Host Deep Dive)&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;WF (pronounced dub-eff) 4.0 looks like a great improvement over the 3.0 version.  The product looks highly extensible and powerful, but the overview session was anything but.  Presented by Matt Winkler (Mr. WF) presented a 200 level talk to a bunch of people who were asking “What is Workflow?”.  I have some WF 3x experience, and found it difficult to grasp how the pieces fit together.&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;The follow up session was the “under the hood” of the workflow host, which was surprising interesting and insightful.  &lt;/p&gt;  &lt;p&gt;The WF presenters needed a session on “How to build, deploy and debug WF 4.0”.  It would have provided attendees with the skills needed to get going with WF.  For a product line still searching for its user base, I think the WF team missed a great opportunity.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Ask The Experts&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Pick a topic,  move to the roundtable filled with experts, and dialog with your peers and gurus.  I sat at the WF table for a while, then moved over to C#. Met two members of the C# dev team.  One, DJ Park, was great to talk with, the other (who shall remain nameless) was an arrogant douchebag.  Tomorrow I’m excited to check out the IntelliTrace stuff in VS2010, but now its time to party down, Geek Style.&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;GeekFest&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Wall-to-wall geeks having fun the geek way; there was class video games, air hockey tables, pool tables,  on thz,line sessions of &lt;strong&gt;Gears of War&lt;/strong&gt;, and gaggles of geeks competing in a “Puzzle contest”.  Yeah thats right, they were competing over puzzles.  I enjoyed the video games, pool tables, virtual roller coaster, and free chair massages (I really enjoyed that last one).  Plenty of food and drink, and I’m sure somewhere they were hosting a D&amp;amp;D game, but I can’t confirm that. &lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136395"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136395" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/SoftwareDoneRight/aggbug/136395.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/_eQxzQMbiw8" height="1" width="1"/&gt;</description><dc:creator>ChrisD</dc:creator><feedburner:origLink>http://geekswithblogs.net/SoftwareDoneRight/archive/2009/11/18/pdc-09--day-2.aspx</feedburner:origLink></item><item><title>Silverlight 4 Beta is Out!</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/kbEyC4sWV3E/136394.aspx</link><pubDate>Wed, 18 Nov 2009 18:43:26 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/WynApseTechnicalMusings/archive/2009/11/18/136394.aspx</guid><wfw:comment>http://geekswithblogs.net/WynApseTechnicalMusings/comments/136394.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/WynApseTechnicalMusings/comments/commentRss/136394.aspx</wfw:commentRss><comments>http://geekswithblogs.net/WynApseTechnicalMusings/archive/2009/11/18/136394.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/WynApseTechnicalMusings/services/trackbacks/136394.aspx</trackback:ping><source url="http://geekswithblogs.net/WynApseTechnicalMusings/rss.aspx">Silverlight 4 Beta is Out!</source><description>&lt;p&gt;&lt;font face="tahoma"&gt; &lt;center&gt;&lt;strong&gt;&lt;span style="font-size: large;"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;Silverlight 4 Beta is out! &lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/center&gt;&lt;br /&gt;
&lt;br /&gt;
Yes boys and girls, you heard that right!! This morning at PDC, Scott Guthrie announced the news. &lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;strong&gt;And I was so interested in posting this, I had a bad link for Shawn's site -- that's now fixed -- sorry Shawn!!&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Go to &lt;a href="http://silverlight.net/getstarted/silverlight-4-beta/"&gt;&lt;u&gt;Silverlight 4 Beta Information&lt;/u&gt;&lt;/a&gt; to get all the information, and download the bits. &lt;br /&gt;
&lt;br /&gt;
All the usual suspects have posts up alread as well: &lt;br /&gt;
&lt;br /&gt;
Tim Heuer has a great long post up about it on his site: &lt;a href="http://timheuer.com/blog/archive/2009/11/18/whats-new-in-silverlight-4-complete-guide-new-features.aspx"&gt;&lt;u&gt;Silverlight 4 Beta – A guide to the new features&lt;/u&gt;&lt;/a&gt; &lt;br /&gt;
&lt;br /&gt;
Shawn Wildermuth as one: &lt;a href="http://wildermuth.com/2009/11/18/Silverlight_4_Beta_Announced!"&gt;&lt;u&gt;Silverlight 4 Beta Announced!&lt;/u&gt;&lt;/a&gt; &lt;br /&gt;
&lt;br /&gt;
Have fun, watch for lots more posts and &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="tahoma"&gt;&lt;br /&gt;
&lt;font color="#0000ff"&gt;&lt;strong&gt;Stay in the 'Light!&lt;/strong&gt;&lt;/font&gt;&lt;br /&gt;
&lt;center&gt;   &lt;hr width="50%" /&gt;
&lt;a href="http://twitter.com/SilverlightNews"&gt;&lt;u&gt;Twitter SilverlightNews&lt;/u&gt;&lt;/a&gt; |    &lt;a href="http://twitter.com/WynApse"&gt;&lt;u&gt;Twitter WynApse&lt;/u&gt;&lt;/a&gt; |    &lt;a href="http://www.wynapse.com"&gt;&lt;u&gt;WynApse.com&lt;/u&gt;&lt;/a&gt; |    &lt;a href="http://www.wynapse.com/TaggedPosts.aspx"&gt;&lt;u&gt;Tagged Posts&lt;/u&gt;&lt;/a&gt; |    &lt;a href="http://www.silverlightcream.com"&gt;&lt;u&gt;SilverlightCream&lt;/u&gt;&lt;/a&gt; &lt;br /&gt;
&lt;a href="http://tech.groups.yahoo.com/group/SilverlightCream/join"&gt;&lt;u&gt;Join me @ SilverlightCream&lt;/u&gt;&lt;/a&gt; |    &lt;a href="http://www.phoenixsilverlight.net"&gt;&lt;u&gt;Phoenix Silverlight User Group&lt;/u&gt;&lt;/a&gt;   &lt;br /&gt;
&lt;/center&gt;  &lt;br /&gt;
&lt;br /&gt;
Technorati Tags:     &lt;a href="http://technorati.com/tag/Silverlight" rel="tag"&gt;&lt;img style="border: 0pt none ; vertical-align: middle; margin-left: 0.4em;" src="http://static.technorati.com/static/img/pub/icon-utag-16x13.png?tag=Silverlight" alt=" " /&gt;Silverlight&lt;/a&gt;        &lt;a href="http://technorati.com/tag/silverlight-3" rel="tag"&gt;&lt;img style="border: 0pt none ; vertical-align: middle; margin-left: 0.4em;" src="http://static.technorati.com/static/img/pub/icon-utag-16x13.png?tag=silverlight-3" alt=" " /&gt;Silverlight 3&lt;/a&gt;        &lt;a href="http://technorati.com/tag/silverlight-4" rel="tag"&gt;&lt;img style="border: 0pt none ; vertical-align: middle; margin-left: 0.4em;" src="http://static.technorati.com/static/img/pub/icon-utag-16x13.png?tag=silverlight-4" alt=" " /&gt;Silverlight 4&lt;/a&gt;        &lt;a href="http://technorati.com/tag/SilverlightCream" rel="tag"&gt;&lt;img style="border: 0pt none ; vertical-align: middle; margin-left: 0.4em;" src="http://static.technorati.com/static/img/pub/icon-utag-16x13.png?tag=SilverlightCream" alt=" " /&gt;SilverlightCream&lt;/a&gt; &lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136394"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136394" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/WynApseTechnicalMusings/aggbug/136394.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/kbEyC4sWV3E" height="1" width="1"/&gt;</description><dc:creator>Dave Campbell</dc:creator><feedburner:origLink>http://geekswithblogs.net/WynApseTechnicalMusings/archive/2009/11/18/136394.aspx</feedburner:origLink></item><item><title>Dynamically Launching A WinForm Via Object Factory Article</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/b934zBTRn7Y/136393.aspx</link><pubDate>Wed, 18 Nov 2009 17:38:47 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/TakeNote/archive/2009/11/18/136393.aspx</guid><wfw:comment>http://geekswithblogs.net/TakeNote/comments/136393.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/TakeNote/comments/commentRss/136393.aspx</wfw:commentRss><comments>http://geekswithblogs.net/TakeNote/archive/2009/11/18/136393.aspx#comment</comments><slash:comments>1</slash:comments><trackback:ping>http://geekswithblogs.net/TakeNote/services/trackbacks/136393.aspx</trackback:ping><source url="http://geekswithblogs.net/TakeNote/rss.aspx">Dynamically Launching A WinForm Via Object Factory Article</source><description>&lt;p&gt;Woo hoo!! My article on dynamically creating and launching a WinForm object has made it’s way to the MSDN VB DevCenter. I’d be a slacker if I didn’t give props to &lt;a href="http://blog.dashpoint.com/" target="_blank"&gt;Rod Paddock&lt;/a&gt; for all his help with the code in the article.&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/TakeNote/WindowsLiveWriter/DynamicallyLaunchingAWinFormViaObjectFac_B1E0/VBDevCenter_4.gif" rel="lightbox"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="VBDevCenter" border="0" alt="VBDevCenter" src="http://geekswithblogs.net/images/geekswithblogs_net/TakeNote/WindowsLiveWriter/DynamicallyLaunchingAWinFormViaObjectFac_B1E0/VBDevCenter_thumb_1.gif" width="244" height="190" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;This article focuses on answering a simple yet not-so-easy to answer question. “How do instantiate an object when the class I want to instantiate is determined at runtime, not compile time?” If you’re wondering why you would want to do that in the first place, this article provides a simple real world reason why as well. &lt;/p&gt;  &lt;p&gt;Have a day. :-|&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136393"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136393" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/TakeNote/aggbug/136393.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/b934zBTRn7Y" height="1" width="1"/&gt;</description><dc:creator>Jim Duffy</dc:creator><feedburner:origLink>http://geekswithblogs.net/TakeNote/archive/2009/11/18/136393.aspx</feedburner:origLink></item><item><title>The Future: Web or Windows Client Development, your thoughts?</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/S2ACkxeyGWQ/136392.aspx</link><pubDate>Wed, 18 Nov 2009 17:10:25 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/TakeNote/archive/2009/11/18/136392.aspx</guid><wfw:comment>http://geekswithblogs.net/TakeNote/comments/136392.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/TakeNote/comments/commentRss/136392.aspx</wfw:commentRss><comments>http://geekswithblogs.net/TakeNote/archive/2009/11/18/136392.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/TakeNote/services/trackbacks/136392.aspx</trackback:ping><source url="http://geekswithblogs.net/TakeNote/rss.aspx">The Future: Web or Windows Client Development, your thoughts?</source><description>&lt;p&gt;A question I have for you is with all the focus on web or cloud-based applications (&lt;a href="http://www.silverlight.net" target="_blank"&gt;Silverlight&lt;/a&gt;, &lt;a href="http://www.asp.net/mvc/" target="_blank"&gt;ASP.NET MVC&lt;/a&gt;, &lt;a href="http://www.microsoft.com/windowsazure/?WT.srch=1" target="_blank"&gt;Azure&lt;/a&gt;, etc.) is there still a vibrant future out there for &lt;a href="http://windowsclient.net/" target="_blank"&gt;Windows Client&lt;/a&gt; desktop applications? Will Windows 7 do much to swing the focus back to desktop applications? Don’t get me wrong, I’m not saying desktop based application development is dead, it’s not by a long shot. With development tools like &lt;a href="http://windowsclient.net/" target="_blank"&gt;WPF&lt;/a&gt; and &lt;a href="http://msdn.microsoft.com/en-us/library/142dbbz4%28VS.80%29.aspx" target="_blank"&gt;ClickOnce&lt;/a&gt; deployment desktop applications still rock. I’m just saying that it appears that the pendulum has definitely swung to the web-based side of the software development grandfather clock and I’m not sure it’ll ever swing back to the other side.&lt;/p&gt;  &lt;p&gt;Most of the development we’re doing these days is on web-based applications. I don’t really see that changing anytime soon. With the maturity of RIA platforms like &lt;a href="http://www.silverlight.net/" target="_blank"&gt;Silverlight&lt;/a&gt; the advantage that desktop applications traditionally held in the user experience department has been slipping for a while now.&lt;/p&gt;  &lt;p&gt;So what percent of the work you’re doing is on desktop applications? What percent is on web-based applications? What is the percentage of web vs desktop for new applications in your organization?&lt;/p&gt;  &lt;p&gt;Have a day. :-|&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136392"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136392" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/TakeNote/aggbug/136392.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/S2ACkxeyGWQ" height="1" width="1"/&gt;</description><dc:creator>Jim Duffy</dc:creator><feedburner:origLink>http://geekswithblogs.net/TakeNote/archive/2009/11/18/136392.aspx</feedburner:origLink></item><item><title>Six Reasons Why Windows 7 Will Win in Business</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/PMMAx0RYmdM/136391.aspx</link><pubDate>Wed, 18 Nov 2009 16:44:21 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/TakeNote/archive/2009/11/18/136391.aspx</guid><wfw:comment>http://geekswithblogs.net/TakeNote/comments/136391.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/TakeNote/comments/commentRss/136391.aspx</wfw:commentRss><comments>http://geekswithblogs.net/TakeNote/archive/2009/11/18/136391.aspx#comment</comments><slash:comments>2</slash:comments><trackback:ping>http://geekswithblogs.net/TakeNote/services/trackbacks/136391.aspx</trackback:ping><source url="http://geekswithblogs.net/TakeNote/rss.aspx">Six Reasons Why Windows 7 Will Win in Business</source><description>&lt;p&gt;I came across &lt;a href="http://www.pcmag.com/article2/0,2817,2355709,00.asp" target="_blank"&gt;this PC Mag article&lt;/a&gt; and figured I’d share it with you. My primary reason for doing so is to provide additional ammunition to those developers out there who want to upgrade to Windows 7 but management is hesitant to do so. I’ll leave reading the article to you but here are the six reasons stated in the article.&lt;/p&gt;  &lt;p&gt;1. Windows XP&lt;/p&gt;  &lt;p&gt;2. Stability and Compatibility&lt;/p&gt;  &lt;p&gt;3. Aging Hardware&lt;/p&gt;  &lt;p&gt;4. Vista: A 3-Year Beta Test&lt;/p&gt;  &lt;p&gt;5. Smaller, More Agile Companies&lt;/p&gt;  &lt;p&gt;6. Business Demand&lt;/p&gt;  &lt;p&gt;To me the most significant item is number 4. I’ve often kidded around with attendees &lt;a href="http://www.takenote.com/" target="_blank"&gt;in our training classes&lt;/a&gt;, or developers attending my user group, code camp, or conference presentations that I was running a very early beta of Windows 7 called Windows Vista. While I was kidding around of course, I couldn’t have been any more accurate. I believe it took the hammering Vista received in the press for Windows 7 to be the overwhelming success I think it is going to be. Check out the article and let me know what other factors you think will help drive Windows 7’s success.&lt;/p&gt;  &lt;p&gt;Have a day. :-|&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136391"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136391" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/TakeNote/aggbug/136391.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/PMMAx0RYmdM" height="1" width="1"/&gt;</description><dc:creator>Jim Duffy</dc:creator><feedburner:origLink>http://geekswithblogs.net/TakeNote/archive/2009/11/18/136391.aspx</feedburner:origLink></item></channel></rss>
