<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.objectsharp.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Barry Gervin's Software Architecture Perspectives</title><link>http://blogs.objectsharp.com/blogs/barry/default.aspx</link><description>Using .NET in the Enterprise</description><dc:language>en</dc:language><generator>CommunityServer 2.1 SP2 (Build: 61129.2)</generator><item><title>AzureFest Follow-Up Links &amp; Videos</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2010/12/14/azurefest-follow-up-links-videos.aspx</link><pubDate>Tue, 14 Dec 2010 21:56:02 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:225759</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>20</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/225759.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=225759</wfw:commentRss><description>&lt;p&gt;&lt;img style="display:inline;float:left;" title="title" border="0" alt="Cory Fowler stands beside the big screen in Microsoft Canada&amp;#39;s MPR room" align="left" src="http://www.globalnerdy.com/wordpress/wp-content/uploads/2010/12/azurefest-02.jpg" width="283" height="212" /&gt;This past Saturday December 11th, Microsoft and ObjectSharp hosted &lt;a title="ObjectSharp AzureFest" href="http://www.objectsharp.com/company/events/Pages/azurefest.aspx" target="_blank"&gt;AzureFest&lt;/a&gt;, a community event to raise interest and learn a little bit about Microsoft’s cloud platform, Windows Azure. &lt;/p&gt;  &lt;p&gt;My colleague &lt;a href="http://blog.syntaxc4.net/" target="_blank"&gt;Cory Fowler&lt;/a&gt; gave an introductory run down on the Azure platform and pricing, and then demonstrated for those in attendance how to go about Creating an Account and Deploying an Azure Application. &lt;/p&gt;  &lt;p&gt;The best part, is that our good friends at Microsoft Canada offered $25 in User Group Funding for each person in attendance that followed along on their laptop to activate an azure account and deploy the sample application. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Now Held Over!&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;The even better part, is that MS Canada is extending the offer until December 31st online for anybody that goes through this process to activate and deploy a sample application online. We’ve got the instructions for you here and it will take you approximately 15 minutes to go through the videos and deploy the sample. &lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;&lt;a href="http://cid-b8c313b0b82ef564.photos.live.com/self.aspx/AzureFest/Windows%20Azure%20Training.zip" target="_blank"&gt;Download the application package that you’ll need for the deployment here&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;Create an Azure Introductory Account (5 minutes). You’ll need      &lt;ul&gt;       &lt;li&gt;a Windows Live id. (if you don’t have one, &lt;a href="http://www.passport.net/" target="_blank"&gt;click here for instructions&lt;/a&gt;) &lt;/li&gt;        &lt;li&gt;a Valid Credit Card (don’t worry, in step 4 we’ll show you how to shut down your instance before you get charged). &lt;/li&gt;        &lt;li&gt;navigate to &lt;a href="http://www.Azure.com"&gt;www.Azure.com&lt;/a&gt; and follow along with these instructions           &lt;br /&gt;          &lt;div style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:0813dac2-ab92-4833-94a2-9555ef644de5" class="wlWriterEditableSmartContent"&gt;&lt;div&gt;&lt;a href="http://www.youtube.com/watch?v=dhFM54XCTnQ&amp;amp;feature=youtube_gdata_player" target="_new"&gt;&lt;img src="http://blogs.objectsharp.com/cs/blogs/barry/videocddcefae4b74_4B5D3317.jpg" style="border-style:none;" alt=""&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="width:448px;clear:both;font-size:.8em;"&gt;Signing up for Windows Azure&lt;/div&gt;&lt;/div&gt;       &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Deploy the Nerd Dinner Application (8 minutes)      &lt;ul&gt;       &lt;li&gt;follow along with these instructions          &lt;br /&gt;          &lt;div style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:2e668900-5e1b-430b-b09b-f66a7a28acd8" class="wlWriterEditableSmartContent"&gt;&lt;div&gt;&lt;a href="http://www.youtube.com/watch?v=DmNACQiurz0&amp;amp;feature=youtube_gdata_player" target="_new"&gt;&lt;img src="http://blogs.objectsharp.com/cs/blogs/barry/video9618b028f773_7F252968.jpg" style="border-style:none;" alt=""&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="width:448px;clear:both;font-size:.8em;"&gt;Deploying the Nerd Dinner Package to Azure&lt;/div&gt;&lt;/div&gt;       &lt;/li&gt;        &lt;li&gt;email a screenshot of your deployed application showing the URL and the name of your user group to &lt;a href="mailto:cdnazure@microsoft.com"&gt;cdnazure@microsoft.com&lt;/a&gt; &lt;/li&gt;        &lt;li&gt;Specify TVBug, Metro Toronto .NET UG, CTTDNUG, Architecture UG, East of Toronto .NET UG, Markham .NET UG, etc. &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Tear down to the application to avoid any further charges (2 minutes)      &lt;ul&gt;       &lt;li&gt;         &lt;div style="padding-bottom:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;float:none;padding-top:0px;" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:7d7c27bf-f500-4911-abdc-8004f70fc283" class="wlWriterEditableSmartContent"&gt;&lt;div&gt;&lt;a href="http://www.youtube.com/watch?v=Fqb4FOWEMVc&amp;amp;feature=youtube_gdata_player" target="_new"&gt;&lt;img src="http://blogs.objectsharp.com/cs/blogs/barry/video24c544e5ca87_5E9DE9B6.jpg" style="border-style:none;" alt=""&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="width:448px;clear:both;font-size:.8em;"&gt;Tearing down a Windows Azure Service&lt;/div&gt;&lt;/div&gt;       &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&lt;a href="http://cid-b8c313b0b82ef564.office.live.com/view.aspx/AzureFest/AzureFest-2010-ObjectSharp.pptx" target="_blank"&gt;Here are the slides from Azure Fest&lt;/a&gt;&lt;/p&gt;   &lt;p&gt;Stay tuned here for the next part of our video blogs where we will review:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Deploying a SQL Database to Azure&lt;/li&gt;    &lt;li&gt;Installing the Azure Tools for Visual Studio and SDK&lt;/li&gt;    &lt;li&gt;Deploying ASP.NET Applications from within Visual Studio&lt;/li&gt; &lt;/ul&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=225759" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/SQL/default.aspx">SQL</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Southern+Ontario/default.aspx">Southern Ontario</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Services/default.aspx">Services</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Events/default.aspx">Events</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Architecture/default.aspx">Architecture</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2010/default.aspx">VS2010</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Windows+Azure/default.aspx">Windows Azure</category></item><item><title>Windows Phone 7 App Challenge: TFS Mobile Client</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2010/10/30/windows-phone-7-app-challenge-tfs-mobile-client.aspx</link><pubDate>Sat, 30 Oct 2010 17:44:55 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:221051</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/221051.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=221051</wfw:commentRss><description>&lt;p&gt;I have an MSDN Ultimate Subscription to give away to the winner of this challenge! The winner will have successfully built a showcase TFS Client for Windows Phone 7. I will accept entries until November 30th. &lt;/p&gt;  &lt;p&gt;There are boundless opportunities for features and functionality. Creativity counts here, but to get you started, here are some ideas:&lt;/p&gt;  &lt;ul&gt;   &lt;ul&gt;     &lt;li&gt;Build Server Status       &lt;br /&gt;Would love to see the status of a given build type, the latest build, success/fail, the offending people who checked in code on a broken build. Would be nice to kick off a QA or Production build (or any type for that matter) from my phone once I’ve got the all clear from QA.&lt;/li&gt;      &lt;li&gt;Iteration Dashboard       &lt;br /&gt;What’s the status of the current build? What exit items are still open? What’s our current velocity? What’s the burn down look like?&lt;/li&gt;      &lt;li&gt;Work Items       &lt;br /&gt;Would love to edit a work item, reassign it to somebody else, close it, reactivate it, etc. Log a bug perhaps?&lt;/li&gt;      &lt;li&gt;Opportunities with the Phone       &lt;br /&gt;Being able to look up a work item owner, or build breaker in my address book and phone or email them seems obvious. &lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Remember the highlights of this challenge:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Entries due by Nov 30th. Email me some code including a link to video demonstration ideally. &lt;a href="mailto:bgervin@objectsharp.com"&gt;bgervin@objectsharp.com&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;Let me know if you are planning on entering. I’d be excited to provide some coaching and guidance along the way.&lt;/li&gt;    &lt;li&gt;On the line is 1 year MSDN Ultimate Subscription. I think that is worth like a million dollars or something &lt;img style="border-bottom-style:none;border-left-style:none;border-top-style:none;border-right-style:none;" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://blogs.objectsharp.com/cs/blogs/barry/wlEmoticon-smile_2CF7E847.png" /&gt;&lt;/li&gt;    &lt;li&gt;I’m sure you will also win a free date with a MS Developer Evangelist and be featured on the CDN Dev Blog.&lt;/li&gt;    &lt;li&gt;I’m pretty sure you aren’t allowed to win if you live in Quebec or work for Microsoft or the Chinese government, but please don’t let that stop you from submitting an entry!&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Gentlecoders, start your engines! Best of luck.&lt;/p&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=221051" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Southern+Ontario/default.aspx">Southern Ontario</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VSTS/default.aspx">VSTS</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Architecture/default.aspx">Architecture</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Blend/default.aspx">Blend</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2010/default.aspx">VS2010</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/WindowsPhone/default.aspx">WindowsPhone</category></item><item><title>Best of Luck Julie</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2010/10/04/best-of-luck-julie.aspx</link><pubDate>Mon, 04 Oct 2010 12:47:19 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:216286</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/216286.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=216286</wfw:commentRss><description>&lt;p&gt;Many of you have met Julie James over the past 8 years since she started at ObjectSharp as our Training Manager. As you can read over &lt;a href="http://blogs.objectsharp.com/cs/blogs/julie/archive/2010/10/04/new-beginnings.aspx" target="_blank"&gt;here&lt;/a&gt;, Friday was Julie’s last day at ObjectSharp and today she starts on a new adventure. I want to thank her for making such a huge contribution to ObjectSharp over the past 8 years and wish her well as she looks towards the next big challenge.&lt;/p&gt;  &lt;p&gt;When Julie started with ObjectSharp, she began in our Vancouver office and after a couple of years moved to Toronto. For the years she’s been in Toronto she has been a very public face for ObjectSharp and within the developer community in Toronto, volunteering her time to the Metro Toronto User Group and acting as the hostess with the mostest at many of our events. I know she has expressed that she will miss working with all the ObjectSharp folks and the developer community at large, but the feeling is very mutual for us here at ObjectSharp and on behalf of the entire .NET Community, we will miss you Julie and wish you all the best.&lt;/p&gt;  &lt;p&gt;Eight years is a long time, but Julie always thrived on building relationships and understanding people’s concerns to identify opportunities where she can help and add value. Julie has helped build a culture of customer service at ObjectSharp and she has left her mark at ObjectSharp and New Horizons for many years to come. I know many of us will continue to ask ourselves “What would Julie do?” as we continue on with her “customer-first” attitude. &lt;/p&gt;  &lt;p&gt;Please join me in wishing Julie all the best. &lt;/p&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=216286" width="1" height="1"&gt;</description></item><item><title>CTTDNUG: ASP.NET MVC Talk Follow Up</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2010/05/06/cttdnug-asp-net-mvc-talk-follow-up.aspx</link><pubDate>Thu, 06 May 2010 04:12:05 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:202758</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/202758.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=202758</wfw:commentRss><description>&lt;p&gt;A couple of weeks ago I had the opportunity to speak at the Canadian Technology Triangle .NET Users Group. &lt;/p&gt;  &lt;div style="width:425px;" id="__ss_3985536"&gt;&lt;strong style="margin:12px 0px 4px;display:block;"&gt;&lt;a title="CTTDNUG ASP.NET MVC" href="http://www.slideshare.net/bgervin/cttdnug-aspnet-mvc"&gt;CTTDNUG ASP.NET MVC&lt;/a&gt;&lt;/strong&gt;&lt;object id="__sse3985536" width="425" height="355"&gt;&lt;param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=cttdnug-aspnet-mvc1124&amp;amp;stripped_title=cttdnug-aspnet-mvc" /&gt;&lt;param name="allowFullScreen" value="true" /&gt;&lt;param name="allowScriptAccess" value="always" /&gt;&lt;embed name="__sse3985536" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=cttdnug-aspnet-mvc1124&amp;amp;stripped_title=cttdnug-aspnet-mvc" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;    &lt;div style="padding-bottom:12px;padding-left:0px;padding-right:0px;padding-top:5px;"&gt;View more &lt;a href="http://www.slideshare.net/"&gt;presentations&lt;/a&gt; from &lt;a href="http://www.slideshare.net/bgervin"&gt;Barry Gervin&lt;/a&gt;.&lt;/div&gt; &lt;/div&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;We had a great crowd of over 60 people eager to learn more about ASP.NET MVC. I was able to do a mix of Visual Studio 2008 and 2010 demos, as well as showcase a production application,&amp;#160; a crowd-sourced translation dictionary for First Nation Languages, currently supporting Maliseet and Mi’kmaw languages (&lt;a href="http://www.sayitfirst.ca"&gt;www.sayitfirst.ca&lt;/a&gt;).&lt;/p&gt;  &lt;p&gt;A question came up in the talk about content management systems and ASP.NET MVC. There was one in particular that intrigued me, but I couldn’t remember the name. After doing some digging it was &lt;a href="http://www.n2cms.com"&gt;www.n2cms.com&lt;/a&gt;. The interesting angle of N2 is that it is very lightweight, and not meant to be the shell of your entire site, but rather works within your application to serve up content where appropriate. I hope to use this on a future project. &lt;/p&gt;  &lt;p&gt;Make sure to check out these other valuable resources as you learn ASP.NET MVC:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a target="_blank"&gt;Nerd Dinner&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://mvcmusicstore.codeplex.com/" target="_blank"&gt;Spanking New MVC Music Store Sample &amp;amp; 80 page tutorial&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;The official &lt;a href="http://ASP.NET/MVC" target="_blank"&gt;ASP.NET MVC&lt;/a&gt; site&lt;/li&gt;    &lt;li&gt;&lt;a href="http://Haacked.com" target="_blank"&gt;Phil Haack’s blog&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://blog.wekeroad.com/blog/i-spose-ill-just-say-it-you-should-learn-mvc/" target="_blank"&gt;Rob Conery’s post about Web Forms vs. ASP.NET MVC&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://microsoft.com/web" target="_blank"&gt;Go Get It Now! Web Platform Installer&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=202758" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Southern+Ontario/default.aspx">Southern Ontario</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/WebForms/default.aspx">WebForms</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Events/default.aspx">Events</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Architecture/default.aspx">Architecture</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/MVC/default.aspx">MVC</category></item><item><title>Toronto Code Camp 2010: Blendability Follow Up</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2010/05/05/toronto-code-camp-2010-blendability-follow-up.aspx</link><pubDate>Wed, 05 May 2010 16:02:02 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:202727</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/202727.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=202727</wfw:commentRss><description>&lt;p&gt;&lt;/p&gt;  &lt;div style="width:425px;" id="__ss_3968213"&gt;&lt;strong style="margin:12px 0px 4px;display:block;"&gt;&lt;a title="Will your code blend? : Toronto Code Camp 2010 : Barry Gervin" href="http://www.slideshare.net/bgervin/will-your-code-blend-toronto-code-camp-2010-barry-gervin"&gt;Will your code blend? : Toronto Code Camp 2010 : Barry Gervin&lt;/a&gt;&lt;/strong&gt;&lt;object id="__sse3968213" width="425" height="355"&gt;&lt;param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=blendabilityyyzcodecampbgervin-100504144354-phpapp01&amp;amp;stripped_title=will-your-code-blend-toronto-code-camp-2010-barry-gervin" /&gt;&lt;param name="allowFullScreen" value="true" /&gt;&lt;param name="allowScriptAccess" value="always" /&gt;&lt;embed name="__sse3968213" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=blendabilityyyzcodecampbgervin-100504144354-phpapp01&amp;amp;stripped_title=will-your-code-blend-toronto-code-camp-2010-barry-gervin" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;    &lt;div style="padding-bottom:12px;padding-left:0px;padding-right:0px;padding-top:5px;"&gt;View more &lt;a href="http://www.slideshare.net/"&gt;presentations&lt;/a&gt; from &lt;a href="http://www.slideshare.net/bgervin"&gt;Barry Gervin&lt;/a&gt;.&lt;/div&gt; &lt;/div&gt;  &lt;p&gt;This past weekend I gave a talk on “Blendability”; The ability to maintain and leverage blend design time compatibility with your WPF and Silverlight projects. Thanks to everybody who came out to the talk, we had some good discussions despite the oppressive heat in the room. You’ll find my slides above. As some of you have requested, &lt;a href="http://cid-b8c313b0b82ef564.skydrive.live.com/self.aspx/Public/Blendability%20Demos.zip" target="_blank"&gt;here you can find my demos&lt;/a&gt; including the MVVM template that was used in the Blend 4 previews that demonstrates the behavior technique for calling methods on your view models. &lt;/p&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=202727" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Southern+Ontario/default.aspx">Southern Ontario</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Events/default.aspx">Events</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Architecture/default.aspx">Architecture</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/WPF/default.aspx">WPF</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Blend/default.aspx">Blend</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2010/default.aspx">VS2010</category></item><item><title>Toronto Code Camp 2010: Ultimate Architecture Experience Follow Up</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2010/05/04/toronto-code-camp-2010-ultimate-architecture-experience-follow-up.aspx</link><pubDate>Tue, 04 May 2010 17:56:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:202681</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/202681.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=202681</wfw:commentRss><description>&lt;P&gt;This is just a quick follow up post from my demo at the Toronto Code Camp last weekend. Thanks for everybody who came out.&lt;/P&gt;
&lt;DIV style="WIDTH:425px;" id=__ss_3967229&gt;&lt;STRONG style="MARGIN:12px 0px 4px;DISPLAY:block;"&gt;&lt;A title="Visual Studio 2010 Ultimate Architecture Experience : Toronto Code Camp 2010 : Barry Gervin" href="http://www.slideshare.net/bgervin/visual-studio-2010-ultimate-architecture-experience-toronto-code-camp-2010-barry-gervin"&gt;Visual Studio 2010 Ultimate Architecture Experience : Toronto Code Camp 2010 : Barry Gervin&lt;/A&gt;&lt;/STRONG&gt;
&lt;OBJECT id=__sse3967229 width=425 height=355&gt;&lt;PARAM NAME="movie" VALUE="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=vs2010architectureyyzcodecampbgervin-100504125258-phpapp01&amp;amp;stripped_title=visual-studio-2010-ultimate-architecture-experience-toronto-code-camp-2010-barry-gervin"&gt;&lt;PARAM NAME="allowFullScreen" VALUE="true"&gt;&lt;PARAM NAME="allowScriptAccess" VALUE="always"&gt;
&lt;embed name="__sse3967229" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=vs2010architectureyyzcodecampbgervin-100504125258-phpapp01&amp;stripped_title=visual-studio-2010-ultimate-architecture-experience-toronto-code-camp-2010-barry-gervin" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"&gt;&lt;/embed&gt;&lt;/OBJECT&gt;
&lt;DIV style="PADDING-BOTTOM:12px;PADDING-LEFT:0px;PADDING-RIGHT:0px;PADDING-TOP:5px;"&gt;View more &lt;A href="http://www.slideshare.net/"&gt;presentations&lt;/A&gt; from &lt;A href="http://www.slideshare.net/bgervin"&gt;bgervin&lt;/A&gt;.&lt;/DIV&gt;&lt;/DIV&gt;
&lt;P&gt;In addition to my slides, here ere are a few resources that will help you learn more about the architecture tools in Visual Studio 2010 Ultimate Edition:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;The .NET Pet Shop that I used as a sample is available for &lt;A href="http://download.microsoft.com/download/8/0/1/801ff297-aea6-46b9-8e11-810df5df1032/Microsoft%20.NET%20Pet%20Shop%204.0.msi"&gt;download&lt;/A&gt;. &lt;/LI&gt;
&lt;LI&gt;Walkthrough: &lt;A href="http://msdn.microsoft.com/en-us/library/57b85fsc(v=VS.100).aspx"&gt;MSDN How-To’s on Modeling in 2010&lt;/A&gt; &lt;/LI&gt;
&lt;LI&gt;Blogs: &lt;A href="http://blogs.msdn.com/camerons"&gt;Cameron Skinner&lt;/A&gt;, &lt;A href="http://www.peterprovost.org/blog/"&gt;Peter Provost&lt;/A&gt; and last but not least &lt;A href="http://www.lovettsoftware.com/blogengine.net/"&gt;Chris Lovett&lt;/A&gt; who has some most awesome video demos and tips for dealing with large diagrams. He also provides some samples for those that are interested in learning more about Directed Graph Markup Language for creating their own diagram generators. &lt;/LI&gt;
&lt;LI&gt;The Patterns and Practices Team has released a set of &lt;A href="http://visualstudiogallery.msdn.microsoft.com/en-us/237f823c-45b4-4f1f-b9e2-607fe66eaae7"&gt;templated layered diagrams&lt;/A&gt; for various references architectures. &lt;/LI&gt;&lt;/UL&gt;&lt;/OBJECT&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=202681" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Southern+Ontario/default.aspx">Southern Ontario</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Events/default.aspx">Events</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VSTS/default.aspx">VSTS</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Architecture/default.aspx">Architecture</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2010/default.aspx">VS2010</category></item><item><title>Toronto Code Camp 2010 Keynote: Building the Right Software</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2010/05/04/toronto-code-camp-2010-keynote-building-the-right-software.aspx</link><pubDate>Tue, 04 May 2010 17:03:02 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:202679</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/202679.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=202679</wfw:commentRss><description>&lt;div&gt;&lt;img title="" alt="Opening Keynote by Joey DeVilla." src="http://farm4.static.flickr.com/3484/4572035723_df7c22a529.jpg" width="500" height="375" /&gt;&lt;/div&gt;  &lt;div&gt;&lt;a href="http://www.flickr.com/photos/accordionguy/" rel="cc:attributionURL"&gt;http://www.flickr.com/photos/accordionguy/&lt;/a&gt; / &lt;a href="http://creativecommons.org/licenses/by/2.0/" rel="license"&gt;CC BY 2.0&lt;/a&gt;&lt;/div&gt;  &lt;p&gt;I had the privilege to open up the 2010 Toronto Code Camp last week. It’s hard to know what to talk about to such a broad audience getting ready to kick off a great event with so many different sessions and tracks. A topic that is near and dear to my heart is about trying to figure out what makes software relevant. Ultimately it is about knowing your customer, very intimately so you can build the best experience for them. &lt;/p&gt;  &lt;p&gt;With that said, I decided to step outside the world of software development to compare to successful invention/design stories and how they differed in their approach to “knowing their customer”. &lt;/p&gt;  &lt;p&gt;Ron Popeil the famous pitchman and inventor of the Infomercial. Malcom Gladwell wrote an interesting &lt;a href="http://www.gladwell.com/2000/2000_10_30_a_pitchman.htm" target="_blank"&gt;article/biography&lt;/a&gt; Ron and his fellow pitchman. There is a lot to learn about Ron’s successes, but specifically how he focused on the audience that he knew. Himself. The chef, the entertainer, and the balding guy. &lt;/p&gt;  &lt;p&gt;The contrasting story of &lt;a href="http://deborahadlerdesign.com/" target="_blank"&gt;Deborah Adler&lt;/a&gt; and her thesis turned &lt;a href="http://www.target.com/" target="_blank"&gt;Target&lt;/a&gt; product for a revolutionary redesign of the common pill bottle, is no less inspiring. You can watch/hear Deborah &lt;a href="http://videos.visitmix.com/MIX09/KEY02" target="_blank"&gt;tell her own story from the Mix 09 keynote&lt;/a&gt;. Unlike Popeil, Deborah inspires her design efforts by forming such an intimate understanding of her customers that she refers to it as a “Love Affair”. &lt;/p&gt;  &lt;p&gt;These two approaches are so simple and common sense that it’s hard to ignore them when compared to the way most of us build software and disconnect ourselves from our users through layers of requirement and specification documents. &lt;/p&gt;  &lt;p&gt;The rest of the conference was a tremendous pleasure and wouldn’t have been possible without the efforts of the numerous volunteers, speakers and most importantly Chris Dufour who has the thankless job of herding this motley crew of geeks :) Thanks to all who made a contribution to this worthwhile event.&lt;/p&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=202679" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Southern+Ontario/default.aspx">Southern Ontario</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Events/default.aspx">Events</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Architecture/default.aspx">Architecture</category></item><item><title>Architecture with Visual Studio 2010 At The Movies</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2010/04/26/architecture-with-visual-studio-2010-at-the-movies.aspx</link><pubDate>Mon, 26 Apr 2010 11:30:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:202212</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/202212.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=202212</wfw:commentRss><description>&lt;P&gt;This is just a quick follow up post from my demo at Visual Studio 2010 At The Movies last week. Thanks for everybody who came out, especially those from out of town. &lt;/P&gt;
&lt;P&gt;I didn’t use any slides but I thought about recording my demo here. I may still get to that, but in the meantime, here are a few resources that will help you learn more about the architecture tools in Visual Studio 2010 Ultimate Edition:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;The .NET Pet Shop that I used as a sample is available for &lt;A href="http://download.microsoft.com/download/8/0/1/801ff297-aea6-46b9-8e11-810df5df1032/Microsoft%20.NET%20Pet%20Shop%204.0.msi" target=_blank&gt;download&lt;/A&gt;. &lt;/LI&gt;
&lt;LI&gt;Walkthrough: &lt;A href="http://msdn.microsoft.com/en-us/library/57b85fsc(v=VS.100).aspx"&gt;MSDN How-To’s on Modeling in 2010&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;Blogs: &lt;A href="http://blogs.msdn.com/camerons"&gt;Cameron Skinner&lt;/A&gt;, &lt;A href="http://www.peterprovost.org/blog/"&gt;Peter Provost&lt;/A&gt; and last but not least &lt;A href="http://www.lovettsoftware.com/blogengine.net/" target=_blank&gt;Chris Lovett&lt;/A&gt; who has some most awesome video demos and tips for dealing with large diagrams. He also provides some samples for those that are interested in learning more about Directed Graph Markup Language for creating their own diagram generators.&lt;/LI&gt;
&lt;LI&gt;The Patterns and Practices Team has released a set of &lt;A href="http://visualstudiogallery.msdn.microsoft.com/en-us/237f823c-45b4-4f1f-b9e2-607fe66eaae7" target=_blank&gt;templated layered diagrams&lt;/A&gt; for various references architectures. &lt;/LI&gt;&lt;/UL&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=202212" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Southern+Ontario/default.aspx">Southern Ontario</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Events/default.aspx">Events</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VSTS/default.aspx">VSTS</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Architecture/default.aspx">Architecture</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2010/default.aspx">VS2010</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2010ATM/default.aspx">VS2010ATM</category></item><item><title>My SketchFlow Player is empty:</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2010/03/31/my-sketchflow-player-is-empty.aspx</link><pubDate>Wed, 31 Mar 2010 04:04:33 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:199822</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/199822.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=199822</wfw:commentRss><description>&lt;p&gt;&lt;a href="http://blogs.objectsharp.com/CS/blogs/barry/image_2112A7BA.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="image" border="0" alt="image" align="right" src="http://blogs.objectsharp.com/CS/blogs/barry/image_thumb_0C40AF3A.png" width="274" height="242" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Let me officially call this the Grey Screen of Death. You create a lovely sketch flow prototype in Expression Blend and it looks great at design time, but at run-time you get nothing. If you’re clever, you’ll try to dig into the java script error, which fortunately, the nice folks on the SketchFlow player team have raised up from the Silverlight layer. Unfortunately, I’ve found that most errors you get in here are pretty useless. &lt;/p&gt;  &lt;p&gt;In my case I was recently getting:&lt;/p&gt;  &lt;p&gt;Webpage error details &lt;/p&gt;  &lt;p&gt;User Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.2; MS-RTC LM 8; .NET4.0C; .NET4.0E)   &lt;br /&gt;Timestamp: Wed, 31 Mar 2010 03:58:03 UTC &lt;/p&gt;  &lt;p&gt;Message: Unhandled Error in Silverlight Application AG_E_PARSER_BAD_TYPE [Line: 5 Position: 78]&amp;#160;&amp;#160; at System.Windows.Application.LoadComponent(Object component, Uri resourceLocator)   &lt;br /&gt;&amp;#160;&amp;#160; at SilverlightPrototype_10Screens.Screen_1.InitializeComponent()    &lt;br /&gt;&amp;#160;&amp;#160; at SilverlightPrototype_10Screens.Screen_1..ctor()    &lt;br /&gt;Line: 1    &lt;br /&gt;Char: 1    &lt;br /&gt;Code: 0    &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;Your mileage might vary by attaching the visual studio debugger or running the application from within Visual Studio. In my case, I ended up doing some process of elimination pruning to see if I could back track and find the problem. I was having difficulty with some sample data in this case. It was tricky to find, but I’ve determined that &lt;u&gt;you really don’t want a space in your SketchFlow project names&lt;/u&gt;. This will cause some erroneous code gen for the loading of the sample data in the sample data classes. &lt;/p&gt;  &lt;p&gt;I absolutely love Expression Blend and SketchFlow, but finding this bug was one of those times when I’ve wanted to physically hurt my computer. I hope this helps some poor soul find the root cause a little faster than it took me.&lt;/p&gt;  &lt;p&gt;And please share in the comments any other common reasons you’ve found SketchFlow Player failures.&lt;/p&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=199822" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/WPF/default.aspx">WPF</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Blend/default.aspx">Blend</category></item><item><title>VSTS Load Testing Deal of the Day: Why you need to buy a VS 2008 Load Agent before April 12th, 2010</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2010/03/25/vsts-load-testing-deal-of-the-day-why-you-need-to-buy-a-vs-2008-load-agent-before-april-12th-2010.aspx</link><pubDate>Thu, 25 Mar 2010 14:06:13 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:199245</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/199245.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=199245</wfw:commentRss><description>&lt;p&gt;There are important licensing changes happening imminently with VSTS as part of the transition from 2008 to 2010:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;The current VSTS 2008 Test Edition can load test up to the limit of your machine. On a good day, this is 1000 users. That satisfies a lot of the cases where people need to do load testing. If it’s not, and you have multiple testers, you always all run load from your own machines, however you don’t get the same unified collection of statistics – that’s what the Load Agent &amp;amp; Controller software is for. It’s not a huge deal, and that is why most people don’t buy Load Agents. &lt;/li&gt;    &lt;li&gt;If you did need centralized collection of statistics, you’d want to buy a number of load agents, one for each CPU, at least in the 2008 SKU. If you wanted to test 10K users, you’d probably want 10 licenses (at least).&amp;#160; But that is changing.&lt;/li&gt;    &lt;li&gt;In 2010, load testing licensing is no longer done by the CPU, it’s done by the virtual users!&lt;/li&gt;    &lt;li&gt;When you upgrade to VS 2010 Ultimate come April, your load testing ability changes to only 250 users from your workstation copy of Visual Studio 2010 Ultimate. If you want to test more, you’ll want load agents. The 2010 Load Agent SKU will give you 1000 virtual users. If your hardware is not up to snuff, or your web tests are intensive, you can install a single 2010 SKU on any number boxes, but you’re limited to a total of 1000 users per SKU that you purchase.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;This all sounds rather terrible, but as part of the transition, MS is offering this: &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;If you have purchased a 2008 Load Agent with Software Assurance, as part of the upgrade to 2010, they will give you 5x1000 Virtual Users in the 2010 Load Agent SKU. Wow! &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;For your benefit of pricing, that means if you buy a 2008 Load Agent with SA today, for about $8,000 you will get 5000 users in 2010. That’s a very good deal. If you wait until after April 12th, you will no longer be able to buy the 2008 SKU and you’ll have to buy the 2010 SKU. At about $8,000 per 1000 users. So if you wanted to test 5000 users come April 12th and you didn’t take advantage to get in on this deal, it will cost you 5x$8000 = $40,000! I’d say that an 80% discount is pretty good – snap it up today.&lt;/p&gt;  &lt;p&gt;If you need help purchasing a license prior to April 12th, drop me a note at bgervin @ objectsharp.com and I can hook you up. &lt;/p&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=199245" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Southern+Ontario/default.aspx">Southern Ontario</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Testing/default.aspx">Testing</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VSTS/default.aspx">VSTS</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2008/default.aspx">VS2008</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2010/default.aspx">VS2010</category></item><item><title>Expression Blend Pro Tip: Add your own sample data lists</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2010/03/06/expression-blend-pro-tip-add-your-own-sample-data-lists.aspx</link><pubDate>Sat, 06 Mar 2010 22:55:36 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:197832</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/197832.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=197832</wfw:commentRss><description>&lt;p&gt;&amp;#160;&lt;a href="http://blogs.objectsharp.com/CS/blogs/barry/image_662D350D.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;margin:0px 15px 0px 0px;display:inline;border-top:0px;border-right:0px;" title="image" border="0" alt="image" align="left" src="http://blogs.objectsharp.com/CS/blogs/barry/image_thumb_4B8098F4.png" width="219" height="370" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Expression Blend (3 and higher) lets you create Sample Data Sources, and for each property, select a data type and sample data format, such as Lorem ipsum, Colors, Company Names, Names, etc. It’s a nice list, which is great for prototyping. However, if you want to add to this list of types, or just edit the potential values for each type, you can do edit a simple csv file. &lt;/p&gt;  &lt;p&gt;In your Blend program directory, you will find a “SampleDataResources” folder. Inside this you will find an Images folder (in case you don’t set your own folder when creating a property) and a Data folder that stores the sample string data. &lt;/p&gt;  &lt;p&gt;C:\Program Files (x86)\Microsoft Expression\Blend 3\SampleDataResources\en\Data&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.objectsharp.com/CS/blogs/barry/image_5F99B57D.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:block;float:none;margin-left:auto;border-top:0px;margin-right:auto;border-right:0px;" title="image" border="0" alt="image" src="http://blogs.objectsharp.com/CS/blogs/barry/image_thumb_3CF57702.png" width="375" height="171" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;You can edit this file in excel and simply edit the values or even add new columns.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.objectsharp.com/CS/blogs/barry/image_3B44AB2E.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:block;float:none;margin-left:auto;border-top:0px;margin-right:auto;border-right:0px;" title="image" border="0" alt="image" src="http://blogs.objectsharp.com/CS/blogs/barry/image_thumb_1DCF07CA.png" width="507" height="291" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Windows 7 or Vista doesn’t find it cool to be editing any file underneath your Program Files folder, so you’ll either need to copy the file out to yoru documents folder and edit it there, and copy it back, or run excel with elevated admin privileges.&lt;/p&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=197832" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Blend/default.aspx">Blend</category></item><item><title>Enter the Stargate Destiny, courtesy of Silverlight, DeepZoom, Photosynth.</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2009/08/11/enter-the-stargate-destiny-courtesy-of-silverlight-deepzoom-photosynth.aspx</link><pubDate>Tue, 11 Aug 2009 15:32:38 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:180169</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/180169.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=180169</wfw:commentRss><description>&lt;p&gt;This may result in a “geekasm” – you’ve been warned. &lt;/p&gt;  &lt;p&gt;&lt;a title="http://stargate.mgm.com/photosynth" href="http://stargate.mgm.com/photosynth"&gt;http://stargate.mgm.com/photosynth&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;How’d they do it? &lt;/p&gt;   &lt;br /&gt;&lt;a href="http://www.microsoft.com/video/en/us/details/c0387435-dd01-4c5a-87c9-6e87cedeee15?vp_evt=eref&amp;amp;vp_video=MGM+Stargate+Case+Study"&gt;MGM Stargate Case Study&lt;/a&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=180169" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2008/default.aspx">VS2008</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/WPF/default.aspx">WPF</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Blend/default.aspx">Blend</category></item><item><title>Join ObjectSharp for Silverlight on the Silver Screen – July 9 – Scotiabank Theatre Toronto</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2009/06/23/join-objectsharp-for-silverlight-on-the-silver-screen-july-9-scotiabank-theatre-toronto.aspx</link><pubDate>Wed, 24 Jun 2009 03:03:12 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:176525</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/176525.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=176525</wfw:commentRss><description>&lt;p&gt;&lt;a href="http://www.facebook.com/photo.php?op=1&amp;amp;view=all&amp;amp;subj=86917584225&amp;amp;aid=-1&amp;amp;pid=2754119&amp;amp;id=620589364&amp;amp;oid=86917584225"&gt;&lt;img style="margin:0px 35px 0px 0px;display:inline;" align="left" src="http://photos-b.ak.fbcdn.net/hphotos-ak-snc1/hs030.snc1/4295_94648079364_620589364_2685081_823208_n.jpg" width="270" height="406" /&gt;&lt;/a&gt;Silverlight 3 will soon be released.&amp;#160; And to properly celebrate the excitement of its release, ObjectSharp is teaming up with Microsoft to present an action-packed first look at the UX3 platform, live from the Scotiabank Theatre in Toronto.&amp;#160; &lt;/p&gt;  &lt;p&gt;As one of the first companies to be featured on Microsoft’s Silverlight gallery, our consultants will share with you their deep knowledge of the next generation of tools.&amp;#160; Whether you are a designer, developer, or purely a marketing geek, you will not want to miss this blockbuster event.&amp;#160; You will see feature-rich demonstrations of Silverlight, Expression Blend, SketchFlow, and&amp;#160; Windows 7 touch technology.&amp;#160; You will also see how these tools can be used to dazzle your customers and gain attention for your brand.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;For Developers and Designers:&lt;/b&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;See in-depth demonstrations of Silverlight 3, Expression Blend, and Windows 7 touch technology. &lt;/li&gt;    &lt;li&gt;Learn how to quickly design user interactions with Microsoft SketchFlow &lt;/li&gt;    &lt;li&gt;Take Designer/Developer work flow to the next level with Visual Studio Team System &lt;/li&gt;    &lt;li&gt;Learn how to cut off your bosses head off and paste it on other people’s bodies with Expression Studio &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;For CTOs and Marketing Managers&lt;/b&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Understand the benefits of creating line-of-business applications with Silverlight and .NET RIA Services &lt;/li&gt;    &lt;li&gt;Learn how to integrate Rich Media and Advertising with the Microsoft Platform &lt;/li&gt;    &lt;li&gt;See Touch technology and natural user interfaces bring kiosk applications to life with Windows 7 and WPF &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;b&gt;Technologies You Will See:&lt;/b&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Silverlight 3 featuring WPF &amp;amp; XAML &lt;/li&gt;    &lt;li&gt;Expression Blend 3 featuring SketchFlow &lt;/li&gt;    &lt;li&gt;Windows 7 featuring Touch &lt;/li&gt;    &lt;li&gt;Microsoft Office SharePoint System 2007 (MOSS) for external facing web sites &lt;/li&gt;    &lt;li&gt;Visual Studio 2010 Team System &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;b&gt;&lt;a href="https://www.objectsharp.com/about/events/Pages/silverlight-on-the-silver-screen.aspx" target="_blank"&gt;Register Online&lt;/a&gt;&lt;/b&gt;&amp;#160;&amp;#160; |&amp;#160;&amp;#160; &lt;b&gt;&lt;a href="http://www.objectsharp.com/about/events/Pages/atthemovies.html" target="_blank"&gt;Watch the Movie Trailer&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=176525" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Humours+Distractions/default.aspx">Humours Distractions</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Southern+Ontario/default.aspx">Southern Ontario</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Events/default.aspx">Events</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VSTS/default.aspx">VSTS</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Architecture/default.aspx">Architecture</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/WPF/default.aspx">WPF</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Silverlight/default.aspx">Silverlight</category></item><item><title>Generic Implementation of INotifyPropertyChanged on ADO.NET Data Services (Astoria) Proxies with T4 Code Generation</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2009/03/09/generic-implementation-of-inotifypropertychanged-on-ado-net-data-services-astoria-proxies-with-t4-code-generation.aspx</link><pubDate>Mon, 09 Mar 2009 16:55:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:166586</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/166586.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=166586</wfw:commentRss><description>&lt;P&gt;&lt;A href="http://blogs.objectsharp.com/cs/blogs/barry/IMG_4855_106ED412.jpg"&gt;&lt;IMG title=IMG_4855 style="BORDER-RIGHT:0px;BORDER-TOP:0px;DISPLAY:inline;MARGIN:0px 15px 0px 0px;BORDER-LEFT:0px;BORDER-BOTTOM:0px;" height=175 alt=IMG_4855 src="http://blogs.objectsharp.com/cs/blogs/barry/IMG_4855_thumb_4D4355E4.jpg" width=244 align=left border=0&gt;&lt;/A&gt; Last Week Mike Flasko from the ADO.NET Data Services (Astoria) Team &lt;A href="http://blogs.msdn.com/astoriateam/archive/2009/03/01/announcing-ado-net-data-services-v1-5-ctp1.aspx" target=_blank&gt;blogged about what’s coming in V1.5&lt;/A&gt; which will ship prior to VS 2010. I applaud these out of band releases. &lt;/P&gt;
&lt;P&gt;One of the new features is support for two-way data binding in the client library generated proxy classes. These classes currently do not implement INotifyPropertyChanged events nor project into ObservableCollections out of the box. &lt;/P&gt;
&lt;P&gt;Last week at the MVP Summit I had the chance to see a demo of this and other great things coming down the road from the broader Data Programmability Team. It seems like more and more teams are turning to T4 Templates for code generation which is great for our extensibility purposes. At first I was hopeful that the team had implemented these proxy generation changes via changing to T4 templates along with a corresponding “better” template.&amp;nbsp; Unfortunately, this is not the case and we won’t see any T4 templates in v1.5. It’s too bad – would it really have been that much more work to invest the time in implementing T4 templates than to add new switches to datasvcutil and new code generation (along with testing that code).&lt;/P&gt;
&lt;P&gt;Anyway, after seeing some other great uses of T4 templates coming from product teams for VS 2010, I thought I would invest some of my own time to see if I couldn’t come up with a way of implementing INotifyPropertyChanged all on my own. The problem with the existing code gen is that while there are partial methods created and called for each property setter (i.e. FoobarChanged() ), there is no generic event fired that would allow us to in turn raise a InotifyPropertyChanged.PropertyChanged event. So you can manually added this for each and every property on every class – but it’s tedious.&lt;/P&gt;
&lt;P&gt;I couldn’t have been the first person to think of doing this, and after a bit of googling, I confirmed that. &lt;A href="http://www.silverlightshow.net/Profile.aspx?userId=a9c0a970-451c-43ba-8c1d-6b304e1147da"&gt;Alexey Zakharov&lt;/A&gt;’s post on &lt;A href="http://www.silverlightshow.net/items/ADO.NET-Data-Services-Advanced-Topics-Custom-proxy-based-on-T4-templates.aspx" target=_blank&gt;generating custom proxies with T4&lt;/A&gt; has been completely ripped off, er, inspirational in this derivative work. What I didn’t like about Alexy’s solution was that it completely over wrote the proxy client. I would have preferred a solution that just implemented the partial methods in a partial class to fire the PropertyChanged event. This way, any changes, improvements, etc. to the core MS codegen can still be expected down the road. Of course, Alexey’s template is a better solution if there are indeed other things that you want to customize about the template in its entirely should you find that what you need to accomplish can’t be done with a partial class. &lt;/P&gt;
&lt;P&gt;What I did like about Alexey’s solution is that it uses the service itself to query the service meta data directly. I had planned on using reflection to accomplish the same thing but in hindsight, that would be difficult to generate a partial class of a class I’m currently reflecting on in the same project (of course). Duh. &lt;/P&gt;
&lt;P&gt;So what do you need to do to get this solution working? &lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Add the &lt;STRONG&gt;MetadataHelper.tt&lt;/STRONG&gt; file to the project where you have your reference/proxies to the data service. You will want to make sure there is no custom tool associated with this file – it’s just included as a reference in the next one. This file wraps up all the calls to get the meta data I’ve made a couple of small changes to Alexey’s -- Added support for Byte and Boolean (typo in AZ’s).&lt;/LI&gt;
&lt;LI&gt;Copy the &lt;STRONG&gt;DataServiceProxy.tt&lt;/STRONG&gt; file to the same project. If you have more than one data service, you’ll want one of these files for each reference. So for starters you may want to rename it accordingly. You are going to need to edit this bad boy as well.&lt;/LI&gt;
&lt;LI&gt;There are two options you’ll need to specify inside of the proxy template. The MetadataUri should be the uri to your service suffixed with $metadata. I’ve found that if your service is secured with integrated authentication, then the the metadata helper won’t pass those credentials along so for the purposes of code generation you’d best leave anonymous access on. Secondly is the &lt;STRONG&gt;Namespace. &lt;/STRONG&gt;You will want to use the same namespace used by your service reference. You might have to do a Show All Files and drill into the Reference.cs file to see exactly what that is.&amp;nbsp; &lt;BR&gt;&lt;/LI&gt;&lt;PRE class=csharpcode&gt;var options = &lt;SPAN class=kwrd&gt;new&lt;/SPAN&gt; {
    MetadataUri = &lt;SPAN class=str&gt;"&lt;U&gt;&lt;STRONG&gt;http://localhost/ObjectSharpSample.Service/SampleDataService.svc/$metadata&lt;/STRONG&gt;&lt;/U&gt;"&lt;/SPAN&gt;,
    Namespace = &lt;SPAN class=str&gt;"&lt;STRONG&gt;&lt;U&gt;ObjectSharp.SampleApplication.ServiceClient.DataServiceReference&lt;/U&gt;&lt;/STRONG&gt;"&lt;/SPAN&gt;
    };&lt;/PRE&gt;

.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; }
&lt;/OL&gt;
&lt;P&gt;That’s it. When you save your file, should everything work, you’ll have a .cs file generate that implements through a partial class an INotifyProxyChanged interface. Something like….. &lt;BR&gt;&lt;/P&gt;
&lt;DIV style="BORDER-RIGHT:gray 1px solid;PADDING-RIGHT:4px;BORDER-TOP:gray 1px solid;PADDING-LEFT:4px;FONT-SIZE:8pt;PADDING-BOTTOM:4px;MARGIN:20px 0px 10px;OVERFLOW:auto;BORDER-LEFT:gray 1px solid;WIDTH:97.5%;CURSOR:text;MAX-HEIGHT:200px;LINE-HEIGHT:12pt;PADDING-TOP:4px;BORDER-BOTTOM:gray 1px solid;FONT-FAMILY:consolas, 'Courier New', courier, monospace;BACKGROUND-COLOR:#f4f4f4;"&gt;&lt;PRE style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:consolas, 'Courier New', courier, monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;BORDER-BOTTOM-STYLE:none;"&gt;&lt;SPAN style="COLOR:#0000ff;"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR:#0000ff;"&gt;partial&lt;/SPAN&gt; &lt;SPAN style="COLOR:#0000ff;"&gt;class&lt;/SPAN&gt; Address : INotifyPropertyChanged
{
    &lt;SPAN style="COLOR:#0000ff;"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR:#0000ff;"&gt;event&lt;/SPAN&gt; PropertyChangedEventHandler PropertyChanged;

    &lt;SPAN style="COLOR:#0000ff;"&gt;private&lt;/SPAN&gt; &lt;SPAN style="COLOR:#0000ff;"&gt;void&lt;/SPAN&gt; OnPropertyChanged(&lt;SPAN style="COLOR:#0000ff;"&gt;string&lt;/SPAN&gt; property)
    {
        var handler = PropertyChanged;
        &lt;SPAN style="COLOR:#0000ff;"&gt;if&lt;/SPAN&gt; (handler != &lt;SPAN style="COLOR:#0000ff;"&gt;null&lt;/SPAN&gt;)
        {
            handler(&lt;SPAN style="COLOR:#0000ff;"&gt;this&lt;/SPAN&gt;, &lt;SPAN style="COLOR:#0000ff;"&gt;new&lt;/SPAN&gt; PropertyChangedEventArgs(property));
        }
    }

    &lt;SPAN style="COLOR:#0000ff;"&gt;partial&lt;/SPAN&gt; &lt;SPAN style="COLOR:#0000ff;"&gt;void&lt;/SPAN&gt; OnAddressIdChanged()
    {
        OnPropertyChanged(&lt;SPAN style="COLOR:#006080;"&gt;"AddressId"&lt;/SPAN&gt;);
    }
    &lt;SPAN style="COLOR:#0000ff;"&gt;partial&lt;/SPAN&gt; &lt;SPAN style="COLOR:#0000ff;"&gt;void&lt;/SPAN&gt; OnAddressLine1Changed()
    {
        OnPropertyChanged(&lt;SPAN style="COLOR:#006080;"&gt;"AddressLine1"&lt;/SPAN&gt;);
    }
}&lt;/PRE&gt;&lt;/DIV&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=166586" width="1" height="1"&gt;</description><enclosure url="http://blogs.objectsharp.com/blogs/barry/attachment/166586.ashx" length="2167" type="application/x-zip-compressed" /><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/ADO.NET/default.aspx">ADO.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/WinForms/default.aspx">WinForms</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Architecture/default.aspx">Architecture</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2008/default.aspx">VS2008</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Entity+Framework/default.aspx">Entity Framework</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/WPF/default.aspx">WPF</category></item><item><title>Technology Predictions and Trends for 2009</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2008/12/31/technology-predictions-and-trends-for-2009.aspx</link><pubDate>Wed, 31 Dec 2008 16:27:13 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:160271</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>4</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/160271.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=160271</wfw:commentRss><description>&lt;p&gt;I’m sure we’re going to look back at 2009 and say “it was the best of times, it was the worst of times’ and it will no doubt be interesting. Here’s my predictions…. &lt;/p&gt;  &lt;h1&gt;Social Networking Everywhere&lt;/h1&gt;  &lt;p&gt;Although online social networking companies are already struggling with diminished valuations, in 2009 we’ll see social networks break out of their silos and become essential platform elements that see their way into other online applications such as travel, e-commerce, job-posting boards, online dating services, CRM services, web based email systems, etc. Blogging is also changing, slowing down in fact. Micro-blogging with status update-esque features in FaceBook, Windows Live, and of course the explosion of Twitter will take on even larger roles. It’s as true today as it was back in 1964 when fellow Canadian &lt;a href="http://en.wikipedia.org/wiki/Marshall_McLuhan"&gt;Marshall McLuhan&lt;/a&gt; wrote “The Medium Is The Message”.&lt;/p&gt;  &lt;h1&gt;The Death of Optical Media&lt;/h1&gt;  &lt;p&gt;Okay, so you’ll still be able to walk into a video store to rent a DVD or buy a spindle of blanks at your grocery store but make no mistake about it – the death march is on, and that includes you too Blu-Ray. Blu-Ray will never see the adoption curve that DVD’s had. They thought they won when HD-DVD died, but if winning means dying last, then sure, you won. We’ll increasingly be renting our movies on-demand through our cable boxes, on our converged PC’s and XBOX 360’s via services like Netflix. Along with this, the rest of us will start to realize we don’t really need to own our libraries of movies. With IPod penetration as high as it is, it may take longer to realize we don’t need to own our music either – frankly we don’t own it anyway even though the pricing models try to convince us we do. I won’t go out and predict the death of DRM, frankly, I think 2009 maybe the year where DRM starts to get more tolerable once we are clearly renting our music and movies. The Zune Pass is making some inroads here but until Apple starts offering a similar subscription pricing, this may take a bit longer. &lt;/p&gt;  &lt;p&gt;The Mac Air may have been a bit ahead of the curve with dropping the optical drive, but get used to it. Expect more vendors to do the same as they reduce size or cram in additional batteries or hard drives.&lt;/p&gt;  &lt;h1&gt;The Rise of the NetBook&lt;/h1&gt;  &lt;p&gt;If 2009 is the year of doing more with less, then this will surely be the NetBook’s year. Mainstream hardware manufacturers hate these and their small profit margins, but Acer and Intel will be raking it in building market share if not large bottom lines. Who knows, MS may learn to love the NetBook if they can get Acer to start shipping Windows 7 on them this year as well. Be prepared to see these everywhere in 2009, but don’t expect to see Apple make one (ever). &lt;/p&gt;  &lt;h1&gt;Zune Phone&lt;/h1&gt;  &lt;p&gt;The big story at the end of 2008 has been the global suicide of the original Zune 30s. I predict that tomorrow they’ll be they shall rise from the dead but it might take until the 2nd for everybody to figure out that they need to entirely drain the battery. The big news is that there won’t be a Zune phone with the MS brand name on it, but the Zune UI will come to Windows Mobile (6.5?) turning legions of touch based smart phones into music players almost as good as an IPhone. The bad news is that without an App Store to vet software quality, crapware will continue to be the source of reliability issues for the Windows Mobile platform. The good news is that without an App Store, Windows Mobile users will have lots of choice in the software for their devices, not to mention lots of choice in devices, carriers and plans. The battle between Good and Evil may morph into the battle between Reliability and Choice.&lt;/p&gt;  &lt;h1&gt;Touch Everywhere&lt;/h1&gt;  &lt;p&gt;Get your head out of the gutter, that’s not what I meant. What I did mean is that 12-24 months from now, it will be difficult to purchase a digital frame, LCD monitor or phone without an onscreen touch capability. Windows 7 will light these devices up and we’ll start to not think about the differences between Tablet PC’s and Notebooks as they just converge into a single device. With the advent of Silverlight, WPF and Surface computing, MS has been banging the “user experience” drum for a while now but when touch starts to be the expectation and not the exception, we’ll have to re-engineer our applications to optimize for the touch experience. This may turn out to be bigger than the mouse or even a windowed operation system. &lt;/p&gt;  &lt;h1&gt;Flush with Flash&lt;/h1&gt;  &lt;p&gt;In 2008 we’ve been teased with sold state hard drives but with less than stellar performance at outrageous prices, they’ve been on the fringe. In 2009 prices and read/write times will both come down in solid state drives, but with the increased capacity of USB memory sticks 32gb, 64gb +, we likely won’t see SSD drives hitting mainstream this year. Instead I think we’ll see an increase in the behavior of people keeping their entire lives on USB flash memory sticks. Hopefully we’ll see sync &amp;amp; backup software such as Windows Live Sync, Active Sync, Windows Home Server, etc. become more aware of these portable memory devices that may get synced from any device in your mesh.&amp;#160; &lt;/p&gt;  &lt;p&gt;Camera flash will have to have a new format as SDHC currently is maxed at 32gb. With the increase in demand for HD video recording on still and video cameras, we’ll need a new format. As such we’re seeing rock bottom prices on 2gb chips now. Maybe somebody will come out with a SD Raid device that lets us plug in a bank of 2GB SD Cards. &lt;/p&gt;  &lt;h1&gt;Growing up in the Cloud&lt;/h1&gt;  &lt;p&gt;Cloud computing is going to be a very long term trend. I think we’ll only see baby steps in 2009 towards this goal. In the consumer space we’ll see more storage of digital media in the cloud, online backup services and the move of many applications to the cloud. Perfect for your Touch Zune Phone and Touch NetBook without an optical drive eh? IT shops will take a bit longer to embrace the cloud. Although many IT Data centers are largely virtualized already, applications are not all that virtual today and that doesn’t seem to be changing soon as developers have not whole-heartedly adopted SOA practices, addressed scalability and session management issues nor adopted concepts such as multi-tenancy. As we do more with less in 2009, we won’t see that changing much as a lot of software out there will be in “maintenance mode” during the recession. &lt;/p&gt;  &lt;h1&gt;Maybe, Just Maybe, this is the year of the Conveniently Connected Smart Client&lt;/h1&gt;  &lt;p&gt;Adobe Air &amp;amp; Silverlight are mainstreaming web deployed and updated rich client desktop apps. It’s hard to take advantage of touch interfaces and massive portable flash storage within a browser. All of these other trends can influence Smart Client applications, potentially to a tipping point. We’ll hopefully see out of browser, cross-platform Silverlight applications in 2009 to make this an easy reality on the MS Stack. &lt;/p&gt;  &lt;h1&gt;Incremental, Value-Based and Agile Software Development&lt;/h1&gt;  &lt;p&gt;Many of my customers began large-scale re-writes of their key software assets in 2008, many of them against my recommendations. For most of my key customers in 2008 and into 2009 I’m an advocate of providing incremental value in short iterative releases, not major re-writes that take 6+ months to develop. Even if your application is written in PowerBuilder 6 or Classic ASP, avoid the temptation to rewrite any code that won’t see production for 4 months or longer. We can work towards componentized software by refactoring legacy assets and providing key integration points so that we can release updated modules towards gradual migration. It is difficult for software teams in this economy to produce big-bang, “boil the ocean”, build cathedral type projects. We simply can’t predict what our project’s funding will be in 4 months from now, or if we’ll be owned by another company, scaled down, out sourced or just plain laid off. That is of course unless you work for the government. Government spending will continue if not increase in 2009, but still, try to spend our taxpayer money wisely by delivering short incremental software releases. It allows you to build trust with your customers, mark a line in the sand and move onward and upward, and let’s you move quickly in times of fluid business requirements and funding issues.&lt;/p&gt;  &lt;p&gt;Incremental, Value-Based software development isn’t easy. It takes lots of work, creative thinking, and much interop and integration work than one would prefer. It might easily seem like an approach that costs more in the long term, and in some cases you could be right. But if a company has to throw out work in progress after 6-8 months or never sees the value of it because of other changing business conditions, then what have you saved? Probably not your job anyway.&lt;/p&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=160271" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Vista/default.aspx">Vista</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Humours+Distractions/default.aspx">Humours Distractions</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Services/default.aspx">Services</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Architecture/default.aspx">Architecture</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/WPF/default.aspx">WPF</category></item><item><title>Entity Framework: What you need to know. Metro Toronto UG Dec 9th 2008</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2008/12/08/entity-framework-what-you-need-to-know-metro-toronto-ug-dec-9th-2008.aspx</link><pubDate>Mon, 08 Dec 2008 18:55:17 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:157837</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/157837.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=157837</wfw:commentRss><description>&lt;p&gt;I’ll be speaking tomorrow night at the &lt;a title="http://www.metrotorontoug.com/" href="http://www.metrotorontoug.com/" target="_blank"&gt;Metro Toronto .NET UG&lt;/a&gt; tomorrow night. &lt;/p&gt;  &lt;h5&gt;Entity Framework: What You Need to Know&lt;/h5&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.objectsharp.com/bgervin.aspx"&gt;Barry Gervin&lt;/a&gt;, ObjectSharp &lt;/li&gt;    &lt;li&gt;Tuesday, December 9, 2008 at 6:00pm &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;New Location!&lt;/strong&gt; Palmerston Library Theatre (lower level), &lt;a href="http://maps.live.com/default.aspx?v=2&amp;amp;FORM=LMLTCP&amp;amp;cp=43.665518~-79.412645&amp;amp;style=h&amp;amp;lvl=19&amp;amp;tilt=-90&amp;amp;dir=0&amp;amp;alt=-1000&amp;amp;phx=0&amp;amp;phy=0&amp;amp;phscl=1&amp;amp;encType=1&amp;amp;cid=2F659A5B930298D!411"&gt;560 Palmerston Avenue, Toronto (2 blocks west of Bloor &amp;amp; Bathurst)&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Is this the last data access technology we’ll ever need from MS – or just another one along the way? What is the Entity Framework and what is the difference between EDM, and LINQ to Entities. What’s different between LINQ to SQL? This session will give you the background on the Entity Framework and help you understand the MS data access strategy and how to apply it in practice. We’ll look at what’s available today, how best to apply it in the real world coupled with other complimentary technologies such as ADO.NET Data Services and Enterprise Library’s Validation Application Block.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.dailybread.ca/index.cfm"&gt;&lt;img style="display:inline;margin-left:0px;margin-right:0px;" alt="Banner" src="http://www.dailybread.ca/images/banner_top.gif" align="left" border="0" /&gt;&lt;/a&gt;And best of all, we’re having a food drive for the &lt;a href="http://www.dailybread.ca/" target="_blank"&gt;Daily Bread Food Bank&lt;/a&gt;. You can &lt;a href="http://www.canadahelps.org/gp.aspx?id=2792" target="_blank"&gt;donate cash by clicking here&lt;/a&gt; or non-perishable good such as.&lt;/p&gt;  &lt;ul&gt;   &lt;ul&gt;     &lt;ul&gt;       &lt;ul&gt;         &lt;ul&gt;           &lt;ul&gt;             &lt;ul&gt;               &lt;ul&gt;                 &lt;ul&gt;                   &lt;ul&gt;                     &lt;li&gt;Peanut Butter&lt;/li&gt;                      &lt;li&gt;Baby Formula &amp;amp; Food&lt;/li&gt;                      &lt;li&gt;Canned Fruits or Vegetables&lt;/li&gt;                      &lt;li&gt;Canned Fish&amp;#160; or Meat&lt;/li&gt;                      &lt;li&gt;Dried Pasta &amp;amp; Tomato Sauce&lt;/li&gt;                      &lt;li&gt;Rice&lt;/li&gt;                      &lt;li&gt;Lentils&lt;/li&gt;                      &lt;li&gt;Cans of Soup or Hearty Stew&lt;/li&gt;                      &lt;li&gt;Powdered, Canned or Tetra Pak Milk&lt;/li&gt;                      &lt;li&gt;Cans of Beans&lt;/li&gt;                      &lt;li&gt;Macaroni and Cheese&lt;/li&gt;                   &lt;/ul&gt;                 &lt;/ul&gt;               &lt;/ul&gt;             &lt;/ul&gt;           &lt;/ul&gt;         &lt;/ul&gt;       &lt;/ul&gt;     &lt;/ul&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;h3&gt;Did You Know?&lt;/h3&gt;  &lt;p&gt;Your &lt;a href="http://www.canadahelps.org/gp.aspx?id=2792" target="_blank"&gt;cash donation&lt;/a&gt; will purchase twice as much food as you can purchase at the grocery store. The daily bread food bank purchases Bulk Quantities of food, which gets to where it is needed faster because there is no sorting step required.&lt;/p&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=157837" width="1" height="1"&gt;</description></item><item><title>DevTeach Montreal December 1-5, 2008 – Coupon Enclosed</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2008/11/10/devteach-montreal-december-1-5-2008-coupon-enclosed.aspx</link><pubDate>Mon, 10 Nov 2008 14:29:53 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:155304</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/155304.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=155304</wfw:commentRss><description>&lt;p&gt;&lt;img style="display:inline;margin-left:0px;margin-right:0px;" src="http://www.lethbridgedotnet.ca/dotNetNuke/Portals/0/Devt125x125-e.jpg" align="left" /&gt;DevTeach Montreal is less than a month away but it’s not too late to register. This is a great conference with &lt;a href="http://www.devteach.com/Session.aspx" target="_blank"&gt;sessions&lt;/a&gt; covering .NET FX, Future, SQL Server, VSTS/Team System, Silverlight, Agile Development, Software Architecture, ASP.NET.&lt;/p&gt;  &lt;p&gt;Aside from the great content, build up your professional network by rubbing shoulders with the speakers in an intimate conference. The list of &lt;a href="http://www.devteach.com/Speaker.aspx" target="_blank"&gt;speakers&lt;/a&gt; is particularly impressive this year. From MS you’ll get to see &lt;a href="http://blogs.msdn.com/elisaj/" target="_blank"&gt;Elisa Flasko&lt;/a&gt; and &lt;a href="http://blogs.msdn.com/cperry/" target="_blank"&gt;Carl Perry&lt;/a&gt; from the Data Programmability Team, &lt;a href="http://blogs.msdn.com/bethmassi/" target="_blank"&gt;Beth Massi&lt;/a&gt; and Yair Alan Griver. Of course .&lt;a href="http://www.dotnetrocks.com/" target="_blank"&gt;NET Rockers&lt;/a&gt; &lt;a href="http://www.intellectualhedonism.com/" target="_blank"&gt;Carl Franklin&lt;/a&gt; &amp;amp; &lt;a href="http://www.campbellassociates.ca/blog/default.aspx" target="_blank"&gt;Richard Campbell&lt;/a&gt; will also be there with fellow MS Regional Directors &lt;a href="http://blogs.interknowlogy.com/timhuckaby/" target="_blank"&gt;Tim Huckaby&lt;/a&gt;, &lt;a href="http://weblogs.asp.net/Jsemeniuk/" target="_blank"&gt;Joel Semeniuk&lt;/a&gt;, &lt;a href="http://www.stephenforte.net/" target="_blank"&gt;Stephen Forte&lt;/a&gt;, &lt;a href="http://geekswithblogs.net/TakeNote/Default.aspx" target="_blank"&gt;Jim Duffy&lt;/a&gt;, &lt;a href="http://weblogs.asp.net/guybarrette/default.aspx" target="_blank"&gt;Guy Barrette&lt;/a&gt; and yours truly.&lt;/p&gt;  &lt;p&gt;But wait, there’s more. Each attendee will get Visual Studio 2008 Pro and Expression Web 2.0 full copies along with the entire DVD set covering all sessions from TechEd 2008 Developers conference from Orlando this year. It’s &lt;a href="http://www.shamwow.com/" target="_blank"&gt;Shamwow&lt;/a&gt;!&lt;/p&gt;  &lt;p&gt;If you attended TechDays, your included coupon is now worth $350 off the price of DevTeach. If you didn’t, you can use this code:TO000OBJSHARP good for 50$ off. &lt;a href="http://www.devteach.com/Register.aspx" target="_blank"&gt;Sign up here&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=155304" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Southern+Ontario/default.aspx">Southern Ontario</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Events/default.aspx">Events</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Architecture/default.aspx">Architecture</category></item><item><title>VSTS Development &amp; Database Editions to Merge!</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2008/09/29/vsts-development-database-editions-to-merge.aspx</link><pubDate>Mon, 29 Sep 2008 18:21:49 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:153470</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/153470.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=153470</wfw:commentRss><description>&lt;p&gt;&lt;img style="display:inline;margin-left:0px;margin-right:0px;" alt="VSTS2008 Database Edition の箱" src="http://www.microsoft.com/japan/msdn/vstudio/products/2008/bb964613.vsts2008dbe_box.png" align="left" /&gt;An early Christmas present from our friends in Redmond! Beginning October 1, 2008 subscribers to VSTS Developer Edition and Database Edition will have access to the additional SKU. This was reported this week over at the &lt;a href="http://msdn.microsoft.com/en-us/vstudio/products/cc948977.aspx" target="_blank"&gt;MSDN VS 2010 &amp;amp; .NET Framework 4.0 overview page&lt;/a&gt;, but you don’t have to wait until Visual Studio 2010 is released.&lt;/p&gt;  &lt;p&gt;Well that is just an awesome announcement and kudos to MS for listening to the community feedback about the multiple hats people wear on projects. I’m sure that this will lead to more teams actually using the Database edition functionality on their project which offers great source code integration for their database scripts not to mention T-SQL unit testing and test data generation. &lt;/p&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=153470" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/SQL/default.aspx">SQL</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VSTS/default.aspx">VSTS</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Architecture/default.aspx">Architecture</category></item><item><title>Blog Resume</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2008/09/29/blog-resume.aspx</link><pubDate>Mon, 29 Sep 2008 18:13:45 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:153469</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/153469.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=153469</wfw:commentRss><description>&lt;p&gt;Oh where did the summer go? Not spent blogging. My life was turned a bit upside down this summer. My expectant wife Caroline was hospitalized for pre-eclampsia (high blood pressure) for 2 weeks, and when she did get released – she was put on bed rest. Caroline has been a stay-at-home Mom for the past 9 years so I had to learn her ways of keeping the wheels moving with two busy daughters during the summer months, not to mention hospital visits to see Mom once or twice a day. &lt;/p&gt;  &lt;p&gt;I picked up the &lt;a href="https://www.rogers.com/web/content/internet-portable" target="_blank"&gt;Rogers Portable (Wireless) Internet service&lt;/a&gt; so Caroline and I could both keep up on email while at the hospital (no cell phones allowed). It wouldn’t penetrate our new windows in the house, likely because of the low-emissivity coating on the glass but it worked fine from the Oakville hospital. &lt;/p&gt;  &lt;p&gt;The situation for high-risk pregnancies in Ontario was quite grim this summer. There few hospitals equipped for a high-risk/early delivery (i.e. not Oakville) were quite full and they threatened to move us to as close as Credit Valley in Mississauga, to downtown Toronto, to Montreal, Winnipeg (yuck), or even Detroit or Buffalo. I can’t believe the lack of capacity in our healthcare system – it’s embarrassing.&lt;/p&gt;  &lt;p&gt;Anyway, after a couple of weeks at home, pre-eclampsia was turning into eclampsia so they decided to do an early delivery (just under 7 months). We picked the right day (July 14th) as we managed to get a spot at the nearby and wonderful Credit Valley Hospital. Our baby was breech so they had to do an emergency cesarean section delivery. We were blessed with another baby girl weighing 4lbs, 14 ounces, not bad for a 7-month old. As usual, we didn’t have a name picked right away so I nicknamed her Buttercup. The nurses quite liked this and made a special name card for her isolette. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.objectsharp.com/cs/blogs/barry/IMG_1901_68106AD7.jpg"&gt;&lt;img title="IMG_1901" style="border-right:0px;border-top:0px;display:inline;margin:5px 15px 5px 0px;border-left:0px;border-bottom:0px;" height="294" alt="IMG_1901" src="http://www.objectsharp.com/cs/blogs/barry/IMG_1901_thumb_067AABC1.jpg" width="245" align="left" border="0" /&gt;&lt;/a&gt; Caroline’s blood pressure was still pretty high and she had a dedicated nurse bedside for the next 24 hours taking her blood pressure every 5-15 minutes as they loaded her up on various blood pressure medications including magnesium sulphate. After 24 hours she was well enough to be moved to the regular labour &amp;amp; delivery unit. Caroline was in the hospital for another week, which wasn’t too bad since she was able to visit Baby Buttercup as often as she liked. &lt;/p&gt;  &lt;p&gt;Caroline had received a steroid shot for lung development when she was first admitted a month ago so that really helped with Buttercup’s lung development. Buttercup still needed oxygen for the first week or so to keep her saturation up as she breathing very rapidly and shallowly. They kept her on IV fluids and then added a nutritional supplement for the first couple of weeks before they started feeding her *** milk with a nasal tube. After almost 4 weeks in the neonatal intensive care unit at Credit Valley we were finally able to bring her home. By this time she was fully breastfeeding and was about 6lbs and gaining weight every day. &lt;/p&gt;  &lt;p&gt;I don’t think I’ve spent as much time in a hospital my entire life as I have this past&amp;#160; summer, but we are very thankful that everybody is now home together and healthy. Claire and Fiona adore their new baby sister – now named Maeve Juliet, and as of today' she must be well over 8lbs. &lt;/p&gt;  &lt;p&gt;As if this wasn’t enough, I started leading a new project in July with a few of my O# colleagues. It’s a rich client in .NET 3.5, WPF front end connecting to SQL Server through a ADO.NET Data Service (formerly Astoria) sitting on top of the Entity Framework. We’re using elements of our own framework as well as portions of Enterprise Library 4.0 including the Unity IoC Container, Composite Application Library (CAL) and the Validation Application Block. Of course we’re also using VSTS including the database edition and using TypeMock here and within our unit testing. &lt;/p&gt;  &lt;p&gt;As you can imagine, a tremendous amount of the application is declarative, not just architecturally, but also programmatically with liberal use of LINQ queries throughout. We’ve started to see some really great productivity now that the architecture is stable so I’m looking forward to resuming regular programming here with some tales from the trenches. &lt;/p&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=153469" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Humours+Distractions/default.aspx">Humours Distractions</category></item><item><title>Aspiring Architect - Web cast series</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2008/06/09/aspiring-architect-web-cast-series.aspx</link><pubDate>Mon, 09 Jun 2008 13:47:55 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:146343</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/146343.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=146343</wfw:commentRss><description>&lt;p&gt;&lt;/p&gt;  &lt;p&gt;With all this heat, I almost wrote &amp;quot;perspiring&amp;quot;. Why not beat the heat, and stay cool inside while watching these web casts from MS Canada targeting aspiring architects. With the predicted shortage in IT in the upcoming years, we're sure to see an influx of junior resources into our industry. This is a good opportunity for developers to transition into architecture roles to leverage their existing skill set. &lt;/p&gt;  &lt;p&gt;The Aspiring Architect Series 2008 builds on last year&amp;#8217;s content and covers a number of topics that are important for architects to understand. So it would be a great idea to watch last year's recordings if you haven't already. Links are available here:&amp;#160; &lt;a href="http://blogs.msdn.com/mohammadakif/archive/tags/Aspiring+Architects/default.aspx"&gt;http://blogs.msdn.com/mohammadakif/archive/tags/Aspiring+Architects/default.aspx&lt;/a&gt; . &lt;/p&gt;  &lt;p&gt;Upcoming sessions are as follows:&lt;/p&gt;  &lt;p&gt;June 16&lt;sup&gt;th&lt;/sup&gt;, 2008 &amp;#8211; 12:00 p.m. to 1:00 p.m. &amp;#8211; Introduction to the aspiring architect Web Cast series&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032380836&amp;amp;Culture=en-CA"&gt;http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032380836&amp;amp;Culture=en-CA&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;June 17&lt;sup&gt;th&lt;/sup&gt;, 2008 &amp;#8211; 12:00 p.m. to 1:00 p.m. &amp;#8211; Services Oriented Architecture and Enterprise Service Bus &amp;#8211; Beyond the hype&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032380838&amp;amp;Culture=en-CA"&gt;http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032380838&amp;amp;Culture=en-CA&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;June 18&lt;sup&gt;th&lt;/sup&gt;, 2008 &amp;#8211; 12:00 p.m. to 1:00 p.m. &amp;#8211; TOGAF and Zachman, a real-world perspective&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032380840&amp;amp;Culture=en-CA"&gt;http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032380840&amp;amp;Culture=en-CA&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;June 19&lt;sup&gt;th&lt;/sup&gt;, 2008 &amp;#8211; 12:00 p.m. to 1:00 p.m. &amp;#8211; Services Oriented Architecture (Web Cast in French)&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032380842&amp;amp;Culture=en-CA"&gt;http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032380842&amp;amp;Culture=en-CA&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;June 20&lt;sup&gt;th&lt;/sup&gt;, 2008 &amp;#8211; 12:00 p.m. to 1:00 p.m. &amp;#8211; Interoperability (Web Cast in French)&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032380844&amp;amp;Culture=fr-CA"&gt;http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032380844&amp;amp;Culture=fr-CA&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;June 23&lt;sup&gt;rd&lt;/sup&gt; , 2008 &amp;#8211; 12:00 p.m. to 1:00 p.m. &amp;#8211; Realizing dynamic systems&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032380846&amp;amp;Culture=en-CA"&gt;http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032380846&amp;amp;Culture=en-CA&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;June 24&lt;sup&gt;th&lt;/sup&gt;, 2008 &amp;#8211; 12:00 p.m. to 1:00 p.m. &amp;#8211; Web 2.0, beyond the hype&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032380848&amp;amp;Culture=en-CA"&gt;http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032380848&amp;amp;Culture=en-CA&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;June 25&lt;sup&gt;th&lt;/sup&gt;, 2008 &amp;#8211; 12:00 p.m. to 1:00 p.m. &amp;#8211; Architecting for the user experience&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032380850&amp;amp;Culture=en-CA"&gt;http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032380850&amp;amp;Culture=en-CA&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;June 26&lt;sup&gt;th&lt;/sup&gt;, 2008 &amp;#8211; 12:00 p.m. to 1:00 p.m. &amp;#8211; Conclusion and next steps&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032380852&amp;amp;Culture=en-CA"&gt;http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032380852&amp;amp;Culture=en-CA&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=146343" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/WebForms/default.aspx">WebForms</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Services/default.aspx">Services</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Events/default.aspx">Events</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/WCF/default.aspx">WCF</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Architecture/default.aspx">Architecture</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/WPF/default.aspx">WPF</category></item><item><title>Follow up on Entity Framework talk at Tech Ed 2008</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2008/06/07/follow-up-on-entity-framework-talk-at-tech-ed-2008.aspx</link><pubDate>Sun, 08 Jun 2008 02:26:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:146320</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/146320.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=146320</wfw:commentRss><description>&lt;P&gt;Last week at TechEd I gave a talk about building data access layers with the Entity Framework. I covered various approaches from not having a data access layer at all, to fully encapsulation of the entity framework - and some hybrid approaches along the way. &lt;/P&gt;
&lt;P&gt;I gave the first instance of this on Tuesday and then a repeat on Thursday. &lt;/P&gt;
&lt;P&gt;To those who saw the first instance of this on Tuesday....&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;you unfortunately got an abbreviated and disjointed version for which I apologize. After I queued up my deck about 15 minutes prior to the talk I left the room for a minute while people filed in and while I was out, one of the event staff shutdown my deck and restarted it running from a different folder on the recording machine and didn't tell me. I was about 1/3rd into my presentation when I realized that I had the wrong version of the deck. At the time, I had no idea why this version of the deck was running so I wasn't going to fumble around looking for the correct one. Given a change in the order of things - I'm not sure if changing decks at that point would have made things better or worst. I still had no idea why this had happened when I gave the talk again on Thursday but when the same thing almost happened again - this time I caught the event staff shutting down my deck and restarting it again (from an older copy). Bottom line, sorry to those folks who saw the earlier version. &lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;The complete deck and demo project is attached. It is a branch of the sample that is part of the Entity Framework Hands on Lab that was available at the conference and which is included in the .NET 3.5 Enhancements (aka SP1) training kit. You can will need the database for that project which is not included in my down. &lt;/P&gt;
&lt;P&gt;&lt;A href="https://www.microsoft.com/downloads/details.aspx?FamilyID=355c80e9-fde0-4812-98b5-8a03f5874e96&amp;amp;displaylang=en" target=_blank&gt;Download the training kit here.&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=146320" width="1" height="1"&gt;</description><enclosure url="http://blogs.objectsharp.com/blogs/barry/attachment/146320.ashx" length="2660834" type="application/x-zip-compressed" /><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Events/default.aspx">Events</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Architecture/default.aspx">Architecture</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2008/default.aspx">VS2008</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Entity+Framework/default.aspx">Entity Framework</category></item><item><title>Live vs. Google: My Personal Verdict</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2008/06/07/live-vs-google-my-personal-verdict.aspx</link><pubDate>Sun, 08 Jun 2008 01:21:15 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:146318</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/146318.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=146318</wfw:commentRss><description>&lt;p&gt;About a month ago, Live.com released an update to their search engine and I took it upon myself to write down &lt;a href="http://www.objectsharp.com/cs/blogs/barry/archive/2008/05/12/live-search-is-actually-getting-pretty-good-these-days.aspx" target="_blank"&gt;my observations of Live as compared to Google&lt;/a&gt;. Although the features seemed to be a pretty good leap in many areas, I concluded that the only way to see which one was better was to change my default engine to Live.com for a week or two and give it a try.&lt;/p&gt;  &lt;p&gt;Well, it's been a month now and Live.com is still my search engine. It's not like I didn't stop using Google however. I would say that perhaps 10% or less of the time, I felt frustrated by not finding what I was looking for on Live.com and cross-searched Google.com. Of those cases, I would say only half of the time, I found something useful on Google.com that wasn't found on Live.com. These aren't hard numbers, just an anecdotal feel of my experience. When Google.com was my default search engine, my failed searches were likely in the same order as was Live.com's ability to result in something useful where Google.com did not. &lt;/p&gt;  &lt;p&gt;So the verdict for me is that in the area of core test searches, the differences were negligible. At no time did I feel that live.com's performance was slower and I always found the image, video &amp;amp; map search to be superior in Live.com. These features alone for me are reason enough to leave Live.com as my default for the time being. &lt;/p&gt;  &lt;p&gt;ObjectSharp is going to experiment with some Live.com ads. I'm not expecting any kind of serious traffic to come through ads on Live.com so this is mostly a research project to get familiar with their ad engine. &lt;/p&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=146318" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Services/default.aspx">Services</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category></item><item><title>Essential MS Subscription for Mac-aphile Designers</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2008/05/29/essential-ms-subscription-for-mac-aphile-designers.aspx</link><pubDate>Thu, 29 May 2008 05:08:11 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:144547</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/144547.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=144547</wfw:commentRss><description>&lt;p&gt;&lt;img style="margin:0px 35px 0px 0px;" src="http://www.microsoft.com/expression/images/products/top_productShot_proSubscription.jpg" align="left" /&gt;Are you a design &amp;amp; mac user in a Windows Development Shop? Are they eyeing your Mac and measuring your desk to outfit you with a new PC? Over your cold dead corpse I bet. No worries. You owe it to yourself to check out the Microsoft Expression Professional Subscription.&amp;#160; Yeah, you could run Bootcamp but then you'd loose the OS X &amp;amp; Quicksilver goodness while you paid the bills.&lt;/p&gt;  &lt;p&gt;This annual subscription's most important piece of software isn't made by MS: Parallels Desktop for Mac. Parallels will let you run Windows Vista or Windows XP (also included with the subscription) without leaving OS X - better yet with Expose, your desktop will be unified. And with the SmartSelect feature, you'll be opening Mac or Windows files in the OS of your choice automatically. Edit XAML files in Expression Blend (also include) in Windows, but open JPEG's in Photoshop in OS X - regardless from which OS you launched the file from. Very cool.&lt;/p&gt;  &lt;p&gt;Here's the complete list of included software&lt;/p&gt;  &lt;ul&gt;   &lt;ul&gt;     &lt;ul&gt;       &lt;ul&gt;         &lt;ul&gt;           &lt;ul&gt;             &lt;ul&gt;               &lt;ul&gt;                 &lt;li&gt;Expression&amp;#174; Studio                    &lt;br /&gt;Which includes Expression Web for aspx/css/html stuff, Blend for WPF/Silverlight/XAML stuff,&amp;#160; Expression Design for illustrations &amp;amp; graphics, Expression Encoder for media encoding, and Expression Media for asset management.&lt;/li&gt;                  &lt;li&gt;Visual Studio&amp;#174; Standard                    &lt;br /&gt;Just in case the .NET guys make you check stuff into source control.&lt;/li&gt;                  &lt;li&gt;Office Standard &lt;/li&gt;                  &lt;li&gt;Office Visio&amp;#174; Professional                   &lt;br /&gt;For those workflow diagrams and ugly mock ups that the dev guys send you. &lt;/li&gt;                  &lt;li&gt;Windows&amp;#174; XP &lt;/li&gt;                  &lt;li&gt;Windows Vista&amp;#174; Business Edition &lt;/li&gt;                  &lt;li&gt;Virtual PC &lt;/li&gt;                  &lt;li&gt;Parallels Desktop for Mac &lt;/li&gt;               &lt;/ul&gt;             &lt;/ul&gt;           &lt;/ul&gt;         &lt;/ul&gt;       &lt;/ul&gt;     &lt;/ul&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;And just to make things even easier, they've already included some pre-configured virtualized servers in the box as well - that will save you some time. Current pricing is about $1000 USD for the first year. This won't be available for a few weeks, but &lt;a href="https://www.microsoft.com/expression/products/Purchase.aspx?key=professional" target="_blank"&gt;visit here to learn more&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;And if you're trying to learn more about WPF and Silverlight, check out our new &lt;a href="http://www.objectsharp.com/training/coursedetail.aspx?id=8010" target="_blank"&gt;Windows Presentation Foundation (WPF) for Developers &amp;amp; Designers course&lt;/a&gt;. &lt;a href="http://www.objectsharp.com/rburke.aspx" target="_blank"&gt;Rob&lt;/a&gt; &lt;a href="http://robburke.net/" target="_blank"&gt;Burke&lt;/a&gt;, our User Experience (UX) practice lead talks more about this course &lt;a href="http://www.objectsharp.com/cs/blogs/rburke/archive/2008/05/27/wpf-for-developers-and-lead-designers-course-launch.aspx" target="_blank"&gt;here&lt;/a&gt;. And finally, check out &lt;a href="http://www.objectsharp.com/cs/blogs/rwindsor/" target="_blank"&gt;Rob Windsor's&lt;/a&gt; post on our &lt;a href="http://www.objectsharp.com/cs/blogs/rwindsor/archive/2008/05/16/objectsharp-training-summer-seat-sale.aspx" target="_blank"&gt;Summer Seat Sale&lt;/a&gt; to learn how to save up to $500 on our training this summer.&lt;/p&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=144547" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Vista/default.aspx">Vista</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VSTS/default.aspx">VSTS</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Office/default.aspx">Office</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/WPF/default.aspx">WPF</category></item><item><title>DevTeach Toronto - in the bag - see you next year...</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2008/05/23/devteach-toronto-in-the-bag-see-you-next-year.aspx</link><pubDate>Fri, 23 May 2008 20:01:51 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:144279</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/144279.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=144279</wfw:commentRss><description>&lt;p&gt;Well it's just 1 week since DevTeach came to Toronto for the first time. What a great conference and it was my pleasure to be involved as a speaker, track-chair and attendee. The conference organizer Jean-Rene Roy just sent me a note with some of the comments from the overall evaluations. If you didn't attend this year, here's some reasons why you may want to next year:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;&lt;font color="#0000ff"&gt;Great conference! I especially enjoyed the up and personal nature of the conference. I was able to talk with the presenters. I spent most of my time at the agile track. Having topics that are rarely dealt with at user groups was a bonus. I enjoyed all the sessions I attended. The venue was great and the attention to little details, e.g., afternoon ice cream was appreciated.&lt;/font&gt;&lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;&lt;font color="#0000ff"&gt;Jean-Ren&amp;#233;, thank you SO MUCH for bringing DevTeach to Toronto. It was fantastic and I will go again. Your tech chairs did a great job choosing sessions for each track. While I especially enjoyed the Agile sessions, I attended something from each track and the variety was good.&lt;/font&gt;&lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;&lt;font color="#0000ff"&gt;An outstanding conference! All the speakers I saw were terrific &amp;#8212; affable, down-to-earth, talented, incredibly knowledgeable. The sessions were entertaining as well as in-depth and honest &amp;#8212; no BS, no company line. I also met many people and had many interesting and thought provoking discussions outside the classrooms, and came away with new knowledge, ideas and inspiration. &amp;#8220;Training you can&amp;#8217;t get anywhere else&amp;#8221; is an understatement.&lt;/font&gt;&lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;&lt;font color="#0000ff"&gt;Most of the speakers tell us 'why' and 'so what' instead of 'how'. This is what I expected and is good for developer in the long run. Please let speakers know this is good.&lt;/font&gt;&lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;&lt;font color="#0000ff"&gt;This is an excellent conference. I feel I updated my skills intensively effectively during these 3 days. I believe it will become a key event in .net area.&lt;/font&gt;&lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;&lt;font color="#0000ff"&gt;DevTeach was an amazing experience, especially for first timers. It was a good way to network with people in the industry, learn new techniques, make friends and bring home stories.&lt;/font&gt;&lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;&lt;font color="#0000ff"&gt;This was my first DevTeach and if I have any say in the matter, won't be my last. I had a great time, the sessions that I attended were top notch for the most part. Jean-Rene and his team deserve a hugh pat on the back for their efforts. What-ever they're getting paid - isn't half enough&lt;/font&gt;&lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;&lt;font color="#0000ff"&gt;What can I say. You'll definitely see me next year. I hope its still in Toronto. This was one of the BEST training conferences I've been on in quite some time. The &amp;quot;take-away's&amp;quot; from all the sessions were astounding. My mind is still spinning. Anyway, great job, nice prizes, great orgranization, absolutely no negative thoughts or comments.&lt;/font&gt;&lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;&lt;font color="#0000ff"&gt;This was a fantastic experience, MUCH better information than what I got from TechEd last year. TechEd's information was very visionary, things I can talk about now but not use for a few years out. DevTeach taught me things and gave me ideas I can use NOW! I LOVE THAT! The presentators were awesome, professional and very gifted at presenting their material. The only suggestions I would make are to have hot food every day (cold cut sandwiches are fine, even suggested for people at the Pre/Post Con but not for the actual event). More evening sessions (like at TechEd). I would have liked to have seen a presentation on MSBuild. PS You should have a value for the drop down of NA for hotel and accomodations if you didn't stay at the hotel.&lt;/font&gt;&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=144279" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Southern+Ontario/default.aspx">Southern Ontario</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Events/default.aspx">Events</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category></item><item><title>Status Update on Toshiba Portege M400 Tablet + Vista</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2008/05/23/status-update-on-toshiba-portege-m400-tablet-vista.aspx</link><pubDate>Fri, 23 May 2008 12:41:21 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:144200</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/144200.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=144200</wfw:commentRss><description>&lt;p&gt;It's &lt;a href="http://www.objectsharp.com/cs/blogs/barry/archive/2006/10/30/toshiba-m400-vista-rc2-updated-bios-2-03-goodness.aspx" target="_blank"&gt;been awhile&lt;/a&gt; since I've posted any updates on my Toshiba M400. Over the past year, my experience running Vista has improved greatly and I've been surprised with my efforts on extending the useful life of this machine. For the record, it's &amp;gt; 2 years old for me now which is starting to breaking records for me now - I normally can't go much more than a year without an upgrade. The bottom line is with things the way they are now - I'm quite happy with the machine and haven't really envied anything on the market.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;I'm running the latest 3.60 bios which is pretty stable now, having not been updated since it's release in July 2007. Although I can't get to page 3 in the bios settings&amp;#160; (it locks up when I do that) things are working quite well.&lt;/li&gt;    &lt;li&gt;I upgraded to 4Gb of Ram. A little over a year ago I looked into this and it was going to set me back $1500+. This past march, it only cost $100. This probably had the single biggest improvement on usability in Vista. I was surprised that going into vista's Computer properties screen - it actually showed 4gb - and yes, running under 32-bit. I could tell in Task Manager that I was only getting 3.25 - but I was still surprised. At some point a windows update came through and now it only shows, correctly, 3.24gb. The bottom line here though is that for $99 - nobody should hesitate - the pay back was huge in terms of responsiveness.&lt;/li&gt;    &lt;li&gt;I also upgraded the internal wifi from 802.11g to 802.11n. This installation is not much more difficult than replacing the Ram and involves removing the keyboard which is quite simple. The only tricky part is getting those bloody antennae wire's snapped onto the circuit board. This upgrade cost $40 for the intel 802.11n card and installed in less than 30 minutes. I also upgraded my home router in conjunction with this upgrade. The throughput improvement was huge. My signal strength also improved greatly. My home office is in the basement (where my router is) and when I'm not in there, our family room is 1 floor up and somewhat diagonal from the home office. There are 2 or 3 walls through a stairway and a floor between where I normally sit and the router so signal strength was always marginal. No problems now and speed is at least doubled.&lt;/li&gt;    &lt;li&gt;I had purchased 2 100gb sata drives (7200rpm) to replace the internal drive and to put in the HDD Adapter tray. This is great for running VPCs. I've just ordered a new 7200rpm 320gb drive since I was finding 100gb a bit tight. I was hoping that performance of SSD would have come along faster (and the price too) but I'll have to wait for that. New drive is still a week or two away.&lt;/li&gt;    &lt;li&gt;I had my two laptop batteries refurbished at Ink Jet Sales. They take your batteries - put in new cells, for $85 and a 1 week wait. I wouldn't say they are as good as when I first bought them, but they are pretty darn close. Compared to the $200 Toshiba wants for new ones, this was a good deal. I also purchased an external toshiba charger that can charge 2 batteries externally from the laptop. &lt;/li&gt;    &lt;li&gt;As you may have recalled, my CMOS battery had mysteriously died and my clock was never right. This happened around the upgrade to Vista so I was a bit suspicious. It's amazing how many bad things happen when your clock is a day or two old. Many servers won't let you connect to them, VPCs get all wonky, etc. It was really hard to find a replacement battery - and this being a US laptop, living in Canada - the warranty fix was going to take close to a week. I could never do without my laptop for that long. Yesterday however, a battery showed up and our trusty IT magician, &lt;a href="http://www.objectsharp.com/cs/blogs/max/" target="_blank"&gt;Max&lt;/a&gt;, took apart the laptop and got it back together. The RTC battery is nestled under the motherboard so he literally had to take apart everything. The &lt;a href="http://www.irisvista.com/tech/laptops/Toshiba-Portege-M400/take-apart-tablet-pc-1.htm" target="_blank"&gt;step-by-step instructions here&lt;/a&gt; were invaluable. It took him about an hour and all things went smooth. I wasn't 100% convinced it was the battery that was causing the clock issues - but 24 hours later and it seems to have been the fix that was required. A nice side effect is that this repair requires the LCD and the hinge to be disconnected. After reassembly - the hinge is now as tight and firm as it was the day I bought it. It had become a bit loose over the past couple of years.&lt;/li&gt;    &lt;li&gt;I picked up a new 28&amp;quot; monitor a few weeks ago for the home office and had not stopped to think if the M400 could drive the 1920 x 1200 resolution until I started unpacking it. I hadn't used an external monitor for over a year and the last time - I couldn't get it to drive the 1600x1200 resolution of the monitor I had at that time. A bios update fixed that - but I still couldn't run Vista with Aero Glass when both displays were active. Much to my surprise however is that it has no problems with the full 1920x1200 resolution with Aero Glass. I suspect that new graphics drivers from Intel + the left over ram between the 3.25gb used by Vista and the 4Gb available has something to do with that. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;All in, I'm very content with this laptop these days. Performance is great and you can't beat the package size. I still have troubles finding a 12.1&amp;quot; laptop with 1400x1050 resolution these days. Heck, I have troubles finding this in 13 and 14 inch models as well. &lt;/p&gt;  &lt;p&gt;I use just about all of the features of this machine on a day to day basis including the tablet functionality and I've fallen in back in love with this machine.&lt;/p&gt;  &lt;p&gt;My only complaint - and it's my fault, is that the screen is quite scratched up and pitted these days. If somebody has a M400 with the 1400x1050 laptop that isn't working (but the screen is in good shape) I'd love to buy it off you. I know a lot of MS employees have (or had) this machine - so if any of you have one lying around and they want to get rid of it - drop me a note at &lt;a href="mailto:bgervin@objectsharp.com"&gt;bgervin@objectsharp.com&lt;/a&gt;. &lt;/p&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=144200" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Vista/default.aspx">Vista</category></item><item><title>Live Search is actually getting pretty good these days!</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2008/05/12/live-search-is-actually-getting-pretty-good-these-days.aspx</link><pubDate>Mon, 12 May 2008 15:52:47 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:143358</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/143358.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=143358</wfw:commentRss><description>&lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.objectsharp.com/cs/blogs/barry/WindowsLiveWriter/LiveSearchisactuallygettingprettygood_A2EB/image_2.png"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="200" alt="image" src="http://www.objectsharp.com/cs/blogs/barry/WindowsLiveWriter/LiveSearchisactuallygettingprettygood_A2EB/image_thumb.png" width="244" align="right" border="0" /&gt;&lt;/a&gt; Live Search got a refresh recently and it's actually pretty good, dare I say may be even better than Google. &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Performance:&lt;/strong&gt; The load times are very snappy now and it feels pretty much on par with google performance.      &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Image Search:&lt;/strong&gt; Functionality on Image Search has been superior for some time with the ability to size the thumbnails and I quite like the &amp;quot;add to scratchpad&amp;quot; feature but wish it was available for video and web content as well. The ability to refine the search by size, aspect ratio, colour, Style (photo vs. illustration) and Face (i.e. head &amp;amp; shoulders, just face, etc.) is brilliant. It's not 100% accurate, but it is still quite useful. Google can do a subset of this, but frankly, never noticed it until I went looking for it. These features are more discoverable in Live. I have to say that I'm in love with the fact that I can preview the context of the pages split screen so I don't leave my list of results. As far as relevancy goes, I'm going to have to give it a try for a week. Google does a better job finding pictures of me, but Live does a better job of finding black &amp;amp; whites of Darryl Sittler.&amp;#160; Live &lt;a href="http://search.live.com/images/results.aspx?q=%22Darryl+Sittler%22+filterui%3acolor-bw&amp;amp;scope=images&amp;amp;FORM=C4IR" target="_blank"&gt;found 12 good b&amp;amp;w's of the Sitler&lt;/a&gt; while &lt;a href="http://images.google.ca/images?as_q=&amp;amp;um=1&amp;amp;hl=en&amp;amp;btnG=Google+Search&amp;amp;as_epq=Darryl+Sittler&amp;amp;as_oq=&amp;amp;as_eq=&amp;amp;imgtype=&amp;amp;imgsz=&amp;amp;as_filetype=&amp;amp;imgc=mono&amp;amp;as_sitesearch=&amp;amp;safe=images&amp;amp;as_st=y" target="_blank"&gt;google found absolutely nothing of relevance&lt;/a&gt;. Unfortunately, Live fails my vanity image search and google prevails with more pictures of me.&amp;#160; &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Video Search&lt;/strong&gt;: I honestly have never used video search on live or google until this blog entry. Live has a nice feature where it can play videos from the results page by just hovering over the thumbnails. It can't do it for every video type, some you have to click on but it is a lovely feature when it works which from what I can tell is about 60% of the time. Google only manages to get 10 thumbnails per page where live gets twice that. Live brought back a few extra total results. It seems like google favours primarily youtube.      &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Map Search:&lt;/strong&gt; Mileage seems to vary greatly depending on where you are searching. Live has the great integrated 3D maps with buildings, contoured terrain and birds eye view vs. google with street view as it's killer feature. For Canadians, google hasn't made any of these features available yet. Live has thrown us Canadians a few bones with birds eye view available in Vancouver, Calgary, Toronto, and Montreal. Live also gives us some traffic in Vancouver, Toronto, Montreal, and Ottawa.       &lt;br /&gt;      &lt;br /&gt;Live maps has some great directional tools as well. I like the feature where I can just click on a point and ask for 1 click directions - which will give me generic instructions on coming to a location from all major available directions/arteries. This is great if you want to include directions on an invitation but you don't know where everybody is coming from. The Live Map collection editor and the ability to easily add pushpins and draw (with distances) on the map is great.       &lt;br /&gt;      &lt;br /&gt;One thing I do like about Google maps is the ability to take a set of directions and drag segments around to tell it how I really want to get somewhere. All in all though, I much prefer (as a Canadian) Live Maps as the most&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;   &lt;br /&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Plain Old Web Relevancy&lt;/strong&gt;: Plain old web results are perhaps the most important criteria. I think this will be impossible to provide any meaningful observations after spending &amp;lt; 1 hour using live search. I'm going to give live a shot as my default search engine for the next week and see how it does but a few immediate observations:&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Live wins on relevancy for the &amp;quot;Barry Gervin&amp;quot; vanity search, easily. By the bottom of the first page (items 7th-9th), Google is showing results that are irrelevant - in fact, no mention of Barry or Gervin on any of those pages. &lt;/li&gt;      &lt;li&gt;Searching for some things that I know are on MSDN Forums - posted yesterday, google seems to be crawling that site faster than Live. Google still has a dedicated newsgroups search engine. I used to use this a lot more than I currently do so I have mixed emotions about live search. In fact, in some of my tests for searching things that I knew were known to exist in newsgroups, live search actually referred me to google groups - so it does appear that live is indexing the google groups search engine. I think the thing I find most appealing about google groups is not the content that it finds, but the way it presents it, showing me what group a result was found in, and then making the detailed results essentially a web based NNTP client. Live could do much more than they are doing now that's for sure, I'm just not sure that it really matters.&lt;/li&gt;      &lt;li&gt;I'm making more and more use of google alerts to have things I am constantly tracking or researching searched and emailed to me. Live has no equivalent to this. &lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;I'm going to give Live Search a trial as my default search engine for the next week or so and see how it goes. I'm optimistic.&lt;/p&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=143358" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Southern+Ontario/default.aspx">Southern Ontario</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Services/default.aspx">Services</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category></item><item><title>Visual Studio 2008 SP1 Beta &amp; SQL Server 2008</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2008/05/09/visual-studio-2008-sp1-beta-sql-server-2008.aspx</link><pubDate>Fri, 09 May 2008 19:30:10 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:143250</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/143250.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=143250</wfw:commentRss><description>&lt;p&gt;A quick heads up to let you know that VS 2008 Service Pack 1 is now available (links below). It typically takes a couple of months from this point before we'll see a final release.&lt;/p&gt;  &lt;p&gt;This Service Pack includes new cool feature:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/aa697427(VS.80).aspx" target="_blank"&gt;ADO.NET Entity Framework&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://astoria.mslivelabs.com/" target="_blank"&gt;ADO.NET Data Services&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://astoria.mslivelabs.com/" target="_blank"&gt;ASP.NET 3.5 Extensions&lt;/a&gt; (aka Cicero) which includes MVC Framework, ASP.NET Silverlight Controls, Dynamic Data, New Ajax Nav/History Controls. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;One interesting point is that MS is going to simultaneously ship SQL Server 2008 which actually has a hard dependency on SP1.&lt;/p&gt;  &lt;p&gt;I thought I&amp;#8217;d take a moment to highlight some new features that Dev&amp;#8217;s would care about in &lt;a href="http://www.microsoft.com/sqlserver/2008/en/us/wp-sql-2008-overview.aspx" target="_blank"&gt;SQL Server 2008&lt;/a&gt;.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Change Data Capture: Async &amp;#8220;triggers&amp;#8221; capture the before/after snapshot of row level changes and writes them to Change Tables that you can query in your app. They aren&amp;#8217;t real triggers as this asynchronously reads the transaction log.&lt;/li&gt;    &lt;li&gt;Granular control of encryption, right through to the database level without any application changes required.&lt;/li&gt;    &lt;li&gt;Resource Governor &amp;#8211; very helpful when you allow users to write adhoc queries / reports against your OLTP database. Allows a DBA to assert resource limits &amp;amp; priorities.&lt;/li&gt;    &lt;li&gt;Plan Freezing &amp;#8211; allows you to lock down query plans to promote stable query plans across disparate hardware, server upgrades, etc.&lt;/li&gt;    &lt;li&gt;New Date, and Time data types, no longer just DateTime types that you have to manually parse out the time or date to just get the real data you want.&lt;/li&gt;    &lt;li&gt;DataTimeOffset &amp;#8211; is a time zone aware datetime.&lt;/li&gt;    &lt;li&gt;Table Value Parameters to procs &amp;#8211; ever want to pass a result set as an arg to a proc?&lt;/li&gt;    &lt;li&gt;Hierarchy ID is a new system type for storing nodes in a hierarchy&amp;#8230;.implemented as a CLR User Defined Type.&lt;/li&gt;    &lt;li&gt;FileStream Data type allows blobish data to be surfaced in the database, but physically stored on the NTFS file system. &amp;#8230;.but with complete transactional consistency with the relational data and backup integration.&lt;/li&gt;    &lt;li&gt;New Geographic data support, store spatial data such as polygons, points and lines, and long/lat data types.&lt;/li&gt;    &lt;li&gt;Merge SQL statement allows you to insert, or update if a row already exists. &lt;/li&gt;    &lt;li&gt;New reporting services features such as access to reports from within Word &amp;amp; Excel, better SharePoint integration&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Personally, haven't spent any time with SQL Server 2008 but that's a great set of new features that I can hardly wait to start using in real-world applications. &lt;/p&gt;  &lt;p&gt;&lt;b&gt;Downloads&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&amp;#183; &lt;b&gt;VS 2008 SP1&lt;/b&gt; : &lt;a href="http://download.microsoft.com/download/7/3/8/7382EA08-4DD6-4134-9B92-8585A5B07973/VS90sp1-KB945140-ENU.exe"&gt;http://download.microsoft.com/download/7/3/8/7382EA08-4DD6-4134-9B92-8585A5B07973/VS90sp1-KB945140-ENU.exe&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#183; &lt;b&gt;.NET 3.5 SP1&lt;/b&gt; : &lt;a href="http://download.microsoft.com/download/8/f/c/8fc1fe13-55de-4bf5-b43e-375daf01452e/dotNetFx35setup.exe"&gt;http://download.microsoft.com/download/8/f/c/8fc1fe13-55de-4bf5-b43e-375daf01452e/dotNetFx35setup.exe&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#183; &lt;b&gt;Express 2008 with SP1:&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;o &lt;a href="http://download.microsoft.com/download/F/E/7/FE754BA4-140B-413C-933F-8D35FB150F12/vbsetup.exe"&gt;http://download.microsoft.com/download/F/E/7/FE754BA4-140B-413C-933F-8D35FB150F12/vbsetup.exe&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;o &lt;a href="http://download.microsoft.com/download/F/E/7/FE754BA4-140B-413C-933F-8D35FB150F12/vcsetup.exe"&gt;http://download.microsoft.com/download/F/E/7/FE754BA4-140B-413C-933F-8D35FB150F12/vcsetup.exe&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;o &lt;a href="http://download.microsoft.com/download/F/E/7/FE754BA4-140B-413C-933F-8D35FB150F12/vcssetup.exe"&gt;http://download.microsoft.com/download/F/E/7/FE754BA4-140B-413C-933F-8D35FB150F12/vcssetup.exe&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;o &lt;a href="http://download.microsoft.com/download/F/E/7/FE754BA4-140B-413C-933F-8D35FB150F12/vnssetup.exe"&gt;http://download.microsoft.com/download/F/E/7/FE754BA4-140B-413C-933F-8D35FB150F12/vnssetup.exe&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#183; &lt;b&gt;TFS 2008 SP1: &lt;/b&gt;&lt;a href="http://download.microsoft.com/download/a/e/2/ae2eb0ff-e687-4221-9c3e-9165a942bc1c/TFS90sp1-KB949786.exe"&gt;http://download.microsoft.com/download/a/e/2/ae2eb0ff-e687-4221-9c3e-9165a942bc1c/TFS90sp1-KB949786.exe&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Feedback Forum: &lt;a href="http://go.microsoft.com/fwlink/?LinkId=119125"&gt;http://go.microsoft.com/fwlink/?LinkId=119125&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a&gt;&amp;#160;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=143250" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Orcas/default.aspx">Orcas</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/ADO.NET/default.aspx">ADO.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/SQL/default.aspx">SQL</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Architecture/default.aspx">Architecture</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Entity+Framework/default.aspx">Entity Framework</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/SQL+Server+2008/default.aspx">SQL Server 2008</category></item><item><title>The Entity Framework vs. The Data Access Layer (Part 1: The EF as a DAL)</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2008/05/06/the-entity-framework-vs-the-data-access-layer-part-1-the-ef-as-a-dal.aspx</link><pubDate>Wed, 07 May 2008 03:06:37 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:143110</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>4</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/143110.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=143110</wfw:commentRss><description>&lt;p&gt;In &lt;a href="http://www.objectsharp.com/cs/blogs/barry/archive/2008/04/27/the-entity-framework-vs-the-data-access-layer-part-0-introduction.aspx" target="_blank"&gt;Part 0: Introduction&lt;/a&gt; of this series after asking the question &amp;quot;Does the Entity Framework replace the need for a Data Access Layer?&amp;quot;, I waxed lengthy about the qualities of a good data access layer. Since that time I've received a quite a few emails with people interested in this topic. So without further adieu, let's get down to the question at hand.&lt;/p&gt;  &lt;p&gt;So let's say you go ahead and create an Entity Definition model (*.edmx) in Visual Studio and have the designer generate for you a derived ObjectContext class and an entity class for each of your tables, derived from EntityObject. This one to one table mapping to entity class is quite similar to LINQ to SQL but the mapping capabilities move well beyond this to support &lt;a href="http://msdn.microsoft.com/en-us/library/bb738640.aspx" target="_blank"&gt;advanced data models&lt;/a&gt;. This is at the heart of why the EF exists: &lt;a href="http://msdn.microsoft.com/en-us/library/bb738613.aspx" target="_blank"&gt;Complex Types&lt;/a&gt;, Inheritance (&lt;a href="http://msdn.microsoft.com/en-us/library/bb738685.aspx" target="_blank"&gt;Table per Type&lt;/a&gt;, &lt;a href="http://msdn.microsoft.com/en-us/library/bb738443.aspx" target="_blank"&gt;Table per Inheritance Hierarchy&lt;/a&gt;), &lt;a href="http://msdn.microsoft.com/en-us/library/bb738537.aspx" target="_blank"&gt;Multiple Entity Sets per Type&lt;/a&gt;, &lt;a href="http://msdn.microsoft.com/en-us/library/bb896233.aspx" target="_blank"&gt;Single Entity Mapped to Two Tables&lt;/a&gt;, &lt;a href="http://msdn.microsoft.com/en-us/library/bb896279.aspx" target="_blank"&gt;Entity Sets mapped to Stored Procedures&lt;/a&gt; or mapping to a hand-crafted query, expressed as either &lt;a href="http://msdn.microsoft.com/en-us/library/bb738450.aspx" target="_blank"&gt;SQL&lt;/a&gt; or &lt;a href="http://blogs.msdn.com/dsimmons/archive/2007/11/08/mapping-read-only-entities.aspx" target="_blank"&gt;Entity SQL&lt;/a&gt;. EF has a good story for a conceptual model over top of our physical databases using Xml Magic in the form of the edmx file - and that's why it exists. &lt;/p&gt;  &lt;p&gt;So to use the Entity Framework as your data access layer, define your model and then let the EdmGen.exe tool do it's thing to the edmx file at compile time and we get the csdl, ssdl, and msl files - plus the all important code generated entity classes. So using this pattern of usage for the Entity Framework, our data access layer is complete. It may not be the best option for you, so let's explore the qualities of this solution.&lt;/p&gt;  &lt;p&gt;To be clear, the assumption here is that our data access layer in this situation is the full EF Stack: ADO.NET Entity Client, ADO.NET Object Services, LINQ to Entities, including our model (edmx, csdl, ssdl, msl) and the code generated entities and object context. Somewhere under the covers there is also the ADO.NET Provider (SqlClient, OracleClient, etc.)&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.objectsharp.com/cs/blogs/barry/WindowsLiveWriter/TheEn.TheDataAccessLayerPart1TheEFasaDAL_FD65/image_4.png"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="417" alt="image" src="http://www.objectsharp.com/cs/blogs/barry/WindowsLiveWriter/TheEn.TheDataAccessLayerPart1TheEFasaDAL_FD65/image_thumb_1.png" width="627" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;To use the EF as our DAL, we would simply execute code similar to this in our business layer.&lt;/p&gt;  &lt;p&gt;&lt;span style="color:blue;"&gt;var &lt;/span&gt;db = &lt;span style="color:blue;"&gt;new &lt;/span&gt;&lt;span style="color:#2b91af;"&gt;AdventureWorksEntities&lt;/span&gt;();     &lt;br /&gt;&lt;span style="color:blue;"&gt;var &lt;/span&gt;activeCategories = &lt;span style="color:blue;"&gt;from &lt;/span&gt;category &lt;span style="color:blue;"&gt;in &lt;/span&gt;db.ProductCategory     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:blue;"&gt;where &lt;/span&gt;category.Inactive != true&lt;span style="color:blue;"&gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; orderby &lt;/span&gt;category.Name     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:blue;"&gt;select &lt;/span&gt;category;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;How Do &amp;quot;EF&amp;quot; Entities Fit In?&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;If you're following along, you're probably asking exactly where is this query code above being placed. For the purposes of our discussion, &amp;quot;business layer&amp;quot; could mean a business object or some sort of controller. The point to be made here is that we need to think of Entities as something entirely different from our Business Objects. &lt;/p&gt;  &lt;p&gt;Entity != Business Object&lt;/p&gt;  &lt;p&gt;In this model, it is up to the business object to ask the Data Access Layer to project entities, not business objects, but entities. &lt;/p&gt;  &lt;p&gt;This is one design pattern for data access, but it is not the only one. A conventional business object that contains its own data, and does not separate that out into an entity can suffer from tight bi-directional coupling between the business and data access layer. Consider a Customer business object with a Load method. Customer.Load() would in turn instantiate a data access component, CustomerDac and call the CustomerDac's Load or Fill method. To encapsulate all the data access code to populate a customer business object, the CustomerDac.Load method would require knowledge of the structure the Customer business object and hence a circular dependency would ensue. &lt;/p&gt;  &lt;p&gt;The workaround, if you can call it that, is to put the business layer and the data access layer in the same assembly - but there goes decoupling, unit testing and separation of concerns out the window. &lt;/p&gt;  &lt;p&gt;Another approach is to invert the dependency. The business layer would contain data access interfaces only, and the data access layer would implement those interfaces, and hence have a reverse dependency on the business layer. Concrete data access objects are instantiated via a factory, often combined with configuration information used by an Inversion &lt;a href="http://www.martinfowler.com/articles/injection.html" target="_blank"&gt;of Control container&lt;/a&gt;. Unfortunately, this is not all that easy to do with the EF generated ObjectContext &amp;amp; Entities.&lt;/p&gt;  &lt;p&gt;Or, you do as the Entity Framework implies and separate entities from your business objects. If you've used typed DataSets in the past, this will seem familiar you to you. Substitute ObjectContext for SqlConnection and SqlDataAdapter, and the pattern is pretty much the same. &lt;/p&gt;  &lt;p&gt;Your UI presentation layer is likely going to bind to your Entity classes as well. This is an important consideration. The generated Entity classes are partial classes and can be extended with your own code. The generated properties (columns) on an entity also have event handlers created for changing and changed events so you can also wire those up to perform some column level validation. Notwithstanding, you may want to limit your entity customizations to simple validation and keep the serious business logic in your business objects. One of these days, I'll do another blog series on handing data validation within the Entity Framework.&lt;/p&gt;  &lt;h2&gt;How does this solution stack up?&lt;/h2&gt;  &lt;p&gt;&lt;strong&gt;How are database connections managed?&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.objectsharp.com/cs/blogs/barry/WindowsLiveWriter/TheEn.TheDataAccessLayerPart1TheEFasaDAL_FD65/thumbs%20up_2.jpg"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="19" alt="thumbs up" src="http://www.objectsharp.com/cs/blogs/barry/WindowsLiveWriter/TheEn.TheDataAccessLayerPart1TheEFasaDAL_FD65/thumbs%20up_thumb.jpg" width="25" border="0" /&gt;&lt;/a&gt; Using the Entity Framework natively itself, the ObjectContext takes care of opening &amp;amp; closing connections for you - as needed when queries are executed, and during a call to SaveChanges. You can get access to the native ADO.NET connection if need be to share a connection with other non-EF data access logic. The nice thing however is that, for the most part, connection strings and connection management are abstracted away from the developer. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.objectsharp.com/cs/blogs/barry/WindowsLiveWriter/TheEn.TheDataAccessLayerPart1TheEFasaDAL_FD65/thumbs%20down_2.jpg"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="19" alt="thumbs down" src="http://www.objectsharp.com/cs/blogs/barry/WindowsLiveWriter/TheEn.TheDataAccessLayerPart1TheEFasaDAL_FD65/thumbs%20down_thumb.jpg" width="25" border="0" /&gt;&lt;/a&gt; A word of caution however. Because the ObjectContext will create a native connection, you should not wait to let the garbage collector free that connection up, but rather ensure that you dispose of the ObjectContext either explicitly or with a using statement.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Are all SQL Queries centralized in the Data Access Layer?&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.objectsharp.com/cs/blogs/barry/WindowsLiveWriter/TheEn.TheDataAccessLayerPart1TheEFasaDAL_FD65/thumbs%20down_2.jpg"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="19" alt="thumbs down" src="http://www.objectsharp.com/cs/blogs/barry/WindowsLiveWriter/TheEn.TheDataAccessLayerPart1TheEFasaDAL_FD65/thumbs%20down_thumb.jpg" width="25" border="0" /&gt;&lt;/a&gt; By default the Entity Framework dynamically generates store specific SQL on the fly and therefore, the queries are not statically located in any one central location. Even to understand the possible queries, you'd have to walk through all of your business code that hits the entity framework to understand all of the potential queries. &lt;/p&gt;  &lt;p&gt;But why would you care? If you have to ask that question, then you don't care. But if you're a DBA, charged with the job of optimizing queries, making sure that your tables have the appropriate indices, then you want to go to one central place to see all these queries and tune them if necessary. If you care strongly enough about this, and you have the potential of other applications (perhaps written in other platforms), then you likely have already locked down the database so the only access is via Stored Procedures and hence the problem is already solved.&lt;/p&gt;  &lt;p&gt;Let's remind ourselves that sprocs are not innately faster than dynamic SQL, however they are easier to tune and you also have the freedom of using T-SQL and temp tables to do some pre-processing of data prior to projecting results - which sometimes can be the fastest way to generate some complex results. More importantly, you can revoke all permissions to the underlying tables and only grant access to the data via Stored Procedures. Locking down a database with stored procedures is almost a necessity if your &lt;a href="http://www.objectsharp.com/cs/blogs/barry/archive/2005/05/27/when-is-a-database-oriented-as-a-service.aspx" target="_blank"&gt;database is oriented as a service&lt;/a&gt;, acting as an integration layer between multiple client applications. If you have multiple applications hitting the same database, and you don't use stored procedures - you likely have bigger problems.&amp;#160; &lt;/p&gt;  &lt;p&gt;In the end, this is not an insurmountable problem. If you are already using Stored Procedures, then by all means you can map those in your EDM. This seems like the best approach, but you could also embed SQL Server (or other provider) queries in your SSDL using a &lt;a href="http://msdn.microsoft.com/en-us/library/bb738450.aspx" target="_blank"&gt;DefiningQuery&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Do changes in one part of the system affect others?&lt;/strong&gt; &lt;/p&gt;  &lt;p&gt;It's difficult to answer this question without talking about the possible changes.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.objectsharp.com/cs/blogs/barry/WindowsLiveWriter/TheEn.TheDataAccessLayerPart1TheEFasaDAL_FD65/thumbs%20up_2.jpg"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="19" alt="thumbs up" src="http://www.objectsharp.com/cs/blogs/barry/WindowsLiveWriter/TheEn.TheDataAccessLayerPart1TheEFasaDAL_FD65/thumbs%20up_thumb.jpg" width="25" border="0" /&gt;&lt;/a&gt;&amp;#160;&lt;strong&gt;Schema Changes:&lt;/strong&gt; The conceptual model and the mapping flexibility, even under complex scenarios is a strength of the entity framework. Compared to other technologies on the market, with the EF, your chances are as good as they're going to get that a change in the database schema will have minimal impact on your entity model, and vice versa. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.objectsharp.com/cs/blogs/barry/WindowsLiveWriter/TheEn.TheDataAccessLayerPart1TheEFasaDAL_FD65/thumbs%20up_2.jpg"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="19" alt="thumbs up" src="http://www.objectsharp.com/cs/blogs/barry/WindowsLiveWriter/TheEn.TheDataAccessLayerPart1TheEFasaDAL_FD65/thumbs%20up_thumb.jpg" width="25" border="0" /&gt;&lt;/a&gt;&amp;#160;&lt;strong&gt;Database Provider Changes:&lt;/strong&gt; The Entity Framework is database agnostic. It's provider model allows for easily changing from SQL Server, to Oracle, to My Sql, etc. via connection strings. This is very helpful for ISVs whose product must support running on multiple back-end databases. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.objectsharp.com/cs/blogs/barry/WindowsLiveWriter/TheEn.TheDataAccessLayerPart1TheEFasaDAL_FD65/thumbs%20down_2.jpg"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="19" alt="thumbs down" src="http://www.objectsharp.com/cs/blogs/barry/WindowsLiveWriter/TheEn.TheDataAccessLayerPart1TheEFasaDAL_FD65/thumbs%20down_thumb.jpg" width="25" border="0" /&gt;&lt;/a&gt;&amp;#160;&lt;strong&gt;Persistence Ignorance&lt;/strong&gt;: What if the change you want in one part of the system is to change your ORM technology? Maybe you don't want to persist to a database, but instead call a CRUD web service. In this pure model, you won't be happy. Both your Entities and your DataContext object inherit from base classes in the Entity Framework's System.Data.Objects namespace. By making references to these, littered throughout your business layer, decoupling yourself from the Entity Framework will not be an easy task.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.objectsharp.com/cs/blogs/barry/WindowsLiveWriter/TheEn.TheDataAccessLayerPart1TheEFasaDAL_FD65/thumbs%20down_2.jpg"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="19" alt="thumbs down" src="http://www.objectsharp.com/cs/blogs/barry/WindowsLiveWriter/TheEn.TheDataAccessLayerPart1TheEFasaDAL_FD65/thumbs%20down_thumb.jpg" width="25" border="0" /&gt;&lt;/a&gt;&amp;#160;&lt;strong&gt;Unit Testing&lt;/strong&gt;: This is only loosely related to the question, but you can't talk about PI without talking about Unit Testing. Because the generated entities do not support the use of Plain Old CLR Objects (POCO), this data access model is not easily mocked for unit testing. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Does the DAL simplify data access?&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.objectsharp.com/cs/blogs/barry/WindowsLiveWriter/TheEn.TheDataAccessLayerPart1TheEFasaDAL_FD65/thumbs%20up_2.jpg"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="19" alt="thumbs up" src="http://www.objectsharp.com/cs/blogs/barry/WindowsLiveWriter/TheEn.TheDataAccessLayerPart1TheEFasaDAL_FD65/thumbs%20up_thumb.jpg" width="25" border="0" /&gt;&lt;/a&gt; Dramatically. Compared to classic ADO.NET, LINQ queries can be used for typed results &amp;amp; parameters, complete with intelli-sense against your conceptual model, with no worries about SQL injection attacks. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.objectsharp.com/cs/blogs/barry/WindowsLiveWriter/TheEn.TheDataAccessLayerPart1TheEFasaDAL_FD65/thumbs%20up_2.jpg"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="19" alt="thumbs up" src="http://www.objectsharp.com/cs/blogs/barry/WindowsLiveWriter/TheEn.TheDataAccessLayerPart1TheEFasaDAL_FD65/thumbs%20up_thumb.jpg" width="25" border="0" /&gt;&lt;/a&gt; As a bonus, what you do get is query composition across your domain model. Usually version 1.0 of a convention non-ORM data access layer provides components for each entity, each supporting crud behaviour. Consider a scenario where you need to show all of the Customers within a territory, and then you need to show the last 10 orders for each Customer. Now I'm not saying you'd do this, but what I've commonly seen is that while somebody might write a CustomerDac.GetCustomersByTerritory() method, and they might write an OrderDac.GetLastTenOrders(), they would almost never write a OrderDac.GetLastTenOrdersForCustomersInTerritory() method. Instead they would simply iterate over the collection of customers found by territory and call the GetLastTenOrders() over and over again. Obviously this is &amp;quot;good&amp;quot; resuse of the data access logic, however it does not perform very well. &lt;/p&gt;  &lt;p&gt;Fortunately, through query composition and eager loading, we can cause the Entity Framework (or even LINQ to SQL) to use a nested subquery to bring back the last 10 orders for each customer in a given territory in a single round trip, single query. Wow! In a conventional data access layer you could, and should write a new method to do the same, but by writing yet another query on the order table, you'd be repeating the mapping between the table and your objects each time. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Layers, Schmayers: What about tiers?&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.objectsharp.com/cs/blogs/barry/WindowsLiveWriter/TheEn.TheDataAccessLayerPart1TheEFasaDAL_FD65/thumbs%20down_2.jpg"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="19" alt="thumbs down" src="http://www.objectsharp.com/cs/blogs/barry/WindowsLiveWriter/TheEn.TheDataAccessLayerPart1TheEFasaDAL_FD65/thumbs%20down_thumb.jpg" width="25" border="0" /&gt;&lt;/a&gt; EDM generated entity classes are not very tier-friendly. The state of an entity, whether it is modified, new, or to be delete, and what columns have changed is managed by the ObjectContext. Once you take an entity and serialize it out of process to another tier, it is no longer tracked for updates. While you can re-attach an entity that was serialized back into the data access tier, because the entity itself does not serialize it's changed state (aka diff gram), you can not easily achieve full round trip updating in a distributed system. There are techniques for dealing with this, but it is going to add some plumbing code between the business logic and the EF...and make you wish you had a real data access layer, or something like Danny Simmons' &lt;a href="http://code.msdn.microsoft.com/entitybag/" target="_blank"&gt;EntityBag&lt;/a&gt; (or a DataSet).&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Does the Data Access Layer support optimistic concurrency?&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.objectsharp.com/cs/blogs/barry/WindowsLiveWriter/TheEn.TheDataAccessLayerPart1TheEFasaDAL_FD65/thumbs%20up_2.jpg"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="19" alt="thumbs up" src="http://www.objectsharp.com/cs/blogs/barry/WindowsLiveWriter/TheEn.TheDataAccessLayerPart1TheEFasaDAL_FD65/thumbs%20up_thumb.jpg" width="25" border="0" /&gt;&lt;/a&gt; Out of the box, yes, handily. Thanks to the ObjectContext tracking state, and the change tracking events injected into our code generated entity properties. However, keep in mind the caveat with distributed systems that you'll have more work to do if your UI is separated from your data access layer by one or more tiers.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;How does the Data Access Layer support transactions?&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.objectsharp.com/cs/blogs/barry/WindowsLiveWriter/TheEn.TheDataAccessLayerPart1TheEFasaDAL_FD65/thumbs%20up_2.jpg"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="19" alt="thumbs up" src="http://www.objectsharp.com/cs/blogs/barry/WindowsLiveWriter/TheEn.TheDataAccessLayerPart1TheEFasaDAL_FD65/thumbs%20up_thumb.jpg" width="25" border="0" /&gt;&lt;/a&gt; Because the Entity Framework builds on top of ADO.NET providers, transaction management doesn't change very much. A single call to ObjectContext.SaveChanges() will open a connection, perform all inserts, updates, and deletes across all entities that have changed, across all relationships and all in the correct order....and as you can imagine in a single transaction. To make transactions more granular than that, call SaveChanges more frequently or have multiple ObjectContext instances for each unit of work in progress. To broaden the scope of a transaction, you can manually enlist using a native ADO.NET provider transaction or by using System.Transactions.&lt;/p&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=143110" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Orcas/default.aspx">Orcas</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/ADO.NET/default.aspx">ADO.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/SQL/default.aspx">SQL</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Services/default.aspx">Services</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Architecture/default.aspx">Architecture</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2008/default.aspx">VS2008</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Entity+Framework/default.aspx">Entity Framework</category></item><item><title>Live Search Maps - now with Bird's Eye View in Toronto</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2008/05/06/live-search-maps-now-with-bird-s-eye-view-in-toronto.aspx</link><pubDate>Tue, 06 May 2008 17:36:19 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:143099</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/143099.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=143099</wfw:commentRss><description>&lt;p&gt;&lt;a href="http://www.objectsharp.com/cs/blogs/barry/WindowsLiveWriter/LiveSearchMapsnowwithBirdsEyeViewinToron_CD1F/image_2.png"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="384" alt="image" src="http://www.objectsharp.com/cs/blogs/barry/WindowsLiveWriter/LiveSearchMapsnowwithBirdsEyeViewinToron_CD1F/image_thumb.png" width="477" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;It's amazing what MS will give you, if you &lt;a href="http://www.objectsharp.com/devlounge/videos/playvideo.aspx?movie=ef789e34-f309-48ab-961e-9397ced8f59e" target="_blank"&gt;give them a Team Canada Hockey Jersey&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=143099" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Humours+Distractions/default.aspx">Humours Distractions</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Southern+Ontario/default.aspx">Southern Ontario</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category></item><item><title>Entity Framework Links for April, 2008</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2008/05/02/entity-framework-links-for-april-2008.aspx</link><pubDate>Fri, 02 May 2008 16:10:02 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:142776</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/142776.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=142776</wfw:commentRss><description>&lt;ul&gt;   &lt;li&gt;During the past month, Danny Simmons let us all officially know that &lt;a href="http://blogs.msdn.com/dsimmons/archive/2008/04/09/ef-will-ship-with-sp1-of-vs-2008-net-framework-3-5.aspx" target="_blank"&gt;SP1 of VS 2008/.NET Framework 3.5 will be the delivery mechanism for the Entity Framework&lt;/a&gt; and the Designer, and that we should see a beta of the entire SP1 very soon as well. No release dates yet. &lt;/li&gt;    &lt;li&gt;Speaking of the next beta, there have been some improvements in the designer to support iterative development. &lt;a href="http://blogs.msdn.com/adonet/archive/2008/04/01/update-model-from-db.aspx" target="_blank"&gt;Noam Ben-Ami talks about that here.&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;There is also a new ASP.NET EntityDataSource control coming in the next beta. Danny demo'd that at DevConnections, and &lt;a href="http://blogs.msdn.com/dsimmons/" target="_blank"&gt;Julie blogged about it here&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;In April, Microsoft released the .&lt;a href="http://go.microsoft.com/?linkid=8741672" target="_blank"&gt;NET 3.5 Enhancements Training Kit&lt;/a&gt;. This includes some preliminary labs on ASP.NET MVC, ASP.NET Dynamic Data, ASP.NET AJAX History, ASP.NET Silverlight controls, ADO.NET Data Services and last but certainly not least, the ADO.NET Entity Framework. Stay tuned for updates &lt;/li&gt;    &lt;li&gt;Julie Lerman has created a spiffy &lt;a href="http://www.thedatafarm.com/blog/2008/04/29/AExtensionMethodForVisualizingEntityStateObjects.aspx" target="_blank"&gt;pseudo-debug visualizer for Entity State&lt;/a&gt;. It's implemented as an extension method and not a true debug visualizer, but useful just the same. &lt;/li&gt;    &lt;li&gt;Check out Ruurd Boeke's excellent post on &lt;a href="http://www.sitechno.com/Blog/DisconnectedNTierObjectsUsingEntityFramework.aspx" target="_blank"&gt;Disconnected N-Tier objects using the Entity Framework&lt;/a&gt;. His sample solution is checked in to the &lt;a href="http://www.codeplex.com/efcontrib" target="_blank"&gt;EFContrib Project&lt;/a&gt; and he demonstrates using POCO classes, in his words &amp;quot;as persistence ignorant as I can get&amp;quot;, serializing entities with no EF references on the clients, yet not losing full change tracking on the client - and using the same domain classes on the client and the server (one could argue this last point as being not being a desirable goal - but it does have it's place). &lt;/li&gt; &lt;/ul&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=142776" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Orcas/default.aspx">Orcas</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/ADO.NET/default.aspx">ADO.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/SQL/default.aspx">SQL</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Architecture/default.aspx">Architecture</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2008/default.aspx">VS2008</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Entity+Framework/default.aspx">Entity Framework</category></item><item><title>The Entity Framework vs. The Data Access Layer (Part 0: Introduction)</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2008/04/27/the-entity-framework-vs-the-data-access-layer-part-0-introduction.aspx</link><pubDate>Mon, 28 Apr 2008 02:20:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:142491</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/142491.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=142491</wfw:commentRss><description>&lt;P&gt;So the million dollar question is: Does the Entity Framework replace the need for a Data Access Layer? If not, what should my Data Access Layer look like if I want to take advantage of the Entity Framework? In this multi-part series, I hope to explore my thoughts on this question. I don't think there is a single correct answer. Architecture is about trade offs and the choices you make will be based on your needs and context.&lt;/P&gt;
&lt;P&gt;In this first post, I first provide some background on the notion of a Data Access Layer as a frame of reference, and specifically, identify the key goals and objectives of a Data Access Layer.&lt;/P&gt;
&lt;P&gt;While Martin Fowler didn't invent the pattern of layering in enterprise applications, his &lt;A href="http://www.amazon.ca/Patterns-Enterprise-Application-Architecture-Martin/dp/0321127420/ref=pd_bbs_sr_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1209349729&amp;amp;sr=8-1" target=_blank&gt;Patterns of Enterprise Application Architecture&lt;/A&gt; is a must read on the topic. Our goals for a layered design (which may often need to be traded off against each other) should include:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Changes to one part or layer of the system should have minimal impact on other layers of the system. This reduces the maintenance involved in unit testing, debugging, and fixing bugs and in general makes the architecture more flexible. &lt;/LI&gt;
&lt;LI&gt;Separation of concerns between user interface, business logic, and persistence (typically in a database) also increases flexibility, maintainability and reusability.&lt;/LI&gt;
&lt;LI&gt;Individual components should be cohesive and unrelated components should be loosely coupled. This should allow layers to be developed and maintained independently of each other using well-defined interfaces.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Now to be clear, I'm talking about a layer, not a tier. A tier is a node in a distributed system, of which may include one or more layers. But when I refer to a layer, I'm referring only to the logical separation of code that serves a single concern such as data access. It may or may not be deployed into a separate tier from the other layers of a system. We could then begin to fly off on tangential discussions of distributed systems and service oriented architecture, but I will do my best to keep this discussion focused on the notion of a layer. There are several layered application architectures, but almost all of them in some way include the notion of a Data Access Layer (DAL). The design of the DAL will be influenced should the application architecture include the distribution of the DAL into a separate tier. &lt;/P&gt;
&lt;P&gt;In addition to the goals of any layer mentioned above, there are some design elements specific to a Data Access Layer common to the many layered architectures:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;A DAL in our software provides simplified access to data that is stored in some persisted fashion, typically a relational database. The DAL is utilized by other components of our software so those other areas of our software do not have to be overly concerned with the complexities of that data store. &lt;/LI&gt;
&lt;LI&gt;In object or component oriented systems, the DAL typically will populate objects, converting rows and their columns/fields into objects and their properties/attributes. this allows the rest of the software to work with data in an abstraction that is most suitable to it. &lt;/LI&gt;
&lt;LI&gt;A common purpose of the DAL is to provide a translation between the structure or schema of the store and the desired abstraction in our software. As is often the case, the schema of a relational database is optimized for performance and data integrity (i.e. 3rd normal form) but this structure does not always lend itself well to the conceptual view of the real world or the way a developer may want to work with the data in an application. A DAL should serve as a central place for mapping between these domains such as to increase the maintainability of the software and provide an isolation between changes&amp;nbsp; in the storage schema and/or the domain of the application software. This may include the marshalling or coercing of differing data types between the store and the application software.&lt;/LI&gt;
&lt;LI&gt;Another frequent purpose of the DAL is to provide independence between the application logic and the storage system itself such that if required, the storage engine itself could be switched with an alternative with minimal impact to the application layer. This is a common scenario for commercial software products that must work with different vendors' database engines (i.e. MS SQL Server, IBM DB/2, Oracle, etc.). With this requirement, sometimes alternate DAL's are created for each store that can be swapped out easily.&amp;nbsp; This is commonly referred to as Persistence Ignorance.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Getting a little more concrete, there are a host of other issues that also need to be considered in the implementation of a DAL:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;How will database connections be handled? How will there lifetime be managed? A DAL will have to consider the security model. Will individual users connect to the database using their own credentials? This maybe fine in a client-server architecture where the number of users is small. It may even be desirable in those situations where there is business logic and security enforced in the database itself through the use of stored procedures, triggers, etc. It may however run incongruent to the scalability requirements of a public facing web application with thousands of users. In these cases, a connection pool may be the desired approach.&lt;/LI&gt;
&lt;LI&gt;How will database transactions be handled? Will there be explicit database transactions managed by the data access layer or will automatic or implied transaction management systems such as COM+ Automatic Transactions, the Distributed Transaction Coordinator be used?&lt;/LI&gt;
&lt;LI&gt;How will concurrent access to data be managed? Most modern application architecture's will rely on an optimistic concurrency&amp;nbsp; to improve scalability. Will it be the DAL's job to manage the original state of a row in this case? Can we take advantage of SQL Server's row version timestamp column or do we need to track every single column?&lt;/LI&gt;
&lt;LI&gt;Will we be using dynamic SQL or stored procedures to communicate with our database? &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;As you can see, there is much to consider just in generic terms, well before we start looking at specific business scenarios and the wacky database schemas that are in the wild. All of these things can and should influence the design of your data access layer and the technology you use to implement it. In terms of .NET, the Entity Framework is just one data access technology. MS has been so kind to bless us with many others such as Linq To SQL, DataReaders, DataAdapters &amp;amp; DataSets, and SQL XML. In addition, there are over &lt;A href="http://www.howtoselectguides.com/dotnet/ormapping/#section-vendors" target=_blank&gt;30 3rd party Object Relational Mapping tools available to choose from&lt;/A&gt;. &lt;/P&gt;
&lt;P&gt;Ok, so if you're&amp;nbsp; not familiar with the design goals of the Entity Framework (EF) you can &lt;A href="http://msdn2.microsoft.com/en-us/library/aa697427(vs.80).aspx" target=_blank&gt;read all about it here&lt;/A&gt; or watch a &lt;A href="http://channel9.msdn.com/ShowPost.aspx?PostID=217633" target=_blank&gt;video interview on channel 9&lt;/A&gt;, with &lt;A href="http://blogs.msdn.com/pablo/" target=_blank&gt;Pablo Castro&lt;/A&gt;, Britt Johnson, and Michael Pizzo. A year after that interview, they did a &lt;A href="http://channel9.msdn.com/showpost.aspx?postid=338257" target=_blank&gt;follow up interview here&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;In the next post, I'll explore the idea of the Entity Framework replacing my data access layer and evaluate how this choice rates against the various objectives above. I'll then continue to explore alternative implementations for a DAL using the Entity Framework.&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=142491" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/ADO.NET/default.aspx">ADO.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/SQL/default.aspx">SQL</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Services/default.aspx">Services</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/TechEd/default.aspx">TechEd</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Architecture/default.aspx">Architecture</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2008/default.aspx">VS2008</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Entity+Framework/default.aspx">Entity Framework</category></item><item><title>Countdown to DevTeach</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2008/04/25/countdown-to-devteach.aspx</link><pubDate>Sat, 26 Apr 2008 00:25:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:142353</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/142353.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=142353</wfw:commentRss><description>&lt;P&gt;May 12th is just around the corner and I'm getting excited about DevTeach coming to Toronto for the first time. &lt;A href="http://guy.dotnet-expertise.com/PermaLink,guid,d94fb145-722c-4b78-948b-a6fe0a08209b.aspx" target=_blank&gt;Guy says it all.&lt;/A&gt; DevTeach is unusual in that while the sessions are great, hanging around with the Speakers is what it's all about. I'm really looking forward to it. It's not too late to &lt;A href="http://www.devteach.com/Register.aspx" target=_blank&gt;register&lt;/A&gt;. The 3 days of the main conference cost only $1200. Pre &amp;amp; Post cons are only $375/day. Some great sessions on Agile Development, .NET 2.0 through 3.5, .NET Futures, SharePoint, SQL, Architecture, BizTalk, and RockBand! &lt;/P&gt;
&lt;P&gt;Hope to see you there.&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=142353" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Southern+Ontario/default.aspx">Southern Ontario</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Events/default.aspx">Events</category></item><item><title>MS MVP Summit 2008: Who did you give your Team Canada Jersey To?</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2008/04/18/ms-mvp-summit-2008-who-did-you-give-your-team-canada-jersey-to.aspx</link><pubDate>Sat, 19 Apr 2008 02:45:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:141365</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/141365.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=141365</wfw:commentRss><description>&lt;P&gt;The 2008 Microsoft MVP Summit concluded yesterday with a closing keynote from Steve Ballmer, which was great as usual. This was the second year that the Canadian MVP's wore their Team Canada Jersey's. I was a bit surprised that more countries didn't follow our lead on this one - although the Aussies did have touques, they were pretty subtle and they all didn't wear them or they didn't sit together at the keynotes. I saw some Russians with jackets, but again - sitting together is the key here.&lt;/P&gt;
&lt;P&gt;One of the things I've always enjoyed watching at the Olympic games was the international bonding between athletes. During the opening ceremonies - countries file into the stadium very proudly in their matching uniforms and by the closing ceremonies - everybody is mingle and has swapped clothing. Maybe that has more to do with something else - but it's very heart warming nonetheless.&lt;/P&gt;
&lt;P&gt;Likewise, the MVP Summit is a great place to make new friendships and renew old ones. So I decided on the final day to give my Jersey away....to Steve Ballmer.&lt;/P&gt;
&lt;DIV class=wlWriterSmartContent id=scid:{7D7E1B1B-BB15-44b5-AC22-DF49F6B00FD3}:36b1eb49-c1f8-4102-b377-79eaa27ecb9d style="PADDING-RIGHT:0px;DISPLAY:inline;PADDING-LEFT:0px;PADDING-BOTTOM:0px;MARGIN:0px;PADDING-TOP:0px;"&gt;&lt;/DIV&gt;
&lt;P&gt;Thanks Steve for humouring us Canadians by wearing it. You'd make a totally wicked hockey player! There was a find the secret hockey puck thing going on all week at the Summit and 10 lucky non-Canadian MVPs ended up finding all the pucks and scoring themselves a Jersey. But after this keynote, I saw a lot of people coming up to us Canadians followed by spontaneous Jersey giving. I saw a French guy wearing one (he took this video but I forgot his name - sorry), and then also saw Ken Cox and Rob Windsor giving their jersey's away to somebody from China (I think) and Italy.&lt;/P&gt;
&lt;P&gt;Steve Ballmer's call to action in this video is that each Country bring their national pride next Summit which has already been announced as March 1, 2009. Bring it on World! Bring it on!&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=141365" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Humours+Distractions/default.aspx">Humours Distractions</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Southern+Ontario/default.aspx">Southern Ontario</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Events/default.aspx">Events</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Canadians+_4000_+MVP+Summit+2008/default.aspx">Canadians @ MVP Summit 2008</category></item><item><title>Where is Barry Gervin?</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2008/03/14/where-is-barry-gervin.aspx</link><pubDate>Fri, 14 Mar 2008 20:22:32 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:136231</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/136231.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=136231</wfw:commentRss><description>&lt;p&gt;&lt;img height="227" src="http://www.emergentchaos.com/images/07-may/waldo.jpg" width="129" align="right" /&gt;I'm a pretty mobile guy and if you work with me, it can be hard to know where I am on any given day. I could be in our ObjectSharp office, working at home, at a client, working or meeting with peers at a variety of meeting places, coffee shops, etc. around town. Or I could be be traveling, perhaps visiting MS in Redmond or at a conference some where. Maybe you're my wife and want to know why I'm not there for dinner yet :)&lt;/p&gt;  &lt;p&gt;Well this is the page for you. Right now I'm experimenting with Loki. It uses an IE plug-in combined with some wifi triangulation that will allow me to quickly update my location with the click of a button, provided I'm online (that's more common that you'd think). &lt;/p&gt;  &lt;p&gt;So here is some Loki information about my current whereabouts:&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;a title="Where is Barry Gervin" href="http://my.loki.com/user/YmdlcnZpbg" target="_blank"&gt;&lt;img src="http://my.loki.com/location/getImageBadge/YmdlcnZpbg.gif" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a title="Where is Barry Gervin" href="http://my.loki.com/user/YmdlcnZpbg" target="_blank"&gt;&lt;img src="http://my.loki.com/location/getMapBadge/YmdlcnZpbg_big.gif" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Click on those will take you to some more detailed information. And if you'd like to stalk me without refreshing this page, feel free to subscribe to this &lt;a title="Where is Barry Gervin" href="http://my.loki.com/location/RSSFeed/YmdlcnZpbg" target="_blank"&gt;RSS feed&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;If you need to contact me, &lt;a href="http://www.objectsharp.com/bgervin.aspx" target="_blank"&gt;all my contact details are here&lt;/a&gt;. I'm also on plaxo, linked in, and facebook should you prefer to find me there.&lt;/p&gt;  &lt;p&gt;Now this information is more or less &amp;quot;where I was&amp;quot; - it's only as accurate as I refresh it. If you're one of my pals - you may want to check out &lt;a href="http://www.tripit.com"&gt;www.tripit.com&lt;/a&gt; - I use this for planning all my travel so if you happen to be in Redmond or at a conference the same time as me - it's a great way for doing that. It's also a great itinerary planning tool that I've mentioned before - just forward your travel confirmation emails to their email bot and it will parse out and build up the itinerary for you nice and spiffy with Google Maps and weather forecasts for your destination. &lt;/p&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=136231" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Southern+Ontario/default.aspx">Southern Ontario</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Events/default.aspx">Events</category></item><item><title>Tech-Ed 2008 U.S. Developers Session Catalog Online</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2008/02/23/tech-ed-2008-u-s-developers-session-catalog-online.aspx</link><pubDate>Sun, 24 Feb 2008 02:33:14 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:131064</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/131064.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=131064</wfw:commentRss><description>&lt;p&gt;&lt;a href="http://objectsharp.com/cs/blogs/barry/WindowsLiveWriter/TechEd200.DevelopersSessionCatalogOnline_1364A/website_banner_dev_2.jpg"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="204" alt="website_banner_dev" src="http://objectsharp.com/cs/blogs/barry/WindowsLiveWriter/TechEd200.DevelopersSessionCatalogOnline_1364A/website_banner_dev_thumb.jpg" width="654" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;If you're thinking of heading down to Orlando June 3-6, 2008 - you can check out the list of sessions which has been recently posted &lt;a title="Tech-Ed 2008 US Developers Session Catalog" href="https://www.msteched.com/dev/public/sessions.aspx" target="_blank"&gt;here&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;You also have the option of rating sessions that you might be interested in. I assume this is to help plan room sizes. &lt;/p&gt; &lt;p&gt;I'll be doing a breakout session called "Building Next Generation Data Access Layers with the ADO.NET Entity Framework" in the Architecture Track. I'm really looking forward to it. Hope to see you there. &lt;/p&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=131064" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/ADO.NET/default.aspx">ADO.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/TechEd/default.aspx">TechEd</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Architecture/default.aspx">Architecture</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2008/default.aspx">VS2008</category></item><item><title>Visual Studio 2008 and Windows Server 2008 for aspiring Architects</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2008/02/02/visual-studio-2008-and-windows-server-2008-for-aspiring-architects.aspx</link><pubDate>Sat, 02 Feb 2008 20:43:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:123851</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/123851.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=123851</wfw:commentRss><description>&lt;P&gt;&lt;A href="http://objectsharp.com/cs/blogs/barry/WindowsLiveWriter/ArchitectTrainingforVisualStudio2008andW_D691/image_2.png"&gt;&lt;IMG style="MARGIN:0px 20px 0px 0px;" height=197 alt=image src="http://objectsharp.com/cs/blogs/barry/WindowsLiveWriter/ArchitectTrainingforVisualStudio2008andW_D691/image_thumb.png" width=160 align=left border=0&gt;&lt;/A&gt;Are you an architect or an aspiring architect interested in learning what's new this year for the MS platform?&lt;/P&gt;
&lt;P&gt;On February 11th, 2008 come to the MS Canada Office in Mississauga and visit yours truly and some other dazzling speakers to learn more about Visual Studio 2008 and Windows Server 2008. &lt;/P&gt;
&lt;P&gt;You can choose either the morning or afternoon session as your schedule permits. Only a 1/2 day out of your busy schedule and you'll know everything you need! Ok, well maybe not everything, but I hope that you'll be inspired to take the next steps in learning about technologies such as LINQ, Windows Communication Foundation and Windows Presentation Foundation and how you can make the most of these technologies in your applications.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032364802&amp;amp;Culture=en-CA"&gt;&lt;STRONG&gt;Register Here.&lt;/STRONG&gt;&lt;/A&gt;&lt;/P&gt;&lt;A href="http://technorati.com/tag/hhh_ca" rel=tag&gt;Technorati Tag&lt;/A&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=123851" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Orcas/default.aspx">Orcas</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/ADO.NET/default.aspx">ADO.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Southern+Ontario/default.aspx">Southern Ontario</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Services/default.aspx">Services</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Events/default.aspx">Events</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/WCF/default.aspx">WCF</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Architecture/default.aspx">Architecture</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2008/default.aspx">VS2008</category></item><item><title>VS 2008 at The Movies, Feb 7, 2008 Toronto Paramount</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2008/01/18/vs-2008-at-the-movies-feb-7-2007-toronto-paramount.aspx</link><pubDate>Fri, 18 Jan 2008 19:09:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:117141</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/117141.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=117141</wfw:commentRss><description>&lt;P&gt;&lt;A href="http://objectsharp.com/cs/blogs/barry/WindowsLiveWriter/VS2008atTheMoviesFeb72007TorontoParamoun_10B1A/Posters_Codefather_4.jpg"&gt;&lt;IMG style="BORDER-RIGHT:0px;BORDER-TOP:0px;MARGIN:0px 15px 0px 0px;BORDER-LEFT:0px;BORDER-BOTTOM:0px;" height=375 alt=Posters_Codefather src="http://objectsharp.com/cs/blogs/barry/WindowsLiveWriter/VS2008atTheMoviesFeb72007TorontoParamoun_10B1A/Posters_Codefather_thumb_1.jpg" width=256 align=left border=0&gt;&lt;/A&gt; Our designer is having a field-day with this "at the Movies" theme for our upcoming review of Visual Studio 2008 being held Feb 7th from 8:30am-12:00pm @ the Paramount in Toronto. Grab a copy of this movie poster before it gets "whacked" by the lawyers. &lt;/P&gt;
&lt;P&gt;Hope to see you there. Check out all the details after &lt;A class="" href="http://www.objectsharp.com/vs2008"&gt;this link&lt;/A&gt;.&lt;/P&gt;&lt;A href="http://technorati.com/tag/hhh_ca" rel=tag&gt;Technorati Tag&lt;/A&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=117141" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Orcas/default.aspx">Orcas</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/ADO.NET/default.aspx">ADO.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VB.NET/default.aspx">VB.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Southern+Ontario/default.aspx">Southern Ontario</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/WebForms/default.aspx">WebForms</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Events/default.aspx">Events</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/WCF/default.aspx">WCF</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2008/default.aspx">VS2008</category></item><item><title>Visual Studio, SQL Server, and Windows Server 2008 Launch Events in Toronto</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2008/01/18/visual-studio-sql-server-and-windows-server-2008-launch-events-in-toronto.aspx</link><pubDate>Fri, 18 Jan 2008 17:18:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:117134</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/117134.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=117134</wfw:commentRss><description>&lt;A href="http://objectsharp.com/cs/blogs/barry/WindowsLiveWriter/VisualStudioSQLServerandWindowsServer200_10DAD/clip_image001_2.gif"&gt;&lt;IMG style="BORDER-RIGHT:0px;BORDER-TOP:0px;BORDER-LEFT:0px;BORDER-BOTTOM:0px;" height=158 alt=clip_image001 src="http://objectsharp.com/cs/blogs/barry/WindowsLiveWriter/VisualStudioSQLServerandWindowsServer200_10DAD/clip_image001_thumb.gif" width=199 align=right border=0&gt;&lt;/A&gt; 
&lt;P&gt;On February 27 in Toronto, MS Canada is hosting the official launch of the above mentioned products. The event will be all day long and in addition to a keynote from COO Kevin Turner, there will be some great breakout tracks running in parallel for IT Professionals, Developers, IT Managers, and Architects.&lt;/P&gt;
&lt;P&gt;The event will be held at the Direct Energy Centre downtown. Of course ObjectSharp will have a booth there with some great offers for both our Training and Professional Services along with some awesome prize raffles so please stop by. &lt;/P&gt;
&lt;P&gt;Also make sure to stop by the expert's area where several MVP's and speakers will be able to answer your individual questions including many of the MVP's from ObjectSharp.&lt;/P&gt;
&lt;P&gt;You can also register for this event &lt;A href="http://www.microsoft.com/canada/heroeshappenhere/register/default.mspx" target=_blank&gt;here&lt;/A&gt; along with all of the other cities and their events happening across Canada.&lt;/P&gt;
&lt;P&gt;And don't forget, we're also doing a 1/2 day briefing for developers &amp;amp; architects on VS 2008 at the Paramount in Toronto on February 7th. You can view the details &lt;A href="http://www.objectsharp.com/vs2008.aspx"&gt;here&lt;/A&gt;. &lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.objectsharp.com/vs2008.aspx"&gt;&lt;IMG height=98 src="http://www.objectsharp.com/images/vs2008/SplashImage.jpg" width=270&gt;&lt;/A&gt;&lt;/P&gt;&lt;A href="http://technorati.com/tag/hhh_ca" rel=tag&gt;Technorati Tag&lt;/A&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=117134" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Orcas/default.aspx">Orcas</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/ADO.NET/default.aspx">ADO.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/SQL/default.aspx">SQL</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VB.NET/default.aspx">VB.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Southern+Ontario/default.aspx">Southern Ontario</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Events/default.aspx">Events</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2008/default.aspx">VS2008</category></item><item><title>TSPUG Presentation: Using Visual Studio 2008 for Developing SharePoint Workflows (and other stuff)</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2007/12/20/tspug-presentation-using-visual-studio-2008-for-developing-sharepoint-workflows-and-other-stuff.aspx</link><pubDate>Thu, 20 Dec 2007 20:43:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:107013</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/107013.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=107013</wfw:commentRss><description>Last night I gave a presentation to the &lt;A class="" href="http://www.tspug.com/" target=_blank&gt;Toronto SharePoint Users Group&lt;/A&gt;&amp;nbsp;on using Visual Studio 2008 to build SharePoint Workflows. I also covered a little bit on LINQ to SharePoint and WCF/WF integration at the end. Attached are my slides. Enjoy.&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=107013" width="1" height="1"&gt;</description><enclosure url="http://blogs.objectsharp.com/blogs/barry/attachment/107013.ashx" length="2032516" type="application/vnd.openxmlformats-officedocument.pres" /><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2005/default.aspx">VS2005</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Orcas/default.aspx">Orcas</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Southern+Ontario/default.aspx">Southern Ontario</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Services/default.aspx">Services</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Events/default.aspx">Events</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/WCF/default.aspx">WCF</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Architecture/default.aspx">Architecture</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2008/default.aspx">VS2008</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/SharePoint/default.aspx">SharePoint</category></item><item><title>Visual Studio 2008 to ship by end of month!</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2007/11/05/visual-studio-2008-to-ship-by-end-of-month.aspx</link><pubDate>Mon, 05 Nov 2007 21:18:24 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:95774</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/95774.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=95774</wfw:commentRss><description>&lt;p&gt;In case you didn't &lt;a href="http://www.microsoft.com/presspass/press/2007/nov07/11-05TechEdDevelopersPR.mspx" target="_blank"&gt;catch this&lt;/a&gt; S. Somasegar announced today during his TechEd Developers Keynote in Barcelona that Visual Studio 2008 will ship by the end of this month (November!). Yeah! Most people were counting on this before the end of the year which mean December or early January so this comes as a nice surprise.&lt;/p&gt; &lt;p&gt;We're talking about some cool technology:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Visual Studio 2008 (all editions)&lt;/li&gt; &lt;li&gt;Team Foundation Server 2008&lt;/li&gt; &lt;li&gt;.NET Framework 3.5&lt;/li&gt; &lt;li&gt;Language Integrated Query (LINQ)&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Now of course the best feature in Visual Studio 2008 is multi-targeting. This features allows you to continue to develop .NET 2.0 or 3.0 applications without migrating to 3.5. There are lots of great features if Visual Studio 2008 - even if you don't move to .NET 3.5:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Unit Testing Framework now in the VS Pro Edition&lt;/li&gt; &lt;li&gt;&lt;a href="http://weblogs.asp.net/scottgu/archive/2007/06/21/vs-2008-javascript-intellisense.aspx" target="_blank"&gt;JavaScript Intellisense&lt;/a&gt; and &lt;a href="http://weblogs.asp.net/scottgu/archive/2007/07/19/vs-2008-javascript-debugging.aspx" target="_blank"&gt;Debugging&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://weblogs.asp.net/scottgu/archive/2007/01/22/visual-studio-orcas-web-designer-integrated-into-main.aspx" target="_blank"&gt;New Web Designer&lt;/a&gt; with Split View, better CSS Support, Nested Master Pages, etc.&lt;/li&gt; &lt;li&gt;&lt;a href="http://weblogs.asp.net/scottgu/archive/2007/07/28/nice-vs-2008-code-editing-improvements.aspx" target="_blank"&gt;Intellisense Usability features&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;And if you are a Team System User&lt;/p&gt; &lt;ul&gt; &lt;li&gt;SharePoint 2007/WSS 3.0 or MOSS support&lt;/li&gt; &lt;li&gt;Simplified Installation&lt;/li&gt; &lt;li&gt;Better Offline Support&lt;/li&gt; &lt;li&gt;A &lt;a href="http://blogs.msdn.com/bharry/archive/2007/08/08/final-tfs-2008-feature-list.aspx" target="_blank"&gt;bunch of other stuff&lt;/a&gt; including Power Tool Rollups.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;And don't worry - you can install VS 2008 side by side with VS 2005.&lt;/p&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=95774" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Orcas/default.aspx">Orcas</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/WebForms/default.aspx">WebForms</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VSTS/default.aspx">VSTS</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2008/default.aspx">VS2008</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/SharePoint/default.aspx">SharePoint</category></item><item><title>Don't let your VS2008 Beta2 VPC turn into a Pumpkin on Halloween at Midnight</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2007/10/27/don-t-let-your-vs2008-beta2-vpc-turn-into-a-pumpkin-on-halloween-at-midnight.aspx</link><pubDate>Sat, 27 Oct 2007 17:21:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:93545</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/93545.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=93545</wfw:commentRss><description>&lt;P&gt;&lt;A href="http://blogs.msdn.com/jeffbe/archive/2007/10/25/vs2008-beta2-vpcs-expiring-prematurely.aspx" target=_blank&gt;&lt;IMG style="MARGIN:0px 20px 0px 0px;" height=187 src="http://www.proudlyserving.com/images/c9gpumpkin.jpg" width=241 align=left&gt; Jeff Beehler blogs here&lt;/A&gt; and &lt;A href="http://blogs.msdn.com/jeffbe/archive/2007/10/27/update-on-expiring-vs2008-beta2-vpcs.aspx" target=_blank&gt;here&lt;/A&gt; that the Visual Studio 2008 Beta 2 VPCs are prematurely expiring on November 1st. If you're using your VPC for demos - you'll be limited to 2 hours before you have to shut down. If you're using it for real work - that will be annoying - especially if you are using it for your TFS server Follow Jeff's links to instructions on backing that up and moving it. Look for new VPCs next week - hopefully we'll see a Release Candidate shortly.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Update:&lt;/STRONG&gt; Jeff has posted a link to updated VPCs &lt;A class="" href="http://blogs.msdn.com/jeffbe/archive/2007/10/30/vs2008-beta2-vpcs-re-released.aspx"&gt;here&lt;/A&gt;.&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=93545" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Orcas/default.aspx">Orcas</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category></item><item><title>Open Space Meetings at 2008 MVP Summit</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2007/10/25/open-space-meetings-at-2008-mvp-summit.aspx</link><pubDate>Thu, 25 Oct 2007 20:04:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:93418</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/93418.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=93418</wfw:commentRss><description>&lt;P&gt;The Microsoft 2008 MVP Summit Site (&lt;A title="https://www.mvpsummit2008.com" href="https://www.mvpsummit2008.com/"&gt;https://www.mvpsummit2008.com&lt;/A&gt;) is now live. The event will occur April 13-17 in Seattle &amp;amp; Redmond Washington as usual and is for any MVP or Regional Director.&lt;/P&gt; &lt;P&gt;A new twist I noticed on the site is the concept of Open Space meetings...&lt;/P&gt; &lt;BLOCKQUOTE&gt; &lt;P&gt;&lt;EM&gt;&lt;FONT face="Times New Roman" size=4&gt;"Highly dynamic and interactive sessions, designed based on &lt;/FONT&gt;&lt;/EM&gt;&lt;A href="http://www.openspaceworld.org/cgi/wiki.cgi?AboutOpenSpace"&gt;&lt;EM&gt;&lt;FONT face="Times New Roman" size=4&gt;Open Space Technology&lt;/FONT&gt;&lt;/EM&gt;&lt;/A&gt;&lt;EM&gt;&lt;FONT face="Times New Roman" size=4&gt;, where you’ll be able to define topics, attend, or even host"&lt;/FONT&gt;&lt;/EM&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt; &lt;P&gt;Well that sounds really cool - a little birds of a featherish, but with some better guidance. &lt;A href="http://www.openspaceworld.org/" target="_blank"&gt;Open Space World&lt;/A&gt; has an &lt;A href="http://www.openspaceworld.org/cgi/wiki.cgi?OpenSpaceElevatorSpeeches" target="_blank"&gt;elevator speech&lt;/A&gt; that describes Open Space Technology meetings.&lt;/P&gt; &lt;P&gt;Pictures are worth a several thousand words. Check out the slideshow:&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=93418" width="1" height="1"&gt;</description></item><item><title>New &amp; Improved ObjectSharp Newsletter, more content, sucks less</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2007/10/25/new-improved-objectsharp-newsletter-more-content-sucks-less.aspx</link><pubDate>Thu, 25 Oct 2007 17:16:29 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:93416</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/93416.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=93416</wfw:commentRss><description>&lt;p&gt;&lt;a href="http://objectsharp.com/cs/blogs/barry/WindowsLiveWriter/NewImprovedObjectSharpNewslettermorecont_B302/image_2.png"&gt;&lt;img style="border-right:0px;border-top:0px;margin:0px;border-left:0px;border-bottom:0px;" height="219" alt="image" src="http://objectsharp.com/cs/blogs/barry/WindowsLiveWriter/NewImprovedObjectSharpNewslettermorecont_B302/image_thumb.png" width="244" align="right" border="0"&gt;&lt;/a&gt; If you get our newsletter, you'll hopefully appreciate the new layout and content. Thanks to the stylings of Mr. Nick Van Exan and human aggregations of Julie James. &lt;/p&gt; &lt;p&gt;The current newsletter can be browsed online at &lt;a href="http://www.ObjectSharp.com/NewsLetter"&gt;www.ObjectSharp.com/NewsLetter&lt;/a&gt;. There is no RSS feed (yet) nor online subscription mechanism, so in the meantime, drop Julie James an email at jjames at objectsharp.com and she'll add you to her list.&lt;/p&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=93416" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Southern+Ontario/default.aspx">Southern Ontario</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Events/default.aspx">Events</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category></item><item><title>Building Composite Applications at Toronto SharePoint Camp</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2007/10/22/building-composite-applications-at-toronto-sharepoint-camp.aspx</link><pubDate>Mon, 22 Oct 2007 12:41:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:92233</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/92233.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=92233</wfw:commentRss><description>&lt;P&gt;This past Saturday, I gave a talk at the Toronto SharePoint Camp on building composite applications. I started talking in general requirements terms of why composite applications are useful, what they are, and what are the platform requirements - it naturally came down to a SharePoint demo - it's a great platform for building web based composite applications. The nice thing about SharePoint is that much of that work can be done in an ad hoc fashion. This means less plumbing code for us developers and we get to focus on solving business problems. &lt;/P&gt;
&lt;P&gt;Some of the things I demonstrated are all available with Windows SharePoint Services (free). For example, Document Libraries and Custom lists, along with the excellent Outlook integration (including offline support) not to mention version control. Then we got into Workflow and integration with enterprise data with the Business Data Catalog of which requires the Microsoft Office SharePoint Server or MOSS 2007 which is not free (approx $5000), but a totally worthwhile investment. You can easily save the license fees several times over in reduced development effort. I also used SharePoint Designer which is about $200-300.&lt;/P&gt;
&lt;P&gt;My slides and demo files are attached. Let me know if you have any questions. I've also included some demo script notes in the slide notes for those who asked.&lt;/P&gt;
&lt;P&gt;Also, check out &lt;A href="http://www.objectsharp.com/rwindsor.aspx" target=_blank&gt;Rob Windsor's&lt;/A&gt; &lt;A href="http://www.flickr.com/photos/rwindsor/" target=_blank&gt;Pictures on Flickr of the event&lt;/A&gt;&lt;/P&gt;&lt;p&gt;&lt;img src="http://objectsharp.com/cs/ink/2.ashx?633286401193270000" /&gt;&lt;/p&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=92233" width="1" height="1"&gt;</description><enclosure url="http://blogs.objectsharp.com/blogs/barry/attachment/92233.ashx" length="2333804" type="application/vnd.openxmlformats-officedocument.pres" /><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Southern+Ontario/default.aspx">Southern Ontario</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/WebForms/default.aspx">WebForms</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Events/default.aspx">Events</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Architecture/default.aspx">Architecture</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Office/default.aspx">Office</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/SharePoint/default.aspx">SharePoint</category></item><item><title>Live Traffic on Local.Live.Com  - for Torontonians</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2007/10/18/live-traffic-on-local-live-com-for-torontonians.aspx</link><pubDate>Thu, 18 Oct 2007 18:57:18 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:91904</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/91904.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=91904</wfw:commentRss><description>&lt;p&gt;&lt;a href="http://objectsharp.com/cs/blogs/barry/WindowsLiveWriter/LiveTrafficonLocal.Liv.ComforTorontonian_11211/image_2.png"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="392" alt="image" src="http://objectsharp.com/cs/blogs/barry/WindowsLiveWriter/LiveTrafficonLocal.Liv.ComforTorontonian_11211/image_thumb.png" width="583" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;Should you take Lakeshore or the Gardiner home tonight? I just noticed on Local.Live.com that the Traffic button works for Toronto. I have no idea how long this has been going on - anarchy I tell you. Live Search Maps with Canadian Data! Bravo. Incidentally, this picture was taken from the 3D view - it's just too much fun. If only I could fly home that fast. &lt;/p&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=91904" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Humours+Distractions/default.aspx">Humours Distractions</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Southern+Ontario/default.aspx">Southern Ontario</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Services/default.aspx">Services</category></item><item><title>Toronto Architect Forum, this Thursday</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2007/10/09/toronto-architect-forum-october-11-2007.aspx</link><pubDate>Tue, 09 Oct 2007 15:04:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:90315</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/90315.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=90315</wfw:commentRss><description>&lt;P&gt;This coming Thursday, Microsoft is hosting the annual Toronto Architect Forum at their offices in Mississauga. The target audience is architects &lt;STRONG&gt;that are *not*&lt;/STRONG&gt; in the financial service industry. Here's the agenda:&lt;/P&gt;
&lt;TABLE class="" cellSpacing=0 cellPadding=2&gt;

&lt;TR&gt;
&lt;TD class=""&gt;8:00 - 8:30 am&lt;/TD&gt;
&lt;TD class=""&gt;Breakfast and Registration&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;8:30 - 9:00 am&lt;/TD&gt;
&lt;TD class=""&gt;Welcome by &lt;A href="http://blogs.msdn.com/mark_relph/" target=_blank&gt;Mark Relph&lt;/A&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;9:00 - 9:30 am&lt;/TD&gt;
&lt;TD class=""&gt;Architectural Agility as Business Value, Dave Remmer&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;9:30 - 10:30 am&lt;/TD&gt;
&lt;TD class=""&gt;Office Business Applications, &lt;A href="http://blogs.msdn.com/mikewalker/" target=_blank&gt;Mike Walker&lt;/A&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;10:30 - 10:45 am &lt;/TD&gt;
&lt;TD class=""&gt;Break&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;10:45 - 12:00 pm&lt;/TD&gt;
&lt;TD class=""&gt;Visual Studio 2008 “All Up”, Adam Gallant&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;12:00 - 1:00 pm&lt;/TD&gt;
&lt;TD class=""&gt;Networking lunch&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;1:00 - 2:15 pm&lt;/TD&gt;
&lt;TD class=""&gt;Architectural Implications of LINQ, Barry Gervin&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;2:15 - 2:30 pm&lt;/TD&gt;
&lt;TD class=""&gt;Break&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;2:30 - 3:00 pm&lt;/TD&gt;
&lt;TD class=""&gt;Project Experiences using AJAX, Amalan Ponnampalam&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;3:00 - 4:15 pm&lt;/TD&gt;
&lt;TD class=""&gt;How to be an Effective Architect, Mohammad Akif&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=""&gt;4:15 - 4:30 pm&lt;/TD&gt;
&lt;TD class=""&gt;Wrap-up and Prize Draw&lt;/TD&gt;&lt;/TR&gt;&lt;/TABLE&gt;
&lt;P&gt;As you can, I've secured the ever so popular "right after lunch" time slot. I don't know if there are detailed abstracts online for each session, but here is mine:&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;U&gt;LINQ: Architectural Implications&lt;/U&gt;&lt;/STRONG&gt; 
&lt;P&gt;Support for Language Integrated Query in the .NET 3.5 Framework promises to simplify and unify querying operations across object collections, relational data, DataSets and XML. The opportunity to simplify or even eliminate the notion&amp;nbsp; of a data access layer is one many architects are considering. During this session we will quickly introduce the capabilities of LINQ, LINQ to SQL and the upcoming Entity Framework, and then discuss how this may affect the design of our data access logic moving forward. 
&lt;P&gt;Registration is still open - &lt;A href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032350113&amp;amp;Culture=en-CAso" target=_blank&gt;here&lt;/A&gt;. &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Update &lt;/STRONG&gt;- the event is for Architects not in the financial services industry (my mistake).&lt;/P&gt;&lt;p&gt;&lt;img src="http://objectsharp.com/cs/ink/1.ashx?633275269128935000" /&gt;&lt;/p&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=90315" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Orcas/default.aspx">Orcas</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/ADO.NET/default.aspx">ADO.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VB.NET/default.aspx">VB.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Southern+Ontario/default.aspx">Southern Ontario</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Events/default.aspx">Events</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Architecture/default.aspx">Architecture</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2008/default.aspx">VS2008</category></item><item><title>Ignoring Static Analysis Warnings, Centrally</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2007/10/05/ignoring-static-analysis-warnings-centrally.aspx</link><pubDate>Fri, 05 Oct 2007 19:57:04 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:89013</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/89013.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=89013</wfw:commentRss><description>&lt;p&gt;via &lt;a href="http://blogs.msdn.com/somasegar/archive/2007/10/04/code-analysis-features-in-vs-2008.aspx" target="_blank"&gt;Soma&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Back in the days of fxCop, (before we had to pay for code analysis in Team Developer) if you didn't like an error/warning, you could have your request to ignore said message in an external central file. &lt;/p&gt; &lt;p&gt;With the advent of Visual Studio Team Editions for Developers 2005, suppressions were stored as attributes in front of blocks of code. Look on the bright side we were told - now you could see your suppressions inline with your code, versioned alongside, etc. But we lost some things with this as well. Now if you were doing major code sweeps adding suppressions, you would be touching lots of files, creating some unnecessary code churn. &lt;/p&gt; &lt;p&gt;Another scenario may involve a given developer doing a sweep for localization, or security, compliance, etc. In fxCop, different developers could have different settings &amp;amp; suppression files.&lt;/p&gt; &lt;p&gt;Well, Visual Studio 2008 to the rescue. Code Analysis will now give us back this capability.&lt;/p&gt; &lt;p&gt;One of the little pet projects I'm working on is to take a code analysis pass, and cross reference that with a change set. The goal is to generate a report of obvious warnings related to the code I'm churning. We can't be perfect here as sometimes code analysis will return an error to a line of code you didn't change, but it is indirectly caused by that. The only way to truly get a clean report would be to do a code analysis before &amp;amp; after the checkin - that might be too much. But this would definitely be a great report for a build - to compare code analysis passes on previous builds. &lt;/p&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=89013" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2005/default.aspx">VS2005</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VB.NET/default.aspx">VB.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VSTS/default.aspx">VSTS</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2008/default.aspx">VS2008</category></item><item><title>Toronto SharePoint Camp</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2007/10/05/toronto-sharepoint-camp.aspx</link><pubDate>Fri, 05 Oct 2007 18:45:09 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:88978</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/88978.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=88978</wfw:commentRss><description>&lt;p&gt;&lt;a href="http://objectsharp.com/cs/blogs/barry/WindowsLiveWriter/TorontoSharePointCamp_DC42/image_2.png"&gt;&lt;img style="border-right:0px;border-top:0px;margin:0px 25px 10px 0px;border-left:0px;border-bottom:0px;" height="117" alt="image" src="http://objectsharp.com/cs/blogs/barry/WindowsLiveWriter/TorontoSharePointCamp_DC42/image_thumb.png" width="154" align="left" border="0"&gt;&lt;/a&gt; Come to camp on Saturday October 20th, 2007 in downtown Toronto. We'll do paper mache, cook marshmallows over a fire, and learn how to rapidly build collaborative portal solutions. You can visit the site and &lt;a title="It's Shariffic!" href="http://www.torontosharepointcamp.com/Pages/Default.aspx" target="_blank"&gt;register here&lt;/a&gt;, and they are still looking for speakers. &lt;/p&gt; &lt;p&gt;I hope to be speaking about something in the Architect Track, but haven't quite decided on what I'd like to talk about yet. What would you like to hear? Drop me a line.&lt;/p&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=88978" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Southern+Ontario/default.aspx">Southern Ontario</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Events/default.aspx">Events</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/SharePoint/default.aspx">SharePoint</category></item><item><title>Here comes the source code for the .NET Framework</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2007/10/03/here-comes-the-source-code-for-the-net-framework.aspx</link><pubDate>Wed, 03 Oct 2007 18:30:03 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:88399</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/88399.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=88399</wfw:commentRss><description>&lt;p&gt;Scott Guthrie &lt;a title="Holy Cow!" href="http://weblogs.asp.net/scottgu/archive/2007/10/03/releasing-the-source-code-for-the-net-framework-libraries.aspx" target="_blank"&gt;announced today&lt;/a&gt; that the source code for the .NET Framework will be released with Visual Studio 2008. That's just awesome. Check out the post for the debugging scenario here, it's beautiful to just step right into .NET code. Of course you could have fired up &lt;a href="http://www.aisto.com/roeder/dotnet/" target="_blank"&gt;reflector&lt;/a&gt; in the past, but this is much more streamlined and bonafide. &lt;/p&gt; &lt;p&gt;This is pretty genuine transparency and will give customers lots to be happy about.&lt;/p&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=88399" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Orcas/default.aspx">Orcas</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/ADO.NET/default.aspx">ADO.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2008/default.aspx">VS2008</category></item><item><title>Congratulations to Tony Cavaliere, Gadget Guru and Agenda Junkie</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2007/10/01/congratulations-to-tony-cavaliere-gadget-guru-and-agenda-junkie.aspx</link><pubDate>Mon, 01 Oct 2007 20:08:08 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:88004</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/88004.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=88004</wfw:commentRss><description>&lt;p&gt;&lt;img src="http://cynot.gotdns.org/theagenda/images/help/theAgendaVideo.png"&gt; &lt;/p&gt; &lt;p&gt;Congratulations are in order for Tony Cavaliere, a fellow ObjectSharp Consultant.&amp;nbsp; &lt;/p&gt; &lt;p&gt;Tony is a self confessed addict of the TVO show The Agenda and when Microsoft Canada announced the competition for building Vista sidebar gadgets, Tony jumped on the chance to show off his sidebar gadget building skills while building something useful for fans of the show.&lt;/p&gt; &lt;p&gt;Tony finished third in the competition, but more importantly is now up to date on all the happenings with the show without having to leave his desktop.&lt;/p&gt; &lt;p&gt;IT Business Canada featured Tony's work in a &lt;a href="http://www.itbusiness.ca/it/client/en/home/News.asp?id=45214" target="_blank"&gt;recent article&lt;/a&gt; that the discusses the merits of building vista gadgets to deliver a powerful marketing punch.&lt;/p&gt; &lt;p&gt;You can &lt;a href="http://cynot.gotdns.org/theagenda/" target="_blank"&gt;download Tony's gadget&lt;/a&gt; on his blog.&lt;/p&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=88004" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2005/default.aspx">VS2005</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Vista/default.aspx">Vista</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Southern+Ontario/default.aspx">Southern Ontario</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Services/default.aspx">Services</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category></item><item><title>Are you an aspiring architect?</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2007/04/26/are-you-an-aspiring-architect.aspx</link><pubDate>Thu, 26 Apr 2007 20:48:19 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:42787</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/42787.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=42787</wfw:commentRss><description>&lt;p&gt;I guess by the very definition of an architect, you would have to have aspirational qualities. Mohammad Akif &amp;amp; and Dave Remmer, Architect Evangelists with Microsoft Canada are putting on a series of web casts just for you. Check them out....&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Architecture 101 (Mohammad, May 24)&lt;/strong&gt; &lt;u&gt;&lt;/u&gt;&lt;/p&gt; &lt;p&gt;&lt;u&gt;&lt;a href="http://msevents.microsoft.com/cui/eventdetail.aspx?EventID=1032338971&amp;amp;culture=en-CA"&gt;http://msevents.microsoft.com/cui/eventdetail.aspx?EventID=1032338971&amp;amp;culture=en-CA&lt;/a&gt;&lt;/u&gt; &lt;p&gt;Architecture is the balance between art and engineering, it requires a certain mindset and approach to solving problems. Architects often function as a bridge between the business users and development groups and are increasingly being recognized as a critical community within organizations. Becoming an Architect can often translate in&amp;nbsp; to an elevated status from a career stage perspective but it is hard to find prescriptive guidance around how to become an architect. Join Mohammad Akif for the first of a four part series focused on aspiring architects. During the Architecture 101 session we will discuss some key ideas around Architecture and define attributes of an architect.  &lt;p&gt;&lt;strong&gt;Software development lifecycle and methodologies (Dave, May 31)&lt;/strong&gt; &lt;p&gt;&lt;u&gt;&lt;a href="http://msevents.microsoft.com/cui/eventdetail.aspx?EventID=1032338974&amp;amp;culture=en-CA"&gt;http://msevents.microsoft.com/cui/eventdetail.aspx?EventID=1032338974&amp;amp;culture=en-CA&lt;/a&gt;&lt;/u&gt; &lt;p&gt;Over the years the various approaches teams have used to develop software have evolved. Join Dave Remmer in the second of a series focused on aspiring architects where we will discuss the various stages projects go through and sample some of the methodologies used by teams developing software. In this session we will compare and contrast the waterfall, agile, RUP, Scrum and MSF methodologies and how they are used within software projects. &lt;p&gt;&lt;strong&gt;Services orientation and other architectural paradigms &amp;nbsp;(Dave, June 7)&lt;/strong&gt; &lt;p&gt;&lt;u&gt;&lt;a href="http://msevents.microsoft.com/cui/eventdetail.aspx?EventID=1032338978&amp;amp;culture=en-CA"&gt;http://msevents.microsoft.com/cui/eventdetail.aspx?EventID=1032338978&amp;amp;culture=en-CA&lt;/a&gt;&lt;/u&gt; &lt;p&gt;One of the hottest topics in software architecture is the services oriented approach to building solutions and how this can provide agility, flexibility and reuse. Join Dave Remmer in the third of a series focused on aspiring architects where we will be looking at approaches to architecting software. This session will give an overall description of service orientation and how it differs from object oriented and component based architectures as well as a discussion of some of the organizational challenges teams experience when using a services oriented architecture. &lt;p&gt;&lt;strong&gt;Transitioning from a developer to an architect &amp;nbsp;(Mohammad, June 14)&lt;/strong&gt; &lt;p&gt;&lt;u&gt;&lt;a href="http://msevents.microsoft.com/cui/eventdetail.aspx?EventID=1032338980&amp;amp;culture=en-CA"&gt;http://msevents.microsoft.com/cui/eventdetail.aspx?EventID=1032338980&amp;amp;culture=en-CA&lt;/a&gt;&lt;/u&gt; &lt;p&gt;Are you a developer who would like to learn more about becoming an architect? Or how to get formally recognized as one (since you already wear the design and architecture hat along with the developer one)?. Join Mohammad Akif for the fourth and last part of the series focused on aspiring architects, during this session we will discuss how you can attain the skill set required to be an architect and sell yourself as an architect within your organization and industry. We will also provide a list of resources that you can use to continue the transition from a developer to an architect role.&lt;/p&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=42787" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Services/default.aspx">Services</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Security/default.aspx">Security</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Events/default.aspx">Events</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Architecture/default.aspx">Architecture</category></item><item><title>Thanks Microsoft</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2007/04/02/thanks-microsoft.aspx</link><pubDate>Mon, 02 Apr 2007 15:49:13 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:37233</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/37233.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=37233</wfw:commentRss><description>&lt;p&gt;I found out yesterday that I have received the &lt;a href="http://mvp.support.microsoft.com/gp/mvpawardintro"&gt;Microsoft MVP Award&lt;/a&gt; again for Solution Architecture from Microsoft. This was the third time I received the award and I am grateful and honoured to be in such fine company as other the other MVPs out there that contribute to the IT community.&lt;/p&gt; &lt;p&gt;Aside from the recognition, the program opens up opportunities for bi-directional communication with Microsoft. They truly to listen to and value the input from MVP community leaders. While this is not unique, it's certainly rare type of program. There are many other big companies whom have lost sight of their customers, and even their most passionate ones. They would do well to take a lead from Microsoft in this regard.&lt;/p&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=37233" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category></item><item><title>Follow up on LINQ and ADO.NET Entity Framework Talk</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2007/04/02/follow-up-on-linq-and-ado-net-entity-framework-talk.aspx</link><pubDate>Mon, 02 Apr 2007 12:26:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:37222</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/37222.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=37222</wfw:commentRss><description>&lt;P&gt;On Saturday on March 31, 2007 I did a couple of talks at the Toronto Code Camp. The first an overview on the LINQ Project and the ADO.NET Entity Framework. &lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="http://objectsharp.com/cs/files/folders/37215/download.aspx" target=_blank&gt;LINQ and Entity Framework Slides&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://blogs.msdn.com/charlie/archive/2007/03/01/february-ctp-now-available.aspx" target=_blank&gt;Download March CTP of Visual Studio Orcas (install or VPC)&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://blogs.msdn.com/charlie/archive/2007/03/04/samples-update.aspx" target=_blank&gt;Download March CTP LINQ &amp;amp; ADO.NET Entity Framework Samples&lt;/A&gt;&amp;nbsp;(C#)&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://msmvps.com/blogs/bill/archive/2007/03/30/getting-the-vb-linq-samples-working-for-march-ctp.aspx" target=_blank&gt;Instructions on Extracting LINQ Samples from Online Help &amp;amp; Converting to March CTP&lt;/A&gt; (VB)&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://blogs.msdn.com/charlie/archive/2007/03/05/march-ctp-samples-overview-video.aspx" target=_blank&gt;Watch Video Overview Introducing Samples in March CTP&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;The second talk was an impromptu talk to cover a time slot for a speaker who was unable to attend. I gave the audience some choices of topics and they chose Automated Unit Testing in VSTS. We also touched briefly on the bridge between TDD and QA, other types of tests, integration with source control, work items and builds. My hidden agenda was to convince folks that this is an essential evolution of our develop discipline and is no longer a fringe activity, nor associated to just one kind of development methodology (XP/Agile).&lt;/P&gt;
&lt;P&gt;The talk was unscripted and as such no slides. Good thing because we went well into the lunch hour and I appreciate everybody's willingness to hang out and have a good discussion. Here are some links:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="http://www.objectsharp.com/old/oldroot/unittest/1%20Simple%20Unit%20Test.avi"&gt;Video: Simple Unit Test&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://www.objectsharp.com/old/oldroot/unittest/2%20Tests%20Equal%20Confidence.avi"&gt;Video: Testing equals Confidence&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://www.objectsharp.com/old/oldroot/unittest/3%20Are%20my%20tests%20Effective.avi"&gt;Video: Are my tests Effective&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://www.objectsharp.com/old/oldroot/unittest/4%20New%20Requirement%20New%20Test.avi"&gt;Video: New Requirements New Tests&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://www.objectsharp.com/old/oldroot/unittest/5%20Another%20New%20Requirement%20and%20New%20Test.avi"&gt;Video: Another New requirement and New Test&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://www.objectsharp.com/old/oldroot/unittest/6%20Even%20More%20Test%20Driven.avi"&gt;Video: Event More Test Driven&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://www.objectsharp.com/old/oldroot/unittest/UnitTesting.zip"&gt;Download Sample App&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;And lastly a couple of book recommendations:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="http://www.amazon.com/Test-Driven-Development-Addison-Wesley-Signature/dp/0321146530/ref=pd_sim_b_4/104-6073420-8818369"&gt;Test Driven Development: By Example (Kent Beck)&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://www.amazon.com/Test-Driven-Development-Microsoft-NET-Professional/dp/0735619484/ref=sr_1_2/104-6073420-8818369?ie=UTF8&amp;amp;s=books&amp;amp;qid=1175520225&amp;amp;sr=1-2"&gt;Test-Driven Development in Microsoft .NET (James Newkirk)&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Finally a big thanks to Chris Dufour for putting on an excellent glitch free code camp - this should be a model for similar events.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Update: &lt;/STRONG&gt;Also check out this &lt;A class="" href="http://blogs.msdn.com/data/archive/2007/03/27/vslive-keynote-san-francisco.aspx"&gt;blog post&lt;/A&gt; for videos of the EDM designer that unfortunately isn't working in the March CTP.&lt;/P&gt;
&lt;P&gt;Update 2: I should also include &lt;A class="" href="http://blogs.msdn.com/dataaccess/archive/2006/06/22/642260.aspx"&gt;Shyam Pather's excellent Entity Framework screencast tutorial(s)&lt;/A&gt; in which he demos Entity Query Language and tells a great story of how to evolve ADO.NET 1.0/2.0 code to ADO.NET 3.0&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=37222" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Orcas/default.aspx">Orcas</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/ADO.NET/default.aspx">ADO.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/SQL/default.aspx">SQL</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Southern+Ontario/default.aspx">Southern Ontario</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Events/default.aspx">Events</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category></item><item><title>Getting Things Done, Getting There Faster</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2007/04/01/getting-things-done-getting-there-faster.aspx</link><pubDate>Mon, 02 Apr 2007 01:14:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:37013</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/37013.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=37013</wfw:commentRss><description>&lt;P&gt;&lt;IMG title=Carpool style="WIDTH:100px;HEIGHT:100px;" height=100 alt=Carpool hspace=10 src="http://www.mto.gov.on.ca/english/traveller/hov/image/carpool_P.gif" width=100 align=left border=0&gt;I stumbled across a few handy commuting and car pooling resources today for folks that live in Southern Ontario.&lt;/P&gt;
&lt;P&gt;&lt;A class="" href="http://www.mto.gov.on.ca/english/traveller/hov/"&gt;MTO High Occupancy Vehicle lanes&lt;/A&gt;: I can speak from experience on the 403 that having another person with you during rush hour is golden. Even after picking up another rider or waiting at the car pool lot, driving in the HOV is going to save you tons of time. But you probably already know this :)&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.smartcommute.ca/"&gt;www.smartcommute.ca&lt;/A&gt; has lots of handy information &amp;amp; links include the "carpool zone" which lets you form car pools, search routes, etc. There is a place to setup your company for any of your fellow employees and also offers emergency transportation service for registered members in case they have to zip home during the day for emergencies.&lt;/P&gt;
&lt;P class=indent style="MARGIN-BOTTOM:0px;"&gt;I always have difficulty remembering locations of car pool lots are. Here's some handy links with maps:&lt;/P&gt;
&lt;UL class=indentMore style="MARGIN-TOP:0px;"&gt;
&lt;LI&gt;&lt;A href="http://www.mto.gov.on.ca/english/traveller/hov/traveller/carpool/pdf/central.pdf"&gt;Central Ontario&lt;/A&gt; 
&lt;LI&gt;&lt;A href="http://www.mto.gov.on.ca/english/traveller/hov/traveller/carpool/pdf/eastern.pdf"&gt;Eastern Ontario&lt;/A&gt; 
&lt;LI&gt;&lt;A href="http://www.mto.gov.on.ca/english/traveller/hov/traveller/carpool/pdf/southwest.pdf"&gt;Southwestern Ontario&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;And for the .NET geek out there, I highly recommend car pooling to the soothing sounds&amp;nbsp;&lt;A class="" href="http://www.dotnetrocks.com/"&gt;.NET Rocks&lt;/A&gt;&amp;nbsp;or &lt;A class="" href="http://dnic.ca/"&gt;Developer Night in Canada&lt;/A&gt;. I recently figured out a low impact, almost no software way of subscribing to feeds on my zune. &lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Subscribe to the feed in IE7. (Just click that orange glyph in your toolbar).&lt;/LI&gt;
&lt;LI&gt;From the list of feeds (in your favourites pane) right click the feed and select properties. Check off the "Automatically download attached files". Click the "View Files" button and take note of the path on your hard drive that these files are being saved under - it's wonky folder like C:\Users\JohnDoe\AppData\Local\Microsoft\Windows\Temporary Internet Files\Enclosure\{9FD562C3-EA98-4DCD-B09D-AFF021328DD7}. Copy it to your clipboard.&lt;/LI&gt;
&lt;LI&gt;In your zune software (or whatever other sync sw you use for your mp3 player) add this folder to your list of monitored folders.&lt;/LI&gt;
&lt;LI&gt;Wait. In the fullness of time, stuff will flow as if by magic through the ether, to your hard drive, and out to your player. &lt;/LI&gt;
&lt;LI&gt;If your are fortunate, you have a line-in input in your car that you can attach to your player. If not, and you have a cassette player, pick up one of those "mock-tapes" that lead out to a cable line in. Else, while not as good quality, invest in a fm transmitter. Ideally one that doesn't use batteries and plugs into your lighter adapter. You can find models that plug into ipods, zunes, usb keys, and generic line-ins. You can even find some that have a usb port to charge your player at the same time.&lt;BR&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=37013" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Southern+Ontario/default.aspx">Southern Ontario</category></item><item><title>Visual Studio Pro to get Unit Testing in Orcas</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2007/03/27/visual-studio-pro-to-get-unit-testing-in-orcas.aspx</link><pubDate>Tue, 27 Mar 2007 23:47:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:36229</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/36229.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=36229</wfw:commentRss><description>One of the biggest wrongs in VSTS 2005 was that the Team Architect edition didn't have unit testing. Not only has that been rectified for the Orcas time frame, but this feature has been moved down into the Visual Studio Professional SKU for the next release in Orcas. Fantastic! [via &lt;A class="" href="http://blogs.msdn.com/vstsqualitytools/archive/2007/03/27/welcoming-unit-testing-to-the-pro-sku.aspx"&gt;VSTS Quality Blog&lt;/A&gt;]&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=36229" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Orcas/default.aspx">Orcas</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Testing/default.aspx">Testing</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VSTS/default.aspx">VSTS</category></item><item><title>My Recent Visit to MS Research</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2007/03/26/my-recent-visit-to-ms-research.aspx</link><pubDate>Tue, 27 Mar 2007 03:25:05 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:36116</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/36116.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=36116</wfw:commentRss><description>&lt;p&gt;A couple of weeks back (sorry still catching up) I had the great fortune of being invited to visit a &lt;a href="http://research.microsoft.com/"&gt;MS Research&lt;/a&gt; event called &lt;a href="http://research.microsoft.com/aboutmsr/techfest/default.aspx"&gt;TechFest&lt;/a&gt;. MS Research hosts this event annually for fellow MS Employees and opens up their doors so they can see what they've been working on, and for the first time in their 15 year history, they allowed those of us without the trademark MS employee blue-badge to attend. The "exhibit hall" was very "science fair" full of academic research geeks and no marketing folks.&lt;/p&gt; &lt;p&gt;MS Product teams have been going through an era of transparency over the past few years and it was nice to see this principle infect MSR. A few quick facts that impressed me about MSR:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;MSR has been grown from 0 to 750 researchers over the past 15 years. This is the equivalent of creating a new Berkeley CompSci Faculty...each of those 15 years.&lt;/li&gt; &lt;li&gt;MSR has researchers in facilities located in Redmond, Silicon Valley, San Francisco, Cambridge, Beijing and Bangalore.&lt;/li&gt; &lt;li&gt;MSR runs the largest CompSci Ph.D. internship program. Currently there are 800 Ph.D. interns working worldwide in MSR labs. In the US last summer, MSR had 300 interns in their labs which is impressive considering that the US produces about 1200 CompSci Ph.D.'s annually&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;There was lots of interesting projects to learn about, some very &lt;a href="http://cas.sdss.org/dr5/en/"&gt;space-age&lt;/a&gt; and cool, others kind of weird and hard to see any use for, and &lt;a href="http://channel9.msdn.com/ShowPost.aspx?PostID=239232#239232"&gt;some&lt;/a&gt; that you wish were in a &lt;a href="http://research.microsoft.com/Pex/"&gt;shipping product yesterday&lt;/a&gt;. Then there are some that caused &lt;a href="http://research.microsoft.com/asirra/"&gt;attendees with certain allergies&lt;/a&gt; to get all stuffed up. Check out &lt;a href="http://www.webpronews.com/blogtalk/2007/03/21/microsoft-researches-better-than-google"&gt;some&lt;/a&gt; of the &lt;a href="http://research.microsoft.com/aboutmsr/techfest/videos/default.aspx"&gt;videos&lt;/a&gt;&amp;nbsp;&lt;a href="http://www.on10.net/tags/techfest/"&gt;here&lt;/a&gt; and &lt;a href="http://channel9.msdn.com/tags/TechFest"&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=36116" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Events/default.aspx">Events</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Testing/default.aspx">Testing</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VSTS/default.aspx">VSTS</category></item><item><title>Team System Web Access: Free!</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2007/03/26/team-system-web-access-free.aspx</link><pubDate>Mon, 26 Mar 2007 23:34:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:36093</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/36093.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=36093</wfw:commentRss><description>&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/bharry/WindowsLiveWriter/MicrosoftAcquiresTeamPlain_67D9/image%7B0%7D%5B3%5D.png"&gt;&lt;IMG style="BORDER-TOP-WIDTH:0px;BORDER-LEFT-WIDTH:0px;BORDER-BOTTOM-WIDTH:0px;MARGIN:0px 20px 0px 0px;BORDER-RIGHT-WIDTH:0px;" height=371 src="http://blogs.msdn.com/blogfiles/bharry/WindowsLiveWriter/MicrosoftAcquiresTeamPlain_67D9/image%7B0%7D_thumb%5B1%5D.png" width=504 align=left border=0&gt;&lt;/A&gt;Well this is about the best news I've read all day. Microsoft has acquired DevBiz, the makers of teamplain, which provides web based access to work items and some source control operations. &lt;/P&gt;
&lt;P&gt;The good part of the news is that now MS owns it and is rolling into Team System (first as a power toy), and as of right now, you can &lt;A title="Download teamplain" href="http://www.devbiz.com/downloads.aspx" target=_blank&gt;download it and install it for free&lt;/A&gt;. So long as the clients have a TFS Client Access License, you're good.&amp;nbsp; [via &lt;A href="http://blogs.msdn.com/bharry/archive/2007/03/26/microsoft-acquires-teamplain.aspx" target=_blank&gt;Brian Harry's blog&lt;/A&gt;]&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=36093" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VSTS/default.aspx">VSTS</category></item><item><title>Toronto Association of Systems and Software Quality</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2007/03/19/toronto-association-of-systems-and-software-quality.aspx</link><pubDate>Mon, 19 Mar 2007 19:10:36 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:34317</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/34317.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=34317</wfw:commentRss><description>&lt;p&gt;&lt;img style="margin:0px 25px 15px 0px;" height="81" src="http://www.tassq.org/images/logo_big.gif" width="281" align="left"&gt;A few weeks ago I attended the Toronto Association of Systems and Software Quality (&lt;a href="http://www.tassq.org/" target="_blank"&gt;TASSQ&lt;/a&gt;). It's refreshing to attend a user group outside of the MicroSphere. There was about a 100 attendees and I like the round table format over dinner with lots of opportunity for peer discussions.&lt;/p&gt; &lt;p&gt;This particular month the format was that of a moderated panel and despite being a new member, somehow I ended up as one of the panel members during the first part of the evening. There were a lot of questions and discussions around agile development, TDD and how that plays a part in the QA role. It was my pleasure to meet &lt;a href="http://www.ambysoft.com/" target="_blank"&gt;Scott Ambler&lt;/a&gt; and sit on the panel with him.&amp;nbsp;He is&amp;nbsp;an interesting guy who spends much of his time in the agile space.&lt;/p&gt; &lt;p&gt;It was obvious to me from watching and participating in the discussions that the TDD movement is perceived as a huge opportunity to assist Quality Assurance professionals. Unfortunately&amp;nbsp;there is not a good understanding of how Test Driven Developers collaborate their work with the QA team. Not actually knowing what TDD or how to implement it is another common problem, but that's another blog post.&lt;/p&gt; &lt;p&gt;TDD is all about adding quality from the inside out, but per se, not intended to assist the QA profession.&amp;nbsp;But there are good opportunities here in the areas build&amp;nbsp;verification,&amp;nbsp;earlier functional testing, regression testing and code coverage. The end goal here should be to cost-effectively improve our software quality. With that in mind, if you are in the Toronto area on March 29, 2007, I'd like to invite you to our &lt;strong&gt;S&lt;/strong&gt;oftware &lt;strong&gt;MA&lt;/strong&gt;nagement &lt;strong&gt;R&lt;/strong&gt;ound&lt;strong&gt;Table &lt;/strong&gt;(SMART) breakfast to discuss these issues. Click &lt;a href="http://www.objectsharp.com/ttdinvitation/invite070329.htm"&gt;this link&lt;/a&gt; to read more about the event and registration details.&lt;/p&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=34317" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Events/default.aspx">Events</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Testing/default.aspx">Testing</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/MSF/default.aspx">MSF</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VSTS/default.aspx">VSTS</category></item><item><title>Now Powered by Bullfrog</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2007/02/18/now-powered-by-bullfrog.aspx</link><pubDate>Mon, 19 Feb 2007 02:26:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:22531</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/22531.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=22531</wfw:commentRss><description>&lt;P&gt;&lt;A href="http://www.bullfrogpower.com/powered/powered.cfm" target=_new&gt;&lt;IMG style="MARGIN:0px 20px 0px 0px;" src="http://www.bullfrogpower.com/business/bullfrogpowered.gif" align=left&gt;&lt;/A&gt;Well last night at his &lt;A href="http://www.davidsuzuki.org/tour/" target=_blank&gt;"If YOU were Prime Minister..." Tour&lt;/A&gt; in Hamilton, &lt;A href="http://www.davidsuzuki.org/"&gt;David Suzuki&lt;/A&gt; pushed me over the edge and today the Gervin household switched our residential electricity provider to &lt;A href="http://www.bullfrogpower.com/"&gt;Bullfrog Power.&lt;/A&gt;&amp;nbsp;Bullfrog is the first 100% green electricity retailer in Ontario, which sells a mix of wind and certified low-impact hydro.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Signing up took less than 10 minutes online and costs 2.7 cents more per kilowatt hour than the traditional mix of electricity generated from Coal, Oil, Natural Gas, Nuclear and Hydro. Over the past 4 months we've been trying to reduce electrical consumption around the house, getting rid of the extra bar fridge, using compact fluorescent bulbs, turning lights off, etc.&amp;nbsp;Year over year we've cut back our kWh consumption between 20-25%, so although we're paying more for&amp;nbsp;our electricity per kWh,&amp;nbsp;out total bill will still end up being less than it was a&amp;nbsp;year ago.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Based on some carbon&amp;nbsp;&lt;A href="http://www.climatecrisis.net/takeaction/carboncalculator/" target=_blank&gt;carbon calculators&lt;/A&gt;, this simple move should reduce our carbon emissions by about 2-tons every year! We're very lucky to have this choice here in Ontario. For those that aren't as fortunate, the next best thing one can do is purchase &lt;A href="http://www.davidsuzuki.org/Climate_Change/What_You_Can_Do/carbon_neutral.asp"&gt;carbon offsets&lt;/A&gt;. &lt;/P&gt;
&lt;P&gt;It's nice to see these guys gaining momentum and Bullfrog customers are in good company:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="http://blogs.msdn.com/mark_relph/archive/2006/12/15/we-are-now-bullfrog-powered.aspx"&gt;Mark Relph, Director of Developer/Platform -&amp;nbsp;Microsoft Canada&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://www.bullfrogpower.com/powered/downieinterview.cfm" target=_blank&gt;Gord Downie, The Tragically Hip&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://www.bullfrogpower.com/powered/cullen.cfm"&gt;Mark Cullen, Gardening Guru&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://www.bullfrogpower.com/powered/atwoodgibson.cfm"&gt;Margaret Atwood, Author&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=22531" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Humours+Distractions/default.aspx">Humours Distractions</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Southern+Ontario/default.aspx">Southern Ontario</category></item><item><title>My new Prius</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2007/01/15/my-new-prius.aspx</link><pubDate>Mon, 15 Jan 2007 21:28:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:8428</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/8428.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=8428</wfw:commentRss><description>&lt;P&gt;Well, I finally got my new car, a Toyota Prius Hybrid last week. It took a bit longer than I had hoped since I ordered it fully geeked out with GPS Navigation, Voice Activation, integrated Bluetooth headset, and rearview camera which my kids, and more importantly their bikes are happy about.&lt;/P&gt;
&lt;P&gt;So far, I'm digging it. I'm getting pretty good mileage for cooler Canadian temperatures. Of couse this vehicle gets good mileage on its own, but when I can, I'm trying to drive &lt;A class="" title="Pulse and Glide" href="http://hybridcars.about.com/od/ownership/a/pulseandglide.htm" target=_blank&gt;pulse and glide&lt;/A&gt; style to maximize the mileage. You can keep track of my actual mileage on the right of my blog which I'll report tank by tank. My first tank averaged 4.9L/100km or 48MPG. The tank range seems to be in the 900-1000km range (45L). Aside from the reduction in burning fossil fuels, the greenhouse gas emmissions are quite low so I'm happy to be doing my part there.&lt;/P&gt;
&lt;P&gt;The Prius &amp;amp; Hybrid Communities are extremely active online which is nice to learn tips and tricks. Apparently the European and Japanese models are now shipping with parking assistance. Fortunately I'm not challenged in that regard and can probably parallel park faster than this computer.&lt;/P&gt;
&lt;P&gt;Check out the video:&lt;/P&gt;&lt;BR&gt;&lt;A title=Prius_IPA_innen href="http://soapbox.msn.com/video.aspx?vid=01b61a91-ad1f-448e-9fa8-1d0510d10c7b" target=_new&gt;Video: Prius_IPA_innen&lt;/A&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=8428" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Humours+Distractions/default.aspx">Humours Distractions</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Southern+Ontario/default.aspx">Southern Ontario</category></item><item><title>Will code for food?</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2007/01/02/will-code-for-food.aspx</link><pubDate>Tue, 02 Jan 2007 18:37:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:6839</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/6839.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=6839</wfw:commentRss><description>&lt;P&gt;&lt;A href="http://objectsharp.com/cs/blogs/barry/WindowsLiveWriter/2b11a286866f_CBFD/SSPX0136%5B2%5D.jpg"&gt;&lt;IMG style="BORDER-RIGHT:0px;BORDER-TOP:0px;MARGIN:0px 20px 0px 0px;BORDER-LEFT:0px;WIDTH:230px;BORDER-BOTTOM:0px;HEIGHT:167px;" height=180 src="http://objectsharp.com/cs/blogs/barry/WindowsLiveWriter/2b11a286866f_CBFD/SSPX0136_thumb.jpg" width=240 align=left border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Is it just me or over this past fall did we hit a new low for the software development discipline in Toronto? Most of the downtown core was plastered with these home made signs reminiscent of purveyors of&amp;nbsp;piano lessons or dog walking. &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;What's next, coders joining the legions of squeegee kids and hot dog vendors on the streets?&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=6839" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Humours+Distractions/default.aspx">Humours Distractions</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Southern+Ontario/default.aspx">Southern Ontario</category></item><item><title>Visual Studio 2005 Service Pack(s) 1</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2006/12/22/5676.aspx</link><pubDate>Sat, 23 Dec 2006 04:04:08 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:5676</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/5676.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=5676</wfw:commentRss><description>&lt;p&gt;&lt;img title="" alt="" src="http://msdn2.microsoft.com/aa718325.VS2005_logo_product_home(en-us,MSDN.10).gif"&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;As an early Christmas present, Microsoft released a welcome &lt;a title="Microsoft Visual Studio 2005 Service Pack 1" href="http://msdn.microsoft.com/vstudio/support/vs2005sp1/default.aspx" target="_blank"&gt;service pack for Visual Studio 2005&lt;/a&gt; last week. There's downloads available for each appropriate edition including the team foundation server. Check the download pages for releases notes as well.&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;a href="http://weblogs.asp.net/scottgu/archive/2006/12/15/visual-studio-2005-service-pack-1-sp1-released.aspx"&gt;Scott Guthrie blogs about the release, some new features and installation tips (i.e. it's not fast).&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://www.eweek.com/article2/0,1895,2072587,00.asp"&gt;eWeek coverage talks about the VSTS improvements such as Office Integration and new processor support, and TFS performance improvements&lt;/a&gt;. &lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/charlie/archive/2006/12/18/installing-visual-studio-2005-service-pack-1-and-the-linq-may-ctp.aspx" target="_blank"&gt;Charlie Calvert blogs about using the service pack with the May LINQ CTP.&lt;/a&gt;&lt;/li&gt; &lt;li&gt;Does it every bother you when you read about a hotfix for Visual Studio that's not part of a service pack? Somasegar blogs about a new &lt;a href="http://blogs.msdn.com/somasegar/archive/2006/12/12/direct-download-available-for-popular-visual-studio-2005n-hotfixes.aspx" target="_blank"&gt;pilot program to allow direct downloads of hotfixes for Visual Studio&lt;/a&gt;.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;There is still another service pack/update in the wings to provider greater facilities for integration with Windows Vista. It is supposed to be available in the first quarter of 2007, but you can &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=fb6bb56a-10b7-4c05-b81c-5863284503cf&amp;amp;displaylang=en" target="_blank"&gt;download the beta of that service pack now&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;For sometime now, I've done almost all of my development exclusively in virtual machines such as VPC and VMWare. This has been the only sane way to minimize disruption with the transition from Windows XP to Vista on my primary notebook. &lt;/p&gt; &lt;p&gt;As an aside, I heard a rumour that the VMWare Workstation 6.0 beta now supports the option to run your IDE on your host OS, and then to deploy, run &amp;amp; debug inside a virtual machine. That is certainly going to open some interesting scenarios. I can see that being very helpful for automated unit testing on via a build server, testing out on multiple configurations, environments, operating systems, etc.&lt;/p&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=5676" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2005/default.aspx">VS2005</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Vista/default.aspx">Vista</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category></item><item><title>Building Cathedrals, Bazaar's, and Mystery Houses</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2006/12/21/5608.aspx</link><pubDate>Fri, 22 Dec 2006 01:45:53 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:5608</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/5608.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=5608</wfw:commentRss><description>&lt;p&gt;&lt;img height="202" src="http://www.winchestermysteryhouse.com/birdseye.gif" width="316" align="left" border="2"&gt;Almost since software development has been a profession has the practice of software development been compared to the construction industry. &lt;/p&gt; &lt;p&gt;In this sphere of analogy, I often use the contrast in the process of architect cathedrals against the evolution of a bazaar during my lectures on software engineering. I often use this analogy in comparing waterfall-style, can't-have-too-much-uml&amp;nbsp;monolithic architecture with a more organically evolving service oriented architecture.&lt;/p&gt; &lt;p&gt;I've heard others use the cathedral and the bazaar analogy for a few other software engineering comparisons, but I believe the first use can be attributed to Eric S. Raymond's book "&lt;a title="The Cathedral and the Bazaar, Eric S. Raymond" href="http://catb.org/~esr/writings/cathedral-bazaar/cathedral-bazaar/" target="_blank"&gt;The Cathedral and the Bazaar&lt;/a&gt;" where he observes how Linux was built with an open source model. &lt;/p&gt; &lt;p&gt;One must be careful not to use Bazaar-style engineering as an excuse for not maintaining a strong engineering discipline and a thoughtful planning process. Otherwise you risk having your Bazaar end up like the &lt;a title="The Winchester House Story" href="http://www.winchestermysteryhouse.com/story.html"&gt;Winchester Mystery House&lt;/a&gt;, another common software-construction analogy, one you &lt;em&gt;don't&lt;/em&gt; want to have your software compared to.&lt;/p&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=5608" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Humours+Distractions/default.aspx">Humours Distractions</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Architecture/default.aspx">Architecture</category></item><item><title>About being a MS Regional Director</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2006/12/20/5432.aspx</link><pubDate>Wed, 20 Dec 2006 18:30:51 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:5432</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/5432.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=5432</wfw:commentRss><description>&lt;p&gt;&lt;img src="http://www.franklins.net/rd_anim_logo.gif" align="left"&gt;In case you didn't know, I have been a Microsoft Regional Director (RD) for about 3 years now. There are some similarities to the Microsoft Most Valuable Professional (MVP) award program, which I've also been fortunate to receive for the past 2 years. But since the program is smaller (about 150 RD's world-wide), it is much less known, and as such, when the topic comes up, there are some common questions about being an RD.&lt;/p&gt; &lt;p&gt;Fellow Regional Director, Jonathan Goodyear, wrote up a very nice &lt;a title="Demystifying the Microsoft Regional Director" href="http://www.aspnetpro.com/opinion/2007/01/asp200701jg_o/asp200701jg_o.asp" target="_blank"&gt;description of the Regional Director position&lt;/a&gt;&amp;nbsp;for asp.netPRO recently that is worth reading. &lt;/p&gt; &lt;p&gt;In addition to &lt;a title="Barry Gervin, Regional Director" href="http://msdn.microsoft.com/canada/rd/bgervin.aspx" target="_blank"&gt;myself&lt;/a&gt;, there are two other Regional Directors in Toronto, &lt;a title="Kate Gregory, Regional Director" href="http://msdn.microsoft.com/canada/rd/kgregory.aspx" target="_blank"&gt;Kate Gregory&lt;/a&gt; and &lt;a title="Scott Howlett, Regional Director" href="http://msdn.microsoft.com/canada/rd/showlett.aspx" target="_blank"&gt;Scott Howlett&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=5432" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Southern+Ontario/default.aspx">Southern Ontario</category></item><item><title>PDC 07 Dates Announced</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2006/12/18/5260.aspx</link><pubDate>Mon, 18 Dec 2006 17:34:26 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:5260</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/5260.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=5260</wfw:commentRss><description>&lt;p&gt;&lt;img height="168" alt="PDC 2007" src="http://msdn.microsoft.com/events/pdc/images/pdc_toplevel_revised.jpg" width="124" align="left" border="0"&gt;&lt;/p&gt; &lt;p&gt;October 2-5, 2007&lt;br&gt;Los Angeles, Californa&lt;/p&gt; &lt;p&gt;Important Links:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;a title="Event Page" href="http://msdn.microsoft.com/events/pdc/" target="_blank"&gt;Event Page&lt;/a&gt;  &lt;li&gt;&lt;a title="PDC News RSS Feed" href="http://blogs.msdn.com/pdc/rss.xml" target="_blank"&gt;PDC News RSS Feed&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=5260" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/PDC/default.aspx">PDC</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Events/default.aspx">Events</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category></item><item><title>.NET Applications on a Mac with WPF/E</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2006/12/12/4117.aspx</link><pubDate>Tue, 12 Dec 2006 14:10:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:4117</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/4117.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=4117</wfw:commentRss><description>&lt;p&gt;As you might be aware, in sequence with Vista, Microsoft released .NET 3.0. This is an addtional set of libraries on top of .NET 2.0 - so your existing apps continue to work and the runtime CLR is otherwise unaffected. &lt;/p&gt;
&lt;p&gt;This incremental set of .NET 3.0 libraries include usful parts for building distributed applications in new ways:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Windows Communication Foundation 
&lt;/li&gt;&lt;li&gt;Windows Workflow 
&lt;/li&gt;&lt;li&gt;Windows Presentation foundation&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;It should be noted that although these are released and pre-deployed with Vista - they are backward compatible to run on XP and 2003.&lt;/p&gt;
&lt;p&gt;Windows Presentation Foundation (WPF) is for building very rich (i.e. 2D, 3D, animation, video &amp;amp; audio) client side applications and includes a markup language (XAML) to help out with that. &lt;/p&gt;
&lt;p&gt;MS is already at work on a new derivative of WPF, namely WPF/E - E = Everywhere. Everywhere is a bit of a stretch - but it will include other browsers (Firefox, Safari, etc..) and other platform(s) - namely the Mac. Not clear if this is going to run on my J2ME, blackberry or Mobile Framework yet.&lt;/p&gt;
&lt;p&gt;So with WPF/E we have this new thing that can make rich multimedia content and run in any browser, any platform - some would say a Flash Killer. With that in mind there are a few interesting tidbits I find interesting.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;You can script with JavaScript, like flash. Here's a &lt;a href="http://thewpfblog.com/?p=69"&gt;nice demo&lt;/a&gt;&amp;nbsp;on the &lt;a href="http://thewpfblog.com/"&gt;http://thewpfblog.com/&lt;/a&gt;&amp;nbsp;where a cityscape is split in half - one side Flash, the other side WPF/E and a blue disc is scripted to bounce from one side to the other using JavaScript glue. &lt;br /&gt;
&lt;/li&gt;&lt;li&gt;The source code - and what's published to the browser - is Markup language - namely XAML.&lt;br /&gt;
&lt;/li&gt;&lt;li&gt;One of the reasons we like HTML so much is that search engines can parse and index i. That makes it's easy to find stuff. Anybody who has built a fancy front end to their website in Flash knows however that this content that is pushed to the browser is binary&amp;nbsp;format to be executed by the flash runtime. Therefore it is a black box and can't be indexed by search engines.&lt;br /&gt;&lt;br /&gt;Remember I said WPF/E uses XAML - a markup language. Well the cool part is that this is pushed out to the browser so indeed it can be indexed. No reason why a rich WPF/E document couldn't be searched by Google &amp;amp; Live. It should be interesting to see what happens and how engines like Google, Live, Yahoo, etc. crawl, rank, search &amp;amp; render results of XAML content. Hmmm, search engine wars aren't over yet.&lt;br /&gt;
&lt;/li&gt;&lt;li&gt;CLR Integration is one of the tricker features that &lt;a href="http://blogs.msdn.com/mharsh/archive/2006/12/06/what-is-wpf-e-really.aspx"&gt;Mike Harsh says they are currently scoping&lt;/a&gt;. Being able to use the CLR with WPF is of course a key feature, so is this going to run on the Mac? I've expected to a commercially supported CLR for the Mac for sometime, well since, the &lt;a href="http://msdn.microsoft.com/msdnmag/issues/02/07/SharedSourceCLI/"&gt;Rotor project&lt;/a&gt;&amp;nbsp;and more recently since this &lt;a href="http://blogs.msdn.com/mharsh/archive/2006/03/23/559106.aspx"&gt;Mix 06 demo&lt;/a&gt;&amp;nbsp;of the MiniCLR.. I've seen a lot of folks excited about the possibility of cross-platform .NET development. There are obviously technical and commercial hurdles to overcome. I suspect the technical hurdles to be no less &lt;a href="http://www.theserverside.com/tt/articles/article.tss?l=Regressed"&gt;challenging&lt;/a&gt; than any &lt;a href="http://msdn2.microsoft.com/en-us/library/f44bbwa1.aspx"&gt;other attempts&lt;/a&gt; at &lt;a href="http://findarticles.com/p/articles/mi_m0MWK/is_n6_v12/ai_20305006"&gt;cross platform support&lt;/a&gt;. &lt;/li&gt;&lt;/ol&gt;
&lt;p&gt;I think if we keep our perspective on on WPF/E in the same context of Flash, we'll find good uses for this technology and enjoy a more consistent development platform from CLR in our SQL Database right through to our browsers and devices. &lt;/p&gt;
&lt;p&gt;WPF/E is expected to ship in the first half of 2007, but the December Community Technology Preview (CTP) is downloadable now. &lt;a href="http://www.microsoft.com/wpfe"&gt;http://www.microsoft.com/wpfe&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=4117" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Vista/default.aspx">Vista</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/WebForms/default.aspx">WebForms</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Architecture/default.aspx">Architecture</category></item><item><title>Vista: Are you Ready? Microsoft isn't</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2006/11/22/vista-are-you-ready-microsoft-isn-t.aspx</link><pubDate>Wed, 22 Nov 2006 14:53:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:4114</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/4114.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=4114</wfw:commentRss><description>&lt;P&gt;&amp;lt;rant&amp;gt;&lt;/P&gt;
&lt;P&gt;At least not yet. There's lots of disgruntledness in the community about Microsoft own lack of preparedness. &lt;/P&gt;
&lt;P&gt;If you bought a Zune and run vista, you'll have to resort to some &lt;A href="http://www.modaco.com/zunevista"&gt;hacking&lt;/A&gt;&amp;nbsp;to get your new toy to sync up.&lt;/P&gt;
&lt;P&gt;Want to run Visual Studio inside of Vista? Be prepared for a bumpy road.&lt;/P&gt;
&lt;P&gt;You're a Microsoft Certified or Gold Partner and you're excited because Vista is now available for download so in an eager rush to be “ready“ you decide to deploy vista using your internal use licenses that you get as part of your partnership benefits. Sorry - there is no Volume License key available to partners yet.&lt;/P&gt;
&lt;P&gt;&amp;lt;/rant&amp;gt;&lt;/P&gt;
&lt;P&gt;To be fair, Micrsoft has several “release” dates for Vista and depending on who you are - you pick whatever one suits you as your “deadline” for readiness. Here's a run down which might give you some idea of setting your expectations of when to get stuff you need.&lt;/P&gt;
&lt;BLOCKQUOTE dir=ltr style="MARGIN-RIGHT:0px;"&gt;
&lt;P&gt;&lt;STRONG&gt;RTM/Release to Manufacturing.&amp;nbsp; &lt;/STRONG&gt;This is the date the bits get signed sealed and delivered. This actually happends about 30 days prior to when you think it happens when the would be final code goes into a cooling period of “let's run it internally and see if we can live without wanting to make a last minute change” otherwise known as escrow. This is a deadline for many internal product teams at microsoft.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Release to MSDN for Download&lt;/STRONG&gt;.&lt;STRONG&gt;&amp;nbsp; &lt;/STRONG&gt;In the case of Vista, this took about a week. I'm not sure why this takes so long - especially if MSDN could have had the preliminary bits in waiting (i.e. escrow build) a month earlier. Perhaps there is some bureaucracy in play here, but I'm not sure. There are product keys to get ready and the inevitable crunch on the servers when people start downloading. I don't think I've seen a major release of Visual Studio, Office, or Windows that hasn't crippled MSDN. And then there are product keys to get ready, etc. &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Launch Day(s): &lt;/STRONG&gt;This is mostly just marketing hoopla but there is certainly lots of effort here. This has very little to do with the software actually being complete. We saw this last November with the simultaneous launch of Visual Studio, SQL Server, and BizTalk. BizTalk wasn't ready for release until months after launch&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;November 30th&lt;/STRONG&gt;: For Vista there is some magic date that was announcd. This might be a launch date only or may have some technical deliverables. This was the date that MS announced as the official release of Vista to Partners and Businesses. Perhaps this is the date that the Microsoft Partner Program folks used as their deadline for readying their systems for getting volume license keys. But considering that Partners are the ones that are going to be in most need of being “ready” (after developers) you'd think that the MPP folks would be “ready“. What most annoys me about this is the emails they send out to partners asking us if we're “ready“. How can&amp;nbsp;we be ready if you're not ready.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;January 30th: &lt;/STRONG&gt;This is the official Consumer release date. You should expect to find Vista on store shelves and preloaded on computers this day. For many stakeholders, this is the deadline of all deadlines. I've heard that the Zune team is using this date as a deadline to get their Vista version to market. I've also heard that many computer makers are using this date as their deadline to get drivers readied. &lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P dir=ltr style="MARGIN-RIGHT:0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=4114" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2005/default.aspx">VS2005</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Vista/default.aspx">Vista</category></item><item><title>Visual Studio Tools for Office: 2003? 2007? Version Compatibility</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2006/11/17/visual-studio-tools-for-office-2003-2007-version-compatibility.aspx</link><pubDate>Fri, 17 Nov 2006 17:01:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:4113</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/4113.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=4113</wfw:commentRss><description>&lt;P&gt;With Visual Studio Tools for Office (VSTO), Microsoft has add some impressive development capability to build solutions on top of Excel, Word and even Outlook now. You may have even heard that notion that Office can be considered part of the Application Platform, which includes things like Smart Client, ASP.NET Web, Compact Framework, BizTalk, etc. etc. However, one of the questions I've had about this was related to versioning. If I build a VSTO solution on Office 2003, will it work with Office 2007 now that it has been released and your customers may start using it. What about new development on Office 2007 - will those work on 2003?&lt;/P&gt;
&lt;P&gt;Well today I got a pretty definitive answer from &lt;A href="http://timheuer.com/blog"&gt;Tim Heuer&lt;/A&gt; at Mircrosoft that I'll share.With Visual Studio Tools for Office (second edition) you can create office 2007 add-ins as well as Office 2003 add-ins. What about documents? VSTO second edition doesn't allow you to target directly Office 2007 for document level programming. However an document targeted for 2003 would work in 2007. Not bad.&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=4113" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2005/default.aspx">VS2005</category></item><item><title>Toshiba M400, Vista RC2 &amp; Updated Bios 2.03 = goodness</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2006/10/30/toshiba-m400-vista-rc2-updated-bios-2-03-goodness.aspx</link><pubDate>Mon, 30 Oct 2006 13:32:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:4107</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/4107.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=4107</wfw:commentRss><description>&lt;P&gt;On the &lt;A href="http://www.csdsupport.toshiba.com/tais/csd/support/windows_vista/vista_beta.cgi?lsAction=list_files&amp;amp;model_id=10"&gt;Toshiba Vista RC1 Support Page&lt;/A&gt;, Toshiba quietly added some updates. The most interesting one, a new bios 2.03. Previously the latest available was 1.70. I didn't immediately notice much difference. I did a recalculation of my Vista score and the numbers are all identical after the update. But I did notice a BIG difference today when I came into the office an plugged in my external ViewSonic 20” VX2025wm external monitor. I'm now geting the fully 1680x1050 resolution of this monitor. Previiously, I could only get 1600x1200 (with goofy scrolling/clipping &amp;amp; flickering) or 1280x1024). This was also the max I could drive on XP as well. No amount of graphics or monitors would fix that problem but 2.03 of the bios seems to add support for this. I may verify this on XP in the next week of so, but so far for Vista RC2, works great.&lt;/P&gt;
&lt;P&gt;I also noticed that after the bios and reboot, on restart, there were some new devices detected and installed, namely, Direct Application Launcher Button (x 2). The buttons on the tablet don't seem to do anything different with some preliminary. I had previously installed the Toshiba Tablet PC Buttons Driver&amp;nbsp; (V2.0.2.0). The Lock/Key button still brings up the full screen lock menu (same as CTRL-ALT-DEL). The “i” (toshiba assist?) doesn't do anything and neither does the presentation button (last on the right). The rotate (hold down Esc) button still rotates in a sequential order - I have never had the automatic orientation sensor work in Vista. One thing I did notice with rotation is that the external monitors stays the way it is and doesn't get all screwy. I can't be sure if that's because of this most recent bios update or not but all is good on that front. The 4 way button &amp;amp; enter still works as expected.&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=4107" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Vista/default.aspx">Vista</category></item><item><title>Opening up Office 2007 files in Office 2003 and XP</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2006/10/25/opening-up-office-2007-files-in-office-2003-and-xp.aspx</link><pubDate>Wed, 25 Oct 2006 13:11:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:4104</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/4104.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=4104</wfw:commentRss><description>&lt;P&gt;The Microsoft Office Compatibility Pack for Office XP and Office 2003 enables a user to open and even save 2007 Office release XML files.&amp;nbsp; That's cool and reduces the risk when you have some folks using Office 2007 in your company, and others note. Nice feature.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://technet2.microsoft.com/Office/en-us/library/c6189fcd-3668-4cd7-8bac-5c37e338bde21033.mspx?mfr=true"&gt;http://technet2.microsoft.com/Office/en-us/library/c6189fcd-3668-4cd7-8bac-5c37e338bde21033.mspx?mfr=true&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=4104" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Office/default.aspx">Office</category></item><item><title>So long John</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2006/10/20/so-long-john.aspx</link><pubDate>Fri, 20 Oct 2006 20:37:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:4103</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/4103.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=4103</wfw:commentRss><description>&lt;P&gt;In case you haven't &lt;A href="http://www.iunknown.com/articles/2006/10/20/dynamic-languages-microsoft-and-me"&gt;heard&lt;/A&gt;, John Lam is leaving ObjectSharp (and Toronto) for Microsoft (and Redmond) in January of next year. John will be taking his passion and expertise for Ruby and Dynamic Languages and helping out the CLR team buff up its support in that area as a Program Manager. As you may know, John has spent most of his time recently at ObjectSharp on the &lt;A href="http://www.rubyclr.com/"&gt;RubyCLR&lt;/A&gt; Open Source project. We'll be figuring out what to do with that over the next few months when John makes the transition to Microsoft. Check out John's blog if you're interested in stepping up to the plate to help out. &lt;/P&gt;
&lt;P&gt;On a personal note, I'm sorry to see John leave, but you have to follow your heart and your passion so I wish him the best of luck in his new role. I'll be keeping very close eye on his kool-aid drinking, pill popping, MS assimilation process and can hardly wait to jab him as soon as he starts adding “super” in front his emotions :) &lt;/P&gt;
&lt;P&gt;Good luck John.&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=4103" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Orcas/default.aspx">Orcas</category></item><item><title>Unifying My RSS Aggregation: IE7/Vista, Outlook 2007, Newsgator, Exchange</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2006/10/12/unifying-my-rss-aggregation-ie7-vista-outlook-2007-newsgator-exchange.aspx</link><pubDate>Thu, 12 Oct 2006 14:41:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:4101</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/4101.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=4101</wfw:commentRss><description>&lt;P&gt;Icarumba! All of those things in the title have 1 way or another of storing RSS feeds. But it wasn't as bad as I hoped. Now that I'm using Vista RC2 fulltime, I figured it was time to start looking into the IE7/Vista RSS store. I had been leaning on the newsgator web based reader for all of my RSS consumption needs - and consequently have been falling behind. &lt;/P&gt;
&lt;P&gt;I'm an Office/Outlook 2007 newbie since RC2 of vista. I installed Beta 2 of office and the technical refresh. I managed to get it hooked up to our exchange server, although I wasn't able to get HTTP access working the first time - I had to be on the LAN the first time I connected to the Exchange Server. I may have been doing something wrong, but I was able to do that with Outlook 2003. &lt;/P&gt;
&lt;P&gt;One of the options that cam up with Outlook 2007 was the ablity to display/aggregate RSS feeds - and furthermore, sync with the IE7 RSS store. I had the RSS gadget on my sidebar staring at me empty for too long - time to make the plunge. What could I do about all my newsgator feeds though? I didn't want to manually add them, and I suppose I could have exported/imported an OPML file. But I kind of like reading blogs occassionally on other machines (my parents house, my wife's computer in the kitchen, etc.) via the browser. &lt;/P&gt;
&lt;P&gt;And then I cam across the &lt;A href="http://blogs.newsgator.com/inbox/2006/09/newsgator_deskt.html"&gt;NewsGator Desktop Sync Beta&lt;/A&gt;&amp;nbsp;that promises to keep readmarks in sync between outlook/windows rss and newsgator. Fantastic, it worked, sort of. It fails to import a number of blogs, citing that the feed contains document type definition references which are not support, and a couple of other meaningless error messages. I'll have to investigate this further, but all I could say was “sweet”. Especially when I opened up Outlook Web Access to our exchange server, and could see the RSS feeds in my inbox there as well.&lt;/P&gt;
&lt;P&gt;Is this a good thing I asked myself? I mean, if I really wanted to read feeds through a browser I could use Newsgator's online reader which is way better than OWA. Argh, then I got an email from our exchange server: You mail box is now disabled because it is full. Damn. I told you I was behind on my blog reading. I would have loved to been able to read my blogs in outlook...without storing them on my exchange server. I suppose I don't really need them in outlook. The other sad problem with the Newsgator Desktop Sync Beta is that it lost my nice folder structure of how I've organized my blogs. All I get is one big flat list. Yuck, but sweet. :)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=4101" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Vista/default.aspx">Vista</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Office/default.aspx">Office</category></item><item><title>Toshiba Protege M400 Tablet PC and Vista RC2</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2006/10/12/toshiba-protege-m400-tablet-pc-and-vista-rc2.aspx</link><pubDate>Thu, 12 Oct 2006 14:25:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:4100</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>11</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/4100.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=4100</wfw:commentRss><description>&lt;P&gt;I've been running Vista RC2 since the weekend on my Toshiba M400. I was running RC1 before that, and Beta 2 on and off prior to that. During the RC1 “era” (from an XP upgrade)&amp;nbsp; I had a lot of junk on my laptop that wouldn't work. So I was backfilling with help from Virtual PC, VMWare, and remote desktop into other machines to get real work done. &lt;/P&gt;
&lt;P&gt;RC2 looks pretty good so far. This time I did a clean install and just about everything works like I'd hope, save for the HDD vibration. I did not use all of the drivers from the &lt;A href="http://www.csdsupport.toshiba.com/tais/csd/support/windows_vista/vista_beta.cgi?lsAction=list_files&amp;amp;model_id=10"&gt;Toshiba M400 Vista RC1 support page.&lt;/A&gt; I used their RAID drivers (have to on a clean install) during the initial install. I am using the common modules after that, then the fingerprint drivers, and the flash memory drivers. A couple of friends at MS hooked me up with another build of the bluetooth monitor - which is not the full stack from this page. I think I'm using just the toshiba bluetooth monitor, and then the rest of the MS stack/utilities from that point up. My dial-up networking over bluetooth to my EVDO Bell Mobility phone wasn't working with the pure Toshiba stuff. Works like a charm now with this setup. Since RC1 I've been getting glass my default after installs. I've noticed however that with RC2, it hasn't been turning glass off when I go into multi-monitor mode. Nice.&lt;/P&gt;
&lt;P&gt;I did have one major problem - something got pooched after day 2 with my tablet pc input - data execution protection was turning it off and the machine ran like a dog. It happened on the train home on Monday&amp;nbsp;- I threw the machine into rotated tablet mode for the first time since the install - and the Toshiba rotation utility captured the event and rotated nicely. However, something was wrong. When I clicked on a point on the screen - the actual mouse would be positioned somewhere about 2 feet to the right (off screen). I had to use the touch pad to bring it back over. Going back into landscape mode didn't help either. After a reboot - then I was cooked - DEP errors and even going to “Last Known Good Configuration“ didn't help either. I solved the problem by going back to a system restore point from the day earlier and things were fine after that. &lt;/P&gt;
&lt;P&gt;Since that, everything has been roses (knock on wood). Things working include Multi-monitor, rotation, fingerprint, flash media reader, DVD Burner, usb ready-boost. wifi, bluetooth (mouse and DUN are all that I'm using). I even captured a home video over IEEE firewire last night surprisingly simple. I plugged in my camera and it just showed up and offerred to import the video (including rewinding the tape for me). It was almost like a I had a Mac for a moment. When it got to the end of the tape (on my Canon Elura) instead of parsing up the video into scenes like it said it would, it just displayed an error message that said there was no tape in the camera. Fortunately the tmp file was sitting my Videos folder and I was able to rename it and then open it up in Movie Maker, and it it cut it up into scenes very nicely. &lt;/P&gt;
&lt;P&gt;I haven't loaded the cross-fire craplet - but that was working on my upgrade with RC1. I'm not using the buttons utility or hotkey display from Toshiba - they've never done anything for me in the past so I'd just as soon as not muddy the waters. The auto-detect orientation button on the M400 never worked with it either (and still doesn't without). Depressing that button does rotate, but it just advances 90 degrees each time. The 4 way joystick seems to have a mind of it's own so I need to figure out what to do with that. Up goes into Windows-Tab carousel mode. Down shows the desktop. Left opens up a new IE window. Right opens up Excel. I'm not sure what press-down does yet - but it's something.&amp;nbsp;ESC stranglely loads up Media player. The Key/lock button is the same as CTRL-ALT-DEL and gives you the option of locking the machine. The “i” info button doesn't do anything and the the presentation mode button doesn't do anything either - although I really want that to use the built-in vista presentation mode accessed from the windows mobility center if I can ever figure out that. &lt;/P&gt;
&lt;P&gt;Appcompat is a bit better. VMWare player 1.02 installs and work fine. I have yet to try out Virtual PC but I'm going to have to today or tomorrow (lest I use an old stunt machine for&amp;nbsp;customer session I'm doing tomorrow with team system). &lt;/P&gt;
&lt;P&gt;A few weeks ago when I first tried out RC1, and did some goofing around with Acronis True Image to back up my old system on a second drive (in the HDD Adapter slim-drive bay) something wierd happened. My cmos battery appears to have died. I can't keep an accurate time anymore. I suspect it's the battery because at one point I restored back to XP and still had the problem. At the same point I also did the 1.70 bios update so maybe that caused it. It does seem strange that a 6 month old laptop cmos battery would die. I'm told I have to bring it in for service for them to look at that. What a pain.&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=4100" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Vista/default.aspx">Vista</category></item><item><title>CVT in my upcoming Prius</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2006/10/09/4098.aspx</link><pubDate>Mon, 09 Oct 2006 14:06:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:4098</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/4098.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=4098</wfw:commentRss><description>&lt;P&gt;A while ago I shared some information on the benefits of&amp;nbsp;&lt;A href="http://objectsharp.com/blogs/barry/archive/2006/07/12/5420.aspx"&gt;turning off your car&lt;/A&gt;&amp;nbsp;and not idling unnecessarily. One of my commentors, &lt;A href="http://benfulton.net/blog/"&gt;Ben Fulton&lt;/A&gt;, suggested I buy a car that does it for me automatically, and then some. A few other &lt;A href="http://www.hanselman.com/blog/ModYourPriusToGet180MPG.aspx"&gt;folks&lt;/A&gt; have been making Prius recommendations for some time now. So on Saturday I went and bought a &lt;A href="http://www.toyota.ca/cgi-bin/WebObjects/WWW.woa/19/wo/Home.Vehicles.Prius-P1tHwdwUO493WhKZ3azjKg/0.15?fmg%2fprius%2fintro%2ehtml"&gt;2007 Toyota Prius&lt;/A&gt;. I don't actually get the car for &amp;#8220;4 to 6 weeks&amp;#8221;, but I'm having fun researching more about the ins and outs of this cool car.&lt;/P&gt;
&lt;P&gt;Of particular interest is Alex Hart's &lt;A href="http://eahart.com/prius/psd"&gt;interactive flash animation&lt;/A&gt; and documentation of the inner workings of the Toyota's Power&amp;nbsp;Split Device (PSD),&amp;nbsp;a nifty gearset used to combine power from the electrical motors and the internal combusion engine. The PSD acts as a continuous variable transmission (CVT), which avoids the typical&amp;nbsp;&amp;#8220;rev-lurch-rev-lurch&amp;#8221; of a traditional transmission.&amp;nbsp;Alex's nice enough to post the source for his demo at the end of the page.&lt;/P&gt;
&lt;P&gt;Jeremy Kusnetz takes that to the next level and wires up this flash to turn this into a live feed (1/400 scale) in the display of his Prius. He's got a &lt;A href="http://users.kusnetz.net/jkusnetz/PSD.mov"&gt;quicktime movie&lt;/A&gt; of it's operation. It's a cool modification, but I do not endorse the camera angle this video was taken from (the drivers seat). I need to figure out what city Jeremy lives in so I can not walk around there at night time. &lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=4098" width="1" height="1"&gt;</description></item><item><title>Visual Studio and Team Systems Service Pack Betas</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2006/09/27/visual-studio-and-team-systems-service-pack-betas.aspx</link><pubDate>Wed, 27 Sep 2006 13:14:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:4097</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/4097.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=4097</wfw:commentRss><description>&lt;P&gt;So we have a few service packs to talk about....&lt;/P&gt;
&lt;P&gt;Firstly, Visual Studio 2005, SP1 is now in beta testing. This is a fairly big service pack, lots of bug fixes, and the odd new feature. The list is not complete of things fixed yet but Microsoft promises to update that list when they ship. You can read the &lt;A href="http://blogs.msdn.com/somasegar/archive/2006/09/26/772250.aspx"&gt;announcement here&lt;/A&gt;&amp;nbsp;and if you like, register for the beta on the &lt;A href="http://connect.microsoft.com/visualstudio"&gt;Microsoft Connect Site&lt;/A&gt;. In that announcement, Soma also goes on to talk about Vista support and what that means for Visual Studio 2002, 2003, and 2005. Keep in mind, this has little to do with your applications running on Vista - but is about running the development environment on Vista.&lt;/P&gt;
&lt;P&gt;Secondly, &lt;A href="http://blogs.msdn.com/bharry/archive/2006/09/26/772371.aspx"&gt;Brian Harry anounced the beta availability for Team Foundation Server SP1&lt;/A&gt;. You can register for the download&amp;nbsp;on the &lt;A href="http://connect.microsoft.com/visualstudio"&gt;Microsoft Connect Site&lt;/A&gt;.&amp;nbsp;I'm most thankful for full-fledged extranet support. As you may know, there are some security hiccups when not using a VPN and trying t pass through a variety of firewalls/proxy servers. This one should have been in the 1.0 release in my opinion, but better late than never. &lt;/P&gt;
&lt;P&gt;I do a fair amount of Work Item Type customization for customers so I'm pretty excited about the ability to create custom controls on your work item forms. &lt;/P&gt;
&lt;P&gt;Other notable improvements: Better performance and scale, Excel/Project 2007 Support, Support for the new Web Application Projects. &lt;/P&gt;
&lt;P&gt;I have it on good authority that you don't have to worry about what version of the client you have for compatibility with the server. So feel free to mix and match, you know, like &lt;A href="http://www.garanimals.com/flash/index.htm#"&gt;Garanimals&lt;/A&gt;. &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;You'll find increased scalability and better performance with Work Item Tracking, Version Control, and the Data Warehouse. &lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=4097" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2005/default.aspx">VS2005</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Vista/default.aspx">Vista</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VSTS/default.aspx">VSTS</category></item><item><title>Visual Studio Team System Public MSDN Chat</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2006/09/01/visual-studio-team-system-public-msdn-chat.aspx</link><pubDate>Fri, 01 Sep 2006 13:26:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:4091</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/4091.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=4091</wfw:commentRss><description>&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:Arial;"&gt;Come and join members from the Visual Studio Team System product group to discuss features available in Visual Studio Architect, Developer and Tester editions and Team Foundation Server. There will be experts on hand to answer your questions.&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:Arial;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN style="FONT-WEIGHT:bold;FONT-SIZE:10pt;FONT-FAMILY:Arial;"&gt;Join the &lt;A title=http://msdn.microsoft.com/chats href="http://msdn.microsoft.com/chats"&gt;chat&lt;/A&gt; on Wednesday September 6th, 2006 1:00pm - 2:00pm&amp;nbsp;Eastern time. (&lt;FONT face=Arial size=2&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:Arial;"&gt;&lt;A title=http://www.timeanddate.com/worldclock/fixedtime.html?year=2006&amp;amp;month=9&amp;amp;day=6&amp;amp;hour=10&amp;amp;min=0&amp;amp;sec=0&amp;amp;p1=234 href="http://www.timeanddate.com/worldclock/fixedtime.html?year=2006&amp;amp;month=9&amp;amp;day=6&amp;amp;hour=10&amp;amp;min=0&amp;amp;sec=0&amp;amp;p1=234"&gt;Convert this to your timezone&lt;/A&gt;.)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN style="FONT-WEIGHT:bold;FONT-SIZE:10pt;FONT-FAMILY:Arial;"&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:Arial;"&gt;To add this to your calendar, click &lt;A title=http://msdn.microsoft.com/chats/outlook_reminders/06_0906_MSDN_VSTS.ics href="http://msdn.microsoft.com/chats/outlook_reminders/06_0906_MSDN_VSTS.ics"&gt;here&lt;/A&gt;.&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=4091" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VSTS/default.aspx">VSTS</category></item><item><title>Turn off your car</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2006/07/12/4087.aspx</link><pubDate>Wed, 12 Jul 2006 13:25:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:4087</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>6</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/4087.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=4087</wfw:commentRss><description>&lt;P&gt;Some &lt;A href="http://oee.nrcan.gc.ca/communities-government/transportation/municipal-communities/articles/idling-myths.cfm?attr=16"&gt;interesting facts&lt;/A&gt; about &lt;A href="http://oee.nrcan.gc.ca/communities-government/transportation/municipal-communities/articles/idling-tips.cfm?attr=16"&gt;idling&lt;/A&gt; and turning off your car.&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;10 seconds of idling uses as much gas as restarting your car. As a rule of thumb, if your car will be&amp;nbsp;stationary for 10 seconds or more, turn it off to save gas and&amp;nbsp;reduce greenhouse gas emissions.&lt;/LI&gt;
&lt;LI&gt;The wear on components by the additional starting of your car will equate to about $10/year.&lt;/LI&gt;
&lt;LI&gt;An idling engine releases twice as much exhaust fumes as a moving vehicle&lt;/LI&gt;
&lt;LI&gt;If every light-duty vehicle's driver reduced idling by 5 minutes a day, this would result in 1.6 million tonnes of carbon dioxide emmissions in Canada annualy.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;It's kind of fun to see how far you can coast with your engine off, but beware that power brakes and steering don't work when your ignition is off. If you're going to try this, make sure to practice with no cars around, especially mine :)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=4087" width="1" height="1"&gt;</description></item><item><title>Unit Testing Custom MSBuild Tasks</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2006/07/10/unit-testing-custom-msbuild-tasks.aspx</link><pubDate>Mon, 10 Jul 2006 14:01:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:4086</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/4086.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=4086</wfw:commentRss><description>&lt;P&gt;If you're developing custom MSBuild Tasks, and you're interested in testing them (and you should) using NUnit or VSTS there are a few considerations.&lt;/P&gt;
&lt;P&gt;The first is the strategy you want to adopt for testing the custom task. In the spirit of “Unit” testing, you may choose to test only your code in the tightest scope possible. In this scenario, you may choose to new up your custom task, set some properties on it, and fire the Execute method.&lt;/P&gt;
&lt;P&gt;Be forewarned however, that when you do this, you don't have the full Build engine around running around your task. If you use the built in task logging mechanism, i.e.&lt;/P&gt;
&lt;P&gt;Log.LogMessage(&lt;FONT color=#800000&gt;"QueueName {0}, Message {1}"&lt;/FONT&gt;, &lt;FONT color=#0000ff&gt;this&lt;/FONT&gt;.queueName, &lt;FONT color=#0000ff&gt;this&lt;/FONT&gt;.message);&lt;/P&gt;
&lt;P&gt;You'll get an exception thrown....&lt;BR&gt;&lt;BR&gt;&lt;STRONG&gt;Error message:&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Test method ExecuteTest threw exception:&amp;nbsp; &lt;BR&gt;System.InvalidOperationException: Task attempted to log before it was initialized. &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Stack trace:&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;at Microsoft.Build.Shared.ErrorUtilities.ThrowInvalidOperation(String resourceName, Object[] args)&lt;BR&gt;at Microsoft.Build.Shared.ErrorUtilities.VerifyThrowInvalidOperation(Boolean condition, String resourceName, Object arg0)&lt;BR&gt;at Microsoft.Build.Utilities.TaskLoggingHelper.LogMessage(MessageImportance importance, String message, Object[] messageArgs)&lt;BR&gt;at Microsoft.Build.Utilities.TaskLoggingHelper.LogMessage(String message, Object[] messageArgs)&lt;BR&gt;...&lt;/P&gt;
&lt;P&gt;If you still want to test your custom task like this, you can test for the presencen of the build engine and not use it's built in logging features....i.e.&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#0000ff&gt;if&lt;/FONT&gt; (&lt;FONT color=#0000ff&gt;this&lt;/FONT&gt;.BuildEngine!=&lt;FONT color=#0000ff&gt;null&lt;/FONT&gt;)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Log.LogMessage(&lt;FONT color=#800000&gt;"QueueName {0}, Message {1}"&lt;/FONT&gt;, &lt;FONT color=#0000ff&gt;this&lt;/FONT&gt;.queueName, &lt;FONT color=#0000ff&gt;this&lt;/FONT&gt;.message);&lt;/P&gt;
&lt;P&gt;Of course, if you choose to fire off your custom build task within the scope of the build engine by executing a test build script harness (and that's a good idea too) you won't run into this problem, i.e.&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#008080&gt;Process&lt;/FONT&gt; buildProcess = &lt;FONT color=#0000ff&gt;new&lt;/FONT&gt; &lt;FONT color=#008080&gt;Process&lt;/FONT&gt;();&lt;BR&gt;buildProcess.StartInfo.FileName = &lt;FONT color=#800000&gt;"C:\\Windows\\Microsoft.NET\\Framework\\v2.0.50727\\MSBuild"&lt;/FONT&gt;;&lt;BR&gt;buildProcess.StartInfo.Arguments = &lt;FONT color=#800000&gt;"testscript.msbuild /target:testTarget”;&lt;BR&gt;&lt;/FONT&gt;buildProcess.StartInfo.WindowStyle = &lt;FONT color=#008080&gt;ProcessWindowStyle&lt;/FONT&gt;.Hidden;&lt;BR&gt;buildProcess.StartInfo.CreateNoWindow = &lt;FONT color=#0000ff&gt;true&lt;/FONT&gt;;&lt;BR&gt;buildProcess.Start();&lt;BR&gt;buildProcess.WaitForExit();&lt;BR&gt;buildProcess.Close();&lt;BR&gt;&lt;FONT color=#008000&gt;//TODO: Assert that the script did what it was supposed to do.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;My preference is to do both types of tests. The first style is helpful in the case of my actual custom task being faulty. If the first style fails, I'm very certain that the error is within the guts of that task. The second style is helpful in more of an integration test way. If the second style fails (and not the first) it means there is a problem in the way I'm calling my custom task within a build script.&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=4086" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2005/default.aspx">VS2005</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VSTS/default.aspx">VSTS</category></item><item><title>VSTS Unit Tests with "extra" files</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2006/07/05/vsts-unit-tests-with-extra-files.aspx</link><pubDate>Wed, 05 Jul 2006 14:31:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:4085</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/4085.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=4085</wfw:commentRss><description>&lt;P&gt;Sometimes you need to have an external file when you're creating unit tests. Perhaps you are reading a known state into an object, or reading in some XML to insert test data into a database.&lt;/P&gt;
&lt;P&gt;If you are reading this blog, you probably already tried adding these “extra” files into your VSTS Test Project, and perhaps even thought to change the file's “Copy to Output Directory” to “Copy Always”. This has the effect of copying your extra file to the bin/debug (or release) folder underneath your project as part of a build. What you may not know is that your tests don't actually run from this directory. When VSTS runs a local test, a directory is created below the &amp;lt;SolutionFolder&amp;gt;/TestResults folder. There are a couple of techniques you can use to ensure your extra files show up in this directory.&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;If your external file is specific to a certain test, is only required when you run that test, and doesn't change based on other environmental variables, then you can add a DeploymentItem attribute to your test method. There are a few overloads, check the &lt;A href="http://msdn2.microsoft.com/en-us/library/microsoft.visualstudio.testtools.unittesting.deploymentitemattribute.aspx"&gt;documentation&lt;/A&gt;.&lt;/LI&gt;
&lt;LI&gt;If your external file is more of a global configuration file that many tests rely on, or if the external file has multiple variations you can edit your Test Run Configuration. The menu option is Test &amp;gt; Edit Test Run Configurations &amp;gt; Local Test Run. Select the Deployment item on the left, and then add a reference to the external file.&lt;BR&gt;&lt;BR&gt;By default you only have 1 local test run configuration, but you can add more. The localtestrun.testrunconfig file is usually located under the Solution Items folder. You can right click this folder in Solution Explorer and select Add New Item. There is a category for Test Run Configuration, and a corresponding item as well. &lt;BR&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=4085" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VSTS/default.aspx">VSTS</category></item><item><title>TechEd06-Day1: Precon with Ron Jacobs ARC001</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2006/06/11/teched06-day1-precon-with-ron-jacobs-arc001.aspx</link><pubDate>Sun, 11 Jun 2006 15:15:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:4069</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/4069.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=4069</wfw:commentRss><description>&lt;P&gt;I left for TechEd bright and early at 6:30am this morning and have arrive in beautiful Boston. I've checked in, and first job is to attend Ron Jacob's Pre-Conference on Software Architecture. This is a 6 hour session broken into sub-areas. During the day, in between sections, Ron will be interviewing real-world architects on stage about the subjects he is covering during his session. Ron will be interviewing myself on the topics of Requirements, and a little later on Design Patterns.&lt;/P&gt;
&lt;P&gt;Ron asked me specifically to not prepare anything so that I can respond to his content unfiltered, honest and open. This should be fun.&lt;/P&gt;
&lt;P&gt;A few good links of interest:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="http://www.ronjacobs.com/"&gt;Ron Jacobs blog&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://skyscrapr.net/"&gt;SkyScrapr.net&lt;/A&gt; - an interesting site that Ron's team has been working on for educating folks on Architecture. The site is new and shiny so the content is still coming.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=4069" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Architecture/default.aspx">Architecture</category></item><item><title>Upgrading our Developer Training Machines</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2006/05/18/upgrading-our-developer-training-machines.aspx</link><pubDate>Thu, 18 May 2006 13:12:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:4064</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/4064.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=4064</wfw:commentRss><description>&lt;P&gt;Unless you have already taken a course from ObjectSharp in the past on "our machines", you may not be aware that "our machines" means modern Dell notebooks. Our classroom at 1 Yonge Street is well equipped, but sometimes, companies want the coruse on their site. Our entire class hardware is portable in 2 rolling travel trunks. For students, if they want to take their machine home with them in the evenings, then this is a great option to catch up on labs, play around with stuff, etc.&lt;/P&gt;
&lt;P&gt;We pride ourselves on having good hardware. We typically train on the latest &amp;amp; greatest software, so the same standard applies to our hardware. Our current machines are less than 2 years old on average and were top specifications when they were acquired. As we've started to use more and more VPC's for our classes, 1Gb has started to be a bit of a strain, particularly on BizTalk 2006 and VSTS courses that use Team Foundation Server.&lt;/P&gt;
&lt;P&gt;By comparison, Microsoft sets the standards that Certified Partner, Learning Solutions (CPLS, formerly CTECs) are required to provide. Microsoft provides standards for levels 1-4. Levels 3 &amp;amp; 4 are the minimum for a course that uses Virtual PC. The top level 4 spec, typically used for server training is as follows:&lt;/P&gt;
&lt;P&gt;-Pentium II, 700 Mhz&lt;BR&gt;-16Gb Disk&lt;BR&gt;-1Gb Ram&lt;BR&gt;-4mb Video Card&lt;BR&gt;-Super VGA resolution (800x600)&lt;/P&gt;
&lt;P&gt;Today I signed the death sentence for our current machines which are the following specification:&lt;/P&gt;
&lt;P&gt;-Pentium 4 Centrino 3Ghz, &lt;BR&gt;-40-60Gb Disk&lt;BR&gt;-1Gb Ram&lt;BR&gt;-32mb Video Card&lt;BR&gt;-1280x1024 resolution&lt;/P&gt;
&lt;P&gt;By comparison, the machines we are getting rid of actually dwarf the CPLS highest standard. I'm not sure who thinks you can run a Biztalk or VSTS course on that specification....regardless of what the courseware is. I really pity the student who has to sit through a biztalk course with 800x600 resolution - on a P2, 700Mhz :(&lt;/P&gt;
&lt;P&gt;Our next set of classroom machines will be here in 2 weeks and all new "Vista Capable" hardware. &lt;/P&gt;
&lt;P&gt;Dell Inspiron 6400&lt;BR&gt;-Centrino Core Duo 1.83ghz&lt;BR&gt;-15.4" WSXGA+ 1680x1050 Ultrabright Displays&lt;BR&gt;-2Gb Ram&lt;BR&gt;-80gb SATA hard Drives&lt;BR&gt;-128mb Intel 950 Integated Graphics, Aero Glass Capable&lt;/P&gt;
&lt;P&gt;I've been using a dual core notebook for a few weeks now and they put a noticeable snappiness in everything. These new classroom machines are going to really rock. Not only will the performance rock, but drawing Biztalk Orchestrations or Visual Studio Class Diagrams on 1680x1050 will be so comfortable. I'm also going to be pushing for secondary external monitors so students can have the full dual-monitor experience.&lt;/P&gt;
&lt;P&gt;I'm curious to see how the new wide-screen form-factor machines fit our trunks. I'm also going to be doing some perf testing using parallels, VMWare, and Virtual PC/Virtual Server to see how well they fair with the new dual core cpu.&lt;/P&gt;
&lt;P&gt;The bottom line though is that I'm quite happy that we are able to make sure we have the latest and greatest hardware in our classroom on a 2yr refresh cycle. This is just one thing that goes into making a great learning environment for students.&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=4064" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VSTS/default.aspx">VSTS</category></item><item><title>Tips on Surge Protective Devices (SPD)</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2006/04/04/4056.aspx</link><pubDate>Tue, 04 Apr 2006 23:08:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:4056</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/4056.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=4056</wfw:commentRss><description>&lt;P&gt;The following was copied, er, &amp;#8220;repurposed&amp;#8221; from a recent newsletter from my insurance company, State Farm. I was thinking I'd file this away for the next time I was looking for such a device, instead I figured I'd blog about it so I can google myself later. Any comments or other tips welcome.&lt;/P&gt;
&lt;P&gt;When purchasing an SPD, look for the following characteristics:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;The device needs to be UL listed 1449 2nd edition or approved by the CSA.&lt;/LI&gt;
&lt;LI&gt;The clamping voltage should be less than 400 volts for sensitive electronic equipment, 800 volts or less for &amp;#8220;whole house&amp;#8220; devices.&lt;/LI&gt;
&lt;LI&gt;Look for SPDs with a manufacturer's warranty. Some warranties cover the device; others also cover the damaged equipment.&lt;/LI&gt;
&lt;LI&gt;Any equipment that connects to the phone line (such as a telephone or computer modelm) or to an antenna/coaxial cable (such as a TV, Satellite receiver or cable modem) must use an SPD that is design to protect against surges that may enter the home on these connections.&lt;/LI&gt;
&lt;LI&gt;SPDs have a limited life span. The surge protecture must have some means of letting the user know it has failed and is no longer protecting the connected equipment.&lt;/LI&gt;
&lt;LI&gt;Do not rely on the joule rating as a measure of performance. The methods used to establish the joule rating may vary widely from manufacturer to manufacturer.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=4056" width="1" height="1"&gt;</description></item><item><title>Are we still talking about Stored Procedures vs. Dynamic SQL?</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2006/03/26/4053.aspx</link><pubDate>Sun, 26 Mar 2006 13:05:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:4053</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>5</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/4053.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=4053</wfw:commentRss><description>&lt;p&gt;&lt;a href="http://weblogs.asp.net/rhoward/archive/2003/11/17/38095.aspx"&gt;Rob Howard&lt;/a&gt; and &lt;a href="http://weblogs.asp.net/fbouma/archive/2003/11/18/38178.aspx"&gt;Frans Bouma&lt;/a&gt;&amp;nbsp;still are. And I guess, I am now too. Let's summarize a few of the facts from these counter points:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Any form of pre-compilation or cached query plan arguments are moot betweem SQL and Procs. Rob has some outdated information and Frans corrects that in his post. 
&lt;/li&gt;&lt;li&gt;Stored Procedures can offer the perf benefits if they are designed properly that Rob claims by avoiding round trips and unncessarily data transfer when trying to get computed or aggregated data out of the database. 
&lt;/li&gt;&lt;li&gt;Both are susceptible to SQL Injection attacks if the SQL is concatenated with parm values.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Let's talk about security. Frans thinks that Role Based security is the way to get fine grained security in your database while using embedded or dynamic SQL. Frans's solution of adding users and roles in the database is a dated technique back to client server 2 tier systems. Web-based or other wise distributed applications typically have a connection pool - and unless you are going to have a connection pool for each role, then you can't rely on SQL Server based role based security to be your cop. Frans goes on to talk about how views can be used to &lt;strong&gt;encapsulate&lt;/strong&gt;&amp;nbsp;security&amp;nbsp;rules just like a stored procedure. &lt;/p&gt;
&lt;p&gt;Both Frans and Rob talk about the brittleness of SQL with regards to schema changes. Rob thinks your &lt;strong&gt;SQL centralization/encapsulation&lt;/strong&gt;&amp;nbsp; should occurr inside of stored procedures. Frans think you should do this in a data access component that is part of your application. Frans hasn't really explained what his application's component does specifically but it sounds like he prefers to dynamically create the SQL on the fly by reflecting on schema of entities in his application.&lt;/p&gt;
&lt;p&gt;What both of them has avoided is any realization that talking to a SQL Server database is the same problem as talking to any external service. Whose responsibility is it to provide the encapsulation and deep understanding of the underlying database schema. The answer to that question can't be answer universally. Back in May 2005, I blogged about the notion of &lt;a href="http://objectsharp.com/blogs/barry/archive/2005/05/27/2031.aspx"&gt;DatabaseAsService&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Is your database a shared service between several applications? Some folks might even go as far as to say that their database is an enterprise service. Especially in this case it makes perfect sense to encapsulate complex internal schematics inside of the single shared resource the database. This can be done with Stored Procedures or Views, but do you really want each application to have intimate knowledge of deep schema details? That's brittle way beyond the scope of a single application.&lt;/p&gt;
&lt;p&gt;In other cases, your database is more like a file that your application persists its data and it is not a shared resource. In these cases, the database is not really a service in terms of Service Oriented Architecture principles. In fact, I'd go as far to argue in these cases that the db is such an intimate part of your application's design that there should be no “mapping“ of schema inside/outside of the database and that they could/should be the same. Go ahead and make the full set of tables/schema public to your application logic. &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=4053" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/ADO.NET/default.aspx">ADO.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/SQL/default.aspx">SQL</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2003/default.aspx">VS2003</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Services/default.aspx">Services</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Security/default.aspx">Security</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Architecture/default.aspx">Architecture</category></item><item><title>Upgrading from Team Foundation Server Beta 3 Refresh to RTM</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2006/03/22/4052.aspx</link><pubDate>Wed, 22 Mar 2006 21:38:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:4052</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/4052.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=4052</wfw:commentRss><description>&lt;P&gt;The other day I blogged about &lt;A href="http://objectsharp.com/blogs/barry/archive/2006/03/21/4154.aspx"&gt;which version of TFS RTM&lt;/A&gt; to install since only the Trial and Workgroup editions are available on MSDN as of today.&lt;/P&gt;
&lt;P&gt;Today I thought I'd blog a few thought about a common upgrade scenario: Upgrading Team Foundation Server Beta 3 Refresh to the RTM (Released to Manufacturing) version. In addition to having the software downloaded, you'll also need the upgrading package which you can &lt;A href="http://go.microsoft.com/fwlink/?LinkID=60341"&gt;download here&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;The upgrade package has a nice readme file that walks you through the process (more or less) of performing the upgrade. The upgrade steps include things like backing up your databases, verifying everything is cool, installing some hotfixes to both SQL Server and ASP.NET, migrating the database schemas, and finally reinstalling the RTM version of the software. There is also guidance around things that will be a little trickier if you've done things like customize the process templates or reports. The OLAP cubes have changed significantly so it might be better just to rewrite the reports.&lt;/P&gt;
&lt;P&gt;During the installation of the RTM software, the first step is a system health check. One gotcha I got hung up with a bit was the memory requirement. The server I was upgrading was not one that I did the original install. The memory requirement for TFS on a single server install is 1Gb. This (virtual) machine only had 512mb. I think I recall seeing this healthcheck in the Beta 3 Refresh and/or Release Candidate - but I believe it allowed you to skip past the warning. No such rope is provided to hang yourself with the RTM version.&lt;/P&gt;
&lt;P&gt;After the installation of the RTM bits, a concluding step is to make sure the Reporting Warehouse is updated (or being updated). All of these detailed instructions of course are covered in the document in the Upgrade Package.&lt;/P&gt;
&lt;P&gt;One of the other things you'll have to do is go around on to each client computer that has Team Explorer install and uninstall the beta, and reinstall the RTM bits as well. And then...sweet VSTS/TFS RTM goodness.&lt;/P&gt;
&lt;P&gt;Just to repeat, this is a very simple and common scenario that I figured I'd add a few ancedotes about. the whole process (just on the server) took me no more than 2-3 hours. If you have a dual server configuration and done some Work Item or Reporting customization, then there is some more planning and work involved.&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=4052" width="1" height="1"&gt;</description></item><item><title>Team Foundation Server RTM &amp; License Issues</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2006/03/21/4051.aspx</link><pubDate>Tue, 21 Mar 2006 23:23:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:4051</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/4051.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=4051</wfw:commentRss><description>You may have noticed that Team Foundation Server is now RTM and available on MSDN Subscriber Downloads. The standard version is not technically available yet but it's a licensing/pricing issue, not a technical one. If you are eager to get going now, your options are to download the Workgroup Edition which is limited to 5 users or the Standard Edition 180 day trial. &lt;A href="http://blogs.msdn.com/ericlee"&gt;Eric Lee &lt;/A&gt;[MS] tells me today that if you plan on purchasing the standard (full) version when the licenses become available (closer to May 1), then you should install the 180 day trial. When the license becomes available, you will be able to re-enter your new product key by running setup in maintenance mode.&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=4051" width="1" height="1"&gt;</description></item><item><title>Paying it backward to Hanselman's Walk for Diabetes</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2006/03/20/paying-it-backward-to-hanselman-s-walk-for-diabetes.aspx</link><pubDate>Mon, 20 Mar 2006 13:32:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:4050</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/4050.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=4050</wfw:commentRss><description>&lt;P&gt;&lt;A href="http://www.hanselman.com/blog/"&gt;Scott's an awesome blogger&lt;/A&gt; that I watch almost as closely as my inbox. He's an entertaining writer/speaker, but more than anything - the stuff I get from his blog helps, truly helps. Not only do I read whatever he has to say, I use his site for repeat references to tools, tips and techniques that I've once read on his site. He's a fellow MS Regional Director and one of the reasons I'm so humbled to be in such fine company.&lt;/P&gt;
&lt;P&gt;In the past 48 hours, Scott has helped me out twice - without knowing it even. &lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;&lt;A href="http://www.hanselman.com/blog/UndeletingDigitalPhotoFilesFromRemovableMedia.aspx"&gt;Back in August&lt;/A&gt;, Scott shared his problem (and solution) to his nephew deleting all the pictures on his camera. Firstly, we really know he deleted them himself. “my nephew“? Come on, really - how transparent. If this was true he would have referred to him as “My sister's little brat“. Anyway, I digress. Scott's solution was found in his successful use of &lt;A href="http://winutils.net/digital_picture.html"&gt;Digital Picture Recovery&lt;/A&gt;. Last week my father returned from a trip to Chicago where he had not only snapped&amp;nbsp;250 pictures of his newest grandchild, but somehow had managed to also format the memory chip. I can almost see him now. “Hmm, format - cool, I can improve the format of my pictures, let's try this out“. Before he had a chance to tell me about it - he had also taken 3 new pictures on the newly formatted card before I told him to stop. Did I spend hours trying to unsuccessfully undelete this stuff myself? No. Did I spend hours surfing the net and trying several tools to undelete this stuff? No. Instead I spent about 25 minutes looking up the entry in Scott's blog, downloading the demo, verifying it would work, then paying for the upgraded real version and doing the restore. 235 of 250 pictures saved. Thanks Scott. 
&lt;LI&gt;This past weekend, I finally installed a second video card in my Windows Media Centre Machine. My wife uses an old laptop of mine on our kitchen breakfast bar....about 15 feet from the MCE box. We use our MCE box for MP3's, a DVD player, and picture and&amp;nbsp; video viewing. We don't use it to watch TV because we have a dual tuner HDTV PVR (Motorola 6412) that hauls. The old laptop is brutal (half of the keys are missing thanks to a 3 year old with a keyboard fetish). My goal was to dual head the MCE and run a long VGA cable to the counter where I purchased a new Dell 20“ widescreen monitor and wireless keyboard/mouse. I also ran 2 USB extension cables with a repeater to the usb hub on the monitor where the keyboard/mouse plug into. It's all great, but you really need some improvements to the dual monitor support in Windows, especially if you are going to essentially use it like two computers and where the monitors are not side by each. ATI's Hydravision helps with some dialog pinning functions, but you really need a second task bar. I also wanted to have my screensaver of photos show up on both monitors. I know Scott has done lots of messing around with multiple monitors so I went through his blog and found &lt;A href="http://www.hanselman.com/blog/Permalink.aspx?guid=213"&gt;this&lt;/A&gt; to &lt;A href="http://www.realtimesoft.com/"&gt;Ultramon&lt;/A&gt;.&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;In general, &lt;A href="http://www.hanselman.com/blog/ScottHanselmans2005UltimateDeveloperAndPowerUsersToolList.aspx"&gt;Scott's Ultimate List of Tools&lt;/A&gt; is one of my first places to go (before Google) when I'm looking for some nifty tool or widget to fill a gap in my setup. That fact Scott is a .NET developer/architect is a bonus since he also blogs about things that affect that part of my life too. &lt;/P&gt;
&lt;P&gt;Now Scott also blogs about &lt;A href="http://www.hanselman.com/blog/CategoryView,category,Diabetes.aspx"&gt;Diabetes&lt;/A&gt;. He's done a great job of explaining it, and how he works on making it easier to live with. He almost makes me wish I had Diabetes so I could play with all the the toys he's got physically hooked up to himself. The sad part though, is that despite the best technology has to offer, it's still a huge pain in the ass to live with it. If you don't have Diabetes and want to understand what it's all about, I suggest you read his blog. I've referred a few friends and relatives with Diabetes to his blog in the hopes they'll learn more about ways to better live with it.&lt;/P&gt;
&lt;P&gt;Now here's the kicker. Scott doesn't ask for much from his blog readers. Many of you have reaped benefits from reading his blog and if you have, now is a great chance to pay it back. Scott is trying to raise $10,000 in his fight to cure Diabetes with a Walk on May 6th. You can make a tax deductible donation via credit card or paypal and it will take you less than 5 minutes. &lt;A href="http://www.hanselman.com/blog/CategoryView,category,Diabetes.aspx"&gt;Follow the links on his page.&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://digg.com/software/Team_Hanselman_and_Diabetes_Walk_2006"&gt;Digg it.&lt;/A&gt;&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=4050" width="1" height="1"&gt;</description></item><item><title>10% Discount on VS Live Toronto [Via Guy Barrette]</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2006/03/16/4049.aspx</link><pubDate>Thu, 16 Mar 2006 13:49:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:4049</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/4049.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=4049</wfw:commentRss><description>&lt;P&gt;[&lt;A href="http://dotnet-expertise.com/cs/blogs/guy_barrette/archive/2006/03/16/422.aspx"&gt;Via Guy Barrette&lt;/A&gt;]&lt;/P&gt;
&lt;P&gt;Wanna save 10% on VSLive Toronto?&lt;BR&gt;&lt;A href="http://www.ftponline.com/conferences/vslive/2006/toronto/"&gt;http://www.ftponline.com/conferences/vslive/2006/toronto/&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Then use this&amp;nbsp;code when you register: &lt;STRONG&gt;TGUYB&lt;/STRONG&gt;&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=4049" width="1" height="1"&gt;</description></item><item><title>If Microsoft made the IPod</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2006/03/14/4048.aspx</link><pubDate>Wed, 15 Mar 2006 02:55:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:4048</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/4048.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=4048</wfw:commentRss><description>&lt;P&gt;&lt;A href="http://video.google.com/videoplay?docid=36099539665548298&amp;amp;q=microsoft+ipod"&gt;This video&lt;/A&gt; is not exactly new, but new to me. This is only funny because a) it's true, and b) &lt;A href="http://www.ipodobserver.com/story/25957"&gt;Microsoft made the video&lt;/A&gt;.&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=4048" width="1" height="1"&gt;</description></item><item><title>Claudio Lassala @ Houston .NET UG on LInQ Mar 9, 2006</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2006/03/06/4033.aspx</link><pubDate>Mon, 06 Mar 2006 21:43:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:4033</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/4033.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=4033</wfw:commentRss><description>Fellow MVP &lt;A href="http://spaces.msn.com/claudiolassala/blog/cns!E2A4B22308B39CD2!119.entry"&gt;Claudio Lassala&lt;/A&gt;&amp;nbsp;will be speaking at the &lt;A href="http://www.hdnug.org/hdnug/Events.aspx"&gt;Houston .NET UG March 9th from 6:30-8:30pm&lt;/A&gt;, on one of my favorite topics: Language INtegrated Query (LINQ).&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=4033" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Orcas/default.aspx">Orcas</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/ADO.NET/default.aspx">ADO.NET</category></item><item><title>Class design considerations for extension methods and anonymous types</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2006/03/05/4022.aspx</link><pubDate>Sun, 05 Mar 2006 19:22:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:4022</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/4022.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=4022</wfw:commentRss><description>&lt;P&gt;&lt;FONT face="Courier New" size=2&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;One of my readers was watching the DNRTV episode I did on LINQ recently and had this question:&amp;nbsp;&lt;/FONT&gt;&lt;/P&gt;
&lt;BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px"&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;At some point, when you're explaining object initializers and anonymous types, you say something regarding extension methods, like how they could be used with the anonymous types. I'm not sure how that'd work: if the anonymous type gets named dynamically as something like "&amp;lt;Projection&amp;gt;F__4", and if the extension is declared during compile time as something like "method (this type)", how can we extend the dynamic class?&lt;/FONT&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT face=Verdana&gt;He is correct in pointing out the difficulty. These projection or anonymous types have dynamically declared names and when you declare an extension method, you must specify the type after "this" in the argument clause. &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/FONT&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;&lt;/FONT&gt;
&lt;P&gt;&lt;FONT size=2&gt;&lt;FONT face=Verdana&gt;One thing that is not obvious is that the type specified after &amp;#8220;this&amp;#8221; in an extension method doesn't have to be the exact type, but can be an ancestor or interface implemented by the type you are ultimately wishing to extend. &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/FONT&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;&lt;/FONT&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;&lt;FONT size=2&gt;public static float GetArea(this IPolygon shape)&lt;/FONT&gt;&lt;FONT size=2&gt;{...&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;}&lt;/FONT&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/FONT&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;&lt;/FONT&gt;
&lt;P&gt;&lt;FONT size=2&gt;&lt;FONT face=Verdana&gt;As an example, the above extension method could be used as an extension method over anything that implements IPolygon. &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/FONT&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;&lt;/FONT&gt;
&lt;P&gt;&lt;FONT size=2&gt;&lt;FONT face=Verdana&gt;The downside is that anonymous types (and linq projections) inherit directly from object and I don't expect that they will implement any special interfaces (the goal is too keep them simple for C# 3.0). What are you left to do? Create extension methods on "object". That is certainly a theoretical option I suppose, but that seems a little bit extreme.&lt;/FONT&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/FONT&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;&lt;/FONT&gt;
&lt;P&gt;&lt;FONT size=2&gt;&lt;FONT face=Verdana&gt;To be honest though, try to think of real cases when you'd want to extend an anonymous type. If the type is truly anonymous, you know absolutely nothing about it, and what assumptions can you really make about it in an extension method? Truly, in some cases, you are going to choose to implement a named type instead of an anonymous type, and it appears that we'll see refactoring support in the tools to promote an anonymous type to a real type. This is a very likely scenario.&lt;/FONT&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/FONT&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;&lt;/FONT&gt;
&lt;P&gt;&lt;FONT size=2&gt;&lt;FONT face=Verdana&gt;The reasonable cases that I can think of where anonymous types are the preference (i.e. I have no burning need to have a named type) but still need (and can) extend them, is when they are used in the context of a collection or another generic type. &lt;/FONT&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/FONT&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;&lt;/FONT&gt;
&lt;P&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;&lt;FONT face=Verdana&gt;For a good example of that, let's take a look at some of the extension methods provided by Linq itself.&lt;/FONT&gt;
&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;
&lt;P&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;public static class Sequence {
&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;public static IEnumerable&amp;lt;T&amp;gt; Where&amp;lt;T&amp;gt;(
&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;this IEnumerable&amp;lt;T&amp;gt; source,
&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Func&amp;lt;T, bool&amp;gt; predicate) {
&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;
&lt;P&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;foreach (T item in source)
&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;if (predicate(item))
&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;yield return item;
&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}
&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;}&lt;/FONT&gt;&lt;/FONT&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Consider that this is an Extension method for anything IEnumerable&amp;lt;T&amp;gt;. In this case, we're using this extension method against an IEnumerable collection of type &amp;lt;T&amp;gt; - a generic. That generic type could be an anonymous type. But the important information here is that we know something more about the anonymous type here and that is that it's used inside of an Enumerable collection, and hence we can provide the value of iterating through it in the foreach, evaluating some criteria, and yielding the items that pass the criteria into another collection.&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=4022" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Orcas/default.aspx">Orcas</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2003/default.aspx">VS2003</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Architecture/default.aspx">Architecture</category></item><item><title>Speaking at Chicago .NET Users Group in Downers Grove on March 15th</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2006/03/03/4009.aspx</link><pubDate>Fri, 03 Mar 2006 17:51:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:4009</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/4009.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=4009</wfw:commentRss><description>&lt;P&gt;I'll be speaking at the Chicago .NET Users Group in Downers Grove on March 15th&lt;/P&gt;
&lt;P&gt;Stay tuned for details....&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.cnug.org/Default.aspx?tabid=31"&gt;http://www.cnug.org/Default.aspx?tabid=31&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=4009" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2005/default.aspx">VS2005</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/ADO.NET/default.aspx">ADO.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/SQL/default.aspx">SQL</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2003/default.aspx">VS2003</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Events/default.aspx">Events</category></item><item><title>The Code Room: Episode 3 - Breaking into Las Vegas</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2006/02/27/3983.aspx</link><pubDate>Mon, 27 Feb 2006 18:06:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:3983</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/3983.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=3983</wfw:commentRss><description>&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;It's the good guys vs. the bad guys, fighting over millions of dollars. Could this happen to you? Maybe it already has.&lt;/SPAN&gt;&lt;/FONT&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;A title=http://www.thecoderoom.com/vegas/ href="http://www.thecoderoom.com/vegas/"&gt;&lt;FONT color=#800080&gt;http://www.thecoderoom.com/vegas/&lt;/FONT&gt;&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=3983" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/ADO.NET/default.aspx">ADO.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2003/default.aspx">VS2003</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Security/default.aspx">Security</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category></item><item><title>Visual Studio Team System and Team Foundation Server Seminar across Canada</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2006/02/22/3944.aspx</link><pubDate>Wed, 22 Feb 2006 16:00:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:3944</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/3944.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=3944</wfw:commentRss><description>&lt;P&gt;&lt;SPAN&gt;In November, 2005, Microsoft launched Visual Studio 2005, a major new release of its developer tools environment, and the foundation of Microsoft platform development for the next few years. In addition, this marked our entry into the lifecycle tools market, with the addition of Visual Studio Team System and the Team Foundation Server, to support end-to-end system development scenarios. We are bringing the tools we have been using for years internally to market to help address customers need to more rapidly develop and deliver solutions that meet the business performance, scalability and end user requirements. 
&lt;P&gt;&lt;/P&gt;&lt;/SPAN&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Visual Studio Team System adds significant new capabilities and value to the suite of Microsoft developer tools, with advanced end-to-end role collaboration, real-time reporting and analysis, and a host of new tools covering architecture, development, and testing. 
&lt;P&gt;&lt;/P&gt;&lt;/SPAN&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;BR&gt;Many of you may have already transition to one of the individual role based offerings in Visual Studio Team System, but are still learning all the new tools and benefits of the offering. This session is intended to provide an introduction to Visual Studio Team System, highlight the new functionality and business value in each offering, and outline the transition steps for existing Visual Studio and MSDN customers. We will also demonstrate Visual Studio Team System in action. 
&lt;P&gt;&lt;/P&gt;&lt;/SPAN&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;BR&gt;This is your opportunity to attend a free education session and fast track your knowledge and use of Visual Studio Team System. 
&lt;P&gt;&lt;/P&gt;&lt;/SPAN&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;U&gt;&lt;SPAN&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;&lt;/SPAN&gt;&lt;/U&gt;&lt;/B&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;SPAN&gt;On-Site VSTS Event Details &amp;amp; Registration:&lt;/SPAN&gt;&lt;/B&gt;&lt;B&gt;&lt;SPAN&gt; &lt;BR&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;B&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;SPAN&gt;City:&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN&gt; Mississauga &lt;BR&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN&gt;Date/Time&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN&gt;: February 22&lt;SUP&gt;nd&lt;/SUP&gt; 2006 -- 3:00 to 5:00pm &lt;BR&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN&gt;Location&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN&gt;: MS Mississauga Office MPR Room &lt;BR&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN&gt;Conference ID&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN&gt;: 1032290174 &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN&gt;TO REGISTER for this event &lt;SPAN&gt;&lt;A href="http://www.microsoft.com/canada/events/event_details_ww.aspx?event_id=1032290174&amp;amp;go.x=6&amp;amp;go.y=12"&gt;click here&lt;/A&gt;&lt;/SPAN&gt; &lt;/P&gt;
&lt;P&gt;&lt;/P&gt;&lt;/SPAN&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;SPAN&gt;City:&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN&gt; Vancouver:&lt;BR&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN&gt;Date/Time&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN&gt;: March 2&lt;SUP&gt;nd&lt;/SUP&gt; 2006 -- 9:00 to 11:00am &lt;BR&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN&gt;Location&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN&gt;: MS Vancouver OFC&lt;/SPAN&gt; &lt;BR&gt;&lt;B&gt;&lt;SPAN&gt;Conference ID&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN&gt;: 1032290176 &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN&gt;TO REGISTER for this event &lt;A href="http://www.microsoft.com/canada/events/event_details_ww.aspx?event_id=1032290176&amp;amp;go.x=13&amp;amp;go.y=9"&gt;click here&lt;/A&gt; 
&lt;P&gt;&lt;/P&gt;&lt;/SPAN&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;SPAN&gt;City:&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN&gt; Mississauga &lt;BR&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN&gt;Date/Time&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN&gt;: March 21&lt;SUP&gt;st&lt;/SUP&gt; 2006 -- 1:00 to 3:00pm &lt;BR&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN&gt;Location&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN&gt;: MS Mississauga Office MPR Room &lt;BR&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN&gt;Conference ID&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN&gt;: 1032290177 &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN&gt;TO REGISTER for this event &lt;SPAN&gt;&lt;A href="http://www.microsoft.com/canada/events/event_details_ww.aspx?event_id=1032290177&amp;amp;go.x=14&amp;amp;go.y=6"&gt;click here&lt;/A&gt;&lt;/SPAN&gt; 
&lt;P&gt;&lt;/P&gt;&lt;/SPAN&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;SPAN&gt;City:&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN&gt; Ottawa &lt;BR&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN&gt;Date/Time&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN&gt;: Apr 19&lt;SUP&gt;th&lt;/SUP&gt; 2006 -- 1:00 to 3:00pm &lt;BR&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN&gt;Location&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN&gt;: MS Ottawa Office Glacier Room &lt;BR&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN&gt;Conference ID&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN&gt;: 1032290179 &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN&gt;TO REGISTER for this event &lt;SPAN&gt;&lt;A href="http://www.microsoft.com/canada/events/event_details_ww.aspx?event_id=1032290179&amp;amp;go.x=10&amp;amp;go.y=11"&gt;click here&lt;/A&gt;&lt;/SPAN&gt; 
&lt;P&gt;&lt;/P&gt;&lt;/SPAN&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;SPAN&gt;City:&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN&gt; Calgary &lt;BR&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN&gt;Date/Time&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN&gt;: May 17&lt;SUP&gt;th&lt;/SUP&gt; 2006 -- 9:00 to 11:00am &lt;BR&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN&gt;Location&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN&gt;: MS Calgary Office Bldg (*TBC) - registrants will be notified of location&lt;/SPAN&gt; &lt;BR&gt;&lt;B&gt;&lt;SPAN&gt;Conference ID&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN&gt;: 1032290181 &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN&gt;TO REGISTER for this event &lt;SPAN&gt;&lt;A href="http://www.microsoft.com/canada/events/event_details_ww.aspx?event_id=1032290181&amp;amp;go.x=16&amp;amp;go.y=7"&gt;click here&lt;/A&gt;&lt;/SPAN&gt; &lt;BR&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN&gt;City:&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN&gt; Toronto 
&lt;P&gt;&lt;/P&gt;&lt;/SPAN&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;SPAN&gt;Date/Time&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN&gt;: June 21&lt;SUP&gt;st&lt;/SUP&gt; 2006 -- 1:00 to 3:00pm &lt;BR&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN&gt;Location&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN&gt;: Intercontinental Hotel on Front Street (*TBC) - downtown Toronto&lt;/SPAN&gt; &lt;BR&gt;&lt;B&gt;&lt;SPAN&gt;Conference ID&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN&gt;: 1032290183 &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN&gt;TO REGISTER for this event &lt;SPAN&gt;&lt;A href="http://www.microsoft.com/canada/events/event_details_ww.aspx?event_id=1032290183&amp;amp;go.x=17&amp;amp;go.y=7"&gt;click here&lt;/A&gt;&lt;/SPAN&gt; &lt;BR&gt;&lt;/SPAN&gt;&lt;I&gt;&lt;SPAN&gt;*TBC &amp;#8211; To be confirmed 
&lt;P&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/I&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;I&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;I&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;SPAN&gt;Alternative Registration&lt;/SPAN&gt;&lt;/B&gt;&lt;B&gt;&lt;SPAN&gt; &lt;SPAN&gt;Options: 
&lt;P&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/B&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;UL type=disc&gt;
&lt;LI&gt;&lt;SPAN&gt;By calling 1-877-673-8368 to reserve your place, 24 hours a day, 7 days a week, and quoting the event ID.&lt;/SPAN&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&lt;SPAN&gt;Register online at www.microsoft.com/canada/events by clicking on Search Event or Event ID in the left hand column and typing in the event ID. &lt;/SPAN&gt;&lt;SPAN&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=3944" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2003/default.aspx">VS2003</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Southern+Ontario/default.aspx">Southern Ontario</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Events/default.aspx">Events</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/MSF/default.aspx">MSF</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VSTS/default.aspx">VSTS</category></item><item><title>Scientific Study on Workstyles in Software and Interaction Design</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2006/02/16/3885.aspx</link><pubDate>Thu, 16 Feb 2006 16:59:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:3885</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/3885.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=3885</wfw:commentRss><description>Pedro Campos from the University of Madeira is conducing a very short survey. If you design applications and the user interactions then Pedro would be most pleased if you could spend 2-3 minutes on his short survey. &lt;FONT size=2&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;A href="http://www.surveymonkey.com/s.asp?u=711631790575"&gt;&lt;U&gt;&lt;FONT color=#0000ff size=2&gt;http://www.surveymonkey.com/s.asp?u=711631790575&lt;/U&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=3885" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/MSF/default.aspx">MSF</category></item><item><title>VSLive 2006 Toronto Dates announced</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2006/01/27/3775.aspx</link><pubDate>Fri, 27 Jan 2006 17:50:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:3775</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/3775.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=3775</wfw:commentRss><description>Not sure this is news to most of you but VSLive is making another trip to Toronto again this year April 24-27th, 2006. It's back at the Toronto Congress Centre out by the airport again (I have mixed emotions about that one). Anyway, make sure to check it out: &lt;A href="http://www.ftponline.com/conferences/vslive/2006/toronto/"&gt;http://www.ftponline.com/conferences/vslive/2006/toronto/&lt;/A&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=3775" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2003/default.aspx">VS2003</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Southern+Ontario/default.aspx">Southern Ontario</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Events/default.aspx">Events</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category></item><item><title>Get Rich by Running Windows XP on a MacBook</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2006/01/27/3773.aspx</link><pubDate>Fri, 27 Jan 2006 15:43:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:3773</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/3773.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=3773</wfw:commentRss><description>&lt;P&gt;Colin Nederkoorn is hosting a contest over at &lt;A href="http://winxponmac.com/"&gt;winxponmac.com&lt;/A&gt;&amp;nbsp;to see who can get a MacBook Pro to natively dual boot into Windows XP first. The new MacBook, which is built on a 32-bit dual core Intel CPU, starts shipping February 15th, 2006 and he has his order placed. But if he can't run WinXP on it, he's going to have to send it back &lt;/P&gt;
&lt;P&gt;Even though the new MacBook Pro is an Intel based machine, it forgoes a traditional BIOS in favour of a new EFI based hardware abstraction. While Microsoft officially supports EFI motherboards in Windows Vista and and 64-bit versions of Windows, they have stated that they will not support EFI in Windows XP 32-bit. There is hope that a BIOS compatibility mode normally included on Intel's EFI chipsets will be present on the shipping version versions of the MacBook. If not, maybe it can be retrofitted. Apple has publicly stated that they will not do anything specifically to prevent running Windows XP on their hardware so optimism is running high..&lt;/P&gt;
&lt;P&gt;Colin has offered $100 of his own money for the contest and invited others to add to the pool which is now over $7500....wow!&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=3773" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Vista/default.aspx">Vista</category></item><item><title>Bell Mobility's latest bluetooth offering: Samsung SPH-a920</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2006/01/01/3688.aspx</link><pubDate>Sun, 01 Jan 2006 16:37:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:3688</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>289</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/3688.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=3688</wfw:commentRss><description>&lt;P&gt;Back in August I wrote about &lt;A href="http://objectsharp.com/blogs/barry/archive/2005/08/25/2971.aspx"&gt;Bell Mobility's first (and crippled) Bluetooth phone&lt;/A&gt;. This past week I picked up their latest phone with Bluetooth capabilities, the Samsung SPH-a920. I must say that I'm much happier with this phone so far. In particular the phone supports the OBEX profile for Object Exchange between two devices. I haven't done enough research about the software I can use to make use of this feature, but it's nice to know my phone has this support. Primarily I wanted to be able to send my pictures from the built in camera to my PC. Looks like the software in the phone will only allow me to send contacts. Calendar appointments and photos doesn't seem to have that option. &lt;/P&gt;
&lt;P&gt;The good news for pictures is that this camera has a slot for a transflash memory card and they include a 32mb card to get you started (in addition to the 24mb internal memory) and a SD flash adapter so I can easily pop the chip out and pop it into the card reader of my computer. Problem solved. &lt;/P&gt;
&lt;P&gt;In addition to being a 1.3 megapixel camera, there is also a camcorder mode for taking up to 30 second videos. When I get a chance I'll pop a few videos up on this blog. &lt;/P&gt;
&lt;P&gt;Supporting a flash memory and video, you can imagine this phone probably plays mp3's too. I'm not a fan of flip phones, but the outer face has a separate display and a few buttons for navigating through your play list. The package also includes stereo headphones with a microphone. A nice touch. &lt;/P&gt;
&lt;P&gt;Speaking of nice touches, I was pleasantly surprised to find they also include a USB data cable in the box. The unfortunate part of that cable is that it can't be used for charging the phone too. I'll have to look at 3rd party options like ziplinq for that. &lt;/P&gt;
&lt;P&gt;In addition to OBEX, Audio Gateway and Dial Up Networking profiles are also supported. Which brings me to the next feature which is support for the EV-DO network. I haven't connected yet, but will be trying this in the next few days to see what the speeds and coverage are like. I generally have a week CDMA and 1X signal in my house, but surprisingly I can get an EV-DO signal most of the time. &lt;/P&gt;
&lt;P&gt;All in all, my out of box experience has been pretty high with this phone. Takes the sting out of being stuck on the CDMA network.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Update (Feb 17/06): The Bell specific user guide for the Samsung SPH-a920 can be found here: &lt;A href="http://bell.userguides.ca/guides/interactive.aspx?tab=h&amp;amp;device=76"&gt;http://bell.userguides.ca/guides/interactive.aspx?tab=h&amp;amp;device=76&lt;/A&gt;. It's a nice interactive guide.&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Pricing for Mobile Data through your phone is available here: &lt;A href="http://www.businessonthego1.com/english/wp_datapricing_cards.asp"&gt;http://www.businessonthego1.com/english/wp_datapricing_cards.asp&lt;/A&gt;. You should call 1.877.DATA.123 (1.877.328.2123) to sign up for a package.&lt;/STRONG&gt;&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=3688" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Southern+Ontario/default.aspx">Southern Ontario</category></item><item><title>How Do I Revert a Changest in Team Foundation Source Control?</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2005/12/18/3675.aspx</link><pubDate>Sun, 18 Dec 2005 18:47:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:3675</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/3675.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=3675</wfw:commentRss><description>&lt;P&gt;This question came up in our VSTS for Developers Training Course in Toronto this week.&amp;nbsp;One of my students wanted to know how to undo or rollback a checkin, something you could do in Visual Source Safe. &lt;/P&gt;
&lt;P&gt;Unfortunately this feature was cut for V1 of Team Foundation Server. &lt;A href="http://blogs.msdn.com/buckh"&gt;Buck Hodges&lt;/A&gt; and Brian Harry from Microsoft share how this was &lt;A href="http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=6237&amp;amp;SiteID=1"&gt;a painful cut to help get V1 out the door in this forum post.&lt;/A&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Update: James Manning (via the comments) points out that the Team Foundation PowerToy will do this for you. Great tool btw - &lt;A href="http://blogs.msdn.com/buckh/archive/2005/11/16/493401.aspx"&gt;check it out&lt;/A&gt;. Includes the following tools: Unshelve &amp;amp; Merge local changes, Rollback, Online (syncs offline changes to source control), Get Changset, and Undo Unchanged.&lt;/STRONG&gt;&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=3675" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2005/default.aspx">VS2005</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Orcas/default.aspx">Orcas</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2003/default.aspx">VS2003</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Tips/default.aspx">Tips</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VSTS/default.aspx">VSTS</category></item><item><title>Vancouver Launch of Visual Studio and SQL Server 2005</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2005/11/22/3622.aspx</link><pubDate>Tue, 22 Nov 2005 15:37:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:3622</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/3622.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=3622</wfw:commentRss><description>&lt;P&gt;I'm in&amp;nbsp;British Columbia&amp;nbsp;for a few days for the Vancouver stop of the Canadian Launch of Visual Studio and SQL Server 2005. They are expecting a great turnout - should be one of the largest MS events in town in recent memory. Last night we had a User Group reception and I got a chance to meet some of the local community leaders and technorati. &lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="http://weblogs.asp.net/RChartier/"&gt;Rob Chartier&lt;/A&gt;&amp;nbsp;is&amp;nbsp;a smart guy who is going to be working at the&amp;nbsp;Ask the Experts Cabana area as well. He is also working on a &lt;A href="http://weblogs.asp.net/rchartier/archive/2005/11/21/431141.aspx"&gt;Code Camp&lt;/A&gt; out here in Vancouver on March 18th. &lt;A href="http://www.vancouvercodecamp.com/Home/tabid/36/ctl/Register/Default.aspx"&gt;Registration is now open&lt;/A&gt;.&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://www.dotnetnuke.com/Community/Blogs/tabid/825/BlogID/1/Default.aspx"&gt;Shaun Walker&lt;/A&gt;&amp;nbsp;of &lt;A href="http://www.dotnetnuke.com/"&gt;DotNetNuke&lt;/A&gt; open source portal fame was also there. We had some interesting conversations around the challenges of managing an open source project. I was happy to hear how commercially successfully they were as well.&lt;/LI&gt;
&lt;LI&gt;My friend &lt;A href="http://geekswithblogs.net/mflasko/"&gt;Mike Flasko&lt;/A&gt; was also up from Redmond. He is now the Program Manager for the System.Net team and is doing well in his new role at Microsoft. They have some pretty exciting stuff in the works for Orcas and beyond. He also has an open call on his blog for feedback on &lt;A href="http://geekswithblogs.net/mflasko/archive/2005/09/21/54585.aspx"&gt;what you want in Orcas for System.NET&lt;/A&gt;.&lt;/LI&gt;
&lt;LI&gt;I also had a chance to meet Graham Jones who runs Vantug out here. &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;All in all in was a fun evening. &lt;A href="http://kiosk.gartner.com/sanfrancisco/main/agenda/bio.cfm?SpeakerID=283"&gt;Ilya Bukshteyn&lt;/A&gt; is up from Redmond to do the Keynote presentation which I'm looking forward too. John Bristowe and Ilya are sure to have some lively banter during the demos. &lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=3622" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2005/default.aspx">VS2005</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Orcas/default.aspx">Orcas</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/SQL/default.aspx">SQL</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2003/default.aspx">VS2003</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Events/default.aspx">Events</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category></item><item><title>Migrating ASP.NET 1.x sites to ASP.NET 2.0</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2005/11/11/3595.aspx</link><pubDate>Fri, 11 Nov 2005 23:49:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:3595</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/3595.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=3595</wfw:commentRss><description>&lt;P&gt;One of the questions we got during the Q&amp;amp;A of the Ottawa VS Launch yesterday was around problems in migrating ASP.NET applications from 2002/2003 to 2005. &lt;/P&gt;
&lt;P&gt;The Web Platform Team has put together a nice step-by-step guide that covers some best practices to ensure a successful migration effort which should take you &amp;#8220;the better part of a day&amp;#8221; according to them. &lt;A href="http://msdn.microsoft.com/asp.net/default.aspx?pull=/library/en-us/dnaspp/html/webprojectsvs05.asp"&gt;http://msdn.microsoft.com/asp.net/default.aspx?pull=/library/en-us/dnaspp/html/webprojectsvs05.asp&lt;/A&gt;&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=3595" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2005/default.aspx">VS2005</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2003/default.aspx">VS2003</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VB.NET/default.aspx">VB.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Southern+Ontario/default.aspx">Southern Ontario</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/WebForms/default.aspx">WebForms</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category></item><item><title>Hello 2.0</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2005/11/06/3570.aspx</link><pubDate>Sun, 06 Nov 2005 23:32:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:3570</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/3570.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=3570</wfw:commentRss><description>&lt;P&gt;This past week we saw the final bits of SQL Server 2005 and Visual Studio 2005 get shipped up to MSDN Subscriber Downloads. Next week we'll see the official launch of these same products to the rest of the world, ushered in with a rolling thunder of launch events and parties stretching into the rest of the month and beyond. Microsoft does a great job of fostering community with events like this.&lt;/P&gt;
&lt;P&gt;Technically there is a lot to like about the updates to the platform and&amp;nbsp;I share most of &lt;A href="http://weblogs.asp.net/jsemeniuk/archive/2005/11/05/429655.aspx"&gt;Joel's top picks&lt;/A&gt;. I've been building applications, consulting and teaching developers on this platform for 4 years now and it feels quite legacy, if not common place,&amp;nbsp;to me now. However, in many peoples' eyes, this becomes a critical moment in time: .&lt;STRONG&gt;&lt;U&gt;NET is no longer a 1.0 product&lt;/U&gt;&lt;/STRONG&gt;. Of course I'm speaking about groups who are not developing anything significant in .NET today, and with this maturity milestone, allows them into this &amp;#8220;new&amp;#8220; world.&lt;/P&gt;
&lt;P&gt;We've been watching the adoption and market maturity of .NET closely for the past few years, and a bit to my surprise I'm starting to see a lot of groups come to .NET for the very first time with 2.0. &lt;/P&gt;
&lt;P&gt;This coming Tuesday I have the great pleasure of being involved in the ushering in of this new era at the Toronto launch where we are expecting between 3,000 and 4,000 developers and IT professionals come together. Early statistics are showing that somewhere between 35-50% of these folks are new to .NET. Similar events are taking place all over the world during this week and stretching out into December and beyond. For Canada, Toronto is just the first stop in a long list of cities from coast to coast. Personally, I'll be presenting at Toronto, Ottawa, Vancouver, Montreal, Quebec City and Halifax. &lt;/P&gt;
&lt;P&gt;The overwhelming registration statics tics in all cities tells me two things: Firstly that .NET 2.0 is going to be adopted very quickly. Secondly, and more importantly, is that the software development industry in Canada is vibrantly growing and that indeed....&lt;STRONG&gt;Software Matters!&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Consider&amp;nbsp;two things:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Software costs a lot of money to design, build, test and deploy. Much more than it should.&lt;/LI&gt;
&lt;LI&gt;Software projects fail at an alarming rate. Failure can be defined as any of the following: Late, Over Budget, Under Functionality, Buggy, Doesn't meet requirements.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Yet despite these two glaring issues, the business value of software is so compelling, that people are willing to keep investing in building software at increasing rates. &lt;/P&gt;
&lt;P&gt;And then there is Visual Studio and SQL Server 2005:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;One of ASP.NET 2.0's design goals was to &lt;STRONG&gt;reduce the number of lines&lt;/STRONG&gt; of code in a typical application by over 50%.&lt;/LI&gt;
&lt;LI&gt;SQL Server 2005 has been enhanced to be more reliable and secure, while at the same time bringing the 4GL &lt;STRONG&gt;productivity&lt;/STRONG&gt; associated with C#, VB.NET and the .NET Framework into the database engine itself.&lt;/LI&gt;
&lt;LI&gt;Visual Studio Team System 2005 was built from the ground up to &lt;STRONG&gt;help project's stay on track&lt;/STRONG&gt; by integrating developers, architects, testers, project managers and other stakeholders into a common extensible repository known as Team Foundation Server.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Coincidence? I hope not ;)&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=3570" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2005/default.aspx">VS2005</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/SQL/default.aspx">SQL</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2003/default.aspx">VS2003</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VB.NET/default.aspx">VB.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Southern+Ontario/default.aspx">Southern Ontario</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/WinForms/default.aspx">WinForms</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/WebForms/default.aspx">WebForms</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Events/default.aspx">Events</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VSTS/default.aspx">VSTS</category></item><item><title>MSN Search can help you find X</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2005/10/19/3511.aspx</link><pubDate>Wed, 19 Oct 2005 15:57:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:3511</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>4</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/3511.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=3511</wfw:commentRss><description>&lt;P&gt;It seems wierd that you'd want to go to a search engine to solve an expression for X (after all, the answer isn't &amp;#8220;out there&amp;#8221;, it's in the expression itself). But oh well, MSN Search to the rescue&lt;/P&gt;
&lt;P&gt;&lt;A href="http://search.msn.com/results.aspx?q=%28%28122.78%2B%28x%5E2%29%29%2F190%29%3D.93&amp;amp;FORM=QBNO" target=_blank&gt;((122.78+( x^2))/190)=.93&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;[via &lt;A href="http://www.lifehacker.com/software/msn-search/msn-search-solves-for-x-131852.php"&gt;LifeHacker&lt;/A&gt;]&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=3511" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Humours+Distractions/default.aspx">Humours Distractions</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Southern+Ontario/default.aspx">Southern Ontario</category></item><item><title>New Microsoft Solutions Architecture MVP</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2005/10/10/3495.aspx</link><pubDate>Tue, 11 Oct 2005 02:04:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:3495</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/3495.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=3495</wfw:commentRss><description>The Architect MVP community &lt;A href="http://samgentile.com/blog/archive/2005/10/10/32019.aspx"&gt;just got better&lt;/A&gt;.&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=3495" width="1" height="1"&gt;</description></item><item><title>Mainstream Local Search Maps must have a scalability problem</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2005/10/08/mainstream-local-search-maps-must-have-a-scalability-problem.aspx</link><pubDate>Sat, 08 Oct 2005 18:57:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:3492</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/3492.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=3492</wfw:commentRss><description>&lt;P&gt;“Tim Horton's near Hamilton, ON” should be a test case for any good local/map search enginge.&lt;/P&gt;
&lt;P&gt;MSN Local?&lt;/P&gt;
&lt;P&gt;&lt;A href="http://search.msn.com/local/results.aspx?q=Tim+Horton%27s&amp;amp;w=hamilton%2C+Ontario%2C+Canada&amp;amp;FORM=QBXR"&gt;http://search.msn.com/local/results.aspx?q=Tim+Horton%27s&amp;amp;w=hamilton%2C+Ontario%2C+Canada&amp;amp;FORM=QBXR&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;In MicroSpeak, I'm “super“ disappointed. Come on, not even close. Like I really need to drive to New York State to find a Tim's. At least you have 9 listed, that's more than I expected in NY. And what's up with the “residential listing“. Can I do that? Can I get a Tim's right in my house. Sweet.&lt;/P&gt;
&lt;P&gt;Google?&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.google.ca/local?hl=en&amp;amp;lr=&amp;amp;q=tim+horton%27s&amp;amp;near=Hamilton,+ON&amp;amp;sa=X&amp;amp;oi=localr"&gt;http://www.google.ca/local?hl=en&amp;amp;lr=&amp;amp;q=tim+horton%27s&amp;amp;near=Hamilton,+ON&amp;amp;sa=X&amp;amp;oi=localr&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Nice try. At least I don't need a passport and more change to cross the toll bridge than the actual price of a coffee. But I'm still finding it hard to believe there is only one Timmy's in Hamilton.&lt;/P&gt;
&lt;P&gt;And for the record, there is, according to the horses mouth,&amp;nbsp;78 Tim Horton's within 10km from the epi-centre of Downtown Hamilton. (&lt;A href="http://web.sa.mapquest.com/timhortons/advantage.adp?transaction=search&amp;amp;county=&amp;amp;country=CA&amp;amp;radius=10&amp;amp;units=km&amp;amp;pwidth=400&amp;amp;pheight=324&amp;amp;maxsearchresults=100&amp;amp;address=&amp;amp;city=Hamilton&amp;amp;stateProvince=ON&amp;amp;postalCode=&amp;amp;searchradius=10km&amp;amp;x=62&amp;amp;y=27"&gt;http://web.sa.mapquest.com/timhortons/advantage.adp?transaction=search&amp;amp;county=&amp;amp;country=CA&amp;amp;radius=10&amp;amp;units=km&amp;amp;pwidth=400&amp;amp;pheight=324&amp;amp;maxsearchresults=100&amp;amp;address=&amp;amp;city=Hamilton&amp;amp;stateProvince=ON&amp;amp;postalCode=&amp;amp;searchradius=10km&amp;amp;x=62&amp;amp;y=27&lt;/A&gt;)&lt;/P&gt;
&lt;P&gt;I should qualify that by saying “as of October 8th, 2:55pm”. We really need an MSN Alert or an RSS feed for this kind of data.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Update: &lt;/STRONG&gt;Reader Kevin MacDonald of Pentura&amp;nbsp;points out that FindByClick.com has market on caffinated google mashups. Here's a focused &lt;A class="" href="http://www.findbyclick.com/?lt=43.2354&amp;amp;ln=-79.8576&amp;amp;zm=13&amp;amp;tp=0&amp;amp;lr=TIM_HORTONS" target=_blank&gt;Hamilton Tim's Link&lt;/A&gt;. Kevin - I owe&amp;nbsp;you coffee!&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=3492" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Humours+Distractions/default.aspx">Humours Distractions</category></item><item><title>Microsoft LINQ Resources for September 20th</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2005/09/20/3452.aspx</link><pubDate>Tue, 20 Sep 2005 21:01:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:3452</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/3452.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=3452</wfw:commentRss><description>&lt;P&gt;Community Thoughts&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="http://wesnerm.blogs.com/net_undocumented/2005/09/linq_ii.html"&gt;Werner Moise&lt;/A&gt; has been &amp;#8220;reflecting&amp;#8221; on LINQ and the more time he spends, the more he's realizing &amp;#8220;how well thought out and practical it is&amp;#8221;. He has some excellent points. 
&lt;LI&gt;&lt;A href="http://blogs.msdn.com/dinesh.kulkarni/archive/2005/09/19/471384.aspx"&gt;Dinesh&lt;/A&gt; wants to know how you feel about attributed-based O/R mapping vs. external XML Files. He also talks about the &lt;A href="http://www.newsgator.com/ngs/subscriber/WebEd2.aspx?fid=284447"&gt;connected vs. disconnected nature of DLinq&lt;/A&gt;. Also, here is the code from his &lt;A href="http://blogs.msdn.com/dinesh.kulkarni/archive/2005/09/16/469138.aspx"&gt;DLinq demo at PDC&lt;/A&gt;. 
&lt;LI&gt;Jomo Fisher shows how to &lt;A href="http://blogs.msdn.com/jomo_fisher/archive/2005/09/15/467804.aspx"&gt;create a custom aggregate function in LINQ&lt;/A&gt; using &lt;A href="http://blogs.msdn.com/jomo_fisher/archive/2005/09/13/464884.aspx"&gt;extension methods&lt;/A&gt;. Sweet, but it don't work for DLinq, but maybe then you want to look at User Defined Types and Aggregates in Yukon/SQL Server 2005. Oh man, this is going to take some architectural distillation. 
&lt;LI&gt;&lt;A href="http://weblogs.asp.net/jgalloway/archive/2005/09/16/425410.aspx"&gt;Jon Galloway is scared by code maintainability problems introduced by DLinq&lt;/A&gt;. Jon and I share a common PowerBuilder background, where you could put SQL right inside your PowerScript (not unlike Progress either). This is not really a DLinq problem, but a code separation, high cohesion-loose coupling problem. The answer back in the PowerBuilder day was to put all your data access in datawindows. The .NET answer today would be componentized DataAdapters or DataReaders, but we still see the bad practice of people intermingling data access code in other areas of their application. But perhaps maybe DLinq does make this a slippery slope. Maybe we should all just stick to TableAdapters - yikes! &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Resources&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/msdn-online/shared/components/rssaggregator.aspx?OPML=/netframework/future/linq/linq.opml&amp;link=http://msdn.microsoft.com/netframework/future/linq/&amp;title=Blogs+about+LINQ&amp;description=Project+LINQ+blogs"&gt;LINQ Blogger Feed&lt;/A&gt; 
&lt;LI&gt;&lt;A href="http://blogs.msdn.com/dataaccess/"&gt;DataWorks Blog&lt;/A&gt; 
&lt;LI&gt;&lt;A href="http://blogs.msdn.com/xmlteam/"&gt;XML Team Blog&lt;/A&gt; 
&lt;LI&gt;&lt;A href="http://svn.myrealbox.com/source/trunk/mcs/class/System.Xml.XLinq"&gt;What the hell is this?&lt;/A&gt; 
&lt;LI&gt;&lt;A href="http://oakleafblog.blogspot.com/2005/09/erik-meijer-on-linq-as-6gl-language.html"&gt;Oakleaf links&lt;/A&gt; to some Erik Meijer research articles from MSR related to C-Omega. There is also a nice presentation from Erik linked to there as well. 
&lt;LI&gt;&lt;A href="http://blogs.msdn.com/aconrad/archive/2005/09/16/469107.aspx"&gt;Andrew Conrad talks about projections and DataSets&lt;/A&gt;. While this isn't specifically related to LINQ/DLinq, it's interesting and solves similar problems. And the cool part about this, is that it's coming with ADO.NET 2.0/Whidbey (no need to wait for LINQ/DLinq in Orcas).&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Videos&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="http://devcentral.f5.com/weblogs/dctv/archive/2005/09/19/MSFTPaulVick.aspx"&gt;DevCentral Interviews Paul Vick about VB 9.&lt;/A&gt; 
&lt;LI&gt;&lt;A href="http://channel9.msdn.com/showpost.aspx?postid=116700"&gt;Channel 9 Interviews Paul Vick and Amanda Silver about VB Language Futures.&lt;/A&gt; 
&lt;LI&gt;&lt;A href="http://channel9.msdn.com/showpost.aspx?postid=116702"&gt;Channel 9 Interviews Paul Vick and Erik Meijer about Dynamic Programming in Visual Basic.&lt;/A&gt;&lt;BR&gt;and Click Here for &lt;A href="http://blogs.msdn.com/vbteam/archive/2005/09/19/Channel9_Videos_on_Visual_Basic_Futures.aspx"&gt;the code that Amanda &amp;#8220;flubbed&amp;#8220;&lt;/A&gt; during the interview. 
&lt;LI&gt;Good thread at TheServerSide: &lt;A href="http://www.theserverside.net/news/thread.tss?thread_id=36510"&gt;Microsoft Announces LINQ at PDC 2005&lt;/A&gt;.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Audio&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="http://weblog.infoworld.com/udell/2005/09/19.html"&gt;Jon Udell's podcast with Anders Hejlsberg and Paul Vick&lt;/A&gt; about LINQ. 
&lt;LI&gt;&lt;A href="http://weblog.infoworld.com/udell/2005/09/13.html#a1300"&gt;Jon Udell's podcast with with Bill Gates&lt;/A&gt; which includes some LINQ discussion.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Newsgroups:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="http://forums.microsoft.com/msdn/ShowForum.aspx?ForumID=123"&gt;LINQ Forum&lt;/A&gt; 
&lt;LI&gt;&lt;A href="http://forums.microsoft.com/msdn/ShowForum.aspx?ForumID=124"&gt;DLinq Forum&lt;/A&gt; 
&lt;LI&gt;&lt;A href="http://forums.microsoft.com/msdn/ShowForum.aspx?ForumID=125"&gt;XLinq Forum&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Articles&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;eWeek says &lt;A href="http://www.eweek.com/article2/0,1895,1860723,00.asp"&gt;Access to Data No Longer the Weakest LINQ&lt;/A&gt;. 
&lt;LI&gt;ComputerWorld: &lt;A href="http://www.computerworld.com/developmenttopics/development/story/0,10801,104616,00.html"&gt;.NET Creator sees developer future with LINQ&lt;/A&gt;. 
&lt;LI&gt;InternetNews.com: &lt;A href="http://www.internetnews.com/dev-news/article.php/3548961"&gt;First Sliced Bread, Now Microsoft LINQ?&lt;/A&gt; &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;What am I missing? Drop me a line on this blog. I'm heading out next week to a VB Software Design Review and the MVP Summit in Redmond, just because there isn't enough new technology in my life these days.&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=3452" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/PDC/default.aspx">PDC</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2005/default.aspx">VS2005</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Orcas/default.aspx">Orcas</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/ADO.NET/default.aspx">ADO.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/SQL/default.aspx">SQL</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2003/default.aspx">VS2003</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VB.NET/default.aspx">VB.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category></item><item><title>Toronto Architect's Breakfast: Service Oriented Design Questions Answered</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2005/09/19/3447.aspx</link><pubDate>Mon, 19 Sep 2005 19:05:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:3447</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/3447.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=3447</wfw:commentRss><description>&lt;P&gt;Bruce Johnson is hosting our next Architect's Breakfast in Toronto this Thursday. In case you haven't been to one in the past, here's a few points of interest.&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;This is more of an interactive event. Round tables of 5-8 have breakout sessions to discuss issues. Of course there are networking opportunities with your peers before, during and after. 
&lt;LI&gt;The content is focused at an architectural perspective, in this session in particular, SOA design. 
&lt;LI&gt;The meeting kicks off at 7:30am. (registration/breakfast begins at 7:AM). 
&lt;LI&gt;The St. Andrew's club will feed you a lovely breakfast with a great view of Toronto at the top (27th floor) of the Sun Life Building. 
&lt;LI&gt;You'll be done by 9:00am and back in the office in no time. 
&lt;LI&gt;You'll get to meet some really smart and nice people. &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;You can view the &lt;A href="http://www.objectsharp.com/ttdinvitation/sdqaInvite.asp"&gt;outline and register here&lt;/A&gt;. Hope to see you there.&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=3447" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Southern+Ontario/default.aspx">Southern Ontario</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Services/default.aspx">Services</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Events/default.aspx">Events</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/WCF/default.aspx">WCF</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VSTS/default.aspx">VSTS</category></item><item><title>Integration VSTS with Project Server</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2005/09/16/3430.aspx</link><pubDate>Fri, 16 Sep 2005 14:13:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:3430</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/3430.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=3430</wfw:commentRss><description>This &lt;A href="http://www.gotdotnet.com/Community/UserSamples/Details.aspx?SampleGuid=8b2a2d87-1fa7-4dfb-8938-b4493ecfeec0"&gt;article on gotdotnet&lt;/A&gt; explains in 67 pages of detail how you can integrate VSTS with Project Server for two way automatic synchronization of work items. Nice.&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=3430" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2003/default.aspx">VS2003</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VSTS/default.aspx">VSTS</category></item><item><title>More on LINQ, XLinq and perspectives.</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2005/09/15/3420.aspx</link><pubDate>Thu, 15 Sep 2005 14:08:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:3420</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/3420.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=3420</wfw:commentRss><description>&lt;P&gt;&lt;STRONG&gt;On XLinq&lt;/STRONG&gt;&lt;/P&gt;
&lt;BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px"&gt;
&lt;P&gt;A lot of the questions about XLinq are around how it will sit beside/replace XQuery (and other XML query/transform techniques). Back when I first started doing some .NET 2.0 training in February, I was a bit miffed that XQuery had not made it into the .NET Framework. Now don't get me wrong, it's not the most elegant thing&amp;nbsp;in the world, but the excuse that &amp;#8220;it's not a standard YET, so we can't put it in the framework&amp;#8220; seemed a little insincere given that the SQL team had managed to jump over that hurdle. But given LINQ/XLinq, maybe this now makes sense. We'll have to get our feet wet and see how LINQ evolves over time into a shipping product.&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;UL&gt;
&lt;LI&gt;Michale Rys gives his thoughts on the &lt;A href="http://www.sqljunkies.com/WebLog/mrys/archive/2005/09/14/16750.aspx"&gt;relation between XLinq and XQuery&lt;/A&gt;. Interestingly he points out that XLinq uses about 30% less memory than the DOM. &lt;/LI&gt;
&lt;LI&gt;Mike Champion's &lt;A href="http://blogs.msdn.com/mikechampion/archive/2005/09/14/466120.aspx"&gt;thoughts&lt;/A&gt;&amp;nbsp;also comparing XLinq to the DOM. &lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://blogs.msdn.com/xmlteam/archive/2005/09/13/465040.aspx"&gt;Soumitra Sengupta&lt;/A&gt;&amp;nbsp;also adds his 2 cents on how XLinq is positioned with the rest of the XML processing technologies.&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://blogs.msdn.com/daveremy/archive/2005/09/13/465006.aspx"&gt;Dave Remy&lt;/A&gt; gives some also talks about how XLinq's implementation was from the ground up, but inspired by lessons learned on the back of the DOM.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Other perspectives floating around....&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;On an unrelated note, M. David Peterson has an &lt;A href="http://www.xsltblog.com/archives/2005/09/followup_to_lon.html"&gt;interesting post&lt;/A&gt; from one of his colleagues, with specific mention of comparisons between LINQ, and Haskell.&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://sqljunkies.com/WebLog/ktegels/archive/2005/09/14/16745.aspx"&gt;Kent Tegels&lt;/A&gt; also shares his first impressions. &lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://weblogs.asp.net/pwilson/archive/2005/09/15/425281.aspx"&gt;Paul Wilson &lt;/A&gt;has a critical review of DLinq. He rightly questions the &amp;#8220;sqlserver only&amp;#8220; aspect of DLinq. I'm hopeful that this is only a temporal condition. Paul also mentions, among other things,&amp;nbsp;poor support for stored procedures in DLinq, but at this point, I'm not convinced that is all too important. I have to think about that some more.&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://wesnerm.blogs.com/net_undocumented/2005/09/linq.html"&gt;Werner Moise&lt;/A&gt; has some in depth thoughts.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Some Articles...&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="http://www.infoworld.com/article/05/09/14/HNfuturewithlinq_1.html"&gt;Infoworld&lt;/A&gt; has an interview with Anders.&lt;/LI&gt;
&lt;LI&gt;Scott Swigart has an article on VB 9 in &lt;A href="http://www.ddj.com/documents/s=9776/ddj1126793370067/"&gt;Dr. Dobb's&lt;/A&gt;&amp;nbsp;with interviews with Paul Vick, Amanda Silver, Erik Meijer, Rob Copeland, Alan Griver, and Jay Roxe.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;And if you are at PDC and want to &lt;STRONG&gt;get more information&lt;/STRONG&gt;, Don Box is &lt;A href="http://pluralsight.com/blogs/dbox/archive/2005/09/15/14832.aspx"&gt;hosting a LINQ Panel discussion&lt;/A&gt; tomorrow and he is looking for your questions in his blog comments.&lt;BR&gt;&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=3420" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/PDC/default.aspx">PDC</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2005/default.aspx">VS2005</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Orcas/default.aspx">Orcas</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/ADO.NET/default.aspx">ADO.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2003/default.aspx">VS2003</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VB.NET/default.aspx">VB.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Events/default.aspx">Events</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category></item><item><title>Just because you aren't at PDC, doesn't mean you can't get the slides.</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2005/09/15/3418.aspx</link><pubDate>Thu, 15 Sep 2005 13:36:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:3418</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/3418.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=3418</wfw:commentRss><description>&lt;P&gt;You can download session content posted &lt;A href="http://commnet1.microsoftpdc.com/content/downloads.aspx"&gt;here&lt;/A&gt;. Check daily - they post new stuff as it is delivered.&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=3418" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/PDC/default.aspx">PDC</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Events/default.aspx">Events</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category></item><item><title>Access VSTS information - from Unix, Mac, and Eclipse with Teamprise</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2005/09/14/3410.aspx</link><pubDate>Wed, 14 Sep 2005 19:11:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:3410</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/3410.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=3410</wfw:commentRss><description>&lt;P&gt;This is often a common push back or at least concern with big shops whom are considering adopting Team Foundation. How do we integrate our Java Developers (or non .NET Developers) into the Zen of Team System?&lt;/P&gt;
&lt;P&gt;Enter &lt;A href="http://www.teamprise.com"&gt;TeamPrise&lt;/A&gt;. This looks like a serious gap filler. On their site you can download a trial that works with the July CTP of the Team Foundation Server. Lastly, TeamPrise is a division of SourceGear.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;UPDATE&lt;/STRONG&gt;: Also check out &lt;A href="http://www.devbiz.com/x5web/"&gt;devBiz X5&lt;/A&gt; web client - work item tracking via the browser - everybody has been asking for this one, say for example to integrate customer change requests into the team work flow. It doesn't yet seem to allow you to only edit&amp;nbsp;certain types of work item types (they really need that) or to have an external authentication scheme.&amp;nbsp;[&lt;A href="http://blogs.msdn.com/ejarvi/archive/2005/09/14/466542.aspx"&gt;Eric Jarvi&lt;/A&gt;]&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=3410" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2005/default.aspx">VS2005</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2003/default.aspx">VS2003</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/WebForms/default.aspx">WebForms</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VSTS/default.aspx">VSTS</category></item><item><title>Introducing Windows Workflow Foundation (and you thought you wouldn't have to learn BizTalk)</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2005/09/14/3408.aspx</link><pubDate>Wed, 14 Sep 2005 16:43:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:3408</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>4</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/3408.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=3408</wfw:commentRss><description>&lt;P&gt;If you're not using BizTalk today in your applications, probably the #1 reason is that you can't afford it. &amp;#8220;It's overkill&amp;#8221; is probably a big reason as well, but I consider that a variation. Seriously, how many applications do you write that don't have some component of workflow? Maybe you don't, but if it was baked into the framework, and you didn't have to install (and pay for) a workflow engine, maybe you'd take advantage of it - no?&lt;/P&gt;
&lt;P&gt;Windows Workflow Foundation, a new component of WinFx was announced today. Lots of &lt;A href="http://msdn.microsoft.com/windowsvista/building/workflow/"&gt;great resources here&lt;/A&gt;. Including overviews, labs, and even an MSDN VirtualLab so you can play with this stuff without having to install it. Also keep tabs on the blogs of &lt;SPAN style="COLOR: #000000"&gt;&lt;A href="http://blogs.msdn.com/scottwoo"&gt;Scott Woodgate&lt;/A&gt;,&amp;nbsp; &lt;A href="http://blogs.msdn.com/pandrew"&gt;Paul Andrew&lt;/A&gt;, and of course our own &lt;A href="http://www.objectsharp.com/blogs/matt"&gt;Matt Meleski&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;You can download the beta 1 of the extension for Visual Studio 2005. Don't get too carried away yet - it's not going to be released with 2005, it will be released in the second half of 2006 (likely along with the rest of the WinFx bits).&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=3408" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/PDC/default.aspx">PDC</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Orcas/default.aspx">Orcas</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2003/default.aspx">VS2003</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Services/default.aspx">Services</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/WCF/default.aspx">WCF</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Architecture/default.aspx">Architecture</category></item><item><title>What is the world saying about Microsoft's C# and VB LINQ Project</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2005/09/14/3405.aspx</link><pubDate>Wed, 14 Sep 2005 15:51:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:3405</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/3405.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=3405</wfw:commentRss><description>&lt;P&gt;I have to say that the LINQ syntax in VB hits much closer to the mark than C#. More on that later. What is everybody else saying out there about LINQ?&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="http://lambda-the-ultimate.org/node/view/967"&gt;Erik Meijer&lt;/A&gt;&amp;nbsp;says that VB has become his &amp;#8220;programming language of choice.&amp;#8220; 
&lt;LI&gt;&lt;A href="http://samgentile.com/blog/archive/0001/01/01/31934.aspx"&gt;Sam Gentile&lt;/A&gt; &amp;#8220;LINQ is freaking cool&amp;#8220;, but he's feeling the beta pain because the VB and C# tech previews work with Beta 2 of 2005 and he just installed the VSTS release candidate. 
&lt;LI&gt;&lt;A href="http://blogs.developpeur.org/redo/archive/0001/01/01/11205.aspx"&gt;R&amp;#233;do&lt;/A&gt; believes LINQ &amp;#8220;will represent a tectonic shift in the way that VB programmers will work with data&amp;#8220;. 
&lt;LI&gt;&lt;A href="http://blogs.msdn.com/somasegar/archive/2005/09/13/464281.aspx"&gt;Somasegar&lt;/A&gt; believes that LINQ is a signifiicant developer productivity enhancement and he wants to hear your feedback. 
&lt;LI&gt;&lt;A href="http://unboxedsolutions.com/sean/archive/2005/09/13/734.aspx"&gt;Sean Chase&lt;/A&gt;&amp;nbsp;points out some interesting ideas using lambda expressions with LINQ. 
&lt;LI&gt;&lt;A href="http://weblogs.asp.net/fbouma/archive/2005/09/13/425063.aspx"&gt;Frans Bouma&lt;/A&gt; compares DLinq to O/R mappers and points out the negative side of attribute based mapping for use in cross db platform support. There is a good follow up discussion in the comments on that post. 
&lt;LI&gt;&lt;A href="http://dotnetjunkies.com/WebLog/gmarius/archive/2005/09/14/132569.aspx"&gt;Marius Gheorghe&lt;/A&gt; likes the LINQ idea, but not so much the implementatio and seems to agree with Frans. 
&lt;LI&gt;&lt;A href="http://orangevolt.com/wordpress/archives/2005/09/14/anders-hejlsbergs-new-child-linq/"&gt;OrangeVolt&lt;/A&gt; hopes that Sun will adapt this for Java. 
&lt;LI&gt;&lt;A href="http://weblogs.java.net/blog/javaben/archive/2005/09/c_30_relational.html"&gt;Ben Galbraith&lt;/A&gt; gives his comments on LINQ from a Java perspective. In particular, he's happy to see the type inference feature added to C# and wishes Java could do the same. The comments also contain some interesting discussion on Java and .NET. 
&lt;LI&gt;Over at the &lt;A href="http://www.sweetpotatosoftware.com/SPSBlog/PermaLink,guid,8f61649c-c076-4420-b949-07ae7b32ac54.aspx"&gt;SPS Weblog&lt;/A&gt;, LINQ is inspiring a Visual FoxPro Object-Oriented SQL. Don't get crazy, he's only got 1 hour of development under his belt.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;There is also an interview with &lt;A href="http://www.microsoft.com/presspass/features/2005/sep05/09-13NETLanguage.mspx"&gt;Anders Hejlsberg and Paul Vick worth reading&lt;/A&gt;. Why does Paul look so much happier than Anders in these photos? No doubt it is the VB syntax simplicity :)&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=3405" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/PDC/default.aspx">PDC</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2005/default.aspx">VS2005</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Orcas/default.aspx">Orcas</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/ADO.NET/default.aspx">ADO.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/SQL/default.aspx">SQL</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2003/default.aspx">VS2003</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VB.NET/default.aspx">VB.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Events/default.aspx">Events</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category></item><item><title>Linq Resources</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2005/09/13/3395.aspx</link><pubDate>Tue, 13 Sep 2005 21:04:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:3395</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>16</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/3395.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=3395</wfw:commentRss><description>&lt;P&gt;As you may have heard, the LINQ(Language Integrated Query) Project was announced publicly today at PDC. There will be a lot more information coming throughout the week, but here's the resources available as of today.&lt;/P&gt;
&lt;P&gt;Overview&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="http://download.microsoft.com/download/c/f/b/cfbbc093-f3b3-4fdb-a170-604db2e29e99/linq%20project%20overview.doc"&gt;LINQ Project Overview [ MSWord,&lt;/A&gt; &lt;A href="http://msdn.microsoft.com/netframework/future/linq/default.aspx?pull=/library/en-us/dndotnet/html/linqprojectovw.asp"&gt;HTML&lt;/A&gt;]
&lt;LI&gt;&lt;A href="http://download.microsoft.com/download/c/f/b/cfbbc093-f3b3-4fdb-a170-604db2e29e99/LINQ%20Hands%20on%20Lab.doc"&gt;LINQ Hands On Labs&lt;/A&gt; 
&lt;LI&gt;&lt;A href="http://channel9.msdn.com/Showpost.aspx?postid=114680"&gt;LINQ Overview on Channel 9 with Anders Hejlsberg and Dan Fernandez&lt;/A&gt; 
&lt;LI&gt;&lt;A href="http://download.microsoft.com/download/4/7/0/4703eba2-78c4-4b09-8912-69f6c38d3a56/LINQ.wmv"&gt;C# 3.0 LINQ in action.&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;DLinq&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="http://download.microsoft.com/download/c/f/b/cfbbc093-f3b3-4fdb-a170-604db2e29e99/DLinq%20Overview.doc"&gt;DLinq Overview (how does Data work with LINQ)&lt;/A&gt; 
&lt;LI&gt;&lt;A href="http://download.microsoft.com/download/4/7/0/4703eba2-78c4-4b09-8912-69f6c38d3a56/Dlinq.wmv"&gt;C# 3.0 DLinq Video&lt;/A&gt; 
&lt;LI&gt;&lt;A href="http://download.microsoft.com/download/c/f/b/cfbbc093-f3b3-4fdb-a170-604db2e29e99/DLinq%20Hands%20on%20Lab.doc"&gt;DLinq Hands On Labs&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;XLinq&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="http://download.microsoft.com/download/c/f/b/cfbbc093-f3b3-4fdb-a170-604db2e29e99/XLinq%20Overview.doc"&gt;XLinq Overview (how does XML work with LINQ)&lt;/A&gt; 
&lt;LI&gt;&lt;A href="http://download.microsoft.com/download/4/7/0/4703eba2-78c4-4b09-8912-69f6c38d3a56/XLinqHoL.msi"&gt;XLinq Hands On Labs&lt;/A&gt; 
&lt;LI&gt;&lt;A href="http://download.microsoft.com/download/c/f/b/cfbbc093-f3b3-4fdb-a170-604db2e29e99/XLinq%20Hands%20on%20Lab.doc"&gt;XLinq More Hands On Labs&lt;/A&gt; 
&lt;LI&gt;&lt;A href="http://download.microsoft.com/download/4/7/0/4703eba2-78c4-4b09-8912-69f6c38d3a56/XLinq.wmv"&gt;C# 3.0 XLinq Video.&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Visual Basic&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/vbasic/future/default.aspx?pull=/library/en-us/dnvs05/html/vb9overview.asp"&gt;Overview of Visual Basic 9.0&lt;/A&gt; 
&lt;LI&gt;&lt;A href="http://download.microsoft.com/download/2/a/4/2a405b66-1b1c-4fca-bfbf-007aad63d307/LINQ%20VB%20Preview.msi"&gt;VB 9.0 LINQ Technology Preview Download&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;C#&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="http://download.microsoft.com/download/4/7/0/4703eba2-78c4-4b09-8912-69f6c38d3a56/LINQ%20Preview.msi"&gt;C# LINQ Technology Preview Download (supports 2005 Beta 2)&lt;/A&gt; 
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/vcsharp/future/linqsamples/"&gt;101 LINQ Samples (C# only - come on VB Guys - get the lead out.)&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Microsoft LINQ Bloggers&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="http://blogs.msdn.com/daveremy"&gt;Dave Remy&lt;/A&gt; 
&lt;LI&gt;&lt;A href="http://blogs.msdn.com/vbteam"&gt;VB Team&lt;/A&gt; 
&lt;LI&gt;&lt;U&gt;&lt;FONT color=#0000ff&gt;&lt;A href="http://blogs.msdn.com/brad_mccabe"&gt;Brad McCabe&lt;/A&gt;&lt;/FONT&gt;&lt;/U&gt;&lt;U&gt;&lt;FONT color=#0000ff&gt;&lt;/FONT&gt;&lt;/U&gt; 
&lt;LI&gt;&lt;A href="http://www.panopticoncentral.net"&gt;Paul Vick&lt;/A&gt; 
&lt;LI&gt;&lt;U&gt;&lt;FONT color=#0000ff&gt;&lt;A href="http://blogs.msdn.com/vsdata/"&gt;Alan Griver&lt;/A&gt;&lt;/FONT&gt;&lt;/U&gt; 
&lt;LI&gt;&lt;U&gt;&lt;FONT color=#0000ff&gt;&lt;A href="http://blogs.msdn.com/pauly/"&gt;Paul Yuck&lt;/A&gt;&lt;/FONT&gt;&lt;/U&gt; 
&lt;LI&gt;&lt;A href="http://blogs.msdn.com/jomo_fisher"&gt;Jomo Fisher&lt;/A&gt; 
&lt;LI&gt;&lt;A href="http://blogs.msdn.com/dinesh.kulkarni/"&gt;Dinesh Kulkarni&lt;/A&gt; 
&lt;LI&gt;&lt;A href="http://blogs.msdn.com/mattwar"&gt;Matt Warren&lt;/A&gt; 
&lt;LI&gt;&lt;A href="http://blogs.msdn.com/lucabol/"&gt;Luca Bolognese&lt;/A&gt; 
&lt;LI&gt;&lt;A href="http://blogs.msdn.com/robertco/"&gt;Rob Copeland&lt;/A&gt; 
&lt;LI&gt;&lt;A href="http://lambda-the-ultimate.org/node/view/967"&gt;Erik Meijer&lt;/A&gt; 
&lt;LI&gt;&lt;A href="http://blogs.msdn.com/vbteam/archive/category/4743.aspx"&gt;Amanda Silver&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Upcoming Chats&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/chats/#05_0922_MSDN_CL"&gt;C# 3.0 Language Enhancements September 22, 2005 1:00pm PST&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;STRONG&gt;UPDATE&lt;/STRONG&gt;: Added Dinesh, Matt and Luca to the bloggers list.&lt;BR&gt;&lt;STRONG&gt;UPDATE 2: &lt;/STRONG&gt;Added Rob, Erik, and Amanda to the bloggers list.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=3395" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/PDC/default.aspx">PDC</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Orcas/default.aspx">Orcas</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/ADO.NET/default.aspx">ADO.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2003/default.aspx">VS2003</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VB.NET/default.aspx">VB.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category></item><item><title>Reflections on the PDC Day 1 Keynote</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2005/09/13/3392.aspx</link><pubDate>Tue, 13 Sep 2005 20:00:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:3392</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/3392.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=3392</wfw:commentRss><description>&lt;P&gt;Bill Gates gave a pretty typical high level keynote to introduce the keynote this morning. He talked about the past, how far we've come, and how now is the most exciting time, and that we are in most exciting industry.&amp;nbsp;Not that I don't disagree, but I swear I've heard this keynote before.&lt;/P&gt;
&lt;P&gt;After Bill, a series of VP's and Architect's ran through more product details.&amp;nbsp;Things started to get much more interesting at this point. Chris Capossela gave an end user run down of Windows Vista and Office 12 - which will be&amp;nbsp;both released at the same time near the end of 2006. &lt;/P&gt;
&lt;P&gt;The UI is just stunning (as it always is in these demos). It was also nice to see the QuickSearch text box integrated through both products. Not unlike Google Desktop Search, and using the same engine as MSN Desktop Search, the QuickSearch text box gives context sensitive searching through the application. If you're in a document explorer - you can search there for documents. If you are in the start menu, you can easily search for applications (and recent documents). If you are in outlook you can easily search&amp;nbsp;your in-box, contacts, etc. Of course you can do broad computer searches too, but&amp;nbsp;that context is nice.&lt;/P&gt;
&lt;P&gt;Chris also showed off Sidebar which isn't really big news, but he also showed the audience Sideshow. Sideshow uses the same dock-able gadgets that Sidebar does, but re-use them on what I can only describe as a built in Pocket PC device that is built into the cabinetry of your laptop. This allows you to check real-time information (email, appointments, etc.) without turning on or booting up your laptop. Expedia had a nice gadget working in Sideshow that showed up to the minute flight status. Nice. &lt;/P&gt;
&lt;P&gt;RSS is also taking a prominent position in Vista and Office. An RSS store was announced that would store subscribed RSS feed content. This content would be regularly downloaded automatically, and the content would be available to the Sidebar, Outlook, IE7, and your own applications. Cool.&lt;/P&gt;
&lt;P&gt;Office 12 has a new user interface that hopes to make more of its features discoverable. At first glance I wasn't all too excited about this, but I'll reserve my judgment until I play around with it. The quick &amp;#8220;wizard&amp;#8220; like features were absolutely stunning though. &lt;/P&gt;
&lt;P&gt;The integration with Outlook and Sharepoint is quite impressive. We are all accustomed to having our email/contacts/appointments offline stored in our outlook store. With Office 12, you can keep in sync with any Sharepoint folder to keep those files on your local store. Sweet. Better yet, a special new Sharepoint List for sharing PowerPoint decks. When you upload a PowerPoint file, an item appears in the list for each slide. From within PowerPoint, I can create a new deck, and pull individual slides from the Sharepoint server. You can optionally have it keep that slide up to date so if a new version is uploaded to the server, you'll automatically get it. Corporate plagiarism has just become so much easier. &lt;/P&gt;
&lt;P&gt;After Chris's &amp;#8220;consumer&amp;#8220; demos, Jim Alchin came out with Don Box, Chris Anderson, Anders Hejlsberg and Scott Guthrie. Jim started by&amp;nbsp;giving some demos of some interesting plumbing bits. One cool thing in Vista is Super Fetch. Super Fetch is&amp;nbsp;a preloaded memory cache of things you'll likely need, but unlike typical hard drive caches, it basis it's decisions on analyzing your behavior over days, weeks, months to determine what an idle machine should be preloading. The second&amp;nbsp;part&amp;nbsp;of his demo tied in very nicely where he showed that any USB Memory Stick&amp;nbsp;could be plugged into a Vista machine and it would automatically start using it for expanded virtual ram. That totally rocks for laptops which can&amp;nbsp;quickly max out&amp;nbsp;their ram capacities.&lt;/P&gt;
&lt;P&gt;Don and Anders went on to talk about some big news, namely the Language Integrated Query (LINQ) project. Linq provides a query engine on top of XML, Object and Relational data stores using a common query language reminiscent of SQL. No, this isn't an O/R mapping tool, but you can see how they may have wanted to delay ObjectSpaces until they got Linq out the door. I'll have more on this in my blog in the coming days. Attendees at PDC are getting Linq bits to try out, and don't forget to stop by the track lounge to pick up a copy of&amp;nbsp;a Linq whitepaper.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Next Don and Chris messed around with Indigo, and they also created a goofy Avalon application. Scott Guthrie&amp;nbsp;came out to show off the Atlas product which is a set of cross browser javascripts and server side ASP.NET 2 controls to make Ajax style programming a snap.&lt;/P&gt;
&lt;P&gt;To close out the lengthy presentation, Jim brought out a few other people to demonstrate complete applications to bring up the wow factor, including &lt;A href="http://www.microsoft.com/max"&gt;Microsoft Max&lt;/A&gt;&amp;nbsp;and a kiosk application created for the North Face.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;UPDATE: &lt;/STRONG&gt;&lt;A href="http://blogs.msdn.com/dinesh.kulkarni/archive/2005/09/13/465089.aspx"&gt;Dinesh Kulkarni&lt;/A&gt;&amp;nbsp;gives some inside scoop on how&amp;nbsp;ObjectSpaces is dead, or rather morphed into DLinq. It would appear ObjectsSpaces is not something you'll see built down the road on top of Linq. &lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=3392" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/PDC/default.aspx">PDC</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2005/default.aspx">VS2005</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Orcas/default.aspx">Orcas</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Vista/default.aspx">Vista</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/ADO.NET/default.aspx">ADO.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2003/default.aspx">VS2003</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VB.NET/default.aspx">VB.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/WinForms/default.aspx">WinForms</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/WebForms/default.aspx">WebForms</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Services/default.aspx">Services</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Events/default.aspx">Events</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/WCF/default.aspx">WCF</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category></item><item><title>Download Avalon Indigo Peer to Peer Sample App Project Max</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2005/09/13/3391.aspx</link><pubDate>Tue, 13 Sep 2005 19:06:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:3391</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/3391.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=3391</wfw:commentRss><description>&lt;P&gt;The MicrosoftMax application that was demoed today at PDC is now available for &lt;A href="http://www.microsoft.com/max/"&gt;download here&lt;/A&gt;. &lt;/P&gt;
&lt;P&gt;The application allows you to share and publish photo slide shows using an Indigo Peer to Peer channel. The beautiful presentation layer is provided by Avalon. &lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=3391" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/PDC/default.aspx">PDC</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2005/default.aspx">VS2005</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2003/default.aspx">VS2003</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/WinForms/default.aspx">WinForms</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Events/default.aspx">Events</category></item><item><title>Download ATLAS Toolkit for AJAX development on ASP.NET 2.0</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2005/09/13/3390.aspx</link><pubDate>Tue, 13 Sep 2005 19:04:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:3390</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>37</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/3390.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=3390</wfw:commentRss><description>&lt;P&gt;The &lt;A href="http://beta.asp.net/default.aspx?tabindex=7&amp;amp;tabid=47"&gt;community preview site for ATLAS&lt;/A&gt; is now available as announced by Scott Guthrie at today's keynote during the PDC Conference in LA.&lt;/P&gt;
&lt;P&gt;Now availalable is:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Documentation 
&lt;LI&gt;Hands-On-Lab 
&lt;LI&gt;Quickstart Tutorials 
&lt;LI&gt;Project add-in for Visual Studio 2005 Beta2 (with it's own hands on labs)&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;STRONG&gt;UPDATE: &lt;/STRONG&gt;Scott Guthrie has code snippets posted from the &lt;A href="http://weblogs.asp.net/scottgu/archive/2005/09/13/425062.aspx"&gt;keynote demo.&lt;/A&gt;&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=3390" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/PDC/default.aspx">PDC</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2005/default.aspx">VS2005</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2003/default.aspx">VS2003</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/WebForms/default.aspx">WebForms</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Events/default.aspx">Events</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category></item><item><title>Canadian PDC Bloggers.</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2005/09/13/3389.aspx</link><pubDate>Tue, 13 Sep 2005 14:25:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:3389</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/3389.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=3389</wfw:commentRss><description>&lt;P&gt;Bill Simser is a Sharepoint MVP in Calgary Alberta. I just stumbled on his &lt;A href="http://weblogs.asp.net/bsimser"&gt;blog&lt;/A&gt; today while checking out things at &lt;A href="http://pdcbloggers.net"&gt;PDCBloggers&lt;/A&gt;. He's down at PDC and is blogging a lot about what's going on.&lt;/P&gt;
&lt;P&gt;My fellow Canadian RD's &lt;A href="http://www.gregcons.com/kateblog/"&gt;Kate Gregory&lt;/A&gt;, &lt;A href="http://weblogs.asp.net/derekh/"&gt;Derek Hatchard&lt;/A&gt;, &lt;A href="http://www.campbellassociates.ca/blog/"&gt;Richard Campbell&lt;/A&gt;, &lt;A href="http://dotnet-expertise.com/cs/blogs/guy%5Fbarrette/"&gt;Guy Barrette&lt;/A&gt;, &lt;A href="http://weblogs.asp.net/Jsemeniuk/"&gt;Joel Semeniuk&lt;/A&gt;. &lt;/P&gt;
&lt;P&gt;Co-ObjectSharpie's &lt;A href="http://msmvps.com/windsor/"&gt;Rob Windsor&lt;/A&gt;, and previously mentioned &lt;A href="http://www.objectsharp.com/blogs/dave"&gt;Dave Lloyd&lt;/A&gt; are also blogging about their trips to PDC. &lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/mark_relph"&gt;Mark Relph&lt;/A&gt;&amp;nbsp;from Microsoft is also blogging about his trip to PDC.&lt;/P&gt;
&lt;P&gt;Another Canadian MVP &lt;A href="http://dotnet-expertise.com/cs/blogs/mario%5Fcardinal/"&gt;Mario Cardinal&lt;/A&gt; is also down at PDC.&amp;nbsp;I'm sure he'll be doing some French podcasting, and he also did a Birds of a&amp;nbsp;Feather session on &amp;#8220;Unifying Object-First and Data-First design&amp;#8221; last night. I wish I was there for that one.&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=3389" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/PDC/default.aspx">PDC</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/SQL/default.aspx">SQL</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2003/default.aspx">VS2003</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Events/default.aspx">Events</category></item><item><title>Day 0 at PDC</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2005/09/12/3384.aspx</link><pubDate>Tue, 13 Sep 2005 03:04:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:3384</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/3384.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=3384</wfw:commentRss><description>&lt;P&gt;For the first time in a few years, I won't be at PDC this year. &lt;A href="http://www.ObjectSharp.com/blogs/dave"&gt;Dave Lloyd&lt;/A&gt;&amp;nbsp;however is our man on the street with play by play coverage. He's already blogging about &lt;A href="http://objectsharp.com/blogs/dave/archive/2005/09/12/3381.aspx"&gt;registration&lt;/A&gt; and &lt;A href="http://objectsharp.com/blogs/dave/archive/2005/09/12/3382.aspx"&gt;power outages in LA&lt;/A&gt;. Should be a busy blogging week.&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=3384" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/PDC/default.aspx">PDC</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Events/default.aspx">Events</category></item><item><title>Visual Studio and SQL Server 2005 Canadian Launch Dates Announced</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2005/09/12/3383.aspx</link><pubDate>Tue, 13 Sep 2005 02:51:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:3383</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/3383.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=3383</wfw:commentRss><description>&lt;P&gt;&lt;A href="http://www.microsoft.com/canada/launch2005/"&gt;http://www.microsoft.com/canada/launch2005/&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Check out the dates for the Canadian Launch Events for Visual Studio 2005 and SQL Server 2005. Don't forget to subscribe to the RSS feed to learn more about when registration opens. I can almost guarantee that these events will be sold out. Did I mention you'll receive a free copy of Visual Studio 2005 and SQL Server 2005 just for showing up?&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=3383" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2005/default.aspx">VS2005</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/SQL/default.aspx">SQL</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2003/default.aspx">VS2003</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Southern+Ontario/default.aspx">Southern Ontario</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Events/default.aspx">Events</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category></item><item><title>Visual Studio Team Suite 2005 - Release Candidate Now Available</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2005/09/12/3380.aspx</link><pubDate>Mon, 12 Sep 2005 16:51:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:3380</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/3380.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=3380</wfw:commentRss><description>&lt;P&gt;The VS Team Suite Release Candidate is now available on MSDN Subscriber Downloads. I'm downloading now - I'm assuming you'll also need the Sql Server 2005 September CTP which was also released today. Happy downloading.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=3380" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/PDC/default.aspx">PDC</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2005/default.aspx">VS2005</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/SQL/default.aspx">SQL</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2003/default.aspx">VS2003</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VSTS/default.aspx">VSTS</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Architecture/default.aspx">Architecture</category></item><item><title>Metro Toronto .NET User Group Meeting September 8th: Managed Code in Sql Server 2005</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2005/08/26/3027.aspx</link><pubDate>Fri, 26 Aug 2005 18:36:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:3027</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/3027.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=3027</wfw:commentRss><description>On September 8th I'll be speaking at the .NET User Group here in Toronto. I'll be talking about how developers can take advantage of Sql Server 2005's ability to host managed code. &lt;A href="http://www.metrotorontoug.com/User+Group+Events/198.aspx"&gt;Full abstract and registration details are here.&lt;/A&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=3027" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2005/default.aspx">VS2005</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/ADO.NET/default.aspx">ADO.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/SQL/default.aspx">SQL</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2003/default.aspx">VS2003</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VB.NET/default.aspx">VB.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Southern+Ontario/default.aspx">Southern Ontario</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Services/default.aspx">Services</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Events/default.aspx">Events</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category></item><item><title>Bell Mobility and Bluetooth - Finally, yet crippled.</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2005/08/25/2971.aspx</link><pubDate>Thu, 25 Aug 2005 05:18:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:2971</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>5</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/2971.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=2971</wfw:commentRss><description>&lt;P&gt;Bell Mobility has finally released a bluetooth phone that isn't a blackberry. I have a bluetooth pocket pc, laptop, headset, and now LG 325 phone.&lt;/P&gt;
&lt;P&gt;But like so many other cell carriers, has turned off/disabled (or convinced the manufacturer to) the OBEX bluetooth profile that allows you to exchange objects like contacts. I was looking forward to doing wireless syncing of contacts, or maybe taking pictures off of the device. &lt;/P&gt;
&lt;P&gt;Instead, if you want to do that kind of stuff, you have to go through the network and mail yourself a photo - a pay Bell a gob of $$ in the process. When one pays $250 for a phone, particularly a bluetooth phone, one should expect to use typical bluetooth functionality.&lt;/P&gt;
&lt;P&gt;There is a dial up networking profile so you can use your phone as a modem. This would be useful if Bell gave some instructions on using it. Looks like I have to actually dial up an ISP - no you can't tap into your phone as an ISP I guess. Strange. &lt;/P&gt;
&lt;P&gt;I've also used the bluetooth headset profile and that works OK - I think I need to get a new headset though - it was a bit choppy. I'll have to play more with it before I decide. &lt;/P&gt;
&lt;P&gt;This phone also has a GPS in it. You'd think you could connect to it with a bluetooth profile too - think again. The co-ordinates are only available directly to Bell (or to you though a service you pay for, like the finder services or Map Point Location Services). &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=2971" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Southern+Ontario/default.aspx">Southern Ontario</category></item><item><title>VSTS Beta 3 and Go Live News</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2005/08/22/2960.aspx</link><pubDate>Mon, 22 Aug 2005 19:26:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:2960</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/2960.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=2960</wfw:commentRss><description>&lt;P&gt;There is good news and bad news with Somasegar's blog today (&lt;A href="http://blogs.msdn.com/somasegar/archive/2005/08/22/451026.aspx#comments"&gt;http://blogs.msdn.com/somasegar/archive/2005/08/22/451026.aspx&lt;/A&gt;)&lt;/P&gt;
&lt;P&gt;The bad news is that VSTS team foundation server is not going to be released on November 7th with the rest of Visual Studio 2005. We could have speculated that much so that should not be news to too many people. Instead, we'll have to wait for the first quarter of 2006.&lt;/P&gt;
&lt;P&gt;The good news is that in September, we are going to be seeing Release Candidates for the rest of Visual Studio 2005 and a Beta 3 of Team Foundation Server. The really good news is that sounds like the quality is going to take a huge leap - so much so that MS is going to be offerring a Go Live License and support to premier customers who want to start using VSTS for their development efforts.&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=2960" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2003/default.aspx">VS2003</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/MSF/default.aspx">MSF</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VSTS/default.aspx">VSTS</category></item><item><title>Building Outlook Add-ins with .NET Managed Code</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2005/06/07/building-outlook-add-ins-with-net-managed-code.aspx</link><pubDate>Tue, 07 Jun 2005 19:26:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:2106</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/2106.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=2106</wfw:commentRss><description>&lt;P&gt;Why would you want to do that you ask?&amp;nbsp;Well for developers, probably the main reason would be to rewrite or wrap up some ugly lotus notes application (or all of lotus notes for that matter) and expose it in outlook. But seriously,&amp;nbsp;there is a good chance your end user might spend more time in Outlook then any other application they have installed. And then of course, outlook has some context that might be helpful. Maybe, just maybe, when a user wants to talk to a customer, they open up their contact details in outlook first. Nothing worst than having to then alt-tab to another application and lookup the same contact in another system, perhaps to lookup their order history, etc. Or maybe you'd&amp;nbsp;just like to rip through the information in outlook (contacts,&amp;nbsp;appointments, emails) and integrate that data with some other application.&lt;/P&gt;
&lt;P&gt;The outlook support for VSTO 2005 was a well kept secret until yesterday at TechEd when this was demonstrated at the keynote. How long are you going to have to wait before you can get your hands on this? How fast is your internet connection?&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Download the bits here: &lt;A href="http://go.microsoft.com/?linkid=3064049"&gt;Microsoft Visual Studio 2005 Tools for the Microsoft Office System – Outlook (Beta)&lt;/A&gt;. 
&lt;LI&gt;A walkthrough is available here: &lt;A href="http://msdn.microsoft.com/office/default.aspx?pull=/library/en-us/dnofftalk/html/office06012005_VSTOOutlookAdd-in.asp"&gt;Creating an Outlook Task Add-in Solution with Visual Studio 2005 Tools for Office&lt;/A&gt; 
&lt;LI&gt;And there is also a hands on lab here: &lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyId=5E327935-BAD0-4329-AB40-99AC85516BCF&amp;amp;displaylang=en"&gt;Visual Studio 2005 Tools for Office Training: Outlook Hands-on Labs (Beta)&lt;/A&gt; 
&lt;LI&gt;And then there are 5 common coding tasks encased in some code snippets: &lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyId=A4BB5378-7253-4212-B419-28EA6F3AFDEA&amp;amp;displaylang=en"&gt;Visual Studio 2005 Tools for Office Sample: Outlook Snippets (Beta)&lt;/A&gt; 
&lt;LI&gt;And there are also 5 sample projects here &lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyId=B7561318-542A-401C-B24E-8FFFA859F7F6&amp;amp;displaylang=en"&gt;Visual Studio 2005 Tools for Office Sample: Outlook Samples (Beta)&lt;/A&gt; 
&lt;LI&gt;This new work was done without making any kind of major changes to Outlook itself. That is an ambitious goal, and frankly, the resulting architecture may look like a bit of hack. But you can read more about the architecture and why they did things that way here: &lt;A href="http://msdn.microsoft.com/office/default.aspx?pull=/library/en-us/odc_vsto2005_ta/html/Office_VSTOOutlookAdd-inArchitecture.asp"&gt;Architecture of the Outlook Add-in Support in Visual Studio 2005 Tools for Office&lt;/A&gt; &lt;/LI&gt;&lt;/UL&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=2106" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2005/default.aspx">VS2005</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2003/default.aspx">VS2003</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Southern+Ontario/default.aspx">Southern Ontario</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/WinForms/default.aspx">WinForms</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Events/default.aspx">Events</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/TechEd/default.aspx">TechEd</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category></item><item><title>Who is looking at your mobile device right now?</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2005/06/07/who-is-looking-at-your-mobile-device-right-now.aspx</link><pubDate>Tue, 07 Jun 2005 19:06:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:2105</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/2105.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=2105</wfw:commentRss><description>&lt;P&gt;&lt;A href="http://blogs.msdn.com/korbyp"&gt;Korby Parnell&lt;/A&gt;&amp;nbsp;tells of an unfortunate story about &lt;A href="http://blogs.msdn.com/robcaron"&gt;Rob Caron&lt;/A&gt; &lt;A href="http://blogs.msdn.com/korbyp/archive/2005/06/06/425741.aspx"&gt;losing his Pocket PC in the Houston airport&lt;/A&gt; and then trying to have his carrier disable it since he has “everything on it”. They also lost their luggage enroute to TechEd in Orlando. How ironic it was then that Rob probably slept through Monday's keynote where Microsoft announced the &lt;A href="http://www.microsoft.com/windowsmobile/business/5/default.mspx"&gt;Messaging &amp;amp; Security Feature Pack for Windows Mobile 5.0&lt;/A&gt; and Exchange Server 2003 SP2. This &lt;A href="http://www.microsoft.com/windowsmobile/_assets/video/TechEd/Final-MobilityV7-5Mbps.wvx"&gt;dramatization&lt;/A&gt; shows how failed login attempts can be use to wipe the device, or even remotely wipe the device on demand. &lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=2105" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Humours+Distractions/default.aspx">Humours Distractions</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/TechEd/default.aspx">TechEd</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category></item><item><title>Release Date for Visual Studio 2005, SQL Server 2005, BizTalk 2006</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2005/06/07/release-date-for-visual-studio-2005-sql-server-2005-biztalk-2006.aspx</link><pubDate>Tue, 07 Jun 2005 17:17:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:2104</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/2104.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=2104</wfw:commentRss><description>&lt;P&gt;At TechEd today, Paul Flessner announced that these products will be released the week of November 7th. Also of interest is that SQL Server 2005 Reporting Services will be available in the express edition. Report Builder will also be pushed down into Standard, Workgroup and up. &lt;/P&gt;
&lt;P&gt;Anybody else think it's funny that MS is releasing products touted with “2005” and “2006” labels during the same week? &lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=2104" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2005/default.aspx">VS2005</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/SQL/default.aspx">SQL</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2003/default.aspx">VS2003</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Humours+Distractions/default.aspx">Humours Distractions</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Events/default.aspx">Events</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/TechEd/default.aspx">TechEd</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VSTS/default.aspx">VSTS</category></item><item><title>DevTeach Conference in Montreal</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2005/06/01/devteach-conference-in-montreal.aspx</link><pubDate>Wed, 01 Jun 2005 17:12:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:2088</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/2088.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=2088</wfw:commentRss><description>&lt;P&gt;I'm going to be heading out in a couple of weeks to DevTeach in Montreal. In addition to my regular session talk on Datasets, I'll also be participating in an architecture panel discussion as part of Groupe d’usagers Visual Studio Montréal, Software Architecture Special Interest Group's Special Software Architecture Meeting. The meeting is open to conference attendees, members of the user group, and anybody else for $5. Here's the details....&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;Speaker: Joel Semeniuk, Microsoft Regional Director, Winnipeg&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;Subject: Software architecture from the trenches&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;Architecture is the soul of our software. Software Architecture truly helps to define our success since if our architecture fails us, our software fails us. However, what makes a good architecture? What truly drives architectural decisions? Is one architecture better than another? In this session we will explore and discuss some of these questions while taking a close look at a few real-world examples. In each real-world scenario we will explore the resulting architecture and review the constraints the project faced both during design and during production and maintenance phases. We will also look retrospectively at each architecture presented and discuss ways that it could be improved upon with Microsoft .NET 2.0.&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;Joel Semeniuk is a founder and VP of Software Development at ImagiNET Resources Corp, a Manitoba based Microsoft Gold Partner in Ecommerce and Enterprise Systems. Joel is also the Microsoft Regional Director for Winnipeg, Manitoba. With a degree in Computer Science from the University of Manitoba, Joel has spent the last twelve years providing educational, development and infrastructure consulting services to clients throughout North America. Joel is the author of "Exchange and Outlook: Constructing Collaborative Solutions", from New Riders Publishing and contributing author of "Microsoft Visual Basic.NET 2003 KickStart" from SAMS. Joel has also acted as a technical reviewer on many other books and regularly writes articles for .NET Magazine and Exchange and Outlook Magazine on a variety of infrastructure and development related topics. Reach Joel by email at joels@imaginets.com.&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;Followed by a software architecture expert panel:&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;Beth Massi, Software Architecture MVP&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;Joel Semeniuk, Software Architecture MVP, Microsoft Regional Director Winnipeg&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;Barry Gervin, Software Architecture MVP, Microsoft Regional Director Toronto&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;Mario Cardinal, Software Architecture MVP&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;Carol Roy, Microsoft Canada .NET architecture specialist for the public sector&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;Well known Nick Landry (MVP .NET Compact Framework) will act as the moderator.&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;Come hear these experts talk about software architecture hot topics.&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/SPAN&gt;You'll also have the chance to ask questions and talk to the panelists.&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;Monday June 20&lt;SUP&gt;th&lt;/SUP&gt;, 5:30PM to 9:30PM&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;Location: Sheraton Centre, 1201 Boulevard Rene-Levesque West&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;Cost: free for all the DevTeach attendees and the Groupe d’usagers Visual Studio Montréal members.&lt;SPAN style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/SPAN&gt;$5 for non members or non DevTeach attendees.&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;Note: this session will be held in English&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;More info: &lt;A href="http://www.guvsm.net/"&gt;www.guvsm.net&lt;/A&gt; or &lt;A href="http://www.devteach.com/BonusSession.asp"&gt;http://www.devteach.com/BonusSession.asp&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=2088" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2005/default.aspx">VS2005</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Orcas/default.aspx">Orcas</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Vista/default.aspx">Vista</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/ADO.NET/default.aspx">ADO.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/SQL/default.aspx">SQL</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2003/default.aspx">VS2003</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VB.NET/default.aspx">VB.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/WinForms/default.aspx">WinForms</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/WebForms/default.aspx">WebForms</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Services/default.aspx">Services</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Security/default.aspx">Security</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Events/default.aspx">Events</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Testing/default.aspx">Testing</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/WCF/default.aspx">WCF</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VSTS/default.aspx">VSTS</category></item><item><title>SQL Server/Visual Studio/Biztalk Developer Competition - $50K 1st prize</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2005/05/30/sql-server-visual-studio-biztalk-developer-competition-50k-1st-prize.aspx</link><pubDate>Mon, 30 May 2005 13:28:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:2037</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/2037.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=2037</wfw:commentRss><description>&lt;P&gt;&lt;FONT face=Verdana size=2&gt;The stakes are getting seriously high on these competitions. How about $50,000 USD? &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE:14pt;FONT-FAMILY:Arial;"&gt;&lt;A title=http://msdn.microsoft.com/devcompetition href="http://msdn.microsoft.com/devcompetition"&gt;&lt;FONT face=Verdana size=2&gt;http://msdn.microsoft.com/devcompetition&lt;/FONT&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE:14pt;FONT-FAMILY:Arial;"&gt;&lt;FONT face=Verdana size=2&gt;There are lots of prizes - not just the grand prize. There are many categories to develop in so I think there is something here for every microsoft developer, from SQL Reporting Services, to SQL CLR, to video gaming.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE:14pt;FONT-FAMILY:Arial;"&gt;&lt;FONT face=Verdana size=2&gt;I'd love to see a fellow Canadian win this.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=2037" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/SQL/default.aspx">SQL</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2003/default.aspx">VS2003</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Humours+Distractions/default.aspx">Humours Distractions</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Events/default.aspx">Events</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/TechEd/default.aspx">TechEd</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category></item><item><title>When is a database oriented as a service?</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2005/05/27/when-is-a-database-oriented-as-a-service.aspx</link><pubDate>Fri, 27 May 2005 20:18:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:2031</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>8</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/2031.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=2031</wfw:commentRss><description>&lt;P&gt;Do you consider your database as a service? It's worthwhile to review the tenents of a &lt;A href="http://www.ebpml.org/soa.htm"&gt;service oriented architecture&lt;/A&gt;. The first two tenents above are probably the most relevant to my question.&lt;/P&gt;
&lt;P&gt;If you do all of your data access through stored procedures, then you might say your database boundary is &lt;STRONG&gt;explicit&lt;/STRONG&gt;.&lt;/P&gt;
&lt;P&gt;If your database doesn't depend on other services or&amp;nbsp;applications to exist properly, then you could say that your database is &lt;STRONG&gt;autonomous&lt;/STRONG&gt;. That's a little tricky. Although we may use stored procedures to access functionality in our database, we may have well known&amp;nbsp; practices that we have to call the ap_decrease_inventory&amp;nbsp; proc after we call the ap_ship_order proc to make sure our that our database values are all in check. I wouldn't call our database autonomous if it has to rely on these external rules being inforced. &lt;/P&gt;
&lt;P&gt;I'm going to avoid the discussion of the last two tenents because I think the are a bit to pure for my question. I'm really just trying to differentiate between two types of databases that I see out there. For my purposes, I refer to these as Databases as Services, and Databases as File Systems.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Databases as Services&lt;/STRONG&gt; typically are well encapsulated and contain business rules. These databases might be supporting several client applications. You probably take great care in these databases, designing them carefully, perhaps with modeling tools, and encapsulating the persistence function with stored procedures, functions, triggers, etc. You may or may not have a well defined data access layer in your client applications. You might consider all the stored procs to be your data access layer, so you might call you procs directly from UI and/or business layers of your application, but that really depends on how well your client application is written. From you database, you don't really care so much since it's well protected service that operates autonomously.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Databases as File Systems&lt;/STRONG&gt; are much less strategic. They serve one purpose only - to save stuff from your application. You probably/hopefully have a well defined data access layer in your application. That may even be an Object Relational Mapping tool (ORM). You probably designed the database to support the persistence of the objects in your application, and to generalize, you probably only have one application using this database. The most important thing though is that all of your business rules should be in your application(s). This type of database doesn't mean you don't have db side logic such as stored procedures or triggers. You may decide for optimization reasons that some code needs to live closer to the tables and that's okay. It's okay, so long as you realize it's harder to reuse some of that logic in higher layers of your application and you are comfortable in having your logic live in multiple platforms.&lt;/P&gt;
&lt;P&gt;Stored Procedures are increasingly being used to add encapsulation to our database. No longer is performance the rationale for stored procedures. And increasingly, we are seeing advanced services in our databases - 4GL code such as Java and .NET managed code are making their ways into our databases. User Defined Types, Objects, and with the next version of SQL Server, we're seeing a full fledged message queue mechanism with Service Broker. You can even host web services directly in SQL Server 2005. &lt;/P&gt;
&lt;P&gt;Is your database a service? Which camp do you fall into? Unfortunately, I think many people live somewhere in between, and that isn't by design. Most of the architectural decisions here should be motivated by where you decide to draw your boundary for strategic reasons, not for what is handy at the moment. I'd like to see people more consciously make this decision and remain committed to it. What are your thoughts?&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=2031" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/ADO.NET/default.aspx">ADO.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/SQL/default.aspx">SQL</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2003/default.aspx">VS2003</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VB.NET/default.aspx">VB.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Services/default.aspx">Services</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/WCF/default.aspx">WCF</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Architecture/default.aspx">Architecture</category></item><item><title>From Rainier to Orcas and beyond.</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2005/05/26/2027.aspx</link><pubDate>Fri, 27 May 2005 03:37:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:2027</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/2027.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=2027</wfw:commentRss><description>&lt;P&gt;This past 3 days I've spent traveling to and from Redmond to visit with a few of the developer tools teams as part of an Software Design Review (SDR). These are a kind of focus group, with the intention of getting qualitative information from folks about what they'd like to see in upcoming development tools. Hopefully I'll be able to talk more about the content after PDC in the fall so stay tuned. It was a refreshing trip in that normally, I'm traveling to either learn or teach. During this trip I was there more to discuss and influence and I got a real sense of just how careful Microsoft listens to the community.&lt;/P&gt;
&lt;P&gt;It's fitting that I drove down to Redmond from Vancouver, passing through the town of Everett and past the Whidbey and Orcas islands (part of the San Juan Islands). These names are probably familiar to some of you as code names for Visual Studio 2003 (Everett), 2005 (Whidbey) and beyond (Orcas). For the sake of completeness we should add Rainier as well which was the code name for Visual Studio 2002. Geographically, these&amp;nbsp;go from south east to north west passing more or less through Redmond.&lt;/P&gt;
&lt;P&gt;Not unlike the development of these versions, the journey between these stops is a windy road, taking you over hill and vale, and over several bodies of water.&amp;nbsp; What's after Orcas? Well the next leg of the journey is as ambitious as the following version after Orcas, namely Hawaii. If you look at this path on a map, you'll see that this is indeed quite a leap.&lt;/P&gt;
&lt;P&gt;The most interesting thing that happened is that I realized that come Orcas, I'm likely only going to be interested in coding in Visual Basic, and not C#.&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=2027" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/PDC/default.aspx">PDC</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2005/default.aspx">VS2005</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Orcas/default.aspx">Orcas</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Vista/default.aspx">Vista</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2003/default.aspx">VS2003</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VB.NET/default.aspx">VB.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Humours+Distractions/default.aspx">Humours Distractions</category></item><item><title>MSN Desktop Search Gold</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2005/05/16/2014.aspx</link><pubDate>Tue, 17 May 2005 02:23:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:2014</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/2014.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=2014</wfw:commentRss><description>&lt;P&gt;MSN Desktop Search Rocks&lt;/P&gt;
&lt;P&gt;The MSN Desktop Search tool is now out of beta. You can download the final bits here (toolbar.msn.com).&lt;/P&gt;
&lt;P&gt;They added an extremely nice feature to the final bits that wasn't in the beta. Now when your search returns, there is also an outlook style preview pane. It can show the details of a contact record, appointment or email from outlook....and it does so extremely fast (ie.no time at all). &lt;/P&gt;
&lt;P&gt;For files, you also get advanced previews for things like media and office files. Office files have advanced preview options - I had to turn on xls and doc extensions, although ppt just seemed to work strangely enough. The previews are not as fast as outlook previews, but no worst than opening up the full program.&lt;/P&gt;
&lt;P&gt;The powerpoint preview is cool. It's not just a preview of slide one, but more like the powerpoint itself with a table of contents on the left which is clickable, and then the full slide preview on the right. It even shows the slides notes.&lt;/P&gt;
&lt;P&gt;A directory folder can also be previewed, which looks like explorer's thumbnail view.&lt;/P&gt;
&lt;P&gt;When your search results result in a song, you get a full album preview including album art, and extended mp3 information. &lt;/P&gt;
&lt;P&gt;Now one of the cool things is that for each item, you get rich context menu support. Right click on an email and select reply. Local files, get their regular explorer context menu. Word documents - print. Mp3's - add to now playing list. &lt;BR&gt;&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=2014" width="1" height="1"&gt;</description></item><item><title>15% off of MCSD/MCAD Certification Exams @ Pearson/VUE</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2005/05/01/1922.aspx</link><pubDate>Mon, 02 May 2005 00:17:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:1922</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>4</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/1922.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=1922</wfw:commentRss><description>Use the following voucher number MSAU113E1020. Good until August 31, 2005.&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=1922" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/SQL/default.aspx">SQL</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2003/default.aspx">VS2003</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VB.NET/default.aspx">VB.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Humours+Distractions/default.aspx">Humours Distractions</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/WinForms/default.aspx">WinForms</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/WebForms/default.aspx">WebForms</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Services/default.aspx">Services</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Security/default.aspx">Security</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/TechEd/default.aspx">TechEd</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category></item><item><title>Congratulations to TVBUG</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2005/04/22/1906.aspx</link><pubDate>Fri, 22 Apr 2005 12:08:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:1906</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/1906.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=1906</wfw:commentRss><description>&lt;P&gt;&lt;A href="http://weblogs.asp.net/kencox/archive/2005/04/21/403792.aspx"&gt;http://weblogs.asp.net/kencox/archive/2005/04/21/403792.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Congratulations to all those involved, but especially to the winning team from TVBUG. So how do we get our hands on that pocketbuilder app?&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Update: Links to pocketbuilder added&lt;/STRONG&gt;&lt;/P&gt;&lt;FONT size=2&gt;
&lt;P&gt;List of URLs&lt;/P&gt;
&lt;P&gt;Code: &lt;/FONT&gt;&lt;A href="ftp://cynot.gotdns.com/PocketBuilder"&gt;&lt;U&gt;&lt;FONT color=#0000ff size=2&gt;ftp://cynot.gotdns.com/PocketBuilder&lt;/U&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=2&gt; in Code directory.&lt;/P&gt;
&lt;P&gt;Installation instructions in file setup pocketbuilder.txt.&lt;/P&gt;
&lt;P&gt;Zip version of nant and nantcontrib included.&lt;/P&gt;
&lt;P&gt;Documentation: &lt;/FONT&gt;&lt;A href="ftp://cynot.gotdns.com/PocketBuilder"&gt;&lt;U&gt;&lt;FONT color=#0000ff size=2&gt;ftp://cynot.gotdns.com/PocketBuilder&lt;/U&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=2&gt; in Documentation directory.&lt;/P&gt;
&lt;P&gt;Data Model: &lt;/FONT&gt;&lt;A href="http://cynot.gotdns.com/PocketBuilder.DataModel"&gt;&lt;U&gt;&lt;FONT color=#0000ff size=2&gt;http://cynot.gotdns.com/PocketBuilder.DataModel&lt;/U&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;&lt;FONT size=2&gt;
&lt;P&gt;Blog: &lt;/FONT&gt;&lt;A href="http://cynot.gotdns.com/"&gt;&lt;U&gt;&lt;FONT color=#0000ff size=2&gt;http://cynot.gotdns.com&lt;/U&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;&lt;FONT size=2&gt;
&lt;P&gt;Monitoring ASP.NET tool: &lt;/FONT&gt;&lt;A href="http://cynot.gotdns.com/PocketBuilderUI"&gt;&lt;U&gt;&lt;FONT color=#0000ff size=2&gt;http://cynot.gotdns.com/PocketBuilderUI&lt;/U&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;&lt;FONT size=2&gt;
&lt;P&gt;Admin tool: &lt;/FONT&gt;&lt;A href="http://cynot.gotdns.com/PocketBuilderAdmin"&gt;&lt;U&gt;&lt;FONT color=#0000ff size=2&gt;http://cynot.gotdns.com/PocketBuilderAdmin&lt;/U&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;&lt;FONT size=2&gt;
&lt;P&gt;WebService: &lt;/FONT&gt;&lt;A href="http://cynot.gotdns.com/PocketBuilderWS/PocketBuilder.asmx"&gt;&lt;U&gt;&lt;FONT color=#0000ff size=2&gt;http://cynot.gotdns.com/PocketBuilderWS/PocketBuilder.asmx&lt;/U&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;&lt;FONT size=2&gt;
&lt;P&gt;Note: The asp.net applications require a username/password. If you are interested in running them send&amp;nbsp;an email to &lt;A href="mailto:TonyCavaliere@rogers.com"&gt;TonyCavaliere@rogers.com&lt;/A&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=1906" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2003/default.aspx">VS2003</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Southern+Ontario/default.aspx">Southern Ontario</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Services/default.aspx">Services</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Events/default.aspx">Events</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category></item><item><title>Why the VSTS Logical Datacenter Designer (er, Deployment Designer) Sucks</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2005/04/12/1704.aspx</link><pubDate>Tue, 12 Apr 2005 13:35:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:1704</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>4</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/1704.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=1704</wfw:commentRss><description>&lt;P&gt;I've had this question in many of the VSTS bootcamps I'm teaching across canada. &amp;#8220;From my Application Diagram, how do I create a deployment diagram that shows my web application and database being deployed on the same box&amp;#8220;.&lt;/P&gt;
&lt;P&gt;So I posed the question to my friend and fellow RD &lt;A href="http://weblogs.asp.net/jsemeniuk"&gt;Joel Semeniuk&lt;/A&gt;. The answer is:&lt;/P&gt;
&lt;BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px"&gt;
&lt;P&gt;&lt;EM&gt;with the LDD you CAN NOT represent a web site and a database server on the same logical server.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;The Logical Datacenter Designer is used to create diagrams of interconnected logical servers that represent the logical structure of a datacenter.  They key here is the term &amp;#8220;logical server.&lt;/EM&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Full post here: &lt;A href="http://weblogs.asp.net/jsemeniuk/archive/2005/04/07/397541.aspx"&gt;http://weblogs.asp.net/jsemeniuk/archive/2005/04/07/397541.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;My understanding (hope) was different. My understanding of the term &amp;#8220;Logical&amp;#8220; was that in the datacenter diagram, a logical server was a &amp;#8220;type&amp;#8220; of server, not a physical instance of a named machine. But if this is the way the LDD is going to work, then it's useless and I guess what we really need is a Physical Datacenter Designer. To be honest, I don't think we need a LDD, just a DD that works correctly. Otherwise, how the hell can you create a deployment diagram out of something that doesn't represent real machines - or at least a type of machine?&lt;/P&gt;
&lt;P&gt;If the LDD is going to continue to work this way, then the deployment diagram (and even the LDD) start to look just like your Application Diagram. Furthermore, if a Logical Server is intended to be (possibly) aggregated with another Logical server to become a physical server, then why would you ever be allowed to put them in different zones. There is some serious impedence going on here. I seriously hope this gets fixed/repositioned before RTM. It would be sad to come this close to getting it right on a great suite of modelling tools.&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=1704" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2005/default.aspx">VS2005</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2003/default.aspx">VS2003</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/MSF/default.aspx">MSF</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VSTS/default.aspx">VSTS</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Architecture/default.aspx">Architecture</category></item><item><title>Canadian Developer Community Radio</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2005/04/11/1700.aspx</link><pubDate>Mon, 11 Apr 2005 19:27:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:1700</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/1700.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=1700</wfw:commentRss><description>&lt;P&gt;Mark Relph (MS Canada) posted his first blogcast as part of &amp;#8220;Canadian Developer Community Radio&amp;#8220;. It was recorded a few weeks ago at the ASP.NET 2.0 Deep Dive in Toronto. Lots of good discussion with the speakers, their favourite features, etc. etc. There is also a brief interview with me in which I don't say anything terribly interesting.&lt;/P&gt;
&lt;P&gt;&lt;A title=http://blogs.msdn.com/mark_relph/archive/2005/04/11/407231.aspx href="http://blogs.msdn.com/mark_relph/archive/2005/04/11/407231.aspx"&gt;Click Here.&lt;/A&gt;&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=1700" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2005/default.aspx">VS2005</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Humours+Distractions/default.aspx">Humours Distractions</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Southern+Ontario/default.aspx">Southern Ontario</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/WebForms/default.aspx">WebForms</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Events/default.aspx">Events</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category></item><item><title>More Online Training: Java to .NET Migration</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2005/04/10/1603.aspx</link><pubDate>Sun, 10 Apr 2005 16:23:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:1603</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/1603.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=1603</wfw:commentRss><description>&lt;P&gt;&lt;A href="http://msdn.microsoft.com/vstudio/java/migrate/workshop/"&gt;http://msdn.microsoft.com/vstudio/java/migrate/workshop/&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;This link will get you 15 hours of free migration training online.&lt;/P&gt;
&lt;P&gt;Topics include:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;how to map common J2SE and J2EE functionality to the equivalent .NET Framework functionality&lt;/LI&gt;
&lt;LI&gt;how to migrate J2SE and J2EE services to the .NET Framework&lt;/LI&gt;
&lt;LI&gt;deploying .NET applications&lt;/LI&gt;
&lt;LI&gt;automated migration techniques&lt;/LI&gt;
&lt;LI&gt;migrating JDK 1.4 applications and code&lt;/LI&gt;&lt;/UL&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=1603" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2003/default.aspx">VS2003</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Events/default.aspx">Events</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category></item><item><title>Whidbey Beta 2 Availability</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2005/04/10/1602.aspx</link><pubDate>Sun, 10 Apr 2005 06:31:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:1602</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/1602.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=1602</wfw:commentRss><description>&lt;P&gt;We were expecting this first week of April but now this seems to be delayed 2 or 3 weeks. MS EMEA has a page quoting April 25th. &lt;A href="http://www.microsoft.com/emea/msdn/betaexperience/"&gt;http://www.microsoft.com/emea/msdn/betaexperience/&lt;/A&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Beta 2 will include a Go Live license for the .NET Framework so from my understanding they are taking some extra stabilizing precautions to get a supportable runtime out there.&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=1602" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2005/default.aspx">VS2005</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2003/default.aspx">VS2003</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VSTS/default.aspx">VSTS</category></item><item><title>SQL Server 2005 "Yukon" Virtual "Hands On" Online Labs</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2005/04/09/1600.aspx</link><pubDate>Sun, 10 Apr 2005 03:24:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:1600</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/1600.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=1600</wfw:commentRss><description>&lt;P&gt;SQL Server 2005 &amp;#8220;Yukon&amp;#8221; is in beta, but if you'd rather not go through the hassle of installing it (and trying to uninstall it) you can experience it through the magic of online virtual labs.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://msdn.demoservers.com/login.aspx?group=sql2005"&gt;http://msdn.demoservers.com/login.aspx?group=sql2005&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Not only is it a hosted environment, but guided hands on labs are provided for the following topics:&lt;/P&gt;
&lt;LI&gt;SQL Server 2005 Integration Services&lt;/LI&gt;
&lt;LI&gt;SQL Server 2005 Introduction to SQL Server Management Studio&lt;/LI&gt;
&lt;LI&gt;SQL Server 2005 Reporting Services&lt;/LI&gt;
&lt;LI&gt;SQL Server 2005 Server Management Objects&lt;/LI&gt;
&lt;LI&gt;SQL Server 2005 SQL CLR Integration&lt;/LI&gt;
&lt;LI&gt;SQL Server 2005 SQL Query Tuning&lt;/LI&gt;
&lt;LI&gt;SQL Server 2005 SQL Server and ADO.NET&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;SQL Server 2005 T-SQL Enhancements&lt;/LI&gt;
&lt;LI&gt;SQL Server 2005 Web Services&lt;/LI&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;LI&gt;SQL Server 2005 XML Capabilites&lt;/LI&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=1600" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2005/default.aspx">VS2005</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/ADO.NET/default.aspx">ADO.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/SQL/default.aspx">SQL</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2003/default.aspx">VS2003</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Services/default.aspx">Services</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Events/default.aspx">Events</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category></item><item><title>Whidbey, ObjectSpaces and Mexico, Oh My!</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2005/04/01/1579.aspx</link><pubDate>Fri, 01 Apr 2005 05:41:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:1579</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/1579.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=1579</wfw:commentRss><description>&lt;P&gt;I'm just heading back home from Vancouver tonight on a red eye. When I get home, I have time for a load of laundry or two and then I'm flying to Mexico. Not just for some R&amp;amp;R, but I've also arranged to speak at the Mayan Riviera .NET User Group. (MR. Nug). I'm not sure what is better - going on vacation, or being able to write it off as a business expense. Unfortunately the only Spanish I know is &amp;#8220;Dos cervasa por favor&amp;#8220; therefore this talk will be in English. My apologies.&lt;/P&gt;
&lt;P&gt;I'm going to be speaking about the new DataSet that is coming in Whidbey. By the time I get there, beta 2 should be available for download and&amp;nbsp;it should be public knowledge that ObjectSpaces will finally be shipping as part of the whidbey release. I just got a preliminary build last night, so I'm going to try to do a demo of using a dataset with O/R mapping via ObjectSpaces.&lt;/P&gt;
&lt;P&gt;As you may have also heard, bundled into 2.0 Typed Datasets are Typed DataAdapters, also known as TableAdapters. In addition to TableAdapters, beta 2 will introduce typed forms, known as TypedForms. These will be precanned forms for both Web and Windows access that couples an easily painted form right on top of a dataset...with zero code. The cool thing about this is that you can simply add a column to your database table, and this will automatically change your data access layer, your middle tier entity and data entry forms. Likewise, you'll be able to simply drag a text box onto your TypedForms and this will automatically modify your database schema to add a new column to the table. &lt;/P&gt;
&lt;P&gt;There is also some discussion going on about also adding a TypedReport into the dataset that couples Sql Reporting Services Reports directly into your typed dataset class. This stuff is going to be so easy to use, that it is likely going to make it's way into InfoPath as part of the Office product so that end users can create their own data entry forms and reports in InfoPath. This new edition of InfoPath is going to be named &amp;#8220;InfoMaker&amp;#8220;. More information on this is available &lt;A href="http://www.sybase.com/products/developmentintegration/infomaker"&gt;here&lt;/A&gt;. This new collection of classes in the dataset are now going to be collectively known as a "DataWindow". Again, more details &lt;A href="http://www.sybase.com/products/developmentintegration/datawindownet"&gt;here&lt;/A&gt;. No, it's not a snowy day hell. Hard to believe isn't it. This is surely a day to mark on your &lt;A href="http://en.wikipedia.org/wiki/April_Fool's_Day"&gt;calendar&lt;/A&gt;.&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=1579" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2005/default.aspx">VS2005</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Vista/default.aspx">Vista</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/ADO.NET/default.aspx">ADO.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/SQL/default.aspx">SQL</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2003/default.aspx">VS2003</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/WinForms/default.aspx">WinForms</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/WebForms/default.aspx">WebForms</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/MSF/default.aspx">MSF</category></item><item><title>Geek Breakfast, Vancouver, March 30</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2005/03/24/1565.aspx</link><pubDate>Thu, 24 Mar 2005 21:32:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:1565</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/1565.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=1565</wfw:commentRss><description>&lt;P&gt;I'll be hosting an Architect's Breakfast on Wednesday March 30th in Vancouver. We've been doing these in Toronto and Kitchener over the past 6 months or so and I really like the format. We break the mold of sitting in rows facing a presenter and gather around these new fangled ball shaped tables, facing our peers, sharing experiences and thoughts for the future. As a backdrop to this, yes some powerpoints, but much less of a marketing blast of blue backgrounds and product demo's. Topic? Enterprise Integration Patterns. &lt;A href="http://www.objectsharp.com/oNewsUpdate/ReadingFullStory.aspx?StoryNum=-59"&gt;Click here for more details and registration links&lt;/A&gt;.&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=1565" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Services/default.aspx">Services</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Events/default.aspx">Events</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category></item><item><title>VSTS Architect's Boot Camp Next Week (Mar 29/31) in Ottawa &amp; Vancouver</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2005/03/24/1564.aspx</link><pubDate>Thu, 24 Mar 2005 21:19:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:1564</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/1564.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=1564</wfw:commentRss><description>Next week I'm travelling to Ottawa (Tuesday) and then Vancouver (Thursday) to do some boot camp training on Visual Studio Team System. This 1 day hands on, gives folks a chance to play with the new modelling and testing features. I'll also be demoing the project management, process guidance, and integrated source control management features. If you are interested, there are still seats left. Click here for &lt;A href="http://www.objectsharp.com/ttdinvitation/vstsbootcamp.aspx"&gt;details&lt;/A&gt;&amp;nbsp;and here for &lt;A href="http://www.objectsharp.com/training/VSTSBootcampSelectDate.aspx"&gt;registration&lt;/A&gt;.&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=1564" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2005/default.aspx">VS2005</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/SQL/default.aspx">SQL</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2003/default.aspx">VS2003</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Events/default.aspx">Events</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Testing/default.aspx">Testing</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/MSF/default.aspx">MSF</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VSTS/default.aspx">VSTS</category></item><item><title>Say goodbye to Whidbey's System.Data.SqlServer namespace</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2005/03/22/say-goodbye-to-whidbey-s-system-data-sqlserver-namespace.aspx</link><pubDate>Tue, 22 Mar 2005 21:42:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:1558</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/1558.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=1558</wfw:commentRss><description>&lt;P&gt;Pablo Castro writes in the new &lt;A href="http://blogs.msdn.com/dataaccess/"&gt;Data Access Team Blog&lt;/A&gt;&amp;nbsp;that they are unifying System.Data.SqlServer classes into System.Data.SqlClient.&lt;/P&gt;
&lt;P&gt;If you are asking “What is System.Data.SqlServer?” the answer is that it's a ADO.NET managed provider for accessing SQL Server 2005 - from within SQL Server 2005 (managed procs, triggers, functions, etc.). Why a different provider? Well SqlClient uses a TDS (tabular data stream) external access protocol to connect to SQL Server. Obviously if you are already in SQL Server you don't want to go outside and back into your database. The SqlServer namespace provides similar classes (SqlConnection, SqlCommand, etc. etc. that work within the current context of your connection to the database. &lt;/P&gt;
&lt;P&gt;In the existing betas, MS was so nice to give them the same class names so that you might have an easy chance of porting data access code from client code to server code by changing the using/Imports &amp;lt;namespace&amp;gt; at the top of your class. You have a little bit of work to tweak your connection (if you really need one), but otherwise this porting process works pretty well. If you want the most efficient code, you also need to break your SqlCommands into static SqlDefinitions and SqlExecutionContexts for the actual executions. You also may need to output differently using the SqlContext's Pipe object.&lt;/P&gt;
&lt;P&gt;So the product team has decided to unify, removing the SqlServer namespace and making the SqlClient components serve dual duty. This magic switch happens simply by using a connection string of “context connection=true”. &lt;/P&gt;
&lt;P&gt;I have mixed emotions about this move. On one hand, it can make the porting process a bit smoother. You don't have to changing your using/Imports and you don't have to remove your connection object. It also means you'll instantiate SqlCommands the same way. &lt;/P&gt;
&lt;P&gt;On the other hand, it's not obvious to me by reading somebody's code if they are talking in-context to the &amp;nbsp;database, or out of context externally. In fact, this could very well switch based on a configuration setting for the connection string. The differences are not just related to performance, but also affect the transactional semantics. It would be very easy to switch code that is acting in-context as part of a transaction, to an external command that is not participating in a transaction by a simple configuration change. This is a big deal. I don't think transactional semantics should be a “configurable” thing. My opinion extends to the COM+ component catalog, but that is a whole other blog entry.&lt;/P&gt;
&lt;P&gt;This move ends up simplifying an API so much that a programmer's intentions are lost, and that's not a good thing. &lt;A href="http://blogs.msdn.com/dataaccess/archive/2005/03/22/400459.aspx"&gt;Pablo says this is coming in SQL Server Beta 3, but he wants your opinions.&lt;/A&gt;&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=1558" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2005/default.aspx">VS2005</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/ADO.NET/default.aspx">ADO.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/SQL/default.aspx">SQL</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2003/default.aspx">VS2003</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category></item><item><title>End of VB6 Support, it could be worst.</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2005/03/18/1554.aspx</link><pubDate>Sat, 19 Mar 2005 01:54:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:1554</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/1554.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=1554</wfw:commentRss><description>&lt;P&gt;As you may have heard, VB6 is coming to it's end of free support shortly. Apparently a bunch of VB6 developers who haven't made the move to .NET are a bit upset. I've declined to comment on the issue as I don't really have much to say one way or the other. But it is interesting to question how MS compares to the competition in supporting their developer tools?&lt;/P&gt;
&lt;P&gt;MS has supported VB6 for 7 years. That is also the current plan with SQL Server 2000.&lt;/P&gt;
&lt;P&gt;IBM you ask? Web Sphere Application Server 3.5 - only support for slightly more than 3 years. They got a bit better with 4.0 supporting it for about 6 months longer than 3.5 - not quite 4 years. &lt;/P&gt;
&lt;P&gt;I'm not a WebSphere expert, but I suppose another argument could be that there was a more direct migration path between those version and the current version 6 as compared to VB6 and VB.NET.&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=1554" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/SQL/default.aspx">SQL</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2003/default.aspx">VS2003</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VB.NET/default.aspx">VB.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category></item><item><title>Using VSTS to Stop Estimating</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2005/03/15/1547.aspx</link><pubDate>Wed, 16 Mar 2005 03:28:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:1547</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/1547.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=1547</wfw:commentRss><description>&lt;div class="Section1"&gt; &lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;&lt;span style='font-size:12.0pt'&gt;David Anderson [&lt;a href="http://www.agilemanagement.net/Articles/Weblog/StopEstimating.html"&gt;Agile Management Blog&lt;/a&gt;] suggests we stop estimating. He&amp;rsquo;s premise is that you can burn a fair amount of your capacity generating estimates which we know to be rather inaccurate. Instead we should just tell our customers that based on past productivity, we&amp;rsquo;ll deliver x (give or take some margin) in the next month.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;&lt;span style='font-size:12.0pt'&gt;I&amp;rsquo;ll also add my 2 cents by stating that I think estimates are always doomed to fail. In fact, the more granular you estimate, the more likely failure is. Why? Because estimates become budgets when they are converted into task items. When something is estimated at 5 days, very few people take only 4 days to complete the task. Most will take 5 days, and if indeed there are unforeseen problems or complexity, then 6 or 7 days is more likely.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;&lt;span style='font-size:12.0pt'&gt;We should really be estimating our work items in some arbitrary scale not tied to time. Both I and &lt;a href="http://www.martinfowler.com/bliki/XpVelocity.html" target="_blank"&gt;Martin Fowler like Josh Kerievsky's term: NUTs (Nebulous Units of Time)&lt;/a&gt;. So are we stopping estimating? Well not really &amp;ndash; just estimating in NUTs instead of time. Furthermore, I think once estimates are created they should be hidden. Draw your line in the sand at the beginning of an iteration of what you think everything is and how it adds up &amp;ndash; and then put those numbers into a time capsule until the end of the iteration. They don&amp;rsquo;t serve a purpose during the iteration other than to maybe act as a budget &amp;ndash; and you don&amp;rsquo;t want that. At the end of your iteration, add up your actual efforts and divide by your estimate of nuts to figure out your velocity &amp;ndash; or cost per nut. You can then use that historical productivity (which you should track over time for a team) to put actual time estimates on top of your NUTs for future iterations.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;&lt;span style='font-size:12.0pt'&gt;In Visual Studio Team System, the include MSF Agile template includes work item types that include # of hours completed and # of hours remaining. Fortunately you can customize these templates, perhaps to remove these columns and add NUTs and % Completed. This may lead to some impedance with the MS Project integration but maybe if you like this approach you&amp;rsquo;ll spend less time in there anyway.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=1547" width="1" height="1"&gt;</description></item><item><title>Visual SourceSafe to Team Foundation Walkthrough</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2005/03/15/1546.aspx</link><pubDate>Tue, 15 Mar 2005 14:30:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:1546</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/1546.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=1546</wfw:commentRss><description>&lt;div class="Section1"&gt; &lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;&lt;span style='font-size:12.0pt'&gt;&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt; &lt;blockquote style='margin-top:5.0pt;margin-bottom:5.0pt'&gt; &lt;div&gt; &lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;&lt;span style='font-size:12.0pt'&gt;&lt;a href="http://blogs.msdn.com/akashmaheshwari/" title="http://blogs.msdn.com/akashmaheshwari/"&gt;Akash&lt;/a&gt; has posted two articles explaining how to use the conversion tool, VssConverter.exe,&amp;nbsp;to migrate from Visual SourceSafe to Team Foundation Source Control.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="3" face="Times New Roman"&gt;&lt;span style='font-size:12.0pt'&gt;&lt;a href="http://blogs.msdn.com/akashmaheshwari/archive/2005/03/06/386063.aspx" title="http://blogs.msdn.com/akashmaheshwari/archive/2005/03/06/386063.aspx" id="viewpost"&gt;Walkthrough for migrating from Visual SourceSafe to Team Foundation&lt;/a&gt; via [&lt;a href="http://blogs.msdn.com/buckh/archive/2005/03/06/386296.aspx"&gt;Buck Hodges&lt;/a&gt;]&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=1546" width="1" height="1"&gt;</description></item><item><title>Back Home exploring SQL Genetics</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2005/03/13/1539.aspx</link><pubDate>Sun, 13 Mar 2005 13:15:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:1539</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/1539.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=1539</wfw:commentRss><description>&lt;P&gt;Over the past month I've been doing some Whidbey/Yukon training. First in Ottawa, then in Toronto (home) and most recently last week in Calgary - a city I haven't visited in 10 years, and has grown up a lot since then. I really enjoyed Calgary.&lt;/P&gt;
&lt;P&gt;I'm spending the day getting re-acquainted with my wife and our daughters. My 6 year old used a word this morning I hadn't heard her use before. She was showing me a fancy painting she did at school and while comparing her technique to her peers, said that she &amp;#8220;used the &lt;STRONG&gt;minimum&lt;/STRONG&gt; amount of colors that the teacher suggested&amp;#8221;. You know where I'm going with this don't you?&lt;/P&gt;
&lt;P&gt;I asked her what &amp;#8220;minimum&amp;#8221; meant and she said &amp;#8220;the least amount of work&amp;#8221;. Ok, she's my daughter, no DNA testing required. But to further test her understanding I asked her what the minimum of 1, 4 and 7 was and she correctly chose 1. She's no math genius, so I was happy she got it right. She even knew that the maximum was 7. I figured I blow her mind (and her mother's who was listening) by asking her what the sum was. I nearly fell off my chair when she said 12.&lt;/P&gt;
&lt;P&gt;So I'm happy to report that SQL skills are indeed part of the human genome. Next week we'll try her on correlated subqueries.&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=1539" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2005/default.aspx">VS2005</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/ADO.NET/default.aspx">ADO.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/SQL/default.aspx">SQL</category></item><item><title>Microsoft wakes up and smells the ajax</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2005/03/11/1537.aspx</link><pubDate>Fri, 11 Mar 2005 05:22:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:1537</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/1537.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=1537</wfw:commentRss><description>&lt;P&gt;&lt;A href="http://start.com/1/"&gt;http://start.com/1/&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Click News, Add Rss Feed, Click around, smell the &lt;A href="http://digitalsqueeze.com/drupal/node/3053"&gt;ajax&lt;/A&gt;? What's next draggable mappoint maps? &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=1537" width="1" height="1"&gt;</description></item><item><title>Getting Schema information from a Database</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2005/03/08/1532.aspx</link><pubDate>Tue, 08 Mar 2005 14:14:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:1532</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/1532.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=1532</wfw:commentRss><description>&lt;P&gt;Yesterday in my class I was going over the new GetSchema API in Whidbey and I learned from one of my students about another technique that I wasn't aware of - SQL ANSI 92 Information Schema Views. They are also supported in Oracle.&lt;/P&gt;
&lt;P&gt;There are almost too many ways of getting database schema information but I'll try to summarize here to see how they compare. Depending on what you want to do, one of these will be more appropriate for you.&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;A common technique is to execute a SQL statement and describe the result set. Execute a &amp;#8220;Select * FROM known_table_name&amp;#8221;. Some API's would have you add a &amp;#8220;WHERE 1=2&amp;#8220; if you can't just &amp;#8220;describe&amp;#8220; the result set without incurring row retrieval payload. You can take advantage of this technique using the DataReader's GetSchemaTable method. In this example, you are really getting the schema of a query and not per se the underlying table structure. As such, it doesn't have to be constrained to a &amp;#8220;*&amp;#8220; or 1 table query either.&lt;/LI&gt;
&lt;LI&gt;Query the SQL Server System tables - this is close to the metal - which can burn you, but if you don't mind built in fragility. This technique is going to likely become obsolete in SQL Server Yukon with the new &amp;#8220;Sys.*&amp;#8220; views.&lt;/LI&gt;
&lt;LI&gt;Slightly better than using the system tables would be&amp;nbsp;using &lt;A href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/tsqlref/ts_sp_00_519s.asp"&gt;system stored procedures&lt;/A&gt;&amp;nbsp;such as sp_tables&lt;/LI&gt;
&lt;LI&gt;Use the &lt;A href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/tsqlref/ts_ia-iz_4pbn.asp"&gt;SQL-92 ANSI Standard Information Schema&lt;/A&gt; views such as &amp;#8220;SELECT * FROM Northwind.INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = N'Customers'. Much nicer, and generic across anything that implements this standard (SQL Server 7.0 and up, and Oracle 9i? and up)&lt;/LI&gt;
&lt;LI&gt;In .NET 1.0, you could also use the GetOleDbSchema method of an OleDbConnection. This is somewhat hard coded to a RDBMS and requires an OleDb driver.&lt;/LI&gt;
&lt;LI&gt;In .NET 2.0, you can use&amp;nbsp;new GetSchema method on the connection object. In theory, the idea is you get schematic information specific to the provider - so things that are specific to the provider can be made available/discoverable. But I'll warn you, it's a pretty abstract API. It's also remotely similar at the root level to the MSXML 4.0&amp;nbsp;&amp;#8220;GetSchema&amp;#8220; method in that a) the methods have the same name, and b) they accept an argument of &amp;#8220;Schema&amp;#8220; to return. In theory, you'll get more accurate schema information for the thing you are connecting too. Collections can be defined by the provider which differs from GetOleDbSchema which normalizes all db objects into a known set of objects. That may not work so well for new providers, Object Relational databases, or who knows what next.&lt;/LI&gt;&lt;/UL&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=1532" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2005/default.aspx">VS2005</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/ADO.NET/default.aspx">ADO.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/SQL/default.aspx">SQL</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2003/default.aspx">VS2003</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Tips/default.aspx">Tips</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category></item><item><title>Not your father's NGEN</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2005/03/07/1531.aspx</link><pubDate>Tue, 08 Mar 2005 02:07:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:1531</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/1531.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=1531</wfw:commentRss><description>&lt;P&gt;Mr. Reid &amp;#8220;NGEN&amp;#8220; Wilkes has a &lt;A href="http://msdn.microsoft.com/msdnmag/issues/05/04/NGen/default.aspx"&gt;good article in MSDN magazine about NGEN 2.0&lt;/A&gt; coming in whidbey. NGEN is the command-line tool that pre-compiles MSIL into native PE code....which has been around since .NET 1.0. It's can be a good performance kick on large applications to NGEN your assemblies as part of your deployment. &lt;/P&gt;
&lt;P&gt;So what are the highlights?&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;when a dependent shared assembly is updated, your executable's ngen cached image is invalidate. The new NGEN service can queue up requests to do &amp;#8220;across the board&amp;#8220; re-ngen's to update your cached image. To accomplish this, NGEN keeps track of all of these dependencies so when an update is deployed - bam - things are queued up and recompiled when your machine has idle time. way cool.&lt;/LI&gt;
&lt;LI&gt;NGEN 2.0 blows out your generic parameterized classes into pre-compiled code (almost 100% of the time). Therefore any performance drags on generic expansion at runtime are gone if you NGEN.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Reid makes some good arguments for taking the time to NGEN your code by describing the down side of the JITer and the overhead that it imposes on memory compared to loading native images. What scares me even more is all the dynamic compilation coming in ASP.NET applications. Isn't this going to preclude the using NGEN on ASP.NET applications in whidbey?&lt;/P&gt;
&lt;P&gt;But alas, these performance improvements are not always a silver bullet and in some cases JITing is more performant. The bottom line - is test to make sure your assumptions of NGEN improving your performance are correct. &lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=1531" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2005/default.aspx">VS2005</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VB.NET/default.aspx">VB.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category></item><item><title>VSTS Work Item: Percentage Completed</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2005/03/06/1524.aspx</link><pubDate>Sun, 06 Mar 2005 18:50:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:1524</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/1524.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=1524</wfw:commentRss><description>&lt;P&gt;During one of my demos this past week on VSTS, somebody commented that typically developers want to provide project managers more information on a task other than &amp;#8220;completed&amp;#8221; or not. What they really want is a percentage complete. &lt;A href="http://blogs.msdn.com/johnlawr/archive/2005/02/23/379298.aspx"&gt;John Lawrence&lt;/A&gt; on the team at MS developing this stuff. The good news is that they have reworked the work items a bit, and now there is support for fields indicating &amp;#8220;Completed Work&amp;#8221; and &amp;#8220;Remaining Work&amp;#8221;. These numbers will synchronize with &amp;#8220;percentage complete&amp;#8220; in MS Project.&lt;/P&gt;
&lt;P&gt;I'm happy to see this as it also ties in with better metric tracking. We don't just want to know that an item was completed, but how much work it required - which maybe different than the estimate. All to often item &amp;#8220;estimates&amp;#8221; turn into &amp;#8220;budgets&amp;#8221;. This is one small way that projects often take longer. Developers often don't report that a task took less than the estimate - only more or the same as the estimate. This is one of the reasons why I like estimates that aren't time-based but effort based. In other words, we esimate an item in terms of some arbitrary scale - 1-5 let's say where 1 is easy and 5 is hard. Project managers can figure out what those numbers mean later on and do things like calculate team velocity.&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=1524" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2005/default.aspx">VS2005</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2003/default.aspx">VS2003</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VSTS/default.aspx">VSTS</category></item><item><title>More Class Designer Productivity Potential: Batch Editing.</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2005/03/06/1523.aspx</link><pubDate>Sun, 06 Mar 2005 18:19:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:1523</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/1523.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=1523</wfw:commentRss><description>&lt;P&gt;&lt;A href="http://www.danielmoth.com/Blog"&gt;Daniel Moth&lt;/A&gt; says that he's &lt;A href="http://www.danielmoth.com/Blog/2004/08/class-designer-missing.html"&gt;not excited&lt;/A&gt; about the properties box in the class designer and would prefer to use the code editor to make those kinds of changes. It may not be obvious but one of the things you can do with that properties pane that you can't do in the code editor is make multiple changes across several class or several members at the same time.&lt;/P&gt;
&lt;P&gt;Select all of the items that you want to make a mass change to, and any common properties are show in the properties dialog. I find this useful for decorating properties of my own components with custom attributes. Perhaps I want to change a bunch of methods to Static. &lt;/P&gt;
&lt;P&gt;Daniel mentions another limitation. There is no full signature support on the model surface in the class designer. This makes it impossible to see the differences between your overloads. In fact, overloads are all grouped together and a count is shown. &lt;/P&gt;
&lt;P&gt;Another mass editing scenario would be to change the XML comments on a bunch of methods - for example several overloads. You can't see the individual overloaded methods - just one of them with a &amp;#8220;+1 overloads&amp;#8220; next to them. Furthermore, when you change the comment for a method that is overloaded (and shown as &amp;#8220;+2 overloads&amp;#8220;) one would hope the comment would be applied to all of the overloads, however the comment is only applied to the first one. Hopefully this is a bug and will be fixed. I've logged it with MS in the Product Feedback Center.&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=1523" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2005/default.aspx">VS2005</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2003/default.aspx">VS2003</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Tips/default.aspx">Tips</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VSTS/default.aspx">VSTS</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Architecture/default.aspx">Architecture</category></item><item><title>Installing Visual Studio Team System Dec CTP</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2005/03/06/1476.aspx</link><pubDate>Sun, 06 Mar 2005 15:34:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:1476</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/1476.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=1476</wfw:commentRss><description>&lt;P&gt;I'm getting a fair amount of questions about this topic lately so worth a blog entry.&lt;/P&gt;
&lt;P&gt;The best way to install any beta (or even more so CTP's) is to use Virtual PC. This will save you from having to reformat your entire machine a few times. I don't think I've ever know a VS.NET beta release that uninstalled properly. &lt;/P&gt;
&lt;P&gt;So if you are going to use Virtual PC - the best way to get started is to find a friend who has already done the install successfully and get them to give you a copy of their Virtual Machine's. &lt;/P&gt;
&lt;P&gt;In general with VPC's, you get better performance if the VHD files are located on a drive other than what your host OS is installed on. If you have a 2nd internal drive, great, otherwise, a good 7200 RPM external USB 2.0 drive will give a good performance boost. You'll also get best performance if you don't use a differential drive or an undo disk. To save memory and CPU cycles, turn off any unessential services and running programs in both the host and guest operating systems.&lt;/P&gt;
&lt;P&gt;Yes, you need 2 machines for VSTS - one for the server/data tier, and a second for the client. You can't currently install everything on one box - that is not a supported scenario - at least for now. Your server should also be a domain controller. Unless you have 2 GB of ram, you'll likely want to host each one of those VPC's on a separate box. I've had good results having the server/data tier hosted in Virtual Server. You also have no real need to log in/have a UI open for the server box once it's all installed and configured.&lt;/P&gt;
&lt;P&gt;There is a good document here with more detailed installation instructions: &lt;A href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnvs05/html/vstsinstallguide.asp"&gt;http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnvs05/html/vstsinstallguide.asp&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Having said all of that, the next beta is due out this month or early next month so you might want to wait to get a much better experience. As always, keep in mind that beta's are flaky and CTP's are worst than that. &lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=1476" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2003/default.aspx">VS2003</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Tips/default.aspx">Tips</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/MSF/default.aspx">MSF</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VSTS/default.aspx">VSTS</category></item><item><title>Temperature User Defined Type for SQL Server Yukon</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2005/03/05/1475.aspx</link><pubDate>Sat, 05 Mar 2005 21:27:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:1475</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/1475.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=1475</wfw:commentRss><description>&lt;P&gt;In SQL Server 2005/Yukon you can create user defined types using managed code. User defined types can be used in declaring variable and table columns. It is generally considered to only make sense for scalar types - things that can be sorted, compared, etc. not unlike the native numeric types and datetime. This is not however a fixed requirement, but its definitely the primary scenario being addressed by UDTs.&lt;/P&gt;
&lt;P&gt;Here is an example of a temperature type, which is in fact a scalar. All UDT's have to be inserted as strings (i.e. in quotes). Not surprisingly, as part of the contract to implement a user defined type you should have a ToString and Parse method. This example allows the user to insert values in either Kelvin, Fahrenheit, or Centigrade by suffixing the entry with K, F, or C respectively. The default is Kelvin should you not include a suffix for the scheme, so 273, 273K, 0C, and 32F are all equivalent entries. All entries are converted and stored into Kelvin. This makes it easy to have the type byte orderable for easy sorting/comparisons, however this implementation also keeps track of the input format. So if you enter in 0C, you'll get OC back by default. You can however call x.Centigrade, x.Fahrenheit, or x.Kelvin properties to get the measurement scheme you desire. And since the type is byte orderable, you can sort by columns of this type and you'll get something like....&lt;/P&gt;
&lt;P&gt;0K, -272C, 32F, 0C, 273K, 274K, 100C, all ordered by their underlying storage which in Kelvin is.&lt;BR&gt;0, 1, 273, 273, 273, 274, 373.&lt;/P&gt;
&lt;P&gt;Finally I have also declared as an example a TempAdder user defined aggregate to round out the example. I'm no scientist, but I'm not sure that temperatures are exactly additive, so this is really just for example purposes. The UDA is relatively self explanatory. You are responsible for keeping a variable around to accumulate values into. That leads into the accumulate method which gets called for every item in the result set to be aggregated. There is an init method for initializing your variables and finally a terminate method which is what is called when the result set is finished and you can return the result. The odd method is the merge method - which takes another aggregator. Because of parallel query processing, it is possible for two threads to individually deal with different parts of the entire result set. For this reason, when one thread finishes it's part of the aggregation, it will pass the other aggregator it's aggregator so they can be merged. For this reason I have my interim totals as a public property on the aggregator so i have access to that in the merge method. Furthermore, if you are calculating averages for example you may need the count as well as a public property. &lt;/P&gt;
&lt;P&gt;Bottom line - is that creating user defined types and aggregates is a pretty straightforward. Any complexity will be a result of the actual complexity of your types. Consider a lineage type that must work with multiple measurement schemes (metric and imperial) and also multiple units of measurement (cm, m, km) but also multiple units of measurement at one time (i.e. 4' 10&amp;#8221;). Don't even get me started on 2&amp;#8221;x4&amp;#8221;s which aren't actually 2&amp;#8221; by 4&amp;#8221;. The nice thing about UDT's is that it allows you to encapsulate a lot of this code deep down in your storage layer, allowing your business applications to deal with things more abstractly.&lt;/P&gt;
&lt;P&gt;using System;&lt;BR&gt;using System.Data.Sql;&lt;BR&gt;using System.Data.SqlTypes;&lt;/P&gt;
&lt;P&gt;[Serializable]&lt;BR&gt;[SqlUserDefinedType(Format.SerializedDataWithMetadata, IsByteOrdered = true, MaxByteSize = 512)]&lt;BR&gt;public class Temperature : INullable&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;private double _kelvin;&lt;BR&gt;&amp;nbsp;private bool n = true;&lt;BR&gt;&amp;nbsp;private string inputFormat;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;public string InputFormat&lt;BR&gt;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;get { return inputFormat; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;set { inputFormat = value; }&lt;BR&gt;&amp;nbsp;}&lt;/P&gt;
&lt;P&gt;&amp;nbsp;public double Kelvin&lt;BR&gt;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;get { return _kelvin; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;set&lt;BR&gt;&amp;nbsp;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;n = false;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;_kelvin = value; &lt;BR&gt;&amp;nbsp;&amp;nbsp;}&lt;BR&gt;&amp;nbsp;}&lt;/P&gt;
&lt;P&gt;&amp;nbsp;public double Centigrade&lt;BR&gt;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;get { return (_kelvin -273); }&lt;BR&gt;&amp;nbsp;&amp;nbsp;set&lt;BR&gt;&amp;nbsp;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;n = false;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;_kelvin = value + 273;&lt;BR&gt;&amp;nbsp;&amp;nbsp;}&lt;BR&gt;&amp;nbsp;}&lt;/P&gt;
&lt;P&gt;&amp;nbsp;public double Fahrenheit&lt;BR&gt;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;get { return (this.Centigrade*1.8 + 32); }&lt;BR&gt;&amp;nbsp;&amp;nbsp;set&lt;BR&gt;&amp;nbsp;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;n = false;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;this.Centigrade = (value - 32)/1.8;&lt;BR&gt;&amp;nbsp;&amp;nbsp;}&lt;BR&gt;&amp;nbsp;}&lt;BR&gt;&amp;nbsp;public override string ToString()&lt;BR&gt;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;string s = this.Kelvin + "K";&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;if (this.InputFormat == "C")&lt;BR&gt;&amp;nbsp;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;s = this.Centigrade + "C";&lt;BR&gt;&amp;nbsp;&amp;nbsp;}&lt;BR&gt;&amp;nbsp;&amp;nbsp;else if (this.InputFormat == "F")&lt;BR&gt;&amp;nbsp;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;s = this.Fahrenheit + "F";&lt;BR&gt;&amp;nbsp;&amp;nbsp;}&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;return s;&lt;BR&gt;&amp;nbsp;}&lt;/P&gt;
&lt;P&gt;&amp;nbsp;public bool IsNull&lt;BR&gt;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;get&lt;BR&gt;&amp;nbsp;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Put your code here&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;return n;&lt;BR&gt;&amp;nbsp;&amp;nbsp;}&lt;BR&gt;&amp;nbsp;}&lt;/P&gt;
&lt;P&gt;&amp;nbsp;public static Temperature Null&lt;BR&gt;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;get&lt;BR&gt;&amp;nbsp;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Temperature h = new Temperature();&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;return h;&lt;BR&gt;&amp;nbsp;&amp;nbsp;}&lt;BR&gt;&amp;nbsp;}&lt;/P&gt;
&lt;P&gt;&amp;nbsp;public static Temperature Parse(SqlString s)&lt;BR&gt;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;if (s.IsNull || s.Value.ToLower().Equals("null"))&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;return Null;&lt;BR&gt;&amp;nbsp;&amp;nbsp;Temperature u = new Temperature();&lt;BR&gt;&amp;nbsp;&amp;nbsp;string ss = s.ToString();&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;if (ss.EndsWith("C"))&lt;BR&gt;&amp;nbsp;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;u.Centigrade = double.Parse(ss.Substring(0, ss.Length - 1));&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;u.InputFormat = "C";&lt;BR&gt;&amp;nbsp;&amp;nbsp;}&lt;BR&gt;&amp;nbsp;&amp;nbsp;else if (ss.EndsWith("F"))&lt;BR&gt;&amp;nbsp;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;u.Fahrenheit = double.Parse(ss.Substring(0, ss.Length - 1));&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;u.InputFormat = "F";&lt;BR&gt;&amp;nbsp;&amp;nbsp;}&lt;BR&gt;&amp;nbsp;&amp;nbsp;else if (ss.EndsWith("K"))&lt;BR&gt;&amp;nbsp;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;u.Kelvin = double.Parse(ss.Substring(0, ss.Length - 1));&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;u.InputFormat = "K";&lt;BR&gt;&amp;nbsp;&amp;nbsp;}&lt;BR&gt;&amp;nbsp;&amp;nbsp;else&lt;BR&gt;&amp;nbsp;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;u.Kelvin = double.Parse(ss);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;u.InputFormat = "K";&lt;BR&gt;&amp;nbsp;&amp;nbsp;}&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;return u;&lt;BR&gt;&amp;nbsp;}&lt;/P&gt;
&lt;P&gt;}&lt;/P&gt;
&lt;P&gt;using System;&lt;BR&gt;using System.Data.Sql;&lt;BR&gt;using System.Data.SqlTypes;&lt;BR&gt;using System.Data.SqlServer;&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;[Serializable]&lt;BR&gt;[SqlUserDefinedAggregate(Format.SerializedDataWithMetadata, MaxByteSize = 512)]&lt;BR&gt;public class TempAdder&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;public void Init()&lt;BR&gt;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;total = new Temperature();&lt;BR&gt;&amp;nbsp;&amp;nbsp;total.Kelvin = 0;&lt;BR&gt;&amp;nbsp;}&lt;/P&gt;
&lt;P&gt;&amp;nbsp;private Temperature total;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;public Temperature Total&lt;BR&gt;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;get { return total; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;set { total = value; }&lt;BR&gt;&amp;nbsp;}&lt;/P&gt;
&lt;P&gt;&amp;nbsp;public void Accumulate(Temperature Value)&lt;BR&gt;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;this.Total.Kelvin&amp;nbsp; = this.Total.Kelvin + Value.Kelvin;&lt;BR&gt;&amp;nbsp;}&lt;/P&gt;
&lt;P&gt;&amp;nbsp;public void Merge(TempAdder Group)&lt;BR&gt;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;this.Total.Kelvin = this.Total.Kelvin + Group.Total.Kelvin;&lt;BR&gt;&amp;nbsp;}&lt;/P&gt;
&lt;P&gt;&amp;nbsp;public Temperature Terminate()&lt;BR&gt;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;return this.Total;&lt;BR&gt;&amp;nbsp;}&lt;BR&gt;}&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=1475" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2005/default.aspx">VS2005</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/ADO.NET/default.aspx">ADO.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/SQL/default.aspx">SQL</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2003/default.aspx">VS2003</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Tips/default.aspx">Tips</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category></item><item><title>Modeling as a Productivity Enhancer in Visual Studio Team System</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2005/03/05/1474.aspx</link><pubDate>Sat, 05 Mar 2005 20:19:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:1474</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/1474.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=1474</wfw:commentRss><description>&lt;P&gt;It's been a theme for me over the past couple of weeks where people have mentioned that they can't afford the time to do modeling. If you've done a lot of UML modeling, you know what I'm talking about. But it doesn't have to be that way. Now just to ward of the UML flames, even when UML modeling seems like a waste of time, it may actual pay for itself if you uncover a requirement or a design flaw that you wouldn't have otherwise. Certainly catching this kind of thing early than later pays for itself. But that's not what I'm talking about.&lt;/P&gt;
&lt;P&gt;In my days as an ERwin/ERX user, doing data modeling was done in this tool not only because it was good to visualize something quickly before committing to code. Using ERwin/ERX was just plain faster than cutting DDL code manually - or heck, even using the Database diagramming in SQL Server. One simple feature was foreign key migration - you drew a relationship from parent to child and bam - it copied down the pk from the parent table and set it up as a fk on the child table. &lt;/P&gt;
&lt;P&gt;For the VSTS class designer to be successful (or any of the designers for that matter) MS needs to make using them just plain faster than stubbing out the code manually. Visual Studio has a great editor so they have their work cut out for them. It gets even better with things like code snippets. Why not enable some of the code snippets in the class designer? I can still create a single field wrapped up by a public property faster in the code editor using a snippet (in C# &amp;#8220;prop&amp;#8220;) than using the class designer - but I don't see why they couldn't add support for that in the class designer too.&lt;/P&gt;
&lt;P&gt;A feature I stumbled upon last week was the ability to override a member. Simply right click on the descended class, and select &amp;#8220;Override Member&amp;#8220; and you'll see a list of members from the ancestor that are overridable. Select the member to override and bam - you have the code stub. This reminds me a bit of the &lt;A href="http://www.sweb.cz/ivan.zderadicka/icsg-download.html"&gt;Inherited Class Skeleton Generator&lt;/A&gt;. This represents the kinds of productivity features that can make models/designers more usable, even if just for productivity sake. &lt;/P&gt;
&lt;P&gt;There are obviously some types of edits that are better performed in the code editor, such as actually editing code fragments. Other types of edits can be performed more appropriately in the model such as stubbing out the api/members of a class, overriding members, etc. Let's not forget the other types of edits which are much better done in a WYSIWYG designer such as the windows or web forms designer.&lt;/P&gt;
&lt;P&gt;One thing I'd like to see come in the Class Designer is a flattened out view of a class that collapses all inherited members into one layer. I'll call this the consumer or intellisense view of a class. It's helpful for viewing the entire interface to a class so I can see how the whole thing makes sense to a user. I would propose a greyed out notation or perhaps a lock icon or something similar to the online help view of a class. &lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=1474" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2005/default.aspx">VS2005</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2003/default.aspx">VS2003</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/WinForms/default.aspx">WinForms</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/WebForms/default.aspx">WebForms</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VSTS/default.aspx">VSTS</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Architecture/default.aspx">Architecture</category></item><item><title>Copy &amp; Paste Support in VSTS Class Designer/Whitehorse</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2005/03/05/1473.aspx</link><pubDate>Sat, 05 Mar 2005 18:24:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:1473</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/1473.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=1473</wfw:commentRss><description>&lt;P&gt;You may have noticed that the refactoring menu's that you see in the code editor are also available in the Class Designer. Furthermore, you can also copy &amp; paste things from one class to another. So if you copy a property from one class to another, not only do you get the property added to the class, but also all the code in your getter's and setters. Ok so this is a nice touch that can help with a refactoring effort that requires moving stuff around - but don't consider this code reuse :)&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=1473" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2005/default.aspx">VS2005</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2003/default.aspx">VS2003</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VB.NET/default.aspx">VB.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VSTS/default.aspx">VSTS</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Architecture/default.aspx">Architecture</category></item><item><title>New Course! Architecting Applications with Visual Studio Team System (Bootcamp)</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2005/03/05/new-course-architecting-applications-with-visual-studio-team-system-bootcamp.aspx</link><pubDate>Sat, 05 Mar 2005 18:17:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:1472</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/1472.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=1472</wfw:commentRss><description>&lt;P&gt;On March 17th in Toronto, I'll be teaching our first delivery of this new course. It's a one day hands on, instructor led - whirlwind bootcamp style course that gives you a lap around Visual Studio Team System - specifically with a Solution Architect's perspective. We touch a little bit on the project management stuff, testing and some of the developer tools, but primarily we'll spend more than half the day on modeling as we walk through the Whitehorse designers.&lt;/P&gt;
&lt;P&gt;Now how can we teach a course on a product that's not even in beta you ask? Very carefully. A lot of people are evaluating if and how they'll use VSTS in their shops once it is released so by popular demand we're offering this course a little earlier than we would normally. This course probably needs to be 3 days to properly focus on best practices and true “architecture” but for the purposes of evaluating this technology and letting people make their own minds, we are focusing primarily on the tools provided. With that in mind, this abbreviated 1 day course is being delivered in&amp;nbsp;6 cities across Canada: Toronto, Montreal, Ottawa, Vancouver, Calgary and Quebec City. There is also a promotional price of $299&amp;nbsp;CAD.&amp;nbsp;For more details, full schedule and registration, visit &lt;A href="http://www.objectsharp.com/ttdinvitation/vstsbootcamp.aspx"&gt;http://www.objectsharp.com/ttdinvitation/vstsbootcamp.aspx&lt;/A&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=1472" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2005/default.aspx">VS2005</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/SQL/default.aspx">SQL</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2003/default.aspx">VS2003</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VB.NET/default.aspx">VB.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Southern+Ontario/default.aspx">Southern Ontario</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Events/default.aspx">Events</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Testing/default.aspx">Testing</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/MSF/default.aspx">MSF</category></item><item><title>DevTeach June 18-22, Montreal and a $50.00 Rebate Code!</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2005/03/02/1461.aspx</link><pubDate>Wed, 02 Mar 2005 23:09:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:1461</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/1461.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=1461</wfw:commentRss><description>&lt;P&gt;DevTeach is a really nice conference. I went to it for the first time last year and it's a very intimate and interactive conference. While smaller than your TechEd's and PDC's, it manages to attract a very good set of speakers....Kevin McNeish, Brian Noyes, Julia Lerman, Don Kiely, Patrick Hynds, Carl Franklins, Mario Cardinal, Ted Neward, Nick Landry, Etienne Tremblay, Sam Gentile, Jim Duffy, Guy Barrette, Eric Cote, Markus Egger, Kate Gregory and me too. I'll be doing a DataSet tips and tricks talk - but mostly just so I can get a free pass to go and see all the other great talks. This year it is being held once again in Montreal which is a beautiful city with a great night life. &lt;/P&gt;
&lt;P&gt;And last but not least, here is a rebate code for $50.00 &lt;FONT face=Arial size=2&gt;"&lt;/FONT&gt;&lt;FONT face="Times New Roman" size=3&gt;TO000OBJSHARP&lt;/FONT&gt;&lt;FONT face=Arial size=2&gt;". You can register at &lt;A href="http://www.devteach.com"&gt;http://www.devteach.com&lt;/A&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=1461" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2005/default.aspx">VS2005</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/ADO.NET/default.aspx">ADO.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/SQL/default.aspx">SQL</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2003/default.aspx">VS2003</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VB.NET/default.aspx">VB.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/WinForms/default.aspx">WinForms</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/WebForms/default.aspx">WebForms</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Services/default.aspx">Services</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Events/default.aspx">Events</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Testing/default.aspx">Testing</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category></item><item><title>VS Live Toronto 2005 - 10% Discount Priority Code</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2005/02/28/vs-live-toronto-2005-10-discount-priority-code.aspx</link><pubDate>Mon, 28 Feb 2005 16:07:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:1457</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/1457.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=1457</wfw:commentRss><description>&lt;P&gt;VS Live is coming to Toronto again - April 13-16th. This year, the event will be right downtown on the lake at the Harbour Westin Castle hotel. Use Priority Code “BARRY” for a 10% discount when you register. You'll also save an additional $250 if you register early by March 16th. Toronto is a great place for a conference, especially when you factor in the exchange rate, this is very affordable for americans. &lt;/P&gt;
&lt;P&gt;I'm speaking at this event, covering some of the methodology customization support in Visual Studio Team System and some new ADO.NET stuff too. Should be a lot of fun. &lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=1457" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/ADO.NET/default.aspx">ADO.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2003/default.aspx">VS2003</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Southern+Ontario/default.aspx">Southern Ontario</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Services/default.aspx">Services</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Events/default.aspx">Events</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Testing/default.aspx">Testing</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/MSF/default.aspx">MSF</category></item><item><title>Get your Free Visual Studio Tools for Office custom applications here.</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2005/02/12/get-your-free-visual-studio-tools-for-office-custom-applications-here.aspx</link><pubDate>Sat, 12 Feb 2005 19:04:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:1416</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>4</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/1416.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=1416</wfw:commentRss><description>&lt;P&gt;Ok, this is very cool - not often somebody gives you something for free. &lt;/P&gt;
&lt;P&gt;Is your company upgrading to Office 2003 between June &amp;amp; July of this year? &lt;/P&gt;
&lt;P&gt;Could you envision a customized solution built on top of Office - perhaps using Visual Studio Tools for Office, to solve some business need? If so,&amp;nbsp;not only can we help with that, but&amp;nbsp;Microsoft Canada is willing to foot the bill for the&amp;nbsp;development effort. This is a great risk free way to try out Visual Studio Tools for Office projects - either the current 2003 or 2005 versions.&lt;/P&gt;
&lt;P&gt;For more info, drop me an email. &lt;A href="mailto:bgervin@objectsharp.com"&gt;bgervin@objectsharp.com&lt;/A&gt;&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=1416" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2005/default.aspx">VS2005</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/ADO.NET/default.aspx">ADO.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2003/default.aspx">VS2003</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VB.NET/default.aspx">VB.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Southern+Ontario/default.aspx">Southern Ontario</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/WinForms/default.aspx">WinForms</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Services/default.aspx">Services</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category></item><item><title>Dog Food .NET</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2005/02/06/dog-food-net.aspx</link><pubDate>Mon, 07 Feb 2005 01:32:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:1397</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/1397.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=1397</wfw:commentRss><description>&lt;P&gt;Here is a list of MS products that either include or are built using the .NET Framework. I was surprised to see how big it is. Thanks to Dan Fernandez @ MS for this list. &lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Windows Server 2003 includes 1.1&lt;/LI&gt;
&lt;LI&gt;Sharepoint Team Services requires the .NET Framework&lt;/LI&gt;
&lt;LI&gt;Sharepoint Portal Server 2.0 requires 1.1 and written in managed code.&lt;/LI&gt;
&lt;LI&gt;Small Business Server 2003 - Remote Web Workplace and the Backup Snap-in use .NET&lt;/LI&gt;
&lt;LI&gt;Windows XP Tablet PC Edition - 1.1 is included, and the Tablet API is written in managed code.&lt;/LI&gt;
&lt;LI&gt;Windows XP Media Center Edition includes 1.1 and some of the applications are written in managed code.&lt;/LI&gt;
&lt;LI&gt;Outlook Business Contact Manager - majority written in .NET&lt;/LI&gt;
&lt;LI&gt;SQL Reporting Services - majority written in managed code.&lt;/LI&gt;
&lt;LI&gt;Exchange 2003 Outlook Mobile Access is written in managed code using ASP.NET mobile controls&lt;/LI&gt;
&lt;LI&gt;BizTalk 2004 - parts are written in managed code&lt;/LI&gt;
&lt;LI class=MsoNormal style="MARGIN:0in 0in 0pt;mso-list:l0 level1 lfo1;tab-stops:list .5in;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:Arial;"&gt;Commerce Server 2002 - parts are written in managed code&lt;/SPAN&gt; &lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:Arial;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI class=MsoNormal style="MARGIN:0in 0in 0pt;mso-list:l0 level1 lfo1;tab-stops:list .5in;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:Arial;"&gt;Content Management Server 2002 - parts are written in managed code&lt;/SPAN&gt; &lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:Arial;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI class=MsoNormal style="MARGIN:0in 0in 0pt;mso-list:l0 level1 lfo1;tab-stops:list .5in;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:Arial;"&gt;MSN Messenger Server (Presence server and admin/config tools)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI class=MsoNormal style="MARGIN:0in 0in 0pt;mso-list:l0 level1 lfo1;tab-stops:list .5in;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:Arial;"&gt;Microsoft Business Network written in managed code, requires .NET Framework 1.1&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI class=MsoNormal style="MARGIN:0in 0in 0pt;mso-list:l0 level1 lfo1;tab-stops:list .5in;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:Arial;"&gt;MS-CRM – parts are written in managed code&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI class=MsoNormal style="MARGIN:0in 0in 0pt;mso-list:l0 level1 lfo1;tab-stops:list .5in;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:Arial;"&gt;SharePoint Portal Server 2003 – Parts written in managed code&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI class=MsoNormal style="MARGIN:0in 0in 0pt;mso-list:l0 level1 lfo1;tab-stops:list .5in;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:Arial;"&gt;Speech Server 2004 – Parts written in managed code&lt;/SPAN&gt;&lt;/LI&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:Arial;"&gt;
&lt;LI class=MsoNormal style="MARGIN:0in 0in 0pt;mso-list:l0 level1 lfo1;tab-stops:list .5in;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:Arial;"&gt;ASP.NET Web Matrix – Fully written in managed code&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI class=MsoNormal style="MARGIN:0in 0in 0pt;mso-list:l0 level1 lfo1;tab-stops:list .5in;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:Arial;"&gt;Visual Studio .NET 2002/3 - parts are written in managed code&lt;/SPAN&gt;&lt;FONT size=3&gt;&lt;FONT face="Times New Roman"&gt; &lt;/FONT&gt;&lt;/FONT&gt;&lt;/LI&gt;&lt;FONT size=3&gt;&lt;FONT face="Times New Roman"&gt;
&lt;LI class=MsoNormal style="MARGIN:0in 0in 0pt;mso-list:l0 level1 lfo1;tab-stops:list .5in;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:Arial;"&gt;This one seems obvious......NET Framework 1.0/1.1 - parts are written in managed code.&lt;/SPAN&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;mso-list:l0 level1 lfo1;tab-stops:list .5in;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:Arial;"&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;UL&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:Arial;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/UL&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=1397" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2003/default.aspx">VS2003</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VB.NET/default.aspx">VB.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/WinForms/default.aspx">WinForms</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/WebForms/default.aspx">WebForms</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Events/default.aspx">Events</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category></item><item><title>Cool Feature with my HP PSC 2510 Photosmart All in One</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2005/02/06/cool-feature-with-my-hp-psc-2510-photosmart-all-in-one.aspx</link><pubDate>Sun, 06 Feb 2005 21:39:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:1396</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/1396.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=1396</wfw:commentRss><description>&lt;P&gt;This is a great printer. It's a decent all around business and photo printer. My wife likes the card reader with lcd screen. She can pop in our camera chip - hit proof sheet, and after the proof sheet is printed, she can check off (with a pen) which pictures and what sizes she wants....drop the proof sheet back in hit scan, and out come the pictures. &lt;/P&gt;
&lt;P&gt;I do so little scanning so I'm glad to have my full flatbed scanner off the desk. I don't really miss the sheet feeder on my old dedicated HP 6600....it rarely worked anyway.&lt;/P&gt;
&lt;P&gt;Now faxing I do even less of. I hate faxes. They should be outlawed. I refuse to put a fax # on my business card. If you want me to never read something - send it by fax. But occasionally, I have to fax stuff. I always hate the process - even with my 2510. First I'm printing whatever document (usually a contract) somebody wants me to sign. Then I'm printing a cover sheet. I can't fax right from the computer since it requires a signature. Yeah I suppose I could scan my signature and paste it in - but then I'd have to find that.&lt;/P&gt;
&lt;P&gt;The cool feature I found in the HP software is the ability to have part of the fax come from the scanner - and part from the computer directly. In the fax dialog its the "Pages in Unit" check box. Cool - now I don't have to print out a stupid cover sheet just to scan i t, fax it and trash it. &lt;/P&gt;
&lt;P&gt;Did I mention this printer is USB, Networked AND 802.11b wireless? The other thing I like about it is the card reader. It also shows up as a network drive to any of the computers with the driver installed. I can also use the scanner without the driver installed if I go to it's web page. What a cool printer. BTW, I've had it for about a year now and my out of box experience is still high.&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=1396" width="1" height="1"&gt;</description></item><item><title>What are you doing for your summer job?</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2005/02/06/1395.aspx</link><pubDate>Sun, 06 Feb 2005 16:10:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:1395</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/1395.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=1395</wfw:commentRss><description>&lt;P&gt;We have a very exciting internship project coming up this summer for a university student, perhaps co-op - but not mandatory. &lt;/P&gt;
&lt;P&gt;This high-profile project is to develop a software system to monitor the various systems in a &amp;#8220;green&amp;#8221; home that is completely off of the power grid. The house is fed by batteries charged by solar and wind (and a backup generator). There are many other systems in place to optimize power usage throughout the house. Although this home is off the grid, it's not off the internet, so the software will have to publish it's information and allow remote access via it's 2-way satellite system. The software will also be developed in .NET, likely using the current whidbey beta.&lt;/P&gt;
&lt;P&gt;You are a university student with some combination of electrical engineering and computer science. You are strong &amp;#8220;quality-oriented&amp;#8221; programmer. You have strong design skills and are good at listening and capturing requirement. The position will be located in southern ontario. &lt;/P&gt;
&lt;P&gt;If you are interested, please send your resume to bgervin@Objectsharp.com .&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=1395" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2005/default.aspx">VS2005</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/ADO.NET/default.aspx">ADO.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/SQL/default.aspx">SQL</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2003/default.aspx">VS2003</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VB.NET/default.aspx">VB.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Southern+Ontario/default.aspx">Southern Ontario</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/WinForms/default.aspx">WinForms</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/WebForms/default.aspx">WebForms</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Services/default.aspx">Services</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Testing/default.aspx">Testing</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category></item><item><title>Reporting Services Web Cast postponed</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2005/01/31/1388.aspx</link><pubDate>Mon, 31 Jan 2005 17:08:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:1388</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/1388.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=1388</wfw:commentRss><description>&lt;P&gt;Due to unforseen technical problems I am sorry to say I have to cancel my Reporting Services Tips and Tricks web cast scheduled for today. I'll be presenting it on&amp;nbsp;Feb 10, 2005 instead.&lt;/P&gt;
&lt;P&gt;I will post a link in the near future. Sorry for any inconvenience this has caused. &lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=1388" width="1" height="1"&gt;</description></item><item><title>Bidding on .NET Celebrities</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2005/01/26/1380.aspx</link><pubDate>Wed, 26 Jan 2005 19:23:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:1380</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/1380.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=1380</wfw:commentRss><description>&lt;P&gt;So today our company ObjectSharp placed a bid for 5 of the individuals on the .NET Celebrity Auction. Firstly, it sucks that max bids are not shown for a charitable auction. I would encourage any winners who didn't get to their max bid, to still donate the full amount to ACEH.&lt;/P&gt;
&lt;P&gt;Now having said that, what would *we* do with 5 .NET Celebrities? Hmmm&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Scott Hanselman, I'm going to ask you to give a 1 hour MSDN webcast about how easy it is to build a Smart Client Application using datasets and marshal them across web services. 
&lt;LI&gt;Clemens Vasters, I'm going to ask you to give a talk on rapidly building data driven applications with Windows Forms using SqlDataAdapters and dynamic SQL. (No stored procs allowed). 
&lt;LI&gt;Kimberly L. Tripp, how about a MSDN webcast on building mission critical, enterprise scale applications with MS Access. 
&lt;LI&gt;Joel Semeniuk, you're going to give a talk about building rich user interfaces with ASP.NET and client side javascript. 
&lt;LI&gt;Stephen Forte, Essential C++ Managed Extensions 
&lt;LI&gt;Richard Campbell. Creating a Business Intelligence Solutions using the ODBC driver for CSV files. 
&lt;LI&gt;John Lam, a 1 hour talk on Understanding the Unexpected Reactions of Hyrdoxybenzylthiamin. Ok, so he would actually enjoy this, but for my 1 hour of time, I'll watch it and try to learn something. 
&lt;LI&gt;Kate Gregory has also said she would willingly join me in a head shaving. 
&lt;LI&gt;And of course there is the thought of the .NET Celebrity Winter Car Wash!&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Thoughts? Any of you feel like outbidding me? &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=1380" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Humours+Distractions/default.aspx">Humours Distractions</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Southern+Ontario/default.aspx">Southern Ontario</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/WinForms/default.aspx">WinForms</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/WebForms/default.aspx">WebForms</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Services/default.aspx">Services</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Events/default.aspx">Events</category></item><item><title>.NET Celebrity Auction</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2005/01/25/1377.aspx</link><pubDate>Tue, 25 Jan 2005 23:52:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:1377</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/1377.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=1377</wfw:commentRss><description>&lt;P&gt;Be a sport and click on this link:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&amp;item=5552696499"&gt;http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&amp;item=5552696499&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Then make a generous bid. If you'll win, you'll get an hour (or more) of help from a .NET guru/celebrity (or possibly me). But more, you'll also be helping Tsunami relief efforts. &lt;/P&gt;
&lt;P&gt;The top bid gets to pick their consultant. Then next, and so on and so on. If you are in southern Ontario, and you get me, I'll make it up to you by coming to your office - for a whole day, hang out, and bring donuts. What will I do? I can tell you everything I know about Visual Studio Team System (breaking all kinds of NDA rules, etc.), try to convince you to use data sets, do some code reviews, help debug something nasty, defrag your hard drive, organize your mp3's, tell you what DataGrid girl is really like, whatever.&lt;/P&gt;
&lt;P&gt;I'm visiting Vancouver, Calgary, Ottawa, Montreal over the next 3 months so if you live/work near there, my offer stands, pending my schedule. I'll also be in Orlando possibly in June (for TechEd), LA in Sept (for PDC), and Chicago in August, so ditto on those as well.&lt;/P&gt;
&lt;P&gt;For more info on how it all works....&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.stephenforte.net/owdasblog/#a61b646aa-ca24-47ef-b013-012bf852f79d"&gt;http://www.stephenforte.net/owdasblog/#a61b646aa-ca24-47ef-b013-012bf852f79d&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;And finally, special thanks to the other RD's who are volunteering their time (especially all those fellow Canadians). Last but not least, special thanks to Stephen Forte and Julia Lerman for organizing this.&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=1377" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/PDC/default.aspx">PDC</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2005/default.aspx">VS2005</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/ADO.NET/default.aspx">ADO.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/SQL/default.aspx">SQL</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2003/default.aspx">VS2003</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VB.NET/default.aspx">VB.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Humours+Distractions/default.aspx">Humours Distractions</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Southern+Ontario/default.aspx">Southern Ontario</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/WinForms/default.aspx">WinForms</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/WebForms/default.aspx">WebForms</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Services/default.aspx">Services</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Security/default.aspx">Security</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Events/default.aspx">Events</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Testing/default.aspx">Testing</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/TechEd/default.aspx">TechEd</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/MSF/default.aspx">MSF</category></item><item><title>Adopting Bluetooth</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2005/01/21/1372.aspx</link><pubDate>Fri, 21 Jan 2005 17:23:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:1372</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/1372.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=1372</wfw:commentRss><description>&lt;P&gt;As part of my annual hardware reduction project, I got rid of my desktop. For the past number of years, I've used both a laptop and a desktop. I think this has added a certain amount of disorganization to my life by having files frequently littered between the two machines. The process of cleaning stuff of the desktop was annoying, having to determine sometimes which of the duplicated files were more recent. I'm glad the process is done. One less machine to worry about. &lt;/P&gt;
&lt;P&gt;So the other half of this effort is to make my laptop work more like a desktop when I'm at home and that means docking station and full keyboard. I picked up an advanced port replicator for my Inspiron 600m (still waiting on shipment for that). I also picked up a 17&amp;#8220; LCD monitor - a Wintergreen??? Hey, it was cheap ($350) and had good specs. Almost too good. While I like the idea of multi-monitor, I tend to only use the external LCD since by comparison it has much easier on the eyes. &lt;/P&gt;
&lt;P&gt;For the keyboard, I decided on the &lt;A href="http://www.logitech.com/index.cfm/products/details/US/EN,CRID=2158,CONTENTID=7321"&gt;Logitech Bluetooth diNovo Media Desktop&lt;/A&gt;. I've seen this keyboard/mouse combination priced up to $499 at FutureShop and BestBuy, but picked it up at TigerDirect. ca for $200. The bluetooth combination includes 4 devices: A bluetooth hub/mouse charger, a rechargeable MX900 mouse, the keyboard, and a separate numeric keypad. &lt;/P&gt;
&lt;P&gt;The mouse is great, although I have to get in the habit of putting it in the charger when I'm done. It's more accurate and suffers less noise than both of my other optical mice when on my wood grain desktop. My old optical mice include a Logictech FeelMan and a plain old Microsoft Intellimouse Explorer. &lt;/P&gt;
&lt;P&gt;The keyboard is more like a laptop keyboard in it's thin/flat sleek shape. It's a very sexy keyboard and comfortable. I think I still prefer the ergonomic separated keyboards though. I'm not a big fan of keyboards with a ton of extra keys on them that I never remember to use. This keyboard has a limited set which I'm more likely to remember. &lt;/P&gt;
&lt;P&gt;The separate keypad is quite a different twist on things. It's nice that they took it off they keyboard, which makes the keyboard more movable around the desk or my lap. The Media pad on its own is cool too. It works like a typical numeric keypad but it also has an LCD display. The pad has 3 modes. Numeric, Navigation (like a NumLock mode) and a calculator mode. When in calculator mode, it works like a standalone desktop calculator. You have the option with the software to keep the last result in the computer clipboard which is interesting. The software will also put email and MSN messenger notices on the LCD and even beep your media pad. It also has a set of media keys for volume, mute, play/pause, stop, back and forward. It will also show track names on the LCD.&lt;/P&gt;
&lt;P&gt;Now the thing I wanted to do was use this same mouse when I take my laptop on the road. I had purchase a dlink external usb bluetooth dongle awhile ago, but I opted to buy an internal Dell Trumobile 300 module on ebay for my laptop. I can't believe how small it is, smaller than a stamp. It was a pain to install it - had to remove the keyboard, bezel, display, and palm rest. &lt;/P&gt;
&lt;P&gt;The bigger gotcha was on the software side. I installed the dell drivers and software but it didn't detect the device. The bluetooth light was on no problem and device manager showed the device, but the bluetooth software didn't detect it. I figured this was because I now had two bluetooth hubs installed so I uninstalled both the dell and logitech software and then reinstalled the dell only software after disconnecting the logitech hub. Bingo - that worked. I was able to successfully add the keyboard, mouse, media pad, along with my IPAQ 5560 and bluetooth headset. &lt;/P&gt;
&lt;P&gt;Without installing any logitech software, I'm still able to use the extra buttons on the keyboard and mouse, except the mouse's application switching button. They keypad works fine too, although I'm not receiving any messages on the LCD, nor is the clipboard support working. I tried to install the full logitech setpoint software, but it wouldn't continue the install without detecting the media hub, and plugging that in is not something I'm going to try. I can live without the features, and the fact I'm not running a bunch of extra software isn't going to bother me either.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Update:&lt;/STRONG&gt; I just noticed on the logitech site, the setpoint download for the standalone MX900 says that it's been enhanced to support internal bluetooth modules. I'm downloading that and going to give it a try.&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=1372" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Tips/default.aspx">Tips</category></item><item><title>Adopting Media Center</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2005/01/21/adopting-media-center.aspx</link><pubDate>Fri, 21 Jan 2005 16:47:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:1371</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/1371.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=1371</wfw:commentRss><description>&lt;P&gt;Over the holidays, I started to clean up some redundant hardware at home. My daughters have been using an old laptop that really sucks so I set them up with re-incarnated desktop that I used to use as a TV PC. I decided to install Windows Media Center 2005 on that as I had picked up an OEM kit for testing that included the remote control. I ended up moving all of our music and pictures, along with some reorganizing on that machine. I also picked up the XBox Media Center Extender so we could view all that stuff in our living room. &lt;/P&gt;
&lt;P&gt;A few personal observations on this setup.&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;The XBox interface is great. It's got a good user interface, both the visuals and the remote control that result in a pretty good wife acceptance factor. The price point of $99 CDN was great.&lt;/LI&gt;
&lt;LI&gt;It's too bad you have to stick the DVD into the XBox every time you want to view stuff from your computer. A much better experience would have been to install it on a hard drive or something. &lt;/LI&gt;
&lt;LI&gt;You think Microsoft would put a universal remote into the xbox media center extender remote control so I could turn on the tv?&lt;/LI&gt;
&lt;LI&gt;My lamo Media Center is a home brew piece of junk (P3 800) but it does have an All In Wonder Radeon card in it. It's one of the original Radeon's. While I'm disappointed that the tuner isn't “MCE Compatible“ I'm surprised at how crappy the photo slide show is. Showing a slide show in any other software on this machine is just peachy.&lt;/LI&gt;
&lt;LI&gt;My 6 year old is really fascinated with the fact that her name and picture show up on the login screen. It gives her a real sense of control I guess that this is her space. She got really upset when I disabled the guest account - she doesn't want anybody using her login. She's not exactly a touch typist so she doesn't have a password. I'm tempted to get the new MS fingerprint reading keyboard for user switching.&lt;/LI&gt;
&lt;LI&gt;I think Microsoft should make a Media Center Extender for PC's. This might seem weird but, I want to control the media center from my laptop. Sure, I can Remote Desktop in to the machine. I'm required to change the local resource option to keep audio at the local machine so as to still hear the audio through our speakers vs. my laptop. The downside is that when I terminate my remote desktop session, it kills my session, and the audio. That sucks. I've also through about doing the remote assistance thing but from what I know, that requires passport, and I'd have to log into my account twice. Doesn't feel right either.&lt;/LI&gt;
&lt;LI&gt;There is some weirdness with either the Windows Media Player catalog or the XBox Extender Catalog. I had cleaned up all my artist names on the media center machine locally - resolving the “AC/DC“, “ACDC“ and “AC DC“ variations. I can't find any other variations when I'm on the machine locally, but the media center extender on the xbox shows “AC“ and “AC/DC“. Argh! I've even done the Process Media Information Now menu option, but that didn't seem to fix the problem either.&lt;/LI&gt;&lt;/UL&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=1371" width="1" height="1"&gt;</description></item><item><title>USB Surges on Dell Laptops: Workarounds</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2005/01/17/usb-surges-on-dell-laptops-workarounds.aspx</link><pubDate>Mon, 17 Jan 2005 15:50:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:1314</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/1314.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=1314</wfw:commentRss><description>&lt;P&gt;If you are as unfortunate as I am, you have a newer Dell laptop that isn't so good at supplying power to “USB bus powered” devices. In windows, it reports surges on the bus and shuts them down.&lt;/P&gt;
&lt;P&gt;I get this with my external GB firelite drive and my IPAQ 5550 when using the sync'n charge cable and fast USB charging enabled. The firelite drive can be powered externally, but they don't give you a transformer in the box. Instead they give you a cable that connects from your PS/2 keyboard port to the drives&amp;nbsp;DC input. That would be great if my laptop had a PS/2 keyboard port.&lt;/P&gt;
&lt;P&gt;When at home, I use a USB powered hub. If you are in the market, I recommend*&amp;nbsp;the &lt;A href="http://www.tigerdirect.ca/applications/searchtools/item-Details.asp?EdpNo=997151&amp;amp;sku=L301-2064"&gt;Promedia USB and Firewire Combo Hub Repeater&lt;/A&gt;. In addition to&amp;nbsp;it being a USB 2.0 hub, it also supports firewire, over USB, which is great since my&amp;nbsp;Dell doesn't have a built in firewire port. *I have ordered this device which is nice and cheap at $21 CDN, but still waiting for it to arrive - I'll let you know if I notice anything wrong with it.&lt;/P&gt;
&lt;P&gt;When I'm on the road, I also used to carry around a&amp;nbsp;&lt;A href="http://www.tigerdirect.ca/applications/SearchTools/item-details.asp?EdpNo=615773&amp;amp;CatId=392"&gt;Iogear Microhub 4-Port Hi-Speed USB 2.0 Hub&lt;/A&gt;. It's nice and slim and also can be&amp;nbsp;externally powered which solves my&amp;nbsp;IPAQ/Drive problems. I still hate carrying&amp;nbsp;around stuff I don't have to.&lt;/P&gt;
&lt;P&gt;Enter the &lt;A href="http://www.ultraproducts.com/product_info.php?cPath=33&amp;amp;products_id=55"&gt;Ultra Mini 2.5“ Hard Drive Enclosure&lt;/A&gt;&amp;nbsp;(available at Tiger's outlet store in Markham, but not on their site for around $70 if memory serves). It is your typical enclose that supports both USB and Firewire (a nice addition if used on my older dell that is USB 1.0, yet has Firewire) and also offers external dc power (and they include a transformer). The cool part is the enclosed 10 Hour Li-ion battery. The back of the box says “ when not in use, the battery charges from your connection bus (both USB and 1394). I can't verify that (in fact, first time I've heard of something charging over 1394/firewire), but I can verify that when plugged directly into my Dell laptop, without the DC adapter, it works fine and without USB surges on the bus.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=1314" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/PDC/default.aspx">PDC</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Southern+Ontario/default.aspx">Southern Ontario</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/TechEd/default.aspx">TechEd</category></item><item><title>Reading Adobe Illustrator files with Acrobat Reader</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2005/01/11/1266.aspx</link><pubDate>Tue, 11 Jan 2005 14:35:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:1266</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>13</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/1266.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=1266</wfw:commentRss><description>&lt;P&gt;Occassionaly I need to view an adobe illustrator file. I usually end up asking our graphics guy to create a PDF or jpeg. Sometimes I search for some freeware tool to convert or display, usually without much success.&lt;/P&gt;
&lt;P&gt;Today I thought I'd try using the new Adobe Reader 7.0 to see by chance if they support that. I was surprised to find out they do! Not only does it work in 7.0 as well, but it also works in 6.0, I just never thought to try. &lt;/P&gt;
&lt;P&gt;It's not an associated file type, but you can do a File/Open, or select Open With Adobe Reader to view the file.&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=1266" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Tips/default.aspx">Tips</category></item><item><title>Trip to Ottawa and Requirements Traceability</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2004/11/19/trip-to-ottawa-and-requirements-traceability.aspx</link><pubDate>Fri, 19 Nov 2004 21:40:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:1025</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>5</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/1025.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=1025</wfw:commentRss><description>&lt;P&gt;I just got back from Ottawa, where&amp;nbsp;last night I was speaking to the Ottawa .NET community about Visual Studio Tools for Office.&amp;nbsp;(more on that later).&lt;/P&gt;
&lt;P&gt;I wasn't surprised by the Grep Cup weekend inflated hotel rates, but I was surprised to&amp;nbsp;find a “2.8%&amp;nbsp;DMF Fee”&amp;nbsp;on my hotel bill (on top of the 15% worth of federal&amp;nbsp;and provincial taxes). Upon request, I was informed that this was a “Destination Marketing Fee” which goes to fund marketing efforts to promote tourism in the area. Various Ontario tourism centers (including Hamilton - go figure?) have been lobbying the provincial governments since post 9/11 in an effort for them to allow a tax (a real tax, not a fee) for the same purpose. This past summer however, the hotels decided that this was going nowhere so they decided to start collecting (on a voluntary basis) a fee (not a real tax). &lt;/P&gt;
&lt;P&gt;Maybe it's just me, but I'm thinking the best way to attract people to your city is not to put a sneaky “DMF Fee” charge on those same people's hotel bill when they come to visit you and hope they don't ask about it. Even worst, because it's a fee charged by the hotel, and not a real tax - guess what - you pay tax on the DMF Fee. Icarumba! It turns out it's voluntary fee and not hotels collect it. The front desk staff sensed I was not pleased about being asked to pay for marketing fees on top of my room rate so they quickly waived the fee. But I wonder how many people willing pay this?&lt;/P&gt;
&lt;P&gt;This all reminds me very much about requirements management and software development.&amp;nbsp;Often, people, usually too close to the problem,&amp;nbsp;design features into software that doesn't meet the requirements of the user. Take for example those goofy glyphs on the Lotus Notes login window. What about clippy? Is that satisfying anybody's requirements - or is it just pissing you off? With all of our best intentions, it is extremely important that we take the time to perform reality checks on what we are building against the requirements of our users. &lt;/P&gt;
&lt;P&gt;Now to bring it all home. Do users really want to do their work in a web browser? Browsers are great for wandering and finding stuff,&amp;nbsp;but do they want to see the value of their stock portfolio in a browser? You need to find the best environment for the job your users are trying to accomplish. If somebody is accustomed to using Excel to aggregate a bunch of their financial information, then maybe Visual Studio Tools for Office is the right tool for that job. While writing applications in Excel isn't exactly new, with VSTO you have the integration with the .NET Framework, Web Services, and the smart client deployment model, you can apply all professional development skills you have at your disposal to creating applications with Word &amp;amp; Excel. And don't worry, I have yet to see clippy show up in Visual Studio Office projects.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=1025" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2005/default.aspx">VS2005</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2003/default.aspx">VS2003</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Humours+Distractions/default.aspx">Humours Distractions</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Southern+Ontario/default.aspx">Southern Ontario</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/WinForms/default.aspx">WinForms</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/WebForms/default.aspx">WebForms</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Services/default.aspx">Services</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Security/default.aspx">Security</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Events/default.aspx">Events</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/MSF/default.aspx">MSF</category></item><item><title>An Update on Whidbey/Yukon Release Dates</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2004/11/09/an-update-on-whidbey-yukon-release-dates.aspx</link><pubDate>Tue, 09 Nov 2004 13:53:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:1004</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/1004.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=1004</wfw:commentRss><description>In case you missed it, in this &lt;A href="http://www.computerworld.com/softwaretopics/software/story/0,10801,96898,00.html"&gt;article&lt;/A&gt; key microsoft executives are quoted as saying that Whidbey and Yukon are still slated to ship together but that won't be by end of June as earlier stated. They are now estimating that “summer” is a better statement of expected arrival. This may align itself nicely with&amp;nbsp;the PDC 2005 September date. It sounds like both teams blame each other, but really, a lesson can be learned here for all of us: Cross product integration means longer delivery cycles. This is going to be a tough nut for our industry to crack moving forward, not just Microsoft. Is that what SOA promises?&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=1004" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/PDC/default.aspx">PDC</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2005/default.aspx">VS2005</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/SQL/default.aspx">SQL</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2003/default.aspx">VS2003</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VB.NET/default.aspx">VB.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Services/default.aspx">Services</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Events/default.aspx">Events</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/MSF/default.aspx">MSF</category></item><item><title>Visual Studio Team System and XBox/Halo 2</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2004/11/08/visual-studio-team-system-and-xbox-halo-2.aspx</link><pubDate>Mon, 08 Nov 2004 15:58:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:999</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/999.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=999</wfw:commentRss><description>What does project management, test management, defect tracking, build servers, methodology, automated testing, code coverage, and software diagramming have to do with Halo 2? I'm not sure really, but if you want both - then you need to come to the Toronto Visual Basic User Group meeting tomorrow night. I'll be doing a “powerpoint free” drive through of Visual Studio Team System AND raffling off an xbox console and a copy of Halo 2, worth about $270.&amp;nbsp; More details here: &lt;A href="http://www.tvbug.com/"&gt;http://www.tvbug.com/&lt;/A&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=999" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2003/default.aspx">VS2003</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Tips/default.aspx">Tips</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Humours+Distractions/default.aspx">Humours Distractions</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Southern+Ontario/default.aspx">Southern Ontario</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Services/default.aspx">Services</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Events/default.aspx">Events</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Testing/default.aspx">Testing</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/MSF/default.aspx">MSF</category></item><item><title>Assembly Reference Resolving in Visual Studio.</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2004/10/29/988.aspx</link><pubDate>Fri, 29 Oct 2004 20:38:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:988</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/988.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=988</wfw:commentRss><description>&lt;P&gt;I got a question today about a problematic assembly references during a build of a large project. &lt;/P&gt;
&lt;P&gt;Visual Studio projects have a user file (*.csproj,user, *.vbproj.user) that stores a &amp;#8220;References Path&amp;#8221;. You can edit this list of paths in your project properties dialog and it works like a PATH variable.&lt;/P&gt;
&lt;P&gt;The twist comes in when you add a reference to a project. The IDE creates a relative formed path to the assembly you picked in the add reference dialog and places that as a &amp;#8220;hint path&amp;#8221; in the .csproj/.vbproj file. &lt;/P&gt;
&lt;P&gt;So imagine you have some carefully crafted hint paths in your project file references, and no references paths in your user file. It's still possible, for your assembly to not be found where you expect it. &lt;/P&gt;
&lt;P&gt;Did you know that VS.NET will automatically add References Paths for you as part of it's build process. Let's say you have a list of references in your project. As VS.NET iterates through the list of them one at a time, it will first check the references path. If the assembly is not found, it will use the hint path. If it finds it with the hint path - it will take the fully qualified path to that assembly - and put it in references path of your user file. When it gets to the next assembly it will check all those references paths - including the one it just automatically added.&lt;/P&gt;
&lt;P&gt;What happens if you have multiple copies of your referenced dll hanging around? It could find one other than the one you referenced in your hint path.&lt;/P&gt;
&lt;P&gt;This is all pretty rare to happen, but if you are like some folks who use Visual Studio itself as your build server (not NAnt) and as a matter of practice you delete your .user files as part of that build (with the predefined reference paths), you could find yourself in hot water. The only solution in this mixed up process is to make sure you don't have multiple copies/versions of your referenced assemblies lying around. Or better yet, use NAnt.&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=988" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2003/default.aspx">VS2003</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VB.NET/default.aspx">VB.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Tips/default.aspx">Tips</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category></item><item><title>SqlConnection woes on the Compact Framework over WiFi</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2004/10/22/959.aspx</link><pubDate>Fri, 22 Oct 2004 18:16:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:959</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/959.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=959</wfw:commentRss><description>&lt;P&gt;Last night at the Toronto .NET Users Group talk I did on mobility, a gentleman had a question about directly connecting to an Enterprise SqlServer database from a Pocket PC using the Compact Framework. His users run on a shop floor and some times they lose their wifi signal. While he doesn't keep the SqlConnection open the whole time, it seems that when a wifi signal is back alive his application can't connect to the database using a SqlConnection.Open anymore - despite that he can still ping the server.&lt;/P&gt;
&lt;P&gt;He was correctly doing a SqlConnection.Close in a finally clause around his data access, but I suspect that even though pooling is not supported on the compact framework, this is not doing a proper disconnect of the physical connection (a Sql Profiler session would probably tell you that for sure). So a using block in C# will ensure that the SqlConnection is disposed of immediately and will properly terminate the connection. So if between calls you lose and reaquire your wifi connection you'll be starting a bran new connection the next time. It's still a good idea to put all of your actual work in a try/catch/finally block with a SqlConnection Close in the finally.&lt;/P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#0000ff size=3&gt;
&lt;P&gt;using&lt;/FONT&gt;&lt;FONT size=3&gt; (SqlConnection cn = newSqlConnection(CONNECTION_STRING ))&lt;BR&gt;{&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=3&gt;&amp;nbsp;try&lt;BR&gt;&lt;/FONT&gt;&lt;FONT size=3&gt;&amp;nbsp;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;cn.Open();&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=3&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;//do some work with the connection&lt;BR&gt;&lt;/FONT&gt;&lt;FONT size=3&gt;&amp;nbsp;&amp;nbsp;}&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=3&gt;&amp;nbsp;&amp;nbsp;catch&lt;/FONT&gt;&lt;FONT size=3&gt; (SqlException ex)&lt;BR&gt;&amp;nbsp;&amp;nbsp;{&lt;BR&gt;&lt;FONT color=#008000 size=3&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;//error handling&lt;BR&gt;&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;}&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=3&gt;&amp;nbsp;&amp;nbsp;finally&lt;/FONT&gt;&lt;FONT size=3&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;cn.Close();&lt;BR&gt;&amp;nbsp;&amp;nbsp;}&lt;BR&gt;}&lt;/P&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=959" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/ADO.NET/default.aspx">ADO.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/SQL/default.aspx">SQL</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2003/default.aspx">VS2003</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Southern+Ontario/default.aspx">Southern Ontario</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/WinForms/default.aspx">WinForms</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category></item><item><title>Get lost, have fun.</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2004/10/08/922.aspx</link><pubDate>Fri, 08 Oct 2004 18:42:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:922</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/922.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=922</wfw:commentRss><description>&lt;P&gt;Ok this is too cool. Bell Mobility has this Location Service called &lt;STRONG&gt;MyFinder&lt;/STRONG&gt;. Using Cellular triangulation they can figure out pretty close to where you are. It costs 25cents to locate yourself on any&amp;nbsp;Bell Mobility Cell phone with a browser (plus air time ). You can do things like find the nearest gas station to where you are right now (or ATM, restaurant, etc.) and then using Map Point will give you driving/walking directions. I tried out this service in Waterloo and it found me within a block of where I actually was.&amp;nbsp;Bell says within 150m. In my example that would&amp;nbsp;be pretty close.&amp;nbsp;So your mileage might vary (no pun intended).&lt;/P&gt;
&lt;P&gt;If you are lucky enough to have Sanyo 8100 or an Audiovox 8450/8455 you can also use &lt;STRONG&gt;MapMe&lt;/STRONG&gt; service which will download a&amp;nbsp;map to your device and your location plotted on it - along with nearby places. This appears from the screenshot to be something along the lines of a Pocket Streets derivative. It costs $5 (one time) for the software, and again 25 cents to be located per use&amp;nbsp;plus air time (unless you have the Mobile Browser Bundle).&lt;/P&gt;
&lt;P&gt;Bell Mobility also has a few multiplayer games that you play against people nearby. Less cool. Get a life. &lt;/P&gt;
&lt;P&gt;Perhaps the most (potentially)&amp;nbsp;practical is a #TAXI phone number that connects you with the first available taxi based on your location. It uses many cab companies. It sounds like they might find you a taxi parked around the corner but I don't think it quite works that way. It found my city and routed me to the phone number of the nearest taxi company. It also sent me a text message with their direct phone number. A $1.25 a call? The taxi company should pay for that - no?&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.bell.ca/finderservices"&gt;www.bell.ca/finderservices&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;You can develop applications using this service too. If you are lucky to live in Canada and be a Bell Mobility Subscriber - then you are in luck (as I am) since Bell is now&amp;nbsp;providing realtime MS MapPoint Location Service. It almost makes up for being on a CDMA network and having that limited phone selection problem.&lt;/P&gt;
&lt;P&gt;Microsoft MapPoint Location Server is a new component of Microsoft MapPoint Web Service. You will install this component (along with SQL Server) in your enterprise and using the MapPoint Web Service and location data from your provider you can get an inventory of all the people in your company and their locations. For doing dispatch type of applications, 150 meters is probably close enough. General Information on both here (&lt;A href="http://www.microsoft.com/mappoint) "&gt;http://www.microsoft.com/mappoint) &lt;/A&gt;&lt;/P&gt;
&lt;P&gt;MSDN Universal, Enterprise, and Professional subscribers are eligible for a free subscription to MapPoint Web Service (a requirement of using MLS)(&lt;A href="https://s.microsoft.com/mappoint/msdn/msdnspec.aspx"&gt;https://s.microsoft.com/mappoint/msdn/msdnspec.aspx&lt;/A&gt;)&lt;/P&gt;
&lt;P&gt;Bell Mobility Developers Web site for location based services (&lt;A href="http://developer.bellmobility.ca/lbs/"&gt;http://developer.bellmobility.ca/lbs/&lt;/A&gt;)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=922" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2003/default.aspx">VS2003</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VB.NET/default.aspx">VB.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Humours+Distractions/default.aspx">Humours Distractions</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Southern+Ontario/default.aspx">Southern Ontario</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Services/default.aspx">Services</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category></item><item><title>CTTDNUG UG Tomorrow Night: Building Pocket PC Applications with the Compact Framework and SQL CE</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2004/10/06/915.aspx</link><pubDate>Wed, 06 Oct 2004 13:41:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:915</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/915.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=915</wfw:commentRss><description>&lt;P&gt;As part of the continuing MSDN User Group Tour, I'll be speaking at the Canadian Technology Triangle .NET User Group in Waterloo on Thursday October 7th (tomorrow night). There is a new location for the meeting at Agfa (formerly Mitra) in Waterloo. All the details are &lt;A href="http://www.objectsharp.com/oNewsUpdate/ReadingFullStory.aspx?StoryNum=-30"&gt;here&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Correction: &lt;/STRONG&gt;Adam Gallant is going to be the speaker at this event tomorrow night. Sorry for the confusion. It should be a good talk.&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=915" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/ADO.NET/default.aspx">ADO.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2003/default.aspx">VS2003</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VB.NET/default.aspx">VB.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Tips/default.aspx">Tips</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Southern+Ontario/default.aspx">Southern Ontario</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/WinForms/default.aspx">WinForms</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Events/default.aspx">Events</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category></item><item><title>Things are busy....</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2004/09/30/903.aspx</link><pubDate>Thu, 30 Sep 2004 13:29:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:903</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/903.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=903</wfw:commentRss><description>&lt;P&gt;at ObjectSharp these days - more than usual. I attribute this to a recent upsurge in both .NET and BizTalk adoption - people doing real projects, running into real problems and needing real help from the experienced. We've been steadily hiring new consultants all year - but by one or two at a time and it's time to put the call out again. Are you a seasoned developer/architect? Do you have real world experience with .NET, BizTalk, or Sharepoint. Do you consider yourself an excellent communicator? Interested in teaching as well? Then we (or more importantly, our customers) need your help. You live in Toronto or Vancouver right? &lt;/P&gt;
&lt;P&gt;Send your resume to &lt;A href="mailto:careers@objectsharp.com"&gt;careers@objectsharp.com&lt;/A&gt;. &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=903" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Southern+Ontario/default.aspx">Southern Ontario</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category></item><item><title>Hooray for Google Canada Local</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2004/09/22/894.aspx</link><pubDate>Wed, 22 Sep 2004 20:21:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:894</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/894.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=894</wfw:commentRss><description>&lt;A href="http://local.google.ca/"&gt;http://local.google.ca/&lt;/A&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=894" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Humours+Distractions/default.aspx">Humours Distractions</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Southern+Ontario/default.aspx">Southern Ontario</category></item><item><title>Oshawa .NET: Building Mobile Applications</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2004/09/21/889.aspx</link><pubDate>Tue, 21 Sep 2004 15:10:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:889</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/889.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=889</wfw:commentRss><description>&lt;P&gt;I'm doing a talk at the East of GTA .NET users group tonight in Oshawa. This is the same MSDN User Group tour event sweeping across Canada. I'll be talking about some of the limitations of the Compact Framework and SqlCE. Should be fun - hope to see you there.&lt;/P&gt;
&lt;P&gt;Registration Links and slides (afterwards) can be found &lt;A href="http://www.objectsharp.com/oNewsUpdate/ReadingFullStory.aspx?StoryNum=-29"&gt;here&lt;/A&gt;.&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=889" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2005/default.aspx">VS2005</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/ADO.NET/default.aspx">ADO.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2003/default.aspx">VS2003</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VB.NET/default.aspx">VB.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Tips/default.aspx">Tips</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Southern+Ontario/default.aspx">Southern Ontario</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/WinForms/default.aspx">WinForms</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/WebForms/default.aspx">WebForms</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Services/default.aspx">Services</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Events/default.aspx">Events</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category></item><item><title>VS.NET IDE Teaching an old Dog new Tricks</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2004/09/21/888.aspx</link><pubDate>Tue, 21 Sep 2004 15:07:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:888</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/888.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=888</wfw:commentRss><description>&lt;P&gt;I love hanging out with new VS.NET developers. It's enlightening to hear the troubles the face and their new found energy to solve them. I have to blog more about these - but in general, there are often things that I do out of habit in the IDE or things that I live with because I'm too lazy (or tired or busy)&amp;nbsp;to find a way around them.&lt;/P&gt;
&lt;P&gt;Two new tricks were brought to my attention by an associate of mine.&lt;/P&gt;
&lt;P&gt;&amp;#8220;How do I find all of the references to a class or usages of a member?&amp;#8221; or &amp;#8220;When I right click on a class and select Go To Reference, it goes to the first one it finds. How do I go to the next one?&amp;#8221;.&lt;/P&gt;
&lt;P&gt;The best answer is CTRL+SHIFT+1 which will jump you to the next reference. CTRL+SHIFT+2 will take you to the next reference.&lt;/P&gt;
&lt;P&gt;I couldn't find this short cut anywhere in the menu's. The complete list of short cuts can be found &lt;A href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vsintro7/html/vxurfvisualstudio70defaultshortcutkeys.asp"&gt;here&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;Which begged another question. Can I put short cuts or favorites in the IDE? Indeed, under View&amp;gt;Other Windows there is a favorites window which is your machines favorites. This is great to have docked right next to your Dynamic Help (if you have it turned on). &lt;/P&gt;
&lt;P&gt;A similar question was &amp;#8220;How do I find all of the descendent's of a class or implementations of an interface?&amp;#8221;. I always using the online help for that, which doesn't help for your own code. One of the solutions I found (and maybe there is a better one) is to use Find Symbol under the Find and Replace menu (ALT-F12). &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=888" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2005/default.aspx">VS2005</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2003/default.aspx">VS2003</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VB.NET/default.aspx">VB.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Tips/default.aspx">Tips</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category></item><item><title>GDI+ Security Vulnerability</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2004/09/17/881.aspx</link><pubDate>Fri, 17 Sep 2004 05:54:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:881</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/881.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=881</wfw:commentRss><description>&lt;P&gt;There is a new critical&amp;nbsp;security vulnerability that affects a wide range of software that can't be easily patched through Windows Update. The vulnerability lies inside of GDI+ and can allow a maliciously formed JPEG image file to create a buffer overrun and inject malicious code - even through a web page's graphics...no scripting or anything.&lt;/P&gt;
&lt;P&gt;Windows Update will go ahead and update major components but you also need to go to the Office Update site as well as update a bunch of other software you might have on your machine.&lt;/P&gt;
&lt;P&gt;In particular for developers, the .NET Framework (pre-latest service pack) and even Visual Studio.NET 2003 and 2002 are affected and need to be separately patched.&lt;/P&gt;
&lt;P&gt;The full bulletin with links for all the various patches are available here. &lt;A href="http://www.microsoft.com/technet/security/bulletin/MS04-028.mspx"&gt;http://www.microsoft.com/technet/security/bulletin/MS04-028.mspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;If you go to Windows Update it will also provide you with a GDI+ Detection tool that will scan your hard drive looking for affected components. I strongly you recommend everybody jump all over this one quickly.&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=881" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/ADO.NET/default.aspx">ADO.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2003/default.aspx">VS2003</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VB.NET/default.aspx">VB.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Tips/default.aspx">Tips</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/WinForms/default.aspx">WinForms</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/WebForms/default.aspx">WebForms</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Services/default.aspx">Services</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Security/default.aspx">Security</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Testing/default.aspx">Testing</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category></item><item><title>VS Live Orlando: Building "Operations-Friendly" ASP.NET Applications with Instrumentation and Logging</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2004/09/12/868.aspx</link><pubDate>Sun, 12 Sep 2004 19:34:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:868</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/868.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=868</wfw:commentRss><description>&lt;P&gt;Yes, it's the longest title of all VS Live Orlando presentations! It's a big topic and it deserves a big name. &lt;/P&gt;
&lt;P&gt;I'm heading out Monday night to hurricane country to deliver this talk on Tuesday morning. I like this topic because when you get into it, it's like an onion. It doesn't look like something terribly sophisticated but as you get into you find there are more and more layers to peel back. &lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=868" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2005/default.aspx">VS2005</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2003/default.aspx">VS2003</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Tips/default.aspx">Tips</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/WebForms/default.aspx">WebForms</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Services/default.aspx">Services</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Security/default.aspx">Security</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Events/default.aspx">Events</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Architecture/default.aspx">Architecture</category></item><item><title>Building Mobile Applications, Metro Toronto .NET Users Group</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2004/09/07/856.aspx</link><pubDate>Tue, 07 Sep 2004 17:56:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:856</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/856.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=856</wfw:commentRss><description>&lt;P&gt;Tomorrow night I'm presenting at the downtown Toronto .NET users group - topic Pocket PC development with the CE framework. I'll have a new HP 4700 device with a VGA resolution screen for folks to take a look at - courtesy of your friendly neighborhood HP rep. I'll also have my trusty 5650 with the old form factor for you to play around with. Hope to see you there. &lt;/P&gt;
&lt;P&gt;Details: &lt;A href="http://www.objectsharp.com/oNewsUpdate/ReadingFullStory.aspx?StoryNum=-28"&gt;http://www.objectsharp.com/oNewsUpdate/ReadingFullStory.aspx?StoryNum=-28&lt;/A&gt;&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=856" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2005/default.aspx">VS2005</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/ADO.NET/default.aspx">ADO.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2003/default.aspx">VS2003</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VB.NET/default.aspx">VB.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Southern+Ontario/default.aspx">Southern Ontario</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/WinForms/default.aspx">WinForms</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Services/default.aspx">Services</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Events/default.aspx">Events</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category></item><item><title>Shorthorn Longhorn</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2004/08/27/846.aspx</link><pubDate>Fri, 27 Aug 2004 19:14:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:846</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/846.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=846</wfw:commentRss><description>&lt;P&gt;So this will cause a few blogs. I have just heard that....&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Longhorn slated for 2006. Longhorn server 2007. 
&lt;LI&gt;Winfx, and Avalon are coming to windows xp in 2006. Indigo as well - and on Windows 2003 as well.&amp;nbsp;These are all part of WinFx that is going to be extremely important for .NET developers and companies wanting to take advantage of these improvements. 
&lt;LI&gt;Winfs is leaving longhorn (post release). So that means ObjectSpaces and the Microsoft Business Framework too.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Wow. Never a dull moment. I'm attending a briefing with Jim Allchin in an hour so I might have more I can tell.&lt;/P&gt;
&lt;P&gt;But will we also see a delay of ObjectSpaces or the Microsoft Business Framework until after the longhorn release. Those have been recently tied&amp;nbsp;into WinFs - but no specific announcements about that - and I wouldn't be surprised if that changed soon.&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=846" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/PDC/default.aspx">PDC</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2005/default.aspx">VS2005</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Orcas/default.aspx">Orcas</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Vista/default.aspx">Vista</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/ADO.NET/default.aspx">ADO.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/SQL/default.aspx">SQL</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2003/default.aspx">VS2003</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VB.NET/default.aspx">VB.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/WinForms/default.aspx">WinForms</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Services/default.aspx">Services</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Events/default.aspx">Events</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/WCF/default.aspx">WCF</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/TechEd/default.aspx">TechEd</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category></item><item><title>My Long Weekend Vacation, Pocket Excel and the Time Value of Money</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2004/07/06/742.aspx</link><pubDate>Tue, 06 Jul 2004 04:00:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:742</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>6</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/742.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=742</wfw:commentRss><description>&lt;P&gt;I just came back from a lovely weekend at &lt;A href="http://www.bluemountain.ca/village_quickfacts.htm"&gt;Blue Mountain Village&lt;/A&gt; near Collingwood in Ontario. I hadn't been to the area since I was a kid. It's changed a lot.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;The good:&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;every room has high speed internet for a reasonable cost.
&lt;LI&gt;a lovely private beach onto Georgian bay for guests that included lounge chairs, towel service, toys for the kids, and kayaks to borrow. You can walk out close to a kilometer before it gets past your knees so it's great for the little ones, and you don't really care that the water is only a couple of degrees higher than freezing. Of course in the hot sun, the shallow water warms up nicely.
&lt;LI&gt;our room looked out into a lovely village square. &lt;A href="http://www.ObjectSharp.com/barry/village panoramic_annotated.jpg"&gt;Panoramic Photo here (2.3mb).&lt;/A&gt; 
&lt;LI&gt;can you say beer festival? We came back Saturday afternoon from the beach to find there was a Blues, Brews &amp;amp; BBQ festival outside our room. Waterloo, Brick, Big Rock, Creemore, Sleeman's, Rickard's, Steam Whistle and a slightly out of place Coors Lite booth. All appreciated though. Pig roast too - strangely right across the aisle from some place giving out samples of vegetarian hot dogs. 
&lt;LI&gt;the square had some kind of computerized fountains with a small waterfall and man made river - not only artistically pleasing, but the designers knew kids would want to play in this fountain - so they embraced that idea and made a nice entry into it and put lots of chairs around so grown ups could watch their kids (right side of photo) 
&lt;LI&gt;a big fire pit in the middle for pseudo-camp fires which the kids loved. 
&lt;LI&gt;Friday night they had an outdoor movie in the square with popcorn. 
&lt;LI&gt;a&amp;nbsp;surprising amount of things to do right in the village square. Many shops and watering holes. Lots for the kids: scooter rentals, remote control cars &amp;amp; boats for the pond nearby, peddle boast, catch &amp;amp; release fishing, a small water park with water slides &amp;amp; splash pad for the kids. Rock Climbing, face painting. If you've never tried a &lt;A href="http://www.beavertailsinc.com/"&gt;beaver tail&lt;/A&gt;, you must.
&lt;LI&gt;there is some good golf &amp;amp; tennis available, and in the winter, best skiing in Ontario (not saying much). On the "mountain" there is some good downhill mountain biking to be had during the summer. There are also lots of hiking trails and scenic caves.
&lt;LI&gt;handy underground parking for the hotel. 
&lt;LI&gt;only 2 hours from Toronto!&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;STRONG&gt;The Bad:&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;it's not really a mountain - just an edge of the Niagara escarpment. May not be great vertical, but the largest horizontal around. 
&lt;LI&gt;the open air gondola which was suppose to be open July 1st wasn't.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;STRONG&gt;The Ugly:&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;The same old timeshare crap sales pitch reminded me of my first day in business school. My Econ101 prof said: "If you learn one thing from university, remember this: At some point in the future, some salesperson is going to try and tell you that money today is worth the same as money in the future." Boy did I run into that here this weekend. I don't mind hearing a good sales pitch, and I had pleasantly enjoyed my vacation to date, so when somebody in the activity centre asked if I wanted to go see a presentation and they would give us&amp;nbsp;a $100 gift certificate for anywhere in the village, I willingly obliged.&amp;nbsp;I also knew it was going to rain that afternoon.&lt;/P&gt;
&lt;P&gt;I was a bit surprised that the&amp;nbsp;presentation was not high pressured at all. Intrawest has probably one of the better point systems for Timeshares. You can go anywhere, any time of the year, and for any length of stay. You basically buy points into the system to spend throughout the year. You pay a premium if you book through their travel agent to an external real estate but you basically aren't screwed if you don't like their resorts. Since we don't ski or golf all that much, and not on family vacations to date, I'd be in the &amp;#8220;paying extra&amp;#8220; category pretty much every year. &lt;/P&gt;
&lt;P&gt;It all boils down to you pay a large chunk of money up front as an equity &amp;#8220;investment&amp;#8220;, in this case $26K, which gives you 150 points per year, which works out to about 7-10 days depending on what time of the year, what location and what kind of accommodations you want. You also pay an annual maintenance fee of $850. I quickly bumped that up to $1200 to account for the premiums I'd have to pay to book outside the system. The salesperson was quite friendly, but at some point said that "your annual vacation - hotel room part anyway, is basically only costing you $1200 per year". That would probably give me on average 10 days of hotels. So $120/night for a 1 bedroom suite on average was quite good. &lt;/P&gt;
&lt;P&gt;WRONG! &lt;/P&gt;
&lt;P&gt;What about the $26K? That would probably earn between $800-2000 as investment income if invested somewhere else. The timeshare equity doesn't really appreciate under the point system. It can, but you have a very limited market to where you can sell it, so it generally doesn't. Intrawest will buy back your investment at par in 8 years should you want out of the system.&lt;/P&gt;
&lt;P&gt;The salesperson offered all kinds of perks if&amp;nbsp;we accepted - right there on the spot, but if I returned tomorrow I wouldn't get those perks. She said the last 20 people who bought in, all did so on the spot. Of course they did - all the other folks who went home and entered a few numbers into a spreadsheet figured out they could invest their $26K in a t-bill and do much better and have more flexibility. She told me that "just last week" they had a customer come in with a laptop and crunch the numbers and ended up jumping on the deal. I happened to have my pocket PC and before I could enter in a single formula into Pocket Excel, she said, "you know what, this probably isn't going to be for you". I'm guessing she knew the answer to the spreadsheet and didn't want all the other people in the showroom listening to me figure out that my vacations were going to cost about 50% more than we pay now.&lt;/P&gt;
&lt;P&gt;To make matters worst, I was being sold Intrawest points at a price of $170/point CDN. You can find these points for sale from existing people not satisfied with the program for less than $120/point CDN.....working out to roughly a 40% markup over current market rates. No wonder they don't want you to go away and &amp;#8220;think about it&amp;#8220;.&lt;/P&gt;
&lt;P&gt;While stupidity and income aren't mutually exclusive, it strikes me that the average joe that meets Intrawest's financial requirements and has $20-$40K to invest in their vacations doesn't always factor in the time value of money. So here is a good refresher on the &lt;A href="http://www.esj.com/columns/article.asp?EditorialsID=92"&gt;Time Value of Money&lt;/A&gt;&amp;nbsp;that takes an IT perspective and shows you the formulas in excel.&amp;nbsp;OK, we should all generally know this, but it's so easy to forget when you've just seen a great video of how your vacations are going to look for the next 10 years. Or you've just test driven a vehicle that's just a little nicer than you would have otherwise purchased, but has an &amp;#8220;interesting financing option&amp;#8220;.&lt;/P&gt;
&lt;P&gt;So we didn't exactly waste 90 minutes. We saw some nice vacation resorts and a nice sales presentation. There was a torrential rain storm while we were in the meeting and our kids were getting treated to some fun arts &amp;amp; crafts activities in the next room. We ended up going out to a nice dinner on the house that evening. It's a little ugly when somebody tries to sell you something that they know is not a financially sound decision. It would have been a lot more honest had somebody just tried to sell us real estate on its own merits without the confusion &amp;amp; mis-direction.&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=742" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Humours+Distractions/default.aspx">Humours Distractions</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Southern+Ontario/default.aspx">Southern Ontario</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Events/default.aspx">Events</category></item><item><title>DevCan 2004</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2004/07/05/741.aspx</link><pubDate>Mon, 05 Jul 2004 19:42:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:741</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/741.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=741</wfw:commentRss><description>&lt;P&gt;I'm co-chairing two tracks of DevCan coming up in Setp/Oct in Vancover/Toronto (exact dates to follow) - see &lt;A href="http://www.devcan.com"&gt;www.devcan.com&lt;/A&gt; for more.&lt;/P&gt;
&lt;P&gt;I'm doing the architect track and web track. If you have ideas for content you'd like to see, or have a topic you'd like to present in either of those categories, send them to me. You don't have to be canadian, but it helps :)&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=741" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2005/default.aspx">VS2005</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/ADO.NET/default.aspx">ADO.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/SQL/default.aspx">SQL</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2003/default.aspx">VS2003</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VB.NET/default.aspx">VB.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Southern+Ontario/default.aspx">Southern Ontario</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/WinForms/default.aspx">WinForms</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/WebForms/default.aspx">WebForms</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Services/default.aspx">Services</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Security/default.aspx">Security</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Events/default.aspx">Events</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Testing/default.aspx">Testing</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category></item><item><title>New Service Packs for 1.0 &amp; 1.1 .NET Frameworks imminent</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2004/07/04/736.aspx</link><pubDate>Sun, 04 Jul 2004 13:33:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:736</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/736.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=736</wfw:commentRss><description>&lt;P&gt;.NET Framework 1.0 SP3 and 1.1 SP1 are in tech preview at the moment. Had a nagging bug and want to know if it's fixed?&lt;/P&gt;
&lt;P&gt;The contents &amp;amp; links to Tech Preview Downloads can be found here:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://msdn.microsoft.com/netframework/downloads/updates/sptechpreview/default.aspx"&gt;http://msdn.microsoft.com/netframework/downloads/updates/sptechpreview/default.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=736" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/ADO.NET/default.aspx">ADO.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2003/default.aspx">VS2003</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VB.NET/default.aspx">VB.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/WinForms/default.aspx">WinForms</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/WebForms/default.aspx">WebForms</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Services/default.aspx">Services</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category></item><item><title>Next Generation Developer Training</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2004/06/28/703.aspx</link><pubDate>Mon, 28 Jun 2004 10:57:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:703</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/703.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=703</wfw:commentRss><description>&lt;FONT face=Arial size=2&gt;&amp;nbsp;&lt;/FONT&gt; 
&lt;DIV&gt;I've been (in some manner) involved in the software developer training business for over 10 years now. Over the past 3 years however, I've really been questioning the value and purpose of classroom training for software developers. So has &lt;A href="http://www.gotdotnet.com/team/dbox/default.aspx?key=2004-06-17T07:06:38Z"&gt;Don Box&lt;/A&gt;. The internet has had a lot to do with that I think and the # of developers taking a week off work to sit in on a class has dropped in recent years. There was a buzz about elearning for awhile - but it hasn't really gone mainstream - and you hear about blended learning now too. &lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;Vendor-based classroom training typically amounts to not much more than reference manuals. A component is introduced, a few demo's or scenarios on how you can use it - and a lab to follow. About 80% of what I see in these classes I could find on google. And the best part about google is that I can find it when I need it....just in time, on the job. After I learn something on google, I get to use it in a real life scenario so absorption is pretty high that way.&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;Classroom training has the advantage of taking you outside of your typical day (usually for a week) and forces you to sit and spend some quality time with some new technology on a grand scale. The problem with googling for small bits of information is that you miss the bigger picture and a full architectural understanding of how best to accomplish something. The instructor is an important part and can make the difference between a good class and a great class. But the problem remains with traditional training in that they are really just showing you how to swing their hammer. There is only a small percentage of leeway when an instructor can add extra value above and beyond the curriculum. The good ones do, but there is never enough time.&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;Several months ago we took a hard look at what people really needed and what kind of value we could bring to bear above and beyond what people could learn from reading the online help or googling. That extra value is of course the experiences of the instructor and the resulting set of best practices....stuff that you rarely find in any book.&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;The problem of course with relying on an instructor to make the difference is that sometimes they don't. And sometimes their experiences are different than others. You end up with a very inconsistent delivery.&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;So we decided to create new courses based primarily around the best practices captured from the experiences of several developers. We still cover some fundamental tools &amp;amp; techniques but quickly move beyond that into the best practices of how to apply that. The idea is to have students spend less time on things they can learn on their own time. How often to you get to spend a week with an expert who has been using a new technology for a few years? The idea is to maximize the time for that week.&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;We haven't relied on just our own experiences either. We've decided to lean heavily on the community in this regard, in particular, the content coming out of the MS Patterns and Practices Group. The culmination of all this work was the first delivery of our new courseware based on "Best Practices" a couple of weeks ago. It was also John Lam's first course with ObjectSharp. I had the opportunity to talk to a few students, including a couple of our own instructors who sat in on the course, and I even managed to drop in for about 30 minutes on the last day.&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;The comments are great on the evals too. Our evals are always good, but these evals were awesome. "The most professionally run course I have ever taken." "The best course I've ever taken". Our salesperson told me that she even had a student ask in the middle of the week if we were going to be handing out evals because he wanted to make sure he had an opportunity to comment on how great the course was. I'm really proud of what we accomplished but I'm even happier that we've touched a nerve with our customers and found a way to maximize the value to them for taking a full week out of their lives. I can't wait until I get to teach one of these new courses.&lt;/DIV&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=703" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/ADO.NET/default.aspx">ADO.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VB.NET/default.aspx">VB.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Southern+Ontario/default.aspx">Southern Ontario</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/WinForms/default.aspx">WinForms</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/WebForms/default.aspx">WebForms</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Events/default.aspx">Events</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category></item><item><title>How to partition your classes between assemblies</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2004/06/24/693.aspx</link><pubDate>Thu, 24 Jun 2004 19:37:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:693</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>8</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/693.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=693</wfw:commentRss><description>&lt;P&gt;Eric Gunnerson has great post with some &lt;A href="http://blogs.msdn.com/ericgu/archive/2004/06/24/164985.aspx"&gt;performance inspired assembly guidelines&lt;/A&gt;&amp;nbsp;for fewer larger assemblies. Versioning and&amp;nbsp;Security units of work. Good reasons.&lt;/P&gt;
&lt;P&gt;But a non-performance reason for partitiioning into more assemblies is to stop developers from doing things like referencing your data access layer classes from a user interface layer (without going through a business object layer). If you have your classes in 3 assemblies/projects: UI, BUS and DA, where UI references BUS and BUS references DA, then it's hard for a class in UI to call a class in DA - without going out of their way to add a project reference.&lt;/P&gt;
&lt;P&gt;Should a project always correspond to an assembly? Well that's the default but you can create intermediate assemblies called netmodules and link them together with the assembly linker (AL.exe). Net Modules are MSIL but without a manifest. You create the new assembly which links the modules together (and adds metadata) with the AL.exe.&lt;/P&gt;
&lt;P&gt;The only problem with all of this is that you have to use the command line to compile your projects into .netmodules and link them afterwards. The net result however is that still end up satisfying Eric's performance tips with the requirement for binary partitioned UI, Business, and Data Access layers.&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=693" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2003/default.aspx">VS2003</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VB.NET/default.aspx">VB.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/WinForms/default.aspx">WinForms</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/WebForms/default.aspx">WebForms</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Security/default.aspx">Security</category></item><item><title>Risk: It's a 4 letter word</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2004/06/24/Risk.aspx</link><pubDate>Thu, 24 Jun 2004 16:55:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:692</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/692.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=692</wfw:commentRss><description>&lt;p&gt;Risk is bad. But it doesn't have to kill you if you acknowledge, plan for and manage it. The most important part of risk management is to avoid the evil consequences as soon as you can in your project. Having risks show up the day before a delivery date (or later) is really really bad.&lt;/p&gt;
&lt;p&gt;Both the Rational Unified Process and the Microsoft Solution Framework do good jobs at addressing perhaps one of the most important project management practices. I recommend to clients to make risk management a part of their team meetings - weekly if not more often. As a team, we need to identify, analyze and prioritize risks so that we can plan to deal with them effectively. &lt;/p&gt;
&lt;p&gt;As part of identifying and analyzing risks is to accurate assess the consequences of the risk should it happen, and while this might seem silly, an accurate description of how we know the risk has turned into a problem. That may be a drop dead date, or some other description. &lt;/p&gt;
&lt;p&gt;A good way to prioritize risks (using MSF) is to rank the impact of a risk should it actually happen. Combine that with a probability of the risk occurring and multiple them you get a probable impact or in MSF terms, Exposure. Ranking by Exposure will help you quickly identify what risks you should spend some resources on trying to mitigate.&lt;/p&gt;
&lt;p&gt;All of this is described in more detail in the &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=6c2f2c7e-ddbd-448c-a218-074d88240942&amp;amp;DisplayLang=en"&gt;MSF Risk Management Discipline v. 1.1 pdf&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;You can also download a couple of nice spreadsheets as part of the &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=9D2016AD-6F8A-47F5-84FA-BEC389DB18C1&amp;amp;displaylang=en"&gt;MSF Sample Project Lifecycle Deliverables&lt;/a&gt; which includes a huge array of other types of documents related to MSF. But I recommend starting with the Simple Risk Assessment Tool.xls at the very least.&lt;/p&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=692" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Tips/default.aspx">Tips</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/MSF/default.aspx">MSF</category></item><item><title>Too late for Windows Update</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2004/06/23/679.aspx</link><pubDate>Wed, 23 Jun 2004 15:12:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:679</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>6</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/679.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=679</wfw:commentRss><description>&lt;P&gt;I took the train to Montreal to see DevTeach Conference on Monday Tuesday. I managed to get a train without internet access so I took the opportunity to do a long time coming repave of my laptop. I installed from the Windows XP Pro SP1a msdn dvd. I knew I'd have a ton of Critical Updates to get from the Windows Update site when I got to my hotel, but at least I wasn't installed from the Windows XP gold 1.0 disc. &lt;/P&gt;
&lt;P&gt;So I get to my hotel room and there is something like 20 critical updates to do. After I get through those there are some more iterations of recommended updates and more critical updates (on the the recommended ones). It was about an hour or so before I had my machine in a nice secure state......but the whole time I WAS CONNECTED TO THE FRIGGIN INTERNET.&lt;/P&gt;
&lt;P&gt;I'm still uninstalling and cleaning virus crap off my VIRGIN XP install that I got while connected to the internet waiting for critical updates to secure my machine. &lt;/P&gt;
&lt;P&gt;But the problem is that it's too late. What we need is a roll up (Windows XP SP2) but even that is going to get stale. I think what MSDN needs (or maybe Technet already has this) but a roll up of offline windows update stuff that comes out monthly. An Offline Windows Update of all critical updates that I can run on a virgin machine without connecting to the internet to get them. Isn't there some wishlist address at MS.COM I can send this too?&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=679" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Humours+Distractions/default.aspx">Humours Distractions</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Security/default.aspx">Security</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Events/default.aspx">Events</category></item><item><title>BizTalk 2004: New Training Course for Developers</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2004/06/18/668.aspx</link><pubDate>Fri, 18 Jun 2004 18:22:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:668</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/668.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=668</wfw:commentRss><description>We now have a course available for BizTalk 2004 in our Toronto office. I get so many of these requests about BTS2K4&amp;nbsp;these days. &lt;A href="http://www.ObjectSharp.com/Matt"&gt;Matt Meleski&lt;/A&gt;, who is our BTS guru is teaching the first one&amp;nbsp;on &lt;A href="http://www.objectsharp.com/training/1300.aspx"&gt;July 5th&lt;/A&gt;. Matt's been using BTS 2004 right throughout the beta.&amp;nbsp; BTS has improved dramatically over 2002, it's quite amazing. I hope I have a chance to sit in on part of it.&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=668" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/ADO.NET/default.aspx">ADO.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2003/default.aspx">VS2003</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VB.NET/default.aspx">VB.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Tips/default.aspx">Tips</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Services/default.aspx">Services</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Events/default.aspx">Events</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category></item><item><title>TechEd 2004 Sesion Slides &amp; Videos Available Online to Public</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2004/06/14/639.aspx</link><pubDate>Mon, 14 Jun 2004 05:58:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:639</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>4</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/639.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=639</wfw:commentRss><description>&lt;P&gt;The site doesn't yet contain everything but things are trickling in.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://microsoft.sitestream.com/TechEd2004/"&gt;http://microsoft.sitestream.com/TechEd2004/&lt;/A&gt;&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=639" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2005/default.aspx">VS2005</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/ADO.NET/default.aspx">ADO.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/SQL/default.aspx">SQL</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2003/default.aspx">VS2003</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VB.NET/default.aspx">VB.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/WinForms/default.aspx">WinForms</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/WebForms/default.aspx">WebForms</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Services/default.aspx">Services</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Security/default.aspx">Security</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Events/default.aspx">Events</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/TechEd/default.aspx">TechEd</category></item><item><title>Unit Test Case Stub Generator for 100% Code Coverage</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2004/06/13/634.aspx</link><pubDate>Mon, 14 Jun 2004 02:57:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:634</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>7</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/634.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=634</wfw:commentRss><description>&lt;P&gt;I've been a fan of &lt;A href="http://blog.dotnetwiki.org/"&gt;Jonathan de Halleux's blog&lt;/A&gt; for a while now. He takes &lt;A href="http://blog.dotnetwiki.org/archive/2004/05/19/241.aspx"&gt;Unit testing to a new level&lt;/A&gt; with his &lt;A href="http://mbunit.tigris.org/"&gt;mbUnit&lt;/A&gt; project. He's done some funky stuff with graphs. I really like his Reflector add in for generating call graphs and assembly references. For me, his add-ins were the reason for me to switch from an Anakrino to Reflector as my reverse engineering tool of choice (although I should have done that anyway).&lt;/P&gt;
&lt;P&gt;I'm totally impressed with how much code this guy turns out in a given day. On Friday I was intrigued by his &lt;A href="http://blog.dotnetwiki.org/archive/2004/06/10/390.aspx"&gt;Automatic Unit Test Case generator&lt;/A&gt; - that is a &lt;A href="http://www.aisto.com/roeder/dotnet/"&gt;Reflector&lt;/A&gt; add-in. He uses an IL graph&amp;nbsp;to extract a code path to get full code coverage. OK so you still have to write the guts, but if&amp;nbsp; &amp;#8220;the man&amp;#8221; is making you write unit tests to demonstrate high %'s of code coverage, then this is what you need. Thanks Jonathan.&lt;/P&gt;
&lt;P&gt;No wonder &lt;A href="http://blog.dotnetwiki.org/archive/2004/05/28/265.aspx"&gt;MS hired this guy&lt;/A&gt;.&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=634" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2005/default.aspx">VS2005</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VB.NET/default.aspx">VB.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Testing/default.aspx">Testing</category></item><item><title>.NET Rocks: Test Driven Development</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2004/06/10/618.aspx</link><pubDate>Thu, 10 Jun 2004 20:23:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:618</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/618.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=618</wfw:commentRss><description>&lt;P&gt;I'm doing the .NET Rocks thing tonight regarding &lt;A href="http://weblogs.asp.net/cfranklin/archive/2004/06/10/152760.aspx"&gt;Test Driven Development&lt;/A&gt;&amp;nbsp;with John Alexander. Now where is my harp.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Update&lt;/STRONG&gt;: This show is now available for download. Click &lt;A href="http://www.franklins.net/fnetdotnetrocks/dotnetrocks.aspx?showid=68"&gt;Here&lt;/A&gt;.&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=618" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Humours+Distractions/default.aspx">Humours Distractions</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Events/default.aspx">Events</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Testing/default.aspx">Testing</category></item><item><title>White-box Unit Testing - in whidbey</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2004/06/10/white-box-unit-testing-in-whidbey.aspx</link><pubDate>Thu, 10 Jun 2004 19:51:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:617</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>7</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/617.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=617</wfw:commentRss><description>&lt;P&gt;James Newkirk shows how to write a white-box test in Whidbey He shows how to test the value in a private field and invoke a private method. While you can (not so) easily do that today in NUnit, he demonstrates the PrivateObject class that lets you easily invoke private methods and look at private fields.&lt;/P&gt;
&lt;P&gt;Could this “PrivateObject“ class be used for evil? Yes it could be used for evil - I imagine - but no more evil than that of reflection.&lt;/P&gt;
&lt;P&gt;James has some great holy war type feedback about Should I or Shouldn't I white-box test. Those who say no probably haven't fought with unit testing a singleton class where we have to test it under multiple configurations that *normally* get set during the initial (private) constructor and/or the private methods called by the constructor. So yes, I can see a use. Is this an excuse? I haven't really thought of another technique....but to quote Michaelangelo, “I am still learning...” (via a silly set of fridge magnets I saw at Chapters today). The silly part of course is how one can learn&amp;nbsp;from (and&amp;nbsp;quote) a famous historical figure through something as silly as a fridge magnet.&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=617" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2005/default.aspx">VS2005</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2003/default.aspx">VS2003</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VB.NET/default.aspx">VB.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Tips/default.aspx">Tips</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Humours+Distractions/default.aspx">Humours Distractions</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Testing/default.aspx">Testing</category></item><item><title>Intro to Microsoft Solution Framework 4.0 and the Visual Studio Team System</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2004/06/09/589.aspx</link><pubDate>Wed, 09 Jun 2004 05:57:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:589</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/589.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=589</wfw:commentRss><description>&lt;P&gt;I'm a certified MSF Practitioner. Great - how many of you know what MSF is? MS doesn't do a great job of marketing this &amp;#8220;product&amp;#8221; which is really a process or dare say methodology for the software development lifecycle. The angle MSF has over RUP is that it's derived from what MS does to build its own software and in the MCS group. Some key differences:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;MSF talks about team roles much more that RUP does. It also talks about scalability and combining roles. The minimum team size that can use MSF is 3. Key take away: Never combine the testing &amp;amp; developer roles. 
&lt;LI&gt;MSF is traditionally (and surprisingly) somewhat less iterative than RUP. I ignore that fact because iterations work and big design up front doesn't.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;So along with the announcement of Visual Studio Team System, and all it's far reaches into the SDLC, it would only make sense that MS revamp MSF to fit in with this new toolset - and indeed &lt;A href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnvsent/html/vsts-msf.asp"&gt;MSF 4.0 is a deliverable of VSTS&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;One of the new directions is that MSF now talks about competing process models...calling the existing one &amp;#8220;Formal&amp;#8220; and the new one, you guessed it - &amp;#8220;Agile&amp;#8220;. Marco&amp;nbsp;Dorantes' excellent &lt;A href="http://blogs.msdn.com/marcod/"&gt;blog&lt;/A&gt;&amp;nbsp;has some &lt;A href="http://blogs.msdn.com/marcod/archive/2004/05/24/140481.aspx"&gt;interesting criticisms&lt;/A&gt; related to how those are distinguished.&lt;/P&gt;
&lt;P&gt;For MSF 3.1 today, above and beyond all of the &lt;A href="http://www.Microsoft.com/msf"&gt;documentation&lt;/A&gt; to describe how it works, you also have a series of &lt;A href="http://www.microsoft.com/downloads/details.aspx?familyid=9d2016ad-6f8a-47f5-84fa-bec389db18c1&amp;amp;displaylang=en"&gt;templates&lt;/A&gt; you can use in your own project. This would include an array of&amp;nbsp; &amp;#8220;Plans&amp;#8220; related to Architecture, Development, Deployment, Performance, Security as well as various requirement and specification documents. There is also a handy Risk Assessment template which is great for prioritizing the project risks and if anything I recommend following a rigid risk mitigation discipline in your projects.&lt;/P&gt;
&lt;P&gt;In MSF 4.0 you'll see other neato concrete things in VSTS like: &lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Work Items 
&lt;LI&gt;Source Check-in Polices. 
&lt;LI&gt;Document Templates (Word &amp;amp; Excel) 
&lt;LI&gt;MS Project Templates 
&lt;LI&gt;Reports 
&lt;LI&gt;Project Portal/SharePoint site template&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;You can read more about this &lt;A href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnvsent/html/vsts-msf.asp"&gt;here&lt;/A&gt;.&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=589" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2005/default.aspx">VS2005</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2003/default.aspx">VS2003</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Testing/default.aspx">Testing</category></item><item><title>Smart Client Deep Dive</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2004/06/08/587.aspx</link><pubDate>Wed, 09 Jun 2004 03:22:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:587</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/587.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=587</wfw:commentRss><description>&lt;P&gt;Myself and Adam Gallant delivered an MSDN Deep Dive last week about developing Smart Client applications. I covered the overview &amp;amp; secure data access sections. The samples and IssueVision (1.0 C# &amp;amp; VB) along with the slides are available over &lt;A href="http://www.objectsharp.com/oNewsUpdate/ReadingFullStory.aspx?StoryNum=-22"&gt;here&lt;/A&gt;. Thanks to those who came out.&lt;/P&gt;
&lt;P&gt;Update: If you want to take advantage of getting this stuff (and more) on the DevDays CD, you can fill in the form &lt;A href="http://msdn.microsoft.com/canada/specialoffer/"&gt;here&lt;/A&gt;.&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=587" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/ADO.NET/default.aspx">ADO.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2003/default.aspx">VS2003</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VB.NET/default.aspx">VB.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Tips/default.aspx">Tips</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Southern+Ontario/default.aspx">Southern Ontario</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/WinForms/default.aspx">WinForms</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Services/default.aspx">Services</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Security/default.aspx">Security</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Events/default.aspx">Events</category></item><item><title>Reducing the iPAQ Battery Loss pain</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2004/06/08/585.aspx</link><pubDate>Tue, 08 Jun 2004 20:24:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:585</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>4</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/585.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=585</wfw:commentRss><description>&lt;P&gt;I liked my IPaq for all of about 2 weeks. I happened to have no need for it during a &amp;#8220;coding bender&amp;#8221;....so I hadn't taken it out of my briefcase to charge it for a few days. When I finally did get around to looking at it - battery dead. I charged it only to be later prompted by the screen calibration thingy, no owner information set - and guess what - no data either. That's a pretty crappy user experience if you ask me.&amp;nbsp;I used&amp;nbsp;to have a RIM&amp;nbsp;blackberry with a double&amp;nbsp;A battery&amp;nbsp;that seemed to last months. And when it died, I had lots of time (and warning) to get it replaced before data&amp;nbsp;was lost.&lt;/P&gt;
&lt;P&gt;I had&amp;nbsp;backed up my ipaq to my sd flash ram card a&amp;nbsp;few times, but today I noticed something cool.&amp;nbsp;A trigger based on battery power! If you go into the iPAQ Backup program, under options, schedule, there is &amp;#8220;Enable Battery Monitor&amp;#8221; checkbox with an option to &amp;#8220;Backup Automatically&amp;#8221; and a place to enter in a battery % threshold. I've changed to backup to my typically always insert storage card so hopefully I'll never have this pain again.&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=585" width="1" height="1"&gt;</description></item><item><title>Data Driven Development</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2004/06/08/582.aspx</link><pubDate>Tue, 08 Jun 2004 05:54:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:582</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/582.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=582</wfw:commentRss><description>&lt;P&gt;So we have Test Driven Development and Model Driven Development or Design by Contract (similar perspective). But in the past, I've been a fan of Data Driven Development. This is a technique I haven't had the pleasure of using recently....because it relies on you building new applications with new databases. &lt;/P&gt;
&lt;P&gt;What is this technique you ask? Well for me it is designing the data model first. In the early days of Client/Server, &lt;A href="http://www.sybase.com/products/internetappdevttools/powerbuilder"&gt;PowerBuilder&lt;/A&gt; and &lt;A href="http://www3.ca.com/Solutions/Product.asp?ID=260"&gt;ERwin&lt;/A&gt; were my tools of choice. New applications. New databases. My design process (and that of many of my associates) was not so much to design a database but to document the data that existed in the organization - and do that in 3rd normal form. ERwin still stands as one of the best modeling tools ever because it actually made the job of coding up a database schema easier and faster than any other alternative. I could also use my model throughout the entire lifecycle since it did an excellent job at full round trip engineering/synchronization.&lt;/P&gt;
&lt;P&gt;One of the cool features of PowerBuilder was your ability to annotate your database schema with UI hints. So you could say that a given column in your database should by default be shown as a checkbox, and that checked should be saved as &amp;#8220;true&amp;#8220; and unchecked as &amp;#8220;false&amp;#8220; - or whatever weird thing your DBA said it had to store. Whenever you designed a screen with that column, bam you'd have it the way you'd expect - as a checkbox. The downside of PowerBuilder's datawindows of course was that the data store/entity/container was quite pretty tied to your database and they made no attempts to hide that fact. But boy, productivity was really high - although I was producing tightly coupled, loosely coupled code :( .NET let's me build better code now, but productivity is still lacking.&lt;/P&gt;
&lt;P&gt;At TechEd a couple of weeks ago, I stopped by the &lt;A href="http://www.deklarit.com"&gt;DeKlarit&lt;/A&gt; booth for a demo of their product by their lead architect &lt;A href="http://weblogs.asp.net/aaguiar"&gt;Andres Aguiar&lt;/A&gt;. I was happy to see a tool that builds upon the Data Driven Development process. Of course, you don't have to start with an empty database, but this tool does an excellent job of making your job easy when starting from scratch. Andres promised to send me an eval so I can play with it some more to see how it works with existing databases but this tool so stay tuned. I could easily see this tool paying for itself in a matter of a couple of weeks. &lt;/P&gt;
&lt;P&gt;As for ERwin, I'm still a fan although it really hasn't changed much in the past 10 years. I remember the first copy I had fit on a single floppy. So did the 200 table model I created with it. I was using LBMS System Designer who stored my model in some kind of 10mb black hole and took 10 minutes to generate a schema. When I first installed ERwin, I had it installed and reverse engineered by LBMS model - and forward engineered to from Oracle to SqlServer inside of 10 minutes. I couldn't believe the schema generation took 20 seconds compared to LBMS at 10 minutes. &lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=582" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/ADO.NET/default.aspx">ADO.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/SQL/default.aspx">SQL</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2003/default.aspx">VS2003</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VB.NET/default.aspx">VB.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/WinForms/default.aspx">WinForms</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/WebForms/default.aspx">WebForms</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Events/default.aspx">Events</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/TechEd/default.aspx">TechEd</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category></item><item><title>What do you do when your breakpoint won't break?</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2004/06/07/579.aspx</link><pubDate>Mon, 07 Jun 2004 16:06:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:579</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/579.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=579</wfw:commentRss><description>&lt;P&gt;Go straight to &lt;A href="http://blogs.msdn.com/andypennell/"&gt;Andy Pennel's&lt;/A&gt; &lt;A href="http://www.controlav.com/bphelper/"&gt;Breakpoint Helper&lt;/A&gt;. It's not some sw to download - it's a nice interactive q&amp;amp;a that will help you pinpoint the problem. It has tips on 2002, 2003 and 2005. Ahhh. Thanks Andy.&lt;/P&gt;
&lt;P&gt;ps. Andy is a dev lead in C# and owns the debugger (as also used by VB.NET, C++, Script and SQL)&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=579" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2005/default.aspx">VS2005</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2003/default.aspx">VS2003</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VB.NET/default.aspx">VB.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/WinForms/default.aspx">WinForms</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/WebForms/default.aspx">WebForms</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Testing/default.aspx">Testing</category></item><item><title>Outsource Proof Your Career (with Tom Peters) Hint: think excellence</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2004/06/04/576.aspx</link><pubDate>Fri, 04 Jun 2004 19:34:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:576</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/576.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=576</wfw:commentRss><description>&lt;P&gt;Tom Peters is giving a &lt;A href="http://placeware.viewcentral.com/events/cust/single_event.asp?cid=placeware&amp;amp;pid=2&amp;amp;cbClass=4602&amp;amp;signupkey=2600"&gt;live meeting webinar on how to Outsource Proof Your Career&lt;/A&gt;&amp;nbsp;on June 30th from 12pm - 1pm est. Click that link to register. Tom's even got a &lt;A href="http://www.tompetersnew.com/"&gt;blog&lt;/A&gt;. Too bad about the no RSS feed thing. &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Join Host Tom Peters, Author, Business Guru, and Founder of the Tom Peters Company and Special Guest Daniel Pink, Author of &lt;EM&gt;Free Agent Nation&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Seminar Overview&amp;nbsp;&amp;nbsp;&lt;BR&gt;&lt;/STRONG&gt;Tom Peters has generated international attention for his "rants" about outsourcing.&amp;nbsp;&amp;nbsp; Dan Pink has traveled to India to talk to the software programmers who are "stealing" U.S. jobs.&amp;nbsp; Now Tom and Dan join&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; forces to offer a clear-eyed, hard-headed look at the most controversial business issue of our day: the offshoring of U.S. jobs to low-wage countries.&lt;/P&gt;
&lt;P&gt;Ten years ago, Tom predicted that 90 percent of white-collar work would disappear.&amp;nbsp; Now his predictions are coming true, accelerated by hundreds of thousands of talented overseas workers connected to the United States by fiber optic lines.&amp;nbsp;&amp;nbsp; What does this mean for your future?&amp;nbsp; Tom will answer that question by giving you a reality check.&lt;/P&gt;
&lt;P&gt;Then Dan will offer an early sneak preview of his upcoming book, which elaborates on that answer.&amp;nbsp; He'll describe how outsourcing is just one of three powerful forces that are reconfiguring the landscape of work.&amp;nbsp; And he'll show how those forces are moving us from "high tech" work to work that is "high concept" and "high touch."&amp;nbsp;&amp;nbsp; Mastery of these "high concept" and "high aptitudes," he'll argue, will now mark the fault line between who gets&amp;nbsp;ahead and who doesn't.&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Discover: &lt;/STRONG&gt;
&lt;UL&gt;
&lt;LI&gt;Where outsourcing is overhyped &amp;#8211; and where it's underhyped 
&lt;LI&gt;The two kinds of work that will increasingly define the U.S. economy&amp;#8212;and offer individuals a shield from outsourcing. 
&lt;LI&gt;The six essential aptitudes that white-collar workers will have to master to survive on this new terrain.&amp;nbsp;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;This session will include&amp;nbsp;a lively questions and answers session where Tom and&amp;nbsp;Dan will take your questions...Live.&amp;nbsp; Don't miss this opportunity to hear the Ur-guru. &lt;BR&gt;&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=576" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Events/default.aspx">Events</category></item><item><title>SOA Challenges: Entity Aggregation</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2004/06/03/573.aspx</link><pubDate>Thu, 03 Jun 2004 19:21:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:573</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/573.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=573</wfw:commentRss><description>&lt;P&gt;Ramkumar Kothandaraman has a good article just released on MSDN discussing &lt;A href="http://msdn.microsoft.com/architecture/default.aspx?pull=/library/en-us/dnbda/html/dngrfsoachallenges-entityaggregation.asp#ent_aggreg_topic4"&gt;SOA Challenges: Entity Aggregation&lt;/A&gt;. Aggregation is a much better name than &amp;#8220;composable entities&amp;#8220; since it's definition implies that property sets of an entity grow as more child entities are merged into it. This also implies that you need a mapping layer and conflict resolution to resolve duplicate property names or just rename them for that matter.&lt;/P&gt;
&lt;P&gt;This is becoming an important technique for passing xml documents up the stack of web services, each one adding their own value to the entity - or aggregating in a master/slave hierarchy topology. Either way, one of the subtle things about entity aggregation is that you can also think of it as a lightweight form of multiple inheritance for the properties of your domain objects. Is that useful or am I just bent?&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=573" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/ADO.NET/default.aspx">ADO.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2003/default.aspx">VS2003</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VB.NET/default.aspx">VB.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Services/default.aspx">Services</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/WCF/default.aspx">WCF</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Home/default.aspx">Home</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Newsletter/default.aspx">Newsletter</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Architecture/default.aspx">Architecture</category></item><item><title>How do you feel about the VS.NET Query Designer</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2004/06/03/572.aspx</link><pubDate>Thu, 03 Jun 2004 18:11:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:572</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/572.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=572</wfw:commentRss><description>&lt;P&gt;The VS Data Team wants your input. Head over &lt;A href="http://blogs.msdn.com/vsdata/archive/2004/06/03/147791.aspx"&gt;here&lt;/A&gt;. (BTW, don't you love these surveys? They're the best and tell me that MS really cares about what we think).&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=572" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2005/default.aspx">VS2005</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/ADO.NET/default.aspx">ADO.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/SQL/default.aspx">SQL</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2003/default.aspx">VS2003</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VB.NET/default.aspx">VB.NET</category></item><item><title>Layered Design and DataSets for Dummies</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2004/06/01/553.aspx</link><pubDate>Tue, 01 Jun 2004 15:38:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:553</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/553.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=553</wfw:commentRss><description>&lt;P&gt;Scott Hanselman does a nice &lt;A href="http://www.hanselman.com/blog/PermaLink.aspx?guid=a0a65e0c-5ef8-41e4-a566-1739b4428aa5"&gt;30 second intro&lt;/A&gt; into layered design. If any of this is new to you, run quickly to read &lt;A href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnbda/html/distapp.asp?frame=true"&gt;this&lt;/A&gt;. &lt;/P&gt;
&lt;P&gt;Scott does a quick bash at Datasets (although doesn't say why) and in my new role as DataSet boy I have to disagree with him and evangelize how simple datasets can make a lot of the code written by the typical programmer: CRUD stuff for example. He even mentions &amp;#8220;Adapter&amp;#8220; in describing a data access layer - come on, use the DataAdapter - don't be afraid. In general, if anybody tells you to never do something, you need to question that a bit and dig into the reasons why a technology exists. Of course things may just end up being rude and the answer is indeed never - but always try and get the why. &lt;/P&gt;
&lt;P&gt;We've been running a developer contest at the end of some of our training courses (the big 3 week immersion ones). The competition has developers build a solution build on a services oriented architecture which includes smart client, web services, enterprise services/com+ and of course data access. It's only a 1 day event, but the teams are built up of 5-6 people each. Inevitably, if one team decides to use datasets/dataadapters and the other team doesn't, the team that choose the dataset wins. This competition isn't judged or skewed for datasets by any means. But inevitably this is the thing that gives the other team more time to work on the interesting pieces of the application (like business logic: features and functions).&lt;/P&gt;
&lt;P&gt;I over heard &lt;A href="http://blogs.msdn.com/devhawk"&gt;Harry Pierson&lt;/A&gt; tell a customer last week that they shouldn't use datasets in a web service because they aren't compatible with non .NET platforms. This isn't true. A dataset is just XML when you return it out of a dataset. And you probably more control over the format that is generated via the XSD than most people realize. If you want a child table nested, no problem. You want attributes instead of elements, no problem. You want some columns elements and others attributes, no problem. You want/don't want embedded schema, no problem. You don't want the diffgram, no problem. Somebody in the J2EE world has actually gone to the extent of creating a similar type of base object in Java that can deserialize the dataset in most of it's glory. (Link to come - can't find it right now).&lt;/P&gt;
&lt;P&gt;In February I posted a &amp;#8220;&lt;A href="http://objectsharp.com/Blogs/barry/archive/2004/02/10/273.aspx"&gt;Benefits of Datasets vs. Custom Entities&lt;/A&gt;&amp;#8220; which has generated some excellent feedback. It's still in my plans to write the opposite article - when Customer Entities are better than Datasets but I'm still looking for the best template or example entity. Everyone somebody has sent me to date is somewhat lacking. To be fair, I end up always comparing them to a dataset. The things typically missing out of a custom entity are the ability to deal with Null values and the ability to track original values for the purposes of optimistic concurrency. The answer to the question of &amp;#8220;When to use a Custom Entity over a Dataset?&amp;#8220; is of course when you don't need all the stuff provided for you by a dataset. So is that typically when you don't care about Null Values or Optimistic Concurrency? Perhaps. But I know there is more to it than that.&lt;/P&gt;
&lt;P&gt;I will say there is some crummy binary serialization in the dataset (it's really XML). This is really a problem if you are doing some custom serialization or need to do some .NET remoting. But you can change the way they are serialized (and indeed it's changed in Whidbey). There are some good examples &lt;A href="http://www.eggheadcafe.com/articles/20031219.asp"&gt;here&lt;/A&gt;, &lt;A href="http://www.eggheadcafe.com/articles/20040311.asp"&gt;here&lt;/A&gt;, &lt;A href="http://msdn.microsoft.com/msdnmag/issues/02/12/CuttingEdge/default.aspx"&gt;here&lt;/A&gt;, &lt;A href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnpag/html/scalenethowto01.asp"&gt;here&lt;/A&gt;, &lt;A href="http://weblogs.asp.net/aaguiar/articles/27459.aspx"&gt;here&lt;/A&gt; and &lt;A href="http://support.microsoft.com/?id=829740"&gt;here&lt;/A&gt;. &lt;/P&gt;
&lt;P&gt;I'm working on an article making the cases for the custom entity, but in the meantime, datasets represent a good design pattern for entities that is easy and quick to implement by the average developer - and scalable too.&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=553" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2005/default.aspx">VS2005</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/ADO.NET/default.aspx">ADO.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/SQL/default.aspx">SQL</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2003/default.aspx">VS2003</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VB.NET/default.aspx">VB.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Services/default.aspx">Services</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Architecture/default.aspx">Architecture</category></item><item><title>TechEd (Day 3): Hands On Lab Manuals downloads available to the public</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2004/05/26/523.aspx</link><pubDate>Thu, 27 May 2004 01:38:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:523</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>20</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/523.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=523</wfw:commentRss><description>&lt;P&gt;No need to have a TechEd commnet password. You can download ALL the pdf's for the plethora of topics. Some good stuff to see how the newly announced stuff (Team System, etc.) works.&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="http://216.55.155.2/docserver/labmanuals/Business%20Productivity%20Solutions%20(Office)/"&gt;Business Productivity Solutions (Office)&lt;/A&gt; 
&lt;LI&gt;&lt;A href="http://216.55.155.2/docserver/labmanuals/Data%20Management%20(SQL%20Server)/"&gt;Data Management (SQL Server)&lt;/A&gt; 
&lt;LI&gt;&lt;A href="http://216.55.155.2/docserver/labmanuals/Developer%20Tools%20and%20Technologies/"&gt;Developer Tools and Technologies&lt;/A&gt; 
&lt;LI&gt;&lt;A href="http://216.55.155.2/docserver/labmanuals/E-Business/"&gt;E-Business&lt;/A&gt; 
&lt;LI&gt;&lt;A href="http://216.55.155.2/docserver/labmanuals/Management/"&gt;Management&lt;/A&gt; 
&lt;LI&gt;&lt;A href="http://216.55.155.2/docserver/labmanuals/Messaging/"&gt;Messaging&lt;/A&gt; 
&lt;LI&gt;&lt;A href="http://216.55.155.2/docserver/labmanuals/Microsoft%20Business%20Systems/"&gt;Microsoft Business Systems&lt;/A&gt; 
&lt;LI&gt;&lt;A href="http://216.55.155.2/docserver/labmanuals/Mobility/"&gt;Mobility&lt;/A&gt; 
&lt;LI&gt;&lt;A href="http://216.55.155.2/docserver/labmanuals/Security/"&gt;Security&lt;/A&gt; 
&lt;LI&gt;&lt;A href="http://216.55.155.2/docserver/labmanuals/Terrarium/"&gt;Terrarium&lt;/A&gt; 
&lt;LI&gt;&lt;A href="http://216.55.155.2/docserver/labmanuals/Windows/"&gt;Windows&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;STRONG&gt;Update These links are broken, give this a try: &lt;A href="http://www.msteched.com/TechEdLabManuals.aspx"&gt;http://www.msteched.com/TechEdLabManuals.aspx&lt;/A&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=523" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/PDC/default.aspx">PDC</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2005/default.aspx">VS2005</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/ADO.NET/default.aspx">ADO.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/SQL/default.aspx">SQL</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2003/default.aspx">VS2003</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VB.NET/default.aspx">VB.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Tips/default.aspx">Tips</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/WinForms/default.aspx">WinForms</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/WebForms/default.aspx">WebForms</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Services/default.aspx">Services</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Security/default.aspx">Security</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Events/default.aspx">Events</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Testing/default.aspx">Testing</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/TechEd/default.aspx">TechEd</category></item><item><title>Welcome to John Lam (www.iunknown.com)</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2004/05/24/513.aspx</link><pubDate>Tue, 25 May 2004 00:05:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:513</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/513.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=513</wfw:commentRss><description>&lt;P&gt;Here's a guy who needs no introduction. I don't read too many blogs (although that's changing) but &lt;A href="http://www.iunknown.com"&gt;John's&lt;/A&gt; is one of about 5 that I've read consistently. Every now and then when I do find a blog I like, invariable John's iunknown.com is on that person's list of favourite blogs. John has worked with some amazing people in his career (Don Box, Jeffrey Richter) and I'm looking forward to learning lots from him&amp;nbsp;now that he officially has joined ObjectSharp. John's not afraid to challenge our fundamental beliefs and assumptions (like XML, Function Overloading, and the boolean type to name a few). You can ask him more about that yourself.&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=513" width="1" height="1"&gt;</description></item><item><title>TechEd (Day 1): New Sessions on Visual Studio 2005 Team System</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2004/05/24/511.aspx</link><pubDate>Mon, 24 May 2004 18:54:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:511</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/511.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=511</wfw:commentRss><description>&lt;P&gt;A bunch of sessions that were formerly named &amp;#8220;TBA&amp;#8221; are really about the new Visual Studio 2005 Team System.&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;SPAN&gt;&lt;SPAN&gt;DEV200 General Session: Managing the Software Lifecycle with Visual Studio 2005 &amp;nbsp;&amp;nbsp;Halls GH&lt;BR&gt;Tuesday 10:45&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN&gt;DEV300 Visual Studio 2005 Enterprise Tools: Software Project Management&amp;nbsp;&amp;nbsp;Room 20D&lt;BR&gt;Tuesday 1:30&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN&gt;&lt;SPAN&gt;DEVC36 Testing Visual Studio 2005 Applications Using the .NET Framework&amp;nbsp;&amp;nbsp;Cabana 06&lt;BR&gt;Thursday 10:15&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;DEV302 Visual Studio 2005 Enterprise Tools: Building Robust and Reliable Software&amp;nbsp;&amp;nbsp;Room 20D&lt;BR&gt;Thursday 1:30&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;DEV303 Visual Studio 2005 Enterprise Tools: Enterprise-Class Source Control and Work Item Tracking&amp;nbsp;&amp;nbsp;Room 20D&lt;BR&gt;Thursday 3:15&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;DEVC39 Extending Visual Studio 2005 Team System &amp;nbsp;&amp;nbsp;Cabana 06&lt;BR&gt;Thursday 5:00&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;DEVPNL4 Enabling the End-to-End Solution Lifecycle: Microsoft Partner Panel&amp;nbsp;&amp;nbsp;Room 20D&lt;BR&gt;Friday 12:15&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;DEV356 Visual Studio 2005: Managing the Enterprise Build Process with MSBuild&amp;nbsp;&amp;nbsp;Room 31ABC&lt;BR&gt;Friday 1:00&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=511" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2003/default.aspx">VS2003</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Events/default.aspx">Events</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Testing/default.aspx">Testing</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/TechEd/default.aspx">TechEd</category></item><item><title>TechEd (Day 1): Play TechEd Buzzword Bingo</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2004/05/24/510.aspx</link><pubDate>Mon, 24 May 2004 18:29:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:510</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/510.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=510</wfw:commentRss><description>&lt;P&gt;&lt;A href="http://www.ObjectSharp.com/blogs/Marcie"&gt;Marcie Robillard&lt;/A&gt;&amp;nbsp;has put together a fun game for TechEd attendees. You can print out your cards in the Sails pavillion where all those computers are lined up row on row.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.techedbingo.com"&gt;http://www.techedbingo.com&lt;/A&gt;&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=510" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Humours+Distractions/default.aspx">Humours Distractions</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Events/default.aspx">Events</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/TechEd/default.aspx">TechEd</category></item><item><title>TechEd (Day 1): Balmer's Keynote &amp; Announcing VS 2005 Team System</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2004/05/24/506.aspx</link><pubDate>Mon, 24 May 2004 17:51:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:506</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/506.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=506</wfw:commentRss><description>&lt;P&gt;It's official. I'll post more thoughts and analysis about this as time permits, but, things you should know.&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Microsoft now has a new Team version of Visual Studio to be delivered &amp;#8220;Next Year&amp;#8220; according to Balmer.&lt;/LI&gt;
&lt;LI&gt;new source control - more details to follow.&lt;/LI&gt;
&lt;LI&gt;Project Management - so dev's will be able to see &amp;#8220;Work Items&amp;#8220; in their IDE. There is also supposed to be a sharepoint portal of some kind that dev's &amp;amp; pm's can go to see a dashboard view of a project, milestone's, etc. integrated with MS Project Server.&lt;/LI&gt;
&lt;LI&gt;Unit Testing - yes, a very NUnitish thing built right into visual Studio.&lt;/LI&gt;
&lt;LI&gt;Code Coverage - yes in the editor you can see what code was executed and what was not.&lt;/LI&gt;
&lt;LI&gt;Static Code Analysis - a la fxCop integrated right inside of visual studio.&lt;/LI&gt;
&lt;LI&gt;Check in Source control process policy, so a manager type can say &amp;#8220;if you check in something, all tests must pass, all static analysis rules must pass, and your code coverage must be 100%&amp;#8220;. &lt;/LI&gt;
&lt;LI&gt;Also showed was some Load testing stuff that is going to be better than Application Center Test - more on that later.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Of course whitehorse class modeling &amp;amp; SOA designer were showed quickly. Nothing new to announce yet on that front that wasn't covered at PDC....although the guy doing the demo kept saying &amp;#8220;Services Oriented APPLICATION&amp;#8221; designer. Is this new? Is he changing the acronym from Architecture?&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=506" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/PDC/default.aspx">PDC</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2005/default.aspx">VS2005</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2003/default.aspx">VS2003</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VB.NET/default.aspx">VB.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Tips/default.aspx">Tips</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/WinForms/default.aspx">WinForms</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/WebForms/default.aspx">WebForms</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Security/default.aspx">Security</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Events/default.aspx">Events</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Testing/default.aspx">Testing</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/TechEd/default.aspx">TechEd</category></item><item><title>TechEd (Day 0): BOF36: Integrating Unit Testing Tools and Practices Into the Software Development LifeCycle</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2004/05/24/505.aspx</link><pubDate>Mon, 24 May 2004 17:44:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:505</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/505.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=505</wfw:commentRss><description>&lt;P&gt;This BOF went pretty well and a huge thanks to Jim Newkirk for assisting in the delivery. He's a real authority on the practices around NUnit and a good guy to have a round. If you buy his new book on &lt;A href="http://www.amazon.ca/exec/obidos/ASIN/0735619484/qid=1085420206/sr=1-2/ref=sr_1_0_2/701-8481573-2662727"&gt;Test Driven Development with Microsoft .NET&lt;/A&gt;&amp;nbsp;onsite at TechEd, you can probably catch him at the MS Pavillion to sign a copy. &lt;/P&gt;
&lt;P&gt;Some interesting points discussed:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Using Unit Tests to drive &amp;#8220;example code&amp;#8220; for a framework or class library would be a nice to have.&lt;/LI&gt;
&lt;LI&gt;While Code Coverage statistics may satisfy external parties that we've tested what we've developed, percentages are not an accurate measure of code quality.&lt;/LI&gt;
&lt;LI&gt;If you write your tests after you do you coding, you already have too much information about your classes that negatively affects how you test. &lt;/LI&gt;
&lt;LI&gt;Testing first can really influence (positively) the design of your classes.&lt;/LI&gt;
&lt;LI&gt;Developers will work aggressively against source-code check in policies that stipulate a % of code as been covered in unit tests, and that the tests pass, and that they pass static code analysis.&lt;/LI&gt;
&lt;LI&gt;It's difficult to test User Interface code, and for a bunch of reason's, not a really good idea or worthwhile investment because the only person who can see your application from the outside in, is through the eyes of a specific user - and you'll never be able to approach that.&lt;/LI&gt;
&lt;LI&gt;At the end we also got into some of the difficulties of testing against a database and a bit about Mock objects. That would probably be a good bof on it's own.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Jim might have more comments, but the general feeling I got was that people still need more education about automating unit tests and that not a lot of people are doing it today, let alone Test First. Jim also mentioned that he didn't think it was possible to lecture to somebody and convince them about Test First, but more that it was something that they just really needed to see for themselves. I agree.&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=505" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2005/default.aspx">VS2005</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2003/default.aspx">VS2003</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VB.NET/default.aspx">VB.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Tips/default.aspx">Tips</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Events/default.aspx">Events</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Testing/default.aspx">Testing</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/TechEd/default.aspx">TechEd</category></item><item><title>Welcome to Marcie Robillard (a.k.a. Datagrid Girl)</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2004/05/23/welcome-to-marcie-robillard-a-k-a-datagrid-girl.aspx</link><pubDate>Sun, 23 May 2004 15:10:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:497</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/497.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=497</wfw:commentRss><description>&lt;P&gt;I've had the pleasure of getting to know Marcie over the past 53 days. It's great to be working with her and I look forward to winforms enlightenment :)&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.objectsharp.com/Blogs/marcie/archive/2004/05/23/495.aspx"&gt;http://www.objectsharp.com/Blogs/marcie/archive/2004/05/23/495.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=497" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Humours+Distractions/default.aspx">Humours Distractions</category></item><item><title>TechEd (Day -1): MCT Day Breakdown</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2004/05/22/493.aspx</link><pubDate>Sun, 23 May 2004 02:39:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:493</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/493.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=493</wfw:commentRss><description>&lt;P&gt;I attended the MCT meetings today. It was nice warm up to the rest of TechEd, although I felt a little out of place as a Developer trainer.....most of the room was IT Pro (MCSE) types, a fun crowd....geeky in a different way. &lt;/P&gt;
&lt;P&gt;Anyway, lots of cool things in store for MCT's coming Oct 1 (beginning of the 2005 program). Most of that is at the &lt;A href="http://blog.hundhausen.com/PermaLink.aspx?guid=518755a9-dbfe-4d92-adf0-633d28b3f338"&gt;doghouse&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;I got to meet Paul Adare whom for the longest time has been the moderator on the MCT newsgroups. It's funny that I have to fly all the way to San Diego to meet a guy who live about 15 minutes from my house in Oakville. I'm not a big poster in the MCT newsgroups so I was surprised that he knew my name and said he reads this blog. &amp;#8220;Hi Paul - say you need a blog so I can point people to it&amp;#8221;.&lt;/P&gt;
&lt;P&gt;I also had&amp;nbsp;a chance to run over our new &amp;#8220;&lt;A href="http://www.objectsharp.com/training/"&gt;Best Practice&lt;/A&gt;&amp;#8220; curriculum with David Lowe who is the Content Development and Delivery Training and Certification Manager at Microsoft. It would seems that we are not the only ones seeing demand from our customers for this new level of training above and beyond the simple how &amp;amp; why, but more of the when &amp;amp; where of how a technology or development practices applies in a developers day.&lt;/P&gt;
&lt;P&gt;The final session was with &lt;A href="http://www.communicationpower.net/home.html"&gt;Richard Klees&lt;/A&gt;. He does most if not all of the speaker training &amp;amp; coaching for Microsoft employee's and partners speeking at their events. I learned lots of interesting techniques for really maximizing the experience for the audience. I had a nice conversation with him afterwards and he offerred to do a 1-1 review with me later this week. I think I'll settle on trying to get him out to dinner (we share a mexican food grok) to get his thoughts on speaking into your computer/conducting web casts.&lt;/P&gt;
&lt;P&gt;All in all, a great warm up to TechEd.&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=493" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Events/default.aspx">Events</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/TechEd/default.aspx">TechEd</category></item><item><title>TechEd (Day -1): ObjectSpaces = Longhorn, 3rd time charm?</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2004/05/22/491.aspx</link><pubDate>Sun, 23 May 2004 02:00:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:491</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>7</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/491.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=491</wfw:commentRss><description>&lt;P&gt;It was bumped from The initial 1.0 release, and then as of last PDC slated for Whidbey. Now it looks like we'll have to wait until Longhorn.&lt;/P&gt;
&lt;P&gt;It's not all bad news however. ObjectSpaces is being re-orged into the WinFs file system. When you think about there is an awful lot of correlation to those technologies. I'm sure it's not terribly unrelated to the fact that the Microsoft Business Framework(MBF) that was to build on ObjectSpaces was also pushed off to Longhorn/Orcas. MBF is also to rely on an orchestration engine (Biztalk light?) features going into Longhorn so it all makes sense.&lt;/P&gt;
&lt;P&gt;Some people will be disappointed - but this is a good rationalization of the way too many data access/storage visions within Microsoft. Both of these technologies have a common thread about objects/applications and data and breaking down the wall. Sure, MS could have released ObjectSpaces first, but do we really need that legacy and all the effort attached to YADAA (yet another data access api.&lt;/P&gt;
&lt;P&gt;Microsoft has taken a lot of criticism (including from &lt;A href="http://objectsharp.com/Blogs/barry/archive/2003/10/29/171.aspx"&gt;me&lt;/A&gt;) about the seemingly constant churn of all things data. So this is a good sign that MS is not going to do things, just be cause they&amp;nbsp;can, but do them right. Just ask a Java developer what they think of EJB's. It's important to get it right&lt;/P&gt;
&lt;P&gt;&lt;A href="http://msdn.microsoft.com/data/"&gt;http://msdn.microsoft.com/data/&lt;/A&gt;&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=491" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/PDC/default.aspx">PDC</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Orcas/default.aspx">Orcas</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Vista/default.aspx">Vista</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/ADO.NET/default.aspx">ADO.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/SQL/default.aspx">SQL</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2003/default.aspx">VS2003</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Events/default.aspx">Events</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/TechEd/default.aspx">TechEd</category></item><item><title>TechEd (Day -1): Packing Tips</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2004/05/22/490.aspx</link><pubDate>Sun, 23 May 2004 01:47:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:490</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/490.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=490</wfw:commentRss><description>&lt;P&gt;Bring your photo ID. You'll need it for registration.&lt;/P&gt;
&lt;P&gt;Bring a single socket power splitter. I brought one of those double socket splitters than turn a 2 port outlet into 6...but guess what, there is almost always at least 1 important thing plugged into every outlet at the convention centre - important like a big computer/tv for displaying schedule updates.&lt;/P&gt;
&lt;P&gt;Don't bring a knapsack. Bring your laptop, but you're going to get another one half full of crap so if you don't want to carry two around on the first day - just bring one.&lt;/P&gt;
&lt;P&gt;Bring an electric golf cart or a donkey if you don't like walking around. &lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=490" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Events/default.aspx">Events</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/TechEd/default.aspx">TechEd</category></item><item><title>TechEd (Day -1): Pieces of ADO.NET 2.0 not going to make Whidbey</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2004/05/22/487.aspx</link><pubDate>Sun, 23 May 2004 01:34:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:487</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/487.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=487</wfw:commentRss><description>&lt;P&gt;Highlights in this exchange of newsgroup posts...&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Paging is cut&lt;/LI&gt;
&lt;LI&gt;Server cursors cut (SqlResultSet class)&lt;/LI&gt;
&lt;LI&gt;Async Open is cut, but not excute&lt;/LI&gt;
&lt;LI&gt;SqlDataTable class cut (Good - that was a bad design pattern to propogate)&lt;/LI&gt;
&lt;LI&gt;Command sets are cut, but you can still do batch DataAdapter updates, &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;A href="http://communities.microsoft.com/newsgroups/default.asp?icp=whidbey&amp;amp;slcid=us"&gt;http://communities.microsoft.com/newsgroups/default.asp?icp=whidbey&amp;amp;slcid=us&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;More to come, stay tuned.&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=487" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2005/default.aspx">VS2005</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Vista/default.aspx">Vista</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/ADO.NET/default.aspx">ADO.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/SQL/default.aspx">SQL</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2003/default.aspx">VS2003</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VB.NET/default.aspx">VB.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Tips/default.aspx">Tips</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Events/default.aspx">Events</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/TechEd/default.aspx">TechEd</category></item><item><title>Arrived in San Diego @ TechEd</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2004/05/22/485.aspx</link><pubDate>Sat, 22 May 2004 08:22:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:485</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/485.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=485</wfw:commentRss><description>&lt;P&gt;One Uneventful pair of connecting flights, a car rental pickup and a check in at the hotel. It's the calm before the storm....you know, the calm associated with hotel internet access actually working. You know it's a computer conference when you can see 5 wireless access points from various people's hotel rooms, and I'm on the corner of the hotel! &lt;/P&gt;
&lt;P&gt;I kind of drove in the back way and haven't been near the convention centre yet to check out the buzz, but I will tomorrow. The MCT day starts at 7:30am at the Marriott next door. I better get to bed.&lt;/P&gt;
&lt;P&gt;There is a bit of a buzz on email right now - stuff I'm not allowed to talk about until Monday - but it's one of my speculations. More about that on Monday. There will be a lot of announcements on Monday. Stay tuned.&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=485" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2005/default.aspx">VS2005</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/ADO.NET/default.aspx">ADO.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Humours+Distractions/default.aspx">Humours Distractions</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Events/default.aspx">Events</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/TechEd/default.aspx">TechEd</category></item><item><title>TechEd BOF Session on Integrating Unit Testing Tools and Practices into the Software Development Life Cycle.</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2004/05/21/479.aspx</link><pubDate>Fri, 21 May 2004 06:23:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:479</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/479.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=479</wfw:commentRss><description>&lt;DIV class=title&gt;This session which was originally scheduled for Tuesday night is now moved to Sunday night at 8pm. This should allow people who were interested in the Peter Provost's hosted Continous Integration Testing BOF to attend both of these sessions.&lt;/DIV&gt;
&lt;DIV class=title&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV class=title&gt;BOF36&amp;nbsp;&amp;nbsp;Integrating Unit Testing Tools and Practices Into the Software Development LifeCycle &lt;/DIV&gt;
&lt;DIV class=timeslot&gt;Sunday , May 23 8:00 PM-&amp;nbsp;9:00 PM, Location TBA&lt;/DIV&gt;
&lt;DIV class=sessionAbstract&gt;Speaker(s): &lt;SPAN title="" style="CURSOR: hand"&gt;Barry Gervin&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV class=sessionAbstract&gt;Automated Unit Testing tools and practices are finding their way into the dev life cycle of more and more IT shops each day. Some people simply use NUnit to demonstrate a bug and prove that's fixed. Others use NUnit to demonstrate a % goal for code coverage. Others go as far as to use Test Driven Development to drive the design of their applications. People are using Unit testing harnesses for Design, Functional Testing, Performance and Security Testing. In this discussion we will raise awareness of the current tools and practices that people are using today and how best to address the more holistic needs with future tools and practices. &lt;/DIV&gt;
&lt;DIV class=sessionAbstract&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV class=sessionAbstract&gt;And if you happen to be going to TechEd Amsterdam, James Newkirk is going to repeat this session there.&lt;/DIV&gt;
&lt;DIV class=sessionAbstract&gt;&amp;nbsp;&lt;/DIV&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=479" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Events/default.aspx">Events</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Testing/default.aspx">Testing</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/TechEd/default.aspx">TechEd</category></item><item><title>NUnit 2.2 beta released</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2004/05/20/473.aspx</link><pubDate>Thu, 20 May 2004 18:15:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:473</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/473.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=473</wfw:commentRss><description>&lt;P&gt;&lt;A href="http://sourceforge.net/forum/forum.php?forum_id=377077"&gt;http://sourceforge.net/forum/forum.php?forum_id=377077&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Things I like:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Assert.AreEquals support to compare arrays of the same length, type and values.&lt;/LI&gt;
&lt;LI&gt;You can now put a Category attribute on your fixtures AND methods....and then use that as a filter when you go to run tests. Thoughts on categories? Functional Tests,&amp;nbsp; Performance Tests&lt;/LI&gt;
&lt;LI&gt;On a similar note, there is an explicit attribute that will cause a fixture or method not to run unless explicitly selected by the user. You can now put check boxes on the tree to select multiple fixtures/methods.&lt;/LI&gt;
&lt;LI&gt;They fixed a problem with background threads that when they raise exceptions, they weren't showing up as a problem in NUnit. Seems they've done some refactoring of how things are loaded in the AppDomain. I'm hopeful that this fixes some issues&amp;nbsp;I've seen when own dynamic loading and Fusion get's lost...but only during the NUnit tests, not the production execution.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Looks exciting.&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=473" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2003/default.aspx">VS2003</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VB.NET/default.aspx">VB.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Tips/default.aspx">Tips</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/WinForms/default.aspx">WinForms</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/WebForms/default.aspx">WebForms</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Testing/default.aspx">Testing</category></item><item><title>When RFID goes bad.</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2004/05/18/458.aspx</link><pubDate>Tue, 18 May 2004 23:08:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:458</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/458.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=458</wfw:commentRss><description>&lt;P&gt;You never know how your technology is going to be used. &lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.ananova.com/news/story/sm_958267.html"&gt;http://www.ananova.com/news/story/sm_958267.html&lt;/A&gt;&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=458" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Humours+Distractions/default.aspx">Humours Distractions</category></item><item><title>Sun's take on the smart client</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2004/05/17/444.aspx</link><pubDate>Mon, 17 May 2004 16:20:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:444</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/444.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=444</wfw:commentRss><description>&lt;P&gt;&lt;A href="http://developers.sun.com/prodtech/javatools/jsstandard/reference/techart/nexaweb.html"&gt;http://developers.sun.com/prodtech/javatools/jsstandard/reference/techart/nexaweb.html&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;While Sun is very complimentary about Microsoft's strengths on the smart client, Sun's answer seems to be....put HTML on the client. One of their reasons is that &amp;#8220;&lt;STRONG&gt;The skill-set requirements and the complexity of HTML are much lower than for .NET&amp;#8221;. &lt;/STRONG&gt;Are you kidding me? Last time I built a Windows Forms application I didn't have to test it on 5 different browsers. Don't even get me started on CSS and javascript. The metrics that I see suggest that it is no less than twice the development/testing effort for a Web Form over a Win Form application. That's conservative and sometimes goes up to 3-4 times.&lt;/P&gt;
&lt;P&gt;Sun also fails to address the need for the occassionally connected/offline access application.&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=444" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/WebForms/default.aspx">WebForms</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Architecture/default.aspx">Architecture</category></item><item><title>Microsoft Business Framework goes into Longhorn/Orcas</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2004/05/14/430.aspx</link><pubDate>Fri, 14 May 2004 15:03:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:430</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/430.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=430</wfw:commentRss><description>&lt;P&gt;MBF is being delayed until Longhorn. Up until reading &lt;A href="http://crn.channelsupersearch.com/news/crn/49958.asp"&gt;this&lt;/A&gt;, it was my understanding that MBF was planned for a post Whidbey release along with ObjectSpaces. MBF is a pretty big thing scope-wise. I think it is the right thing to do to wait until Longhorn. I just hope ObjectSpaces doesn't fall into that same planning.&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=430" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/PDC/default.aspx">PDC</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2005/default.aspx">VS2005</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Orcas/default.aspx">Orcas</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Vista/default.aspx">Vista</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VB.NET/default.aspx">VB.NET</category></item><item><title>MCT Day at TechEd</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2004/05/13/428.aspx</link><pubDate>Fri, 14 May 2004 03:11:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:428</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/428.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=428</wfw:commentRss><description>&lt;P&gt;TechEd is coming up. Scary thing is my schedule is about 75% booked - and not with actual sessions. I'll talk more about the stuff I'm involved with over the coming weeks and during TechEd.&lt;/P&gt;
&lt;P&gt;The interesting thing I got today was the Agenda for &amp;#8220;MCT Day&amp;#8221; - which is the Saturday before the conference for MS Certified Trainers. There are lots of interesting things on the agenda, but the person I'm most looking forward to speaking is Richard Klees.&lt;/P&gt;
&lt;P&gt;Richard does the training for a lot of MS presenters and is very well recognized as the speaker of speakers, the trainer of trainers.. He's doing some time with each TechEd speaker again this year. Just hearing him talk for an hour is going to be a lot of fun. &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=428" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Events/default.aspx">Events</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/TechEd/default.aspx">TechEd</category></item><item><title>VS Live Party</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2004/05/13/423.aspx</link><pubDate>Thu, 13 May 2004 11:39:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:423</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/423.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=423</wfw:commentRss><description>&lt;P&gt;We threw a party on Thursday night after VS Live Toronto to help blow off some steam. VS Live in Toronto was a good time. A few people agree.&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="http://blogs.msdn.com/jroxe/archive/2004/05/11/129536.aspx"&gt;Jay Roxe&lt;/A&gt; was one of the speakers and joined us for a night on the town. 
&lt;LI&gt;&lt;A href="http://weblogs.asp.net/datagridgirl/archive/2004/05/07/128153.aspx"&gt;Datagrid Girl Marcie Robillard&lt;/A&gt; too. Turns out we share some PowerBuilder history from back at her days with Anderson Consulting. Marcie was also one of the speakers. I&amp;nbsp;watched her presentation to see if I could pick up any public speaking tips, but I left learning some technical things. A) You can do a DataSet.ReadXml and pass it an url, not just a filename. B) The file/url you point it at can be any reasonably formed xml document - not just a previously saved dataset. She loaded the RSS feed from the Code Project. Cool. In practice, an untyped DS does lots of inferring which can be problematic so stay tuned for a fully fleshed out tip on doing some typed DS loading of XML docs. 
&lt;LI&gt;&lt;A href="http://geekswithblogs.net/mflasko/archive/2004/05/07/4710.aspx"&gt;Mike Flasko&lt;/A&gt; has posted &lt;A href="http://www.flasko.com/ngallery/albums/2.aspx"&gt;some pictures from VS Live&lt;/A&gt;. Mike is on the Imagine Cup Canadian winning team. Be sure to check out the &lt;A href="http://www.flasko.com/ngallery/albums/3.aspx"&gt;sub folder from our party&lt;/A&gt;. &lt;A href="http://geekswithblogs.net/ejohnson/archive/2004/05/09/4744.aspx"&gt;Elisa Johnson&lt;/A&gt; and &lt;A href="http://jasonkemp.ca/archive/2004/05/10/145.aspx"&gt;Jason Kemp&lt;/A&gt;&amp;nbsp;also from the team were there. A very nice group of people I was glad to meet. 
&lt;LI&gt;Thanks to Billy Hollis, Keith Pleas, Paul Yucknovic??, Rob Windsor, David Totzke, Chris Kinsman and of course the rest of the ObjectSharp clan for coming out on the town.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=423" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/ADO.NET/default.aspx">ADO.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Humours+Distractions/default.aspx">Humours Distractions</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Southern+Ontario/default.aspx">Southern Ontario</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Events/default.aspx">Events</category></item><item><title>OpenSource Project for Testing Microsoft Software</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2004/04/28/388.aspx</link><pubDate>Wed, 28 Apr 2004 16:14:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:388</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/388.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=388</wfw:commentRss><description>&lt;P&gt;Over the past few months, when I question how something works in the .NET Framework (or when somebody asks me).....I have been creating NUnit tests to verify the behaviour of some class and/or methods in the .NET Framework. Initially it is just to observe the behaviour or verify some assumptions, but by the time I'm finished, I usually inject various Assertions into my tests to tighten them up. These now serve as a test bed&amp;nbsp;for me moving to a new version (or even old versions) of the .NET Framework. I can answer the question:&amp;nbsp;Are any of my assumptions about how the 1.1 framework works broken in 1.2? 2.0? 9.0? etc.&lt;/P&gt;
&lt;P&gt;I'm building up a nice collection and I might publish my work. But it struck me that this could be an open source project. In fact, I think it &lt;STRONG&gt;should&lt;/STRONG&gt; be an open source project and I think it &lt;STRONG&gt;should&lt;/STRONG&gt; be started by Microsoft....and not necessarily for the .NET Framework alone - but that would be an easy place to start.&lt;/P&gt;
&lt;P&gt;Microsoft has faced increasing pressures over security and quality of their software - to the point that they've actually made windows source code available to key customers, governments and MVP's. I think that's a bit risky if you ask me. I think it is also a bit hypocritical to point the finger at Linux for being &amp;#8220;more hackable because source code is available&amp;#8220; but at the same time make your own source code available to the chinese government. &lt;/P&gt;
&lt;P&gt;But why not publish the source code to unit tests (say NUnit fixtures) in an open source format for the community to contribute to. When one of these security firms finds a hole in some MS software, they could create an NUnit test to expose it and submit it to Microsoft to fix, and then make the code for that NUnit test part of the open source project. &lt;/P&gt;
&lt;P&gt;Instead of publishing source code, which is really meaningless to give people any kind of comfort in the code, publishing unit tests is publishing assumptions and expectations about what software is supposed to do and how it is supposed to behave. I would think this would become more important over time especially moving towards WinFx and Longhorn.&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=388" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2005/default.aspx">VS2005</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Vista/default.aspx">Vista</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/ADO.NET/default.aspx">ADO.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2003/default.aspx">VS2003</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VB.NET/default.aspx">VB.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/WinForms/default.aspx">WinForms</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/WebForms/default.aspx">WebForms</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Security/default.aspx">Security</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Testing/default.aspx">Testing</category></item><item><title>Delegation through NUnit Testing and TodoFixtures</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2004/04/20/380.aspx</link><pubDate>Tue, 20 Apr 2004 20:24:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:380</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/380.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=380</wfw:commentRss><description>&lt;P&gt;Usually I'm the guy who all the other developers are wiating on to create some reusable framework widget or other. I usually have 10, 000 things on my plate so when somebody asks me to do something or reports a bug with some of my code, I need to find a good way to delegate.&lt;/P&gt;
&lt;P&gt;But if you are the subject matter expert (SME), it's tough to delegate the task of making the fix or adding the feature. If you flip that on it's head though, when you find yourself in this situation, by definition you are NOT the SME of the &amp;#8220;feature request&amp;#8221; or &amp;#8220;bug&amp;#8220;. Those are external to the actual implementation which is probably what you are really the SME&amp;nbsp;for. The SME for the request or bug, is of course, the finder of the bug or the requestor of the feature. So in the spirit of getting the right person for the job (and delegating a bit at the same time), get the requestor to create the NUnit test that demonstrates the bug or explains (with code - better than english can ever hope to) the request or how the requestor expects the feature to be consumed.&lt;/P&gt;
&lt;P&gt;Case in point:&lt;/P&gt;
&lt;P&gt;Random Developer A: Barry, there is a bug in the foobar you created. Can you fix it? I know you are busy, want me to give it a go? Do you think it's something I could fix quickly?&lt;/P&gt;
&lt;P&gt;Barry: That's a tricky bit but I think I know exactly what I need to do to fix it, it will take me 10 minutes - but I have 3 days of 10 minute items in front of you. Why don't you create an NUnit test for me that demonstrates the bug, and&amp;nbsp;&amp;nbsp;I'll fix it. Then it will only take me 2 minutes.&lt;/P&gt;
&lt;P&gt;I also find NUnit tests a great way for people to give me todo items.&lt;/P&gt;
&lt;P&gt;Random Developer B: Hey, I need a method added to FoobarHelper that will turn an apple into an orange, unless you pass it a granny smith, in which case it should turn it into a pickle.&lt;/P&gt;
&lt;P&gt;Barry: Sounds reasonable. I can do that - but just to make sure I got all of that spec correct, would you mind creating an NUnit test that demonstrates that functionality you require? Thanks.&lt;/P&gt;
&lt;P&gt;I do have to admit though that this requires a certain amount of charisma. On more than one occassion this technique has been met with some friction and unusual and jestures and mumbling. :)&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=380" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2003/default.aspx">VS2003</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VB.NET/default.aspx">VB.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Tips/default.aspx">Tips</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Humours+Distractions/default.aspx">Humours Distractions</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Testing/default.aspx">Testing</category></item><item><title>You know you're a geek when...</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2004/04/18/365.aspx</link><pubDate>Sun, 18 Apr 2004 17:49:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:365</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/365.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=365</wfw:commentRss><description>&lt;P&gt;The other day while sitting on the couch eating some M&amp;M's with my 5yr old daughter she asks me what &amp;#8220;MGM&amp;#8221; means....and starts to try to pronounce &amp;#8220;megum&amp;#8220; - she hasn't quite got the idea of acronyms yet.&lt;/P&gt;
&lt;P&gt;I explain how &amp;#8220;&amp;&amp;#8221; means &amp;#8220;And&amp;#8221; and it's &amp;#8220;M and M's&amp;#8221;. Claire comes back at me with &amp;#8220;well why didn't they just use plus (+)&amp;#8221;. The next 10 minutes are me explaining concatenation to her and how it differs from addition. I'm pretty sure she's going to answer her kindergarten teacher's question of  &amp;#8220;What is 4 AND 5&amp;#8221; with &amp;#8220;45&amp;#8221; next week at school....&amp;#8221;and that if you really were looking for 9 you should have asked properly 'what is 4 PLUS 5' not AND&amp;#8221;. I can hardly wait for parent teacher interviews.&lt;/P&gt;
&lt;P&gt;Hmmm, maybe I should teach her what &amp;#8220;and&amp;#8221; means in terms of boolean logic.&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=365" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Humours+Distractions/default.aspx">Humours Distractions</category></item><item><title>New Smart Client Reference Application - IssueVision</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2004/04/16/358.aspx</link><pubDate>Fri, 16 Apr 2004 06:46:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:358</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>5</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/358.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=358</wfw:commentRss><description>&lt;P&gt;This is a new smart client reference application from Microsoft. Actually it was created by Vertigo for Microsoft - where Susan Warren now works (former Queen of ASP.NET). This is not a rewrite of TaskVision which is a common question. It was built to show off some advanced topics for Smart Client apps in conjunction with the recent DevDays events that have been going on in the U.S. but unfortunately haven't made it up to Canada due to some overloaded efforts going into VS Live.&lt;/P&gt;
&lt;P&gt;You can download this from Microsoft although it's &lt;A href="http://download.microsoft.com/download/f/6/d/f6d06b43-55fe-4259-abc8-8001b73a83c1/SmartClient-IssueVision.zip"&gt;not the easiest thing &lt;/A&gt;to find. &lt;/P&gt;
&lt;P&gt;Some of the interesting highlights:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;focus on security....some wrapped up DPAPI classes. 
&lt;LI&gt;Application Deployment and Updating&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;This app wasn't built with the recently released offline application block since the timing wasn't right - but nevertheless, a good fresh reference app worth looking at.&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=358" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VB.NET/default.aspx">VB.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Tips/default.aspx">Tips</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/WinForms/default.aspx">WinForms</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Security/default.aspx">Security</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Architecture/default.aspx">Architecture</category></item><item><title>Building Maintainable Applications with Logging and Instrumentation</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2004/04/16/356.aspx</link><pubDate>Fri, 16 Apr 2004 05:32:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:356</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/356.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=356</wfw:commentRss><description>&lt;P&gt;&lt;SPAN id=lblEventDescription&gt;&lt;FONT face=Verdana size=2&gt;I'm doing this &lt;A href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032249141&amp;Culture=en-CA"&gt;MSDN webcast&lt;/A&gt; in a few weeks&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;FONT face=Verdana size=2&gt;10/05/2004 1:00 PM - 10/05/2004 2:00 PM (EasternTime)&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;FONT face=Verdana size=2&gt;In this session we'll cover the world of logging and instrumenting your application. We'll discuss the various .NET framework components as well as higher level services as provided by the Exception Management Application Block, the Enterprise Instrumentation Framework and the Logging BLock. We'll discuss the various issues with persisting information in file logs, the event log, and WMI Performance Counters. We will also compare other alternative technologies such as log4net. We'll also discuss best practices for loging and instrumenting your application and provide some considerations for when and where it makes good sense to instrument your application from experiences in the field.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;STRONG&gt;Update:&lt;/STRONG&gt; The slides, samples and livemeeting recording links can all be found &lt;A href="http://www.objectsharp.com/oNewsUpdate/ReadingFullStory.aspx?StoryNum=-20"&gt;here&lt;/A&gt;.&lt;/SPAN&gt;&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=356" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2005/default.aspx">VS2005</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VB.NET/default.aspx">VB.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Tips/default.aspx">Tips</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/WebForms/default.aspx">WebForms</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Services/default.aspx">Services</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Events/default.aspx">Events</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Architecture/default.aspx">Architecture</category></item><item><title>MSDN Subscriber Download RSS Feeds</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2004/04/15/354.aspx</link><pubDate>Thu, 15 Apr 2004 04:27:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:354</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/354.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=354</wfw:commentRss><description>&lt;P&gt;Perhaps I'm not the only one to just learn about this recent feed a month old now I guess:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://msdn.microsoft.com/subscriptions/rss.xml"&gt;http://msdn.microsoft.com/subscriptions/rss.xml&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;My favourite item in that so far has to be the MS Bob 1.0a release that came on March 31st. &lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=354" width="1" height="1"&gt;</description></item><item><title>Upcoming UG Meetings</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2004/04/13/347.aspx</link><pubDate>Wed, 14 Apr 2004 03:15:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:347</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/347.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=347</wfw:commentRss><description>&lt;P&gt;Kate Gregory is starting a new UG in the east end in Oshawa. They are meeting Apr 20. The topic is an overview presentation of .NET. gtaeast.torontoug.net to register.&lt;/P&gt;
&lt;P&gt;The regular meeting of the Canadian Technology Triangle meets next Tuesday Apr 20th as well. This special meeting is part of the MSDN User Group tour and the topic is The .NET Compact Framework. A special note that this event is not in its usual location, but rather at the Peter Benninger Theatre.  cttdnug.org to register.&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=347" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VB.NET/default.aspx">VB.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Southern+Ontario/default.aspx">Southern Ontario</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Events/default.aspx">Events</category></item><item><title>Things I don't like about NUnit</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2004/04/13/things-i-don-t-like-about-nunit.aspx</link><pubDate>Tue, 13 Apr 2004 20:20:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:345</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>4</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/345.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=345</wfw:commentRss><description>&lt;P&gt;Firstly - I love NUnit - and nobody has done more to increase the quality of .NET Applications than the contributors to this project - nobody.&lt;/P&gt;
&lt;P&gt;But I know that next generation Unit testing framework authors are listening so I might as well state the things I'd like to see:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;I'd like to be able to run a single test from the command line. Not just a&amp;nbsp;single fixture, but a specific test. &lt;/LI&gt;
&lt;LI&gt;I'd like my tests to be parameterizable. I'd like from the Command Line to run a test and provide the specific values.&lt;/LI&gt;
&lt;LI&gt;Wouldn't it be cool to create a batch file of scenarios? What about doing this in XML? Duh - no brainer.&lt;/LI&gt;
&lt;LI&gt;A lot of my tests in this case would simply wrap up and call business objects - so why not be able to have a virtual test in the xml file? That is just call a class/method directly with XML.I'm not saying this is the be all / end all - really the only kinds of assertions I could do realistically would be to test for certain exceptions or no exceptions. Return values? Possibly - but really - some times our methods accept and return things other than value types - but this might be a nice thing to have regardless.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;With these things in place, one could conceivably:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;tie a class modelling tool into test scenarios. Hmm, I need a class, with a method and if I pass this data, I should get these results.&lt;/LI&gt;
&lt;LI&gt;If an end user reports a bug in my defect tracking system, I should be able to create an NUnit test that exposes this bug. Then my support people can come back from time to time, have the defect tracking system run the test to see if it's been fixed in a given patch/release/build, etc. and update the status on the defect.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=345" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2005/default.aspx">VS2005</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2003/default.aspx">VS2003</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VB.NET/default.aspx">VB.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Testing/default.aspx">Testing</category></item><item><title>Database Access Layers and Testing</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2004/04/05/331.aspx</link><pubDate>Mon, 05 Apr 2004 21:43:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:331</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/331.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=331</wfw:commentRss><description>&lt;p&gt;I've been doing a lot of testing lately. A lot. I'm building a database agnostic data access layer. It has to be as performant as using typed providers, and even support the optional use of a typed provider. For example, we want to allow developers to build database agnostic data access components (dac). Sometimes however, there is just too much difference and to write standard Sql requires too much of a sacrifice. So in these cases, we want to allow a developer to write a high performance dac for each of the dac's, giving them ultimate control to tweak the data access for one database or another - and use a factory at runtime to instantiate the correct one. Of course they have to implement the same interface so that the business components can talk to an abstract dac. So normally developers can talk to their database through the agnostic DbHelper, but when they want, they can drop down to SqlHelper or OracleHelper.&lt;/p&gt;
&lt;p&gt;We also want to support a rich design time environment. Creating DataAdapters and SqlCommands in C# isn't fun. Good developers botch these up too easily - not creating parameters right - or worst not using parameters at all and opening themselves up to sql injection. The typed DbCommand and DbDataAdapter's allow for a rich design time painting of sql and generation of parameters when used on a sub-class of System.Component. Of course, developers aren't stuck with design time - they are free to drop into the code when they want to.&lt;/p&gt;
&lt;p&gt;In building this data access layer, I've being doing deep research and testing on a lot of different data access blocks - including ones I've authored in the past. I've taken stuff from examples like PetShop and ShadowFax and of course looked at the PAG groups Data Access Block, including the latest revision. I'm very happy with where the code stands today.&lt;/p&gt;
&lt;p&gt;One of the features missing from all of these is a streaming data access component. In some cases we have a need to start writing to the response stream of a web service before the database access is complete. So I've tackled this problem using an event model which works nicely. You can put &amp;#8220;delegate&amp;#8220; or &amp;#8220;callback&amp;#8220; labels on that technique too and they'll stick.&lt;/p&gt;
&lt;p&gt;One of the interesting &amp;#8220;tricks&amp;#8221; was to use the SqlProvider as an agnostic provider during design time. We wanted to allow developers to use design time support and so I went down the path of creating my own agnostic implementors of IDataAdapter, IDbConnection, IDbCommand, etc. etc. The idea was that at runtime, we'd marshal these classes into the type specific provider objects based on the configuration. I was about 4 hours into this exercise when I realized I was pretty much rewriting SqlCommand, SqlDataAdapter, SqlConnection, etc. etc. What would stop me from using the Sql provider objects as my agnostic objects? At runtime, if my provider is configured for Oracle, I use the OracleHelper's &amp;#8220;CreateTyped&lt;object&gt;&amp;#8220; commands to marshal the various objects into Oracle objects, of course talking to them through the Interface. As a shortcut, if my provider is configured for Sql at runtime, I just use the objects as they are. &lt;/object&gt;&lt;/p&gt;
&lt;p&gt;The neat fall out feature from this is that you can write an entire application against SqlServer, using SqlHelper if you like, and if you are thrown a curve ball to use Oracle, the only managed code changes are to change your reference from SqlHelper to DbHelper and everything else all works. Mileage will of course vary depending on how many times you used Sql'y things like &amp;#8220;Top 1&amp;#8220;. Just as importantly however, developers using this data block learn only 1 type of data access and the same technique applies to all other databases. &lt;/p&gt;
&lt;p&gt;One of the sad things is how this thing evolved. In the beginning there was bits of no less than 3 data access blocks in this class library. I spun my wheels quite a bit going back and forth and doing a lot of prototyping under some heat from developers who need to start writing dac's. Because I was starting from chunks of existing code, somehow NUnit tests didn't magically happen. So I've spent the past few days working to a goal of 90% coverage of the code by NUnit tests. It's tough starting from scratch. Not only have I been finding &amp; fixing lots of bugs, you won't be surprised that my testing has inspired the odd design change. I'm really glad I got the time to put the effort on the NUnit tests because sooner or later those design changes would have been desired by developers using this block - and by that time - the code would have been to brittle to change. Certainly some of my efforts would have been greatly reduced had I made these design changes sooner in the process. I'm not new to the fact that catching bugs earlier makes them cheaper to fix - but nothing like getting it pounded home. I'll be pretty hesitant to take on another exercise of editing some existing code without first slapping on a bunch of NUnit tests that codify my expectations of what the code does.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=331" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/ADO.NET/default.aspx">ADO.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VB.NET/default.aspx">VB.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Tips/default.aspx">Tips</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Testing/default.aspx">Testing</category></item><item><title>ASP.NET Whidbey at CTTDNUG Tonight.</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2004/03/31/327.aspx</link><pubDate>Wed, 31 Mar 2004 20:52:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:327</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/327.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=327</wfw:commentRss><description>&lt;p&gt;I'm presenting an overview on ASP.NET 2.0 tonight at &lt;a href="http://www.cttdnug.org/DesktopDefault.aspx?tabid=53"&gt;CTTDNUG&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;There isn't a great abstract on the site - and in fact, I will physically be unable to do the objectspaces stuff since the new version of VSNET CTP doesn't even have it in it anymore. Don't read into that - objectspaces will still be coming out - at some point. I should be able to give some nice objectspaces PPT's if the crowd is interested - but I'm guessing that Demo's are going to be more enjoyable.&lt;/p&gt;
&lt;p&gt;So I am going to do my best ScottGu thrie impersonation and give a good solid demo lap around ASP.NET. IDE Improvements, Master Pages, the new datasource stuff, Site Navigation, Security, Personalization, SqlCaching.&lt;/p&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=327" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/PDC/default.aspx">PDC</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2005/default.aspx">VS2005</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/ADO.NET/default.aspx">ADO.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2003/default.aspx">VS2003</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VB.NET/default.aspx">VB.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Southern+Ontario/default.aspx">Southern Ontario</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/WebForms/default.aspx">WebForms</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Events/default.aspx">Events</category></item><item><title>Downtown Metro Toronto .NET UG Inaugural Meeting!</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2004/03/19/downtown-metro-toronto-net-ug-inaugural-meeting.aspx</link><pubDate>Fri, 19 Mar 2004 19:33:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:321</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/321.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=321</wfw:commentRss><description>&lt;P&gt;Finally a downtown user group.&amp;nbsp; First week of every month - and the first one is April 1st - no fooling..at 200 Bloor St. East (Manulife) at Jarvis. This is also the first date on the MSDN Canada .NET User Group Tour across Canada. There is also a raffle for an XBox.&lt;/P&gt;
&lt;P&gt;The sad news is that this meeting is going to get cut off at the first 200 people - so register&amp;nbsp;soon by sending an email to &lt;A href="mailto:GrahamMarko@rogers.com"&gt;GrahamMarko@rogers.com&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.metrotorontoug.com/"&gt;http://www.metrotorontoug.com/&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN class=eventSpeaker&gt;speaker: Adam Gallant&lt;/SPAN&gt; &lt;BR&gt;&lt;SPAN class=eventLocation&gt;location: Manulife Financial Building 1st Floor 200 Bloor Street East Toronto&lt;/SPAN&gt; &lt;/P&gt;
&lt;P&gt;&lt;SPAN class=Event_BriefDescription&gt;Better Web Development&lt;/SPAN&gt; &lt;/P&gt;
&lt;P&gt;In this session, we will focus on some fundamentals in web development, including a special drill-down on security and caching. We will cover an overview of the .NET security, and specifically important aspects in ASP.NET security and best practices. We will also cover, at a high-level, the caching mechanisms used by ASP.NET.&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=321" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VB.NET/default.aspx">VB.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Tips/default.aspx">Tips</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Southern+Ontario/default.aspx">Southern Ontario</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/WebForms/default.aspx">WebForms</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Security/default.aspx">Security</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Events/default.aspx">Events</category></item><item><title>Security for Developers</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2004/03/11/313.aspx</link><pubDate>Thu, 11 Mar 2004 15:13:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:313</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/313.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=313</wfw:commentRss><description>&lt;p&gt;&lt;rant&gt;Why is that you can't plug a fridge into your house until it's been CSA or FCC approved, and that you have to have a licensed electrician install or at least review any modifications to the wiring in your house plugged into the grid - but any yahoo can build a piece of software and install it on their home computer connected to the internet for the world to hack into? Before I make a case that developers should be forced to do some security training or pass some certification....we have to keep in mind that most of the time the software sitting on somebody's home computer that is getting hacked into is Microsoft's. This is largely due to the size of the huge target on their back. What you think Linux is really more secure? What do you think is easier to hack into? It's easier to hack into something when you have the source code.&lt;/rant&gt;&lt;/p&gt;
&lt;p&gt;So, having said all that, there are changes coming for Microsoft developers in the security space:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Microsoft is turfing a few of the existing security training offerings. These include the Microsoft Security Clinic (2800) and Security Seminar for Developers (2805).&lt;/li&gt;
&lt;li&gt;There is a new security course being developed: Developing Secure Applications (2840) and also a MS Press Training Kit both of which I'll be reviewing during their development.&lt;/li&gt;
&lt;li&gt;Related to the new course and training kit, there is a new security exam for developer which unfortunately because of timing is only an MCAD/MCSD/MCDBA elective (not a required element - sigh). There are 2 versions - 1 for VB and 1 for C#. I guess they figure C++ and J# developers already write secure code. These are going into beta at the end of next month and I'll be auditing the C# version.&lt;br /&gt;&lt;a href="http://www.microsoft.com/learning/exams/70-330.asp"&gt;71-330 Implementing Security for Applications with Visual Basic .NET &lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.microsoft.com/learning/exams/70-340.asp"&gt;71-340 Implementing Security for Applications with Visual C# .NET&lt;/a&gt; &lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;I'm a little torn over this direction. Part of me says that security is so important, it needs to be covered in every MS Training course. To a certain extent that is already true, but I think they could go deeper. When I teach a windows, web or services course, I try to go deep on security. Sometimes you can go to far. Some pieces of security are more relevant to the type of application you are building, while other security issues are common regardless of the application architecture. Obviously we don't want to repeat a lot of content in each course - sometimes that is unavoidable. The other issue is that there is a lot to know about security and frankly I don't think every developer can master all of this. So teams need to dedicate a security architecture role on their project. For these folks - then yes I think it makes sense to have specific and deep training and certification for them. I think MS could probably do better than a single exam &amp;#8220;elective&amp;#8221;. How about an MCSD.NET+Security designation? MCDBA+Security as well - although you could argue that MCDBA's should be forced to have this security. Perhaps that will happen in the wake of Yukon - although I've heard no rumblings of creating Whidbey or Yukon flavours of exams or certifications at this point. &lt;/p&gt;
&lt;p&gt;Our industry and profession needs to take a leadership role and be proactive in accepting responsibility and accountability for the important issue of security. We need to move our discipline to a higher level. I'm not convinced it has to be government that steps up to this place. Governments should only do what we can't do for ourself. Microsoft seems to be taking an increasingly proactive role on these security issues. It will be interesting to see how this pays off in 2-3 years from now.&lt;/p&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=313" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/SQL/default.aspx">SQL</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2003/default.aspx">VS2003</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VB.NET/default.aspx">VB.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Security/default.aspx">Security</category></item><item><title>Whidbey and Yukon names and dates tighten up</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2004/03/10/whidbey-and-yukon-names-and-dates-tighten-up.aspx</link><pubDate>Wed, 10 Mar 2004 17:35:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:309</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/309.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=309</wfw:commentRss><description>&lt;P&gt;So I've heard that Yukon (Sql Server) and Whidbey (.NET 2.0?) are being now committed for “the first half of 2005”.&lt;/P&gt;
&lt;P&gt;Furthermore, it can be confirmed that the names Sql Server 2005 and Visual Studio 2005 are the official names. Officially, I believe this is a 6 month slip. &lt;A href="http://msdn.microsoft.com/vstudio/productinfo/roadmap.aspx"&gt;http://msdn.microsoft.com/vstudio/productinfo/roadmap.aspx&lt;/A&gt;. That's not too bad in the grand scheme of things...and of course, we all want to wait as long as it takes to get it right.&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=309" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/PDC/default.aspx">PDC</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2005/default.aspx">VS2005</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/SQL/default.aspx">SQL</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2003/default.aspx">VS2003</category></item><item><title>ADO.NET rant</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2004/03/09/ado-net-rant.aspx</link><pubDate>Tue, 09 Mar 2004 21:10:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:306</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/306.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=306</wfw:commentRss><description>&lt;P&gt;Why is SqlDbType in the System.Data namespace when all the other provider specific types are in their own specific provider namespace? There is definitely some ugliness going on here. I'm not sure it's entirely a mistake. &lt;/P&gt;
&lt;P&gt;As an aside, why is it SqlDbType and not SqlType? I can understand why OleDbType is named the way it is, but OracleType and OdbcType seemed to be named appropriately. Maybe it has something to do with the fact there is a System.Data.SqlTypes namespace and that would be just too close for comfort in the naming. Ok, so why isn't there an OdbcTypes namespace or any other types namespace for that matter? And shouldn't System.Data.SqlTypes be under System.Data.SqlClient.SqlTypes?&lt;/P&gt;
&lt;P&gt;So what's the deal with IDataParameter and it's descendent IDbDataParameter? All of the typed provider parameter implementations implement both of these. Shouldn't they be collapsed into one? Even the IDbCommand.CreateParameter method has to return a IDbDataParameter. Furthermore, the online help for IDbDataParameter says it includes stuff for mapping to dataset columns. That's odd because the only 3 members of IDbDataParameter are Precision, Scale and Size. I'm pretty sure none of those having anything to do with Datasets. In fact, it's IDataParameter that provides this mapping in the SourceColumn member. Sheesh&lt;/P&gt;
&lt;P&gt;Talk about your inconsistencies. It's still in WinFx from what I can tell. Please someone tell me there is a reason for this madness.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=306" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2005/default.aspx">VS2005</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Vista/default.aspx">Vista</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/ADO.NET/default.aspx">ADO.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VB.NET/default.aspx">VB.NET</category></item><item><title>Design by Blog</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2004/03/02/296.aspx</link><pubDate>Tue, 02 Mar 2004 15:19:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:296</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/296.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=296</wfw:commentRss><description>&lt;p&gt;&lt;a href="http://jroller.com/page/scotartt/20040216"&gt;http://jroller.com/page/scotartt/20040216&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I'd like to add to this new methodology...&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;"Programming by Googling" or "Progoogling"&amp;#169;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;I also think that &amp;#8220;Consensus Architecture&amp;#8220; can be automated on a world-wide basis by using the google api.&lt;/p&gt;
&lt;p&gt;&amp;#169;Copyright Barry Gervin, 2004 - All rights reserved.&lt;br /&gt;&lt;/p&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=296" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Humours+Distractions/default.aspx">Humours Distractions</category></item><item><title>Debunking Dataset Myth</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2004/02/24/284.aspx</link><pubDate>Tue, 24 Feb 2004 18:52:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:284</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>9</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/284.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=284</wfw:commentRss><description>&lt;p&gt;Many people think that datasets are stored internally as XML. What most people need to know is that Datasets are serialized as XML (even when done binary) but that doesn't mean they are stored as XML internally - although we have no easy way of knowing, it's easy to take a look at the memory footprint of datasets compared to XmlDocuments.&lt;/p&gt;
&lt;p&gt;I know that if datasets were stored as XML, then in theory, datasets should be larger since BeginLoadData/EndLoadData implies there are internal indexes maintained along with the data.&lt;/p&gt;
&lt;p&gt;It's not easy to get the size of an object in memory, but here is my attempt.&lt;/p&gt;&lt;font size="2"&gt;
&lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;long&lt;/font&gt;&lt;font size="2"&gt; bytecount = System.GC.GetTotalMemory(&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;true&lt;/font&gt;&lt;font size="2"&gt;);&lt;br /&gt;DataSet1 ds = &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;new&lt;/font&gt;&lt;font size="2"&gt; DataSet1();&lt;br /&gt;ds.EnforceConstraints = &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;false&lt;/font&gt;&lt;font size="2"&gt;;&lt;br /&gt;ds.Order_Details.BeginLoadData();&lt;br /&gt;ds.Orders.BeginLoadData();&lt;br /&gt;ds.ReadXml("c:\\test.xml");&lt;br /&gt;bytecount = System.GC.GetTotalMemory(&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;true&lt;/font&gt;&lt;font size="2"&gt;) - bytecount;&lt;br /&gt;MessageBox.Show("Loaded - Waiting. Total K = " + (bytecount/1024).ToString());&lt;/font&gt; 
&lt;p&gt;&lt;font color="#0000ff" size="2"&gt;long&lt;/font&gt;&lt;font size="2"&gt; bytecount = System.GC.GetTotalMemory(&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;true&lt;/font&gt;&lt;font size="2"&gt;);&lt;br /&gt;System.Xml.XmlDocument xmlDoc = &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;new&lt;/font&gt;&lt;font size="2"&gt; System.Xml.XmlDocument();&lt;br /&gt;xmlDoc.Load("c:\\test.xml");&lt;br /&gt;bytecount = System.GC.GetTotalMemory(&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;true&lt;/font&gt;&lt;font size="2"&gt;) - bytecount;&lt;br /&gt;MessageBox.Show("Loaded - Waiting. Total K = " + (bytecount/1024).ToString());&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;I tried these examples with two different xml files - both storing orders &amp;amp; orderdetails out of the northwind database. The first example was the entire result set of both tables. The dataset memory size was approximately 607K. The XmlDocument was 1894K, over 3 times larger. On a second test, I used only 1 record in both the order and order details tables. The dataset in this case took 24K and the XmlDocument took 26K, a small difference.  You will notice that in my dataset example I have turned off index maintenance on the dataset by using BeginLoadData. Taking this code out resulted in a dataset of 669K, an increase of approximately 10%. An interesting note is that if you put in a BeginLoadData and EndLoadData, the net size of the dataset is only 661K. This would imply that leaving index maintenance on during loads is inefficient in memory usage.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;The speed of loading from XML is a different story.  Because the XmlDocument delays (I'm assuming) the parsing of the XmlDocument, the time to load of the full dataset from an XML file is 1/3rd of the time to load the DataSet from XML. I would be careful in being too concerned about this. Loading a dataset from a relational source like a DataAdapter that involves no Xml parsing and is much faster.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;If you load up Anakrino and take a look at how the Dataset stores it's data, each DataTable has a collection of columns, and each column is in fact a strongly type storage array. Each type of storage array has an appropriate private member array of the underlying value type (integer, string, etc.). The storage array also maintains a bit array that is used to keep track of which rows for that array are null. The bit array is always checked first before going to the typed storage array and returns either null or the default value. That's pretty tight.&lt;/font&gt;&lt;/p&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=284" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/ADO.NET/default.aspx">ADO.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2003/default.aspx">VS2003</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VB.NET/default.aspx">VB.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Tips/default.aspx">Tips</category></item><item><title>The GAC Exposed</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2004/02/24/283.aspx</link><pubDate>Tue, 24 Feb 2004 14:05:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:283</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/283.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=283</wfw:commentRss><description>&lt;p&gt;So you want to see what's in the Gac. Of course if you go to c:\windows\assembly in your explorer - you see a customized shell extension of the global assembly cache. If you want to see the actual files underneath, in the past I've always gone to the command prompt and dir myself into long file name oblivion. &lt;/p&gt;
&lt;p&gt;To get rid of that shell extension, just add a new DisableCacheViewer registry entry (type DWORD) underneath the key HKLM\Software\Microsoft\Fusion and set the value to 1 and presto - it's gone. C:\windows\assembly has never looked so good. Of course, don't do this on your end users' machine as this is really just developer requirement to help figure out what's going on and what's really in the GAC.&lt;/p&gt;
&lt;p&gt;If that doesn't help you debug your assembling binding problems - don't forget about FUSLOGVW.exe. But that's another blog entry for another day.&lt;/p&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=283" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VB.NET/default.aspx">VB.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Tips/default.aspx">Tips</category></item><item><title>Upstaged by Ballmer</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2004/02/17/upstaged-by-ballmer.aspx</link><pubDate>Tue, 17 Feb 2004 19:43:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:278</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/278.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=278</wfw:commentRss><description>&lt;P&gt;So it would seem I'm upstaged by &lt;A href="http://www.cttdnug.org/Nuke/DesktopDefault.aspx?tabid=33"&gt;Steve Ballmer &lt;/A&gt;who is coming to town the same day as the &lt;A href="http://www.cttdnug.org/"&gt;CTTDNUG&lt;/A&gt; presentation I was making about Whidbey.&amp;nbsp; So in the interest of the greater good - my talk has been postponed until Mar 31.&lt;/P&gt;
&lt;P&gt;The “Ballmer Developer Briefing” is mostly about Security...if that interests you?&lt;/P&gt;
&lt;P&gt;What do you mean “IF” - of course that should matter to you. It should matter to everybody. Writing secure code isn't just about logging in you know. It's about keeping your code safe and more importantly your end users machines and data safe and not allowing your software to act as a gaping hole into their system or data be it through spoofing or&amp;nbsp;SQL Injection Attacks. Writing code these days is more of a liability than it ever has and we all have to be responsible - so do yourself and the rest of the world a favour and brush up on your knowledge of security. Either that, or hire a good lawyer. &lt;/P&gt;
&lt;P&gt;I'm so convinced this is a an important event (and sorry that I had to cancel my presentation) that ObjectSharp is co-sponsoring a bus for members of the CTTDNUG that will travel to Toronto from Kitchener and back. And for those of you no where near Kitchener? Did I mention that parking is free?&lt;/P&gt;
&lt;P&gt;See you there.&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=278" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2005/default.aspx">VS2005</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2003/default.aspx">VS2003</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VB.NET/default.aspx">VB.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Southern+Ontario/default.aspx">Southern Ontario</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/WebForms/default.aspx">WebForms</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Services/default.aspx">Services</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Security/default.aspx">Security</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Events/default.aspx">Events</category></item><item><title>Datasets vs. Custom Entities</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2004/02/10/273.aspx</link><pubDate>Tue, 10 Feb 2004 19:33:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:273</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>103</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/273.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=273</wfw:commentRss><description>&lt;p&gt;So you want to build your own entity objects? Maybe you are even purchasing or authoring a code-gen tool to do it for you. I like to use Datasets when possible and people ask why I like them so much. To be fair, I'll write a list of reasons to not use datasets and create your own entities - but for now, this post is all about the pros of datasets. I've been on a two week sales pitch for DataSets with a client so let me summarize.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;They are very bindable.&lt;br /&gt;This is less of an issue for Web forms which don't support 2 way databinding. But for Win forms, datasets are a no brainer. Before you go and say that custom classes are just as bindable and could be, go try an example of implementing IListSource, IList, IBindingList and IEditableObject. Yes you can make your own custom class just as bindable if you want to work at it. &lt;/li&gt;
&lt;li&gt;Easy persistence.&lt;br /&gt;This is a huge one. Firstly, the DataAdapter is almost as important as the DataSet itself. You have full control over the Select, Insert, Update and Delete sql and can use procs if you like. There are flavours for each database. There is a mappings collection that can isolate you from changes in names in your database. But that's not all that is required for persistence. What about optimistic concurrency? The DataSet takes care of remembering the original values of columns so you can use that information in your where clause to look for the record in the same state as when you retrieved it. But wait, there's more. Keeping track of the Row State so you know whether you have to issue deletes, inserts, or updates against that data. These are all things that you'd likely have to do in your own custom class.&lt;/li&gt;
&lt;li&gt;They are sortable.&lt;br /&gt;The DataView makes sorting DataTables very easy.&lt;/li&gt;
&lt;li&gt;They are filterable.&lt;br /&gt;DataView to the rescue here as well. In addition to filtering on column value conditions - you can also filter on row states.&lt;/li&gt;
&lt;li&gt;Strongly Typed Datasets defined by XSD's.&lt;br /&gt;Your own custom classes would probably be strongly typed too...but would they be code generated out of an XSD file? I've seen some strongly typed collection generators that use an XML file but that's not really the right type of document to define schema with.&lt;/li&gt;
&lt;li&gt;Excellent XML integration.&lt;br /&gt;DataSets provide built in XML Serialization with the ReadXml and WriteXml methods. Not surprising, the XML conforms to the schema defined by the XSD file (if we are talking about a strongly typed dataset). You can also stipulate whether columns should be attributes or elements and whether related tables should be nested or not. This all becomes really nice when you start integrating with 3rd party (or 1st party) tools such as BizTalk or InfoPath. And finally, you can of course return a DataSet from a Web Service and the data is serialized with XML automatically.&lt;/li&gt;
&lt;li&gt;Computed Columns&lt;br /&gt;You can add your own columns to a DataTable that are computed based on other values. This can even be a lookup on another DataTable or an aggregate of a child table.&lt;/li&gt;
&lt;li&gt;Relations&lt;br /&gt;Speaking of child tables, yes, you can have complex DataSets with multiple tables in a master detail hierarchy. This is pretty helpful in a number of ways. Both programmatically and visually through binding, you can navigate the relationship from a single record in master table to a collection of child rows related to that parent. You can also enforce the the referential integrity between the two without having to run to the database. You can also insert rows into the child based on the context of the parent record so that the primary key is migrated down into the foreign key columns of the child automatically. &lt;/li&gt;
&lt;li&gt;Data Validation&lt;br /&gt;DataSets help with this although it's not typically thought of as an important feature. It is though. Simple validations can be done by the DataSet itself. Some simple checks include: Data Type, Not Null, Max Length, Referential Integrity, Uniqueness. The DataSet also provides an event model for column changing and row changing (adding &amp; deleting) so you can trap these events and prevent data from getting into the DataSet programmatically. Finally with the SetRowError and SetColumnError you can mark elements in the DataSet with an error condition that is can be queried or shown through binding with the ErrorProvider. You can do this to your own custom entities with implementation of the IDataErrorInfo interface. &lt;/li&gt;
&lt;li&gt;AutoIncrementing values&lt;br /&gt;Useful for columns mapped to identity columns or otherwise sequential values.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;This is not an exhaustive list but I'm already exhausted. In a future post, I'll make a case for custom entities and not DataSets, but I can tell you right now that it will be a smaller list.&lt;/p&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=273" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/ADO.NET/default.aspx">ADO.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2003/default.aspx">VS2003</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VB.NET/default.aspx">VB.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Tips/default.aspx">Tips</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/WinForms/default.aspx">WinForms</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/WebForms/default.aspx">WebForms</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Architecture/default.aspx">Architecture</category></item><item><title>Coming at the debugger the other way.</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2004/02/06/coming-at-the-debugger-the-other-way.aspx</link><pubDate>Fri, 06 Feb 2004 13:54:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:267</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/267.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=267</wfw:commentRss><description>&lt;P&gt;When writing services, I often find myself having to attach to processes manually from within VS.NET. When you can't simply run the code directly from VS.NET and step your way through it this is a common choice. Every time I have to do this though I cringe because I'm walking on thin ice. Sometimes it doesn't work, or you hang, or weird things seem to happen.&lt;/P&gt;
&lt;P&gt;I was having a particularly difficult time with a client yesterday who was debugging through some HTTP handlers when I remember a question from one of the MCSD.NET exams that clued me into the fact that you can programmatically cause a break point - that's right - I said “programmatically“.&lt;/P&gt;&lt;FONT size=2&gt;
&lt;P&gt;System.Diagnostics.Debugger.Break();&lt;/P&gt;&lt;/FONT&gt;
&lt;P&gt;That nifty little class &amp;amp; function call will bring up a dialog box offering to allow you to attach to a new instance of VS.NET or an existing one you might have open - similar to when you get an unhandled exception. For this to work the user running the process requires UIPermission. Not surprisingly the default aspnet user that asp.net normally runs under when the machine.config processmodel section's user is set to “machine” does not have this permission by default. If you are a developer running IIS locally, consider temporarily changing it to “system” or some other user but be careful because doing so causes asp.net to run under the local system account - which is a security risk.&lt;/P&gt;
&lt;P&gt;Too bad there is no T-SQL version of this function - maybe in Yukon.&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=267" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2003/default.aspx">VS2003</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VB.NET/default.aspx">VB.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Tips/default.aspx">Tips</category></item><item><title>Active Directory Application Mode</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2004/02/03/active-directory-application-mode.aspx</link><pubDate>Tue, 03 Feb 2004 22:23:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:265</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>19</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/265.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=265</wfw:commentRss><description>&lt;P&gt;I haven't had much chance to use many of the cool things in Windows 2003 to date, but one of the new things (that incidentally also runs on XP Pro) is a new mode of Active Directory called Application Mode - in total ADAM. I'm finally getting to do some real playing around with this for a large application I've just started working on for a client.&lt;/P&gt;
&lt;P&gt;It's basically a standalone active directory that is ideal for storing your own users and roles etc. to be used by your application in an active directory style - even if your company isn't using active directory. If you do go to AD down the road - it's a simple migration for your app. ADAM also acts as an LDAP server as well which makes it a bit more open. You can really put whatever you want into ADAM as it's schema is extensible (not unlike Active Directory). The idea though is that you can have multiple instances of ADAM installed on your server - each containing data specific to a unique application - while AD would store more globally required data throughout the enterprise.&lt;/P&gt;
&lt;P&gt;It's pretty typical to store this type of application specific data historically into a SQL database. While that's possible, ADAM - and more specifically the underlying AD is more geared to this type of data. A relational DB remains an ideal choice for transactionally updated data, but ADAM is a great place to store any kind of administrative data that is, for the most part, written to once, and then read frequently by your application. &lt;/P&gt;
&lt;P&gt;I'm going to be playing more with this, and specifically doing some performance testing and seeing what kind of improvements can be made by using it in the middle tier, caching some of the data in a wrapper object that is hosted in COM+ and pooled.&lt;/P&gt;
&lt;P&gt;As an aside, I find it kind of strange that Whidbey - and specifically the new ASP.NET membership/roles stuff that is built in doesn't use ADAM - but instead opts for the classic database solution. Fortunately the membership/role model in ASP.NET Whidbey is an extensible provider model so I may just take a crack at creating my own provider that uses ADAM. &lt;/P&gt;
&lt;P&gt;I should probably google that now as someone has probably already been there and done that.&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=265" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2005/default.aspx">VS2005</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/ADO.NET/default.aspx">ADO.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VB.NET/default.aspx">VB.NET</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Security/default.aspx">Security</category></item><item><title>MSDN Regional Director position</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2004/02/03/msdn-regional-director-position.aspx</link><pubDate>Tue, 03 Feb 2004 19:43:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:262</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/262.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=262</wfw:commentRss><description>&lt;P&gt;Wow I missed a whole month blogging. It was a busy one. I was off for a weeks vacation (which really just meant I had 4 weeks worth of work to cram into 3). &lt;/P&gt;
&lt;P&gt;Upon my return I found out that I've been awarded the position of &lt;A href="http://www.microsoftregionaldirectors.com/"&gt;MSDN Regional Director&lt;/A&gt;. I had a meeting with the local MSDN folks last friday to discuss it and I'm quite excited about the upcoming year and honoured to be in such good company. &lt;/P&gt;
&lt;P&gt;I also heard that &lt;A href="http://www.objectsharp.com/Bruce"&gt;Bruce Johnson&lt;/A&gt;&amp;nbsp;was awarded with an Visual Studio.NET MVP award from MS as well. It's been an exciting month around here.&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=262" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2003/default.aspx">VS2003</category></item><item><title>VSLive! 2004 comes to Toronto!</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2003/12/19/vslive-2004-comes-to-toronto.aspx</link><pubDate>Fri, 19 Dec 2003 15:50:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:232</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/232.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=232</wfw:commentRss><description>&lt;A title="VSLive! Spring 2004 Toronto" href="http://www.ftponline.com/conferences/vslive/" target=_blank&gt;VSLive! Spring 2004 Toronto&lt;/A&gt; No details announced yet - but this is promising.&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=232" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2003/default.aspx">VS2003</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Southern+Ontario/default.aspx">Southern Ontario</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Events/default.aspx">Events</category></item><item><title>XAML IntelliSence Patch for PDC "Whidbey" &amp; "Longhorn"</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2003/12/03/xaml-intellisence-patch-for-pdc-whidbey-longhorn.aspx</link><pubDate>Wed, 03 Dec 2003 14:25:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:218</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/218.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=218</wfw:commentRss><description>&lt;P&gt;&lt;B&gt;Overview&lt;/B&gt; The IntelliSense in the PDC bits while editing XAML had problems inside Style elements as well as when completing tags and reformatting. This patch addresses those issues to improve the developer experience. &lt;/P&gt;
&lt;P&gt;&lt;B&gt;System Requirements&lt;/B&gt; &lt;BR&gt;PDC '03 release of Longhorn &lt;BR&gt;PDC '03 release of Visual Studio .NET "Whidbey" &lt;/P&gt;
&lt;P&gt;&lt;B&gt;Download:&lt;/B&gt; &lt;A title="XAML IntelliSence Patch for PDC Visual Studio .NET Whidbey" href="http://download.microsoft.com/download/6/1/c/61c3c8f1-f8bf-434c-8897-8093cd7cfcc4/xispatch.msi" target=_blank&gt;XAML IntelliSence Patch for PDC Visual Studio .NET Whidbey&lt;/A&gt;&lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=218" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/PDC/default.aspx">PDC</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2005/default.aspx">VS2005</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Orcas/default.aspx">Orcas</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Vista/default.aspx">Vista</category><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/VS2003/default.aspx">VS2003</category></item><item><title>PDC Stream Audio/Slides now available.</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2003/11/25/pdc-stream-audio-slides-now-available.aspx</link><pubDate>Tue, 25 Nov 2003 14:41:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:209</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/209.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=209</wfw:commentRss><description>For those that couldn't attend or need to refresh.... http://microsoft.sitestream.com/PDC2003/Default.htm sorry, no &lt;A title=Skittles href="http://objectsharp.com/blogs/dave/posts/170.aspx" target=_blank&gt;skittles&lt;/A&gt; included with this.&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=209" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/PDC/default.aspx">PDC</category></item><item><title>Killer Tablet PC Application for Software Designers?</title><link>http://blogs.objectsharp.com/blogs/barry/archive/2003/11/19/killer-tablet-pc-application-for-software-designers.aspx</link><pubDate>Wed, 19 Nov 2003 18:15:00 GMT</pubDate><guid isPermaLink="false">4e5c2b59-774a-4189-b009-1bb73818b493:202</guid><dc:creator>Barry Gervin</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.objectsharp.com/blogs/barry/comments/202.aspx</comments><wfw:commentRss>http://blogs.objectsharp.com/blogs/barry/commentrss.aspx?PostID=202</wfw:commentRss><description>&lt;P&gt;For those familiar with my &lt;A href="http://www.geek.com/hwswrev/webmodlr.htm"&gt;past life&lt;/A&gt;, you know that I'm a supporter of model-driven development - as long as it helps me develop faster, and doesn't constrain me....throughout the entire SDLC.&lt;/P&gt;
&lt;P&gt;A couple of years ago, I stumbled on to &lt;A href="http://guir.berkeley.edu/projects/denim/"&gt;DENIM&lt;/A&gt;&amp;nbsp;and was intrigued, but didn't really take it up. I've been thinking about getting a tablet PC but have really been waiting for the killer app. I thought it might have been One Note, but I'm not too sure on that yet. I used One Note through the beta and lost all of my data on one occasion and have been afraid of it ever since. I have a pretty low acceptance factor (LAF) of applications that hide the location of their data. Maybe DENIM is the killer app I'm looking for.&lt;/P&gt;
&lt;P&gt;Do yourself a favour and &lt;A href="http://guir.berkeley.edu/projects/denim/media/vl.asx"&gt;watch the video.&lt;/A&gt;&amp;nbsp;DENIM seems complicated enough that my mom won't be able to do anything meaningful with it. But I could easily see myself getting my mother to watch me draw a prototype application without being bored to tears. &lt;/P&gt;&lt;img src="http://blogs.objectsharp.com/aggbug.aspx?PostID=202" width="1" height="1"&gt;</description><category domain="http://blogs.objectsharp.com/blogs/barry/archive/tags/Architecture/default.aspx">Architecture</category></item></channel></rss>
