<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://ducasfrancis.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>My World : Tech</title><link>http://ducasfrancis.com/blogs/myworld/archive/tags/Tech/default.aspx</link><description>Tags: Tech</description><dc:language>en</dc:language><generator>CommunityServer 2.1 SP2 (Build: 61129.2)</generator><item><title>Heroes Happen {Here} 2008 Launch</title><link>http://ducasfrancis.com/blogs/myworld/archive/2008/03/05/heroes-happen-here-2008-launch.aspx</link><pubDate>Thu, 06 Mar 2008 04:42:18 GMT</pubDate><guid isPermaLink="false">77b7c8b1-dbd6-4442-92a2-f709dbb7fb99:2187</guid><dc:creator>ducasfrancis</dc:creator><slash:comments>1</slash:comments><comments>http://ducasfrancis.com/blogs/myworld/comments/2187.aspx</comments><wfw:commentRss>http://ducasfrancis.com/blogs/myworld/commentrss.aspx?PostID=2187</wfw:commentRss><description>&lt;p&gt;I'm famous: &lt;a title="http://blogs.technet.com/itproaustralia/archive/2008/03/06/technet-vodcast-of-the-sydney-heroes-happen-2008-event.aspx" href="http://blogs.technet.com/itproaustralia/archive/2008/03/06/technet-vodcast-of-the-sydney-heroes-happen-2008-event.aspx"&gt;http://blogs.technet.com/itproaustralia/archive/2008/03/06/technet-vodcast-of-the-sydney-heroes-happen-2008-event.aspx&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Watch out for the good looking guy at the end... :-p&lt;/p&gt; &lt;p&gt;I had a great time the other day at the launch event. It was great getting a chance to check out the new improvements in VS, SQL and Windows 2008. And I had a blast catching up with the DPE guys. The free copy of Vista and Windows Server will definitely not go to waste.&lt;/p&gt; &lt;p&gt;BTW, thanks for putting me on the spot Deeps... ;-)&lt;/p&gt; &lt;div style="padding-right:0px;padding-left:0px;padding-bottom:0px;margin:0px;padding-top:0px;display:inline;" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:a8f0b8ac-3547-4181-889f-86b39f64a875" class="wlWriterSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Heroes%20Happen%202008" rel="tag"&gt;Heroes Happen 2008&lt;/a&gt;&lt;/div&gt;&lt;img src="http://ducasfrancis.com/aggbug.aspx?PostID=2187" width="1" height="1"&gt;</description><category domain="http://ducasfrancis.com/blogs/myworld/archive/tags/Tech/default.aspx">Tech</category><category domain="http://ducasfrancis.com/blogs/myworld/archive/tags/Random/default.aspx">Random</category><category domain="http://ducasfrancis.com/blogs/myworld/archive/tags/Visual+Studio+2008/default.aspx">Visual Studio 2008</category><category domain="http://ducasfrancis.com/blogs/myworld/archive/tags/SQL+Server+2008/default.aspx">SQL Server 2008</category><category domain="http://ducasfrancis.com/blogs/myworld/archive/tags/Windows+Server+2008/default.aspx">Windows Server 2008</category></item><item><title>Internet Explorer 8 Beta 1</title><link>http://ducasfrancis.com/blogs/myworld/archive/2008/03/05/internet-explorer-8-beta-1.aspx</link><pubDate>Thu, 06 Mar 2008 02:13:42 GMT</pubDate><guid isPermaLink="false">77b7c8b1-dbd6-4442-92a2-f709dbb7fb99:2186</guid><dc:creator>ducasfrancis</dc:creator><slash:comments>0</slash:comments><comments>http://ducasfrancis.com/blogs/myworld/comments/2186.aspx</comments><wfw:commentRss>http://ducasfrancis.com/blogs/myworld/commentrss.aspx?PostID=2186</wfw:commentRss><description>&lt;p&gt;I managed to download and install IE8 today, after hearing it was available from the Microsoft web site.&lt;/p&gt; &lt;p&gt;The overall setup experience was quite painless, and it managed to keep all my settings from IE7.&lt;/p&gt; &lt;p&gt;The first page that loads after installing introduces the new features of IE8 - i.e. Activities, WebSlices and IE7 Emulation.&lt;/p&gt; &lt;h2&gt;Activities&lt;/h2&gt; &lt;p&gt;Activities give users ready access to the online services they care about most from any page they visit, and developers gain an easy way to extend the reach of their online services. It’s as simple as selecting text to get started with an Activity.&lt;/p&gt; &lt;p&gt;First up, I installed the Windows Live Translator activity and browsed to a site. Highlighting some text gave me a context menu that had the translator activity in it:&lt;/p&gt; &lt;p&gt;&lt;a href="http://ducasfrancis.com/blogs/myworld/WindowsLiveWriter/InternetExplorer8Beta1_B907/image_2.png"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" border="0" alt="image" src="http://ducasfrancis.com/blogs/myworld/WindowsLiveWriter/InternetExplorer8Beta1_B907/image_thumb.png" width="538" height="418"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;I thought this was quite a nice little feature... :)&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;h2&gt;WebSlices&lt;/h2&gt; &lt;blockquote&gt; &lt;p&gt;Developers can mark parts of webpages as "WebSlices" and enable users to monitor information they rely on as they move about the web. With a click in the Favorites bar, users see rich "WebSlice" visuals and developers establish a valuable, persistent end-user connection.&lt;/p&gt; &lt;p&gt;So next I thought I'd try the Facebook WebSlice. I logged into facebook and installed the slice from the toolbar:&lt;/p&gt; &lt;p&gt;&lt;a href="http://ducasfrancis.com/blogs/myworld/WindowsLiveWriter/InternetExplorer8Beta1_B907/image_4.png"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" border="0" alt="image" src="http://ducasfrancis.com/blogs/myworld/WindowsLiveWriter/InternetExplorer8Beta1_B907/image_thumb_1.png" width="558" height="78"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://ducasfrancis.com/blogs/myworld/WindowsLiveWriter/InternetExplorer8Beta1_B907/image_6.png"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" border="0" alt="image" src="http://ducasfrancis.com/blogs/myworld/WindowsLiveWriter/InternetExplorer8Beta1_B907/image_thumb_2.png" width="378" height="216"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;This put a new button in my favourites toolbar. But unfortunately, it didn't work too well...&lt;/p&gt; &lt;p&gt;&lt;a href="http://ducasfrancis.com/blogs/myworld/WindowsLiveWriter/InternetExplorer8Beta1_B907/image_10.png"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" border="0" alt="image" src="http://ducasfrancis.com/blogs/myworld/WindowsLiveWriter/InternetExplorer8Beta1_B907/image_thumb_4.png" width="346" height="229"&gt;&lt;/a&gt;&amp;nbsp; &lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;I also noticed that facebook wanted me to upgrade to IE6 or any other browser...&lt;/p&gt; &lt;p&gt;&lt;a href="http://ducasfrancis.com/blogs/myworld/WindowsLiveWriter/InternetExplorer8Beta1_B907/image_12.png"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" border="0" alt="image" src="http://ducasfrancis.com/blogs/myworld/WindowsLiveWriter/InternetExplorer8Beta1_B907/image_thumb_5.png" width="401" height="193"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;So I thought I'd try...&lt;/p&gt; &lt;h2&gt;IE7 Emulation&lt;/h2&gt; &lt;p&gt;Hitting the IE7 Emulation button on the toolbar actually annoyed me a little:&lt;/p&gt; &lt;p&gt;&lt;a href="http://ducasfrancis.com/blogs/myworld/WindowsLiveWriter/InternetExplorer8Beta1_B907/image_14.png"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" border="0" alt="image" src="http://ducasfrancis.com/blogs/myworld/WindowsLiveWriter/InternetExplorer8Beta1_B907/image_thumb_6.png" width="490" height="121"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Couldn't this just emulate the tab...?&lt;/p&gt; &lt;p&gt;Anyway, I opened another IE window, emulated it and voila! The facebook warning disappeared. That's the extent of my testing this feature for today... :)&lt;/p&gt; &lt;h2&gt;Other Niceties&lt;/h2&gt; &lt;p&gt;The Developer Tools is built-in for some testing fun. I'm really looking forward to using it for sifting through page responses and comparing some of the IE7 and IE8 responses.&lt;/p&gt; &lt;p&gt;The "Are you sure you want to close all tabs" message that appears when you try to close IE with multiple tabs open has morphed to give you the option of just closing the current tab. I always thought a cancel button in these cases is silly because the big red cross in the top right and the Escape button are just as good.&lt;/p&gt; &lt;p&gt;&lt;a href="http://ducasfrancis.com/blogs/myworld/WindowsLiveWriter/InternetExplorer8Beta1_B907/image_18.png"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" border="0" alt="image" src="http://ducasfrancis.com/blogs/myworld/WindowsLiveWriter/InternetExplorer8Beta1_B907/image_thumb_8.png" width="244" height="116"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;The Address Bar changes how you look at the address of the current page by only making the domain name text black and the rest gray. I'm not sure whether this is for security or just usability, but I like it.&lt;/p&gt; &lt;p&gt;&lt;a href="http://ducasfrancis.com/blogs/myworld/WindowsLiveWriter/InternetExplorer8Beta1_B907/image_20.png"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" border="0" alt="image" src="http://ducasfrancis.com/blogs/myworld/WindowsLiveWriter/InternetExplorer8Beta1_B907/image_thumb_9.png" width="329" height="26"&gt;&lt;/a&gt; &lt;/p&gt; &lt;h2&gt;Comments&lt;/h2&gt; &lt;p&gt;It's definitely RAM hungry. Only 5 tabs open and already 110MB in use...&lt;/p&gt; &lt;p&gt;&lt;a href="http://ducasfrancis.com/blogs/myworld/WindowsLiveWriter/InternetExplorer8Beta1_B907/image_22.png"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" border="0" alt="image" src="http://ducasfrancis.com/blogs/myworld/WindowsLiveWriter/InternetExplorer8Beta1_B907/image_thumb_10.png" width="239" height="51"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;It hasn't crashed in the last hour so that's good. :) I'm planning on just using it like IE7 and seeing how I go. I'll definitely keep posting about any oddities and niceties I come across.&lt;/p&gt; &lt;div style="padding-right:0px;padding-left:0px;padding-bottom:0px;margin:0px;padding-top:0px;display:inline;" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:f5ef907c-ee9d-4eea-9764-92514fdcbb6f" class="wlWriterSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Internet%20Explorer" rel="tag"&gt;Internet Explorer&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Internet%20Explorer%208" rel="tag"&gt;Internet Explorer 8&lt;/a&gt;&lt;/div&gt;&lt;img src="http://ducasfrancis.com/aggbug.aspx?PostID=2186" width="1" height="1"&gt;</description><category domain="http://ducasfrancis.com/blogs/myworld/archive/tags/Tech/default.aspx">Tech</category><category domain="http://ducasfrancis.com/blogs/myworld/archive/tags/Random/default.aspx">Random</category><category domain="http://ducasfrancis.com/blogs/myworld/archive/tags/Internet+Explorer+8/default.aspx">Internet Explorer 8</category><category domain="http://ducasfrancis.com/blogs/myworld/archive/tags/Internet+Explorer/default.aspx">Internet Explorer</category></item><item><title>Visual Studio Themes</title><link>http://ducasfrancis.com/blogs/myworld/archive/2008/02/07/visual-studio-themes.aspx</link><pubDate>Fri, 08 Feb 2008 01:45:34 GMT</pubDate><guid isPermaLink="false">77b7c8b1-dbd6-4442-92a2-f709dbb7fb99:2090</guid><dc:creator>ducasfrancis</dc:creator><slash:comments>0</slash:comments><comments>http://ducasfrancis.com/blogs/myworld/comments/2090.aspx</comments><wfw:commentRss>http://ducasfrancis.com/blogs/myworld/commentrss.aspx?PostID=2090</wfw:commentRss><description>&lt;p&gt;&lt;a href="http://www.hanselman.com" target="_blank"&gt;Scott Hanselman&lt;/a&gt; posted about some cool Visual Studio themes so I thought I'd put mine out there.&lt;/p&gt; &lt;p&gt;&lt;a href="http://ducasfrancis.com/blogs/myworld/WindowsLiveWriter/VisualStudioThemes_B35C/image_6.png"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="386" alt="image" src="http://ducasfrancis.com/blogs/myworld/WindowsLiveWriter/VisualStudioThemes_B35C/image_thumb_2.png" width="640" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;As you can see, it's the simple white-on-black. It uses blue class names, purple strings, orange key words, and yellow highlighting. One of the things that some miss is the snippet fields. I've ensure that the fields are white on green and the dependant fields are green highlights.&lt;/p&gt; &lt;p&gt;I've been using this theme for quite a while now and am really enjoying it. It's a variation of something &lt;a href="http://paulstovell.net" target="_blank"&gt;Paul Stovell&lt;/a&gt; gave me a while back.&lt;/p&gt; &lt;p&gt;It's available for download &lt;a href="http://ducasfrancis.com/files/folders/samples/entry2089.aspx" target="_blank"&gt;here&lt;/a&gt;. Give it a go and let me know what you think...&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:8fa5b73d-fc78-4433-9306-8faabbaa3599" style="padding-right:0px;display:inline;padding-left:0px;padding-bottom:0px;margin:0px;padding-top:0px;"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Visual%20Studio%202008" rel="tag"&gt;Visual Studio 2008&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Visual%20Studio%202008%20Theme" rel="tag"&gt;Visual Studio 2008 Theme&lt;/a&gt;&lt;/div&gt;&lt;img src="http://ducasfrancis.com/aggbug.aspx?PostID=2090" width="1" height="1"&gt;</description><category domain="http://ducasfrancis.com/blogs/myworld/archive/tags/Tech/default.aspx">Tech</category><category domain="http://ducasfrancis.com/blogs/myworld/archive/tags/Random/default.aspx">Random</category><category domain="http://ducasfrancis.com/blogs/myworld/archive/tags/Visual+Studio+2008/default.aspx">Visual Studio 2008</category></item><item><title>Synergy over a KVM</title><link>http://ducasfrancis.com/blogs/myworld/archive/2008/02/05/synergy-over-a-kvm.aspx</link><pubDate>Tue, 05 Feb 2008 22:16:11 GMT</pubDate><guid isPermaLink="false">77b7c8b1-dbd6-4442-92a2-f709dbb7fb99:2061</guid><dc:creator>ducasfrancis</dc:creator><slash:comments>0</slash:comments><comments>http://ducasfrancis.com/blogs/myworld/comments/2061.aspx</comments><wfw:commentRss>http://ducasfrancis.com/blogs/myworld/commentrss.aspx?PostID=2061</wfw:commentRss><description>&lt;p&gt;I was considering getting a KVM the other day, but stumbled across an open source application named &lt;a href="http://synergy2.sourceforge.net/" target="_blank"&gt;Synergy&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;It's a pretty nifty little app that lets you share a keyboard and mouse across two or more machines. This means that I can have my &lt;a href="http://ducasfrancis.com/blogs/myworld/archive/2007/11/29/my-new-dell-xps-m1330.aspx" target="_blank"&gt;laptop&lt;/a&gt; sitting next to my &lt;a href="http://ducasfrancis.com/blogs/myworld/archive/2007/04/17/my-new-computer.aspx" target="_blank"&gt;desktop&lt;/a&gt; monitor and use the keyboard and mouse hooked up to my desktop to control the laptop.&lt;/p&gt; &lt;p&gt;The setup experience is the only hitch to this application. It's not totally user friendly, but it's not that hard to figure out.&lt;/p&gt; &lt;p&gt;Firstly, chose which machine will be the server and run the application on it. Choose the option "Share this computer's mouse and keyboard (server)" and click Configure.&lt;/p&gt; &lt;p&gt;&lt;a href="http://ducasfrancis.com/blogs/myworld/WindowsLiveWriter/SynergyoveraKVM_823C/image_2.png"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="189" alt="image" src="http://ducasfrancis.com/blogs/myworld/WindowsLiveWriter/SynergyoveraKVM_823C/image_thumb.png" width="244" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;Then, setup a screen for the server and the client machines by clicking the + button under the Screens list. This will give you a screen where you can type the names of the machines and modify the behaviour of the switch. It's probably best to leave the behaviour as standard at first and modify this later if required.&lt;/p&gt; &lt;p&gt;&lt;a href="http://ducasfrancis.com/blogs/myworld/WindowsLiveWriter/SynergyoveraKVM_823C/image_4.png"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="244" alt="image" src="http://ducasfrancis.com/blogs/myworld/WindowsLiveWriter/SynergyoveraKVM_823C/image_thumb_1.png" width="166" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;Now you should have (at least) two machine names in the screens list, it's time to setup the switching behaviour. Under the Links list, there are a couple of text boxes and drop downs. The easiest way to tackle these is to picture where your laptop screen is in relation to your desktop screen. My laptop is on the left of my desktop so I just selected "left" from the first drop down, then my desktop name, then my laptop name and pressed the + button. This means that when my mouse pointer goes over to the left edge of the desktop screen it will become my laptop's pointer.&lt;/p&gt; &lt;p&gt;&lt;a href="http://ducasfrancis.com/blogs/myworld/WindowsLiveWriter/SynergyoveraKVM_823C/clip_image001_2.png"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="171" alt="clip_image001" src="http://ducasfrancis.com/blogs/myworld/WindowsLiveWriter/SynergyoveraKVM_823C/clip_image001_thumb.png" width="244" border="0"&gt;&lt;/a&gt; &lt;p&gt;I also need to setup the behaviour for how to go back to the desktop screen, so I just selected the opposite of what I had before.&lt;/p&gt; &lt;p&gt;&lt;a href="http://ducasfrancis.com/blogs/myworld/WindowsLiveWriter/SynergyoveraKVM_823C/image_6.png"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="171" alt="image" src="http://ducasfrancis.com/blogs/myworld/WindowsLiveWriter/SynergyoveraKVM_823C/image_thumb_2.png" width="244" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;Now I press OK to close the configuration screen and press start to start the server. If you haven't set it up properly you will get a crazy error message, so just close Synergy and start again. If you're running Vista (and/or a good firewall) you should be prompted that Synergy is trying to do something funny, so just let it. If you're running a firewall and you're not prompted, go to the firewall settings and make sure that Synergy is allowed to communicate.&lt;/p&gt; &lt;p&gt;Lastly, I need to connect my laptop to the server. I did this by opening Synergy on my laptop, which is a client machine, choosing the "Use another computer's shared keyboard and mouse (client)", and entering the name of my desktop (server) PC.&lt;/p&gt; &lt;p&gt;&lt;a href="http://ducasfrancis.com/blogs/myworld/WindowsLiveWriter/SynergyoveraKVM_823C/image_8.png"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="189" alt="image" src="http://ducasfrancis.com/blogs/myworld/WindowsLiveWriter/SynergyoveraKVM_823C/image_thumb_3.png" width="244" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;Now when I press start (and cross my fingers) the client connects to the server and I can freely use my two computers with the same keyboard and mouse while Synergy runs with an icon in the system tray.&lt;/p&gt; &lt;p&gt;That's it! It's simple was you get through the slightly cryptic UI, and it really works quite well.&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:eb07ba44-9fd4-4a90-b13a-5d329a1ed465" style="padding-right:0px;display:inline;padding-left:0px;padding-bottom:0px;margin:0px;padding-top:0px;"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Synergy" rel="tag"&gt;Synergy&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Tech" rel="tag"&gt;Tech&lt;/a&gt;&lt;/div&gt;&lt;img src="http://ducasfrancis.com/aggbug.aspx?PostID=2061" width="1" height="1"&gt;</description><category domain="http://ducasfrancis.com/blogs/myworld/archive/tags/Tech/default.aspx">Tech</category><category domain="http://ducasfrancis.com/blogs/myworld/archive/tags/Random/default.aspx">Random</category></item><item><title>RDN - Guest Starring Me for SSIS</title><link>http://ducasfrancis.com/blogs/myworld/archive/2008/01/29/rdn-guest-starring-me-for-ssis.aspx</link><pubDate>Tue, 29 Jan 2008 11:08:00 GMT</pubDate><guid isPermaLink="false">77b7c8b1-dbd6-4442-92a2-f709dbb7fb99:1967</guid><dc:creator>ducasfrancis</dc:creator><slash:comments>2</slash:comments><comments>http://ducasfrancis.com/blogs/myworld/comments/1967.aspx</comments><wfw:commentRss>http://ducasfrancis.com/blogs/myworld/commentrss.aspx?PostID=1967</wfw:commentRss><description>&lt;P&gt;Today was my first day presenting at &lt;A title="Readify Developer Network" href="http://www.readify.net.au/rdn.aspx" target=_blank&gt;RDN&lt;/A&gt;. It also marked my second and third user group presentations ever.&lt;/P&gt;
&lt;P&gt;I can quite safely say that I am one of the least presented members of the Readify team, which is the main reason I took up the challenge of presenting at this level.&lt;/P&gt;
&lt;P&gt;The Depth session was presented by &lt;A class="" title="Damian Edwards' Space" href="http://damianpedwards.spaces.live.com/" target=_blank&gt;Damian Edwards&lt;/A&gt; on CSS with ASP.NET using Visual Studio 2008. It was a really good session that gave me a great insight into CSS and hopefully will stop me from ever using tables again... :-)&lt;/P&gt;
&lt;P&gt;My presentation was on &lt;A title="Microsoft - SQL Server Integration Services" href="http://www.microsoft.com/sql/technologies/integration/default.mspx" target=_blank&gt;SQL Server Integration Services&lt;/A&gt;, specifically in SQL Server 2008. The slide deck was not that intense and basically addressed the questions "What is SSIS?" and "What's different in SSIS 2005 and 2008?" It will be available soon on the &lt;A title="Readify Developer Network Downloads" href="http://www.readify.net.au/rdndownloads.aspx" target=_blank&gt;RDN Downloads&lt;/A&gt; site.&lt;/P&gt;
&lt;P&gt;In the meantime, I thought I'd put up a few links to the resources I used in preparing for this presentation.&lt;/P&gt;
&lt;P&gt;As I mentioned tonight, I find the MSDN library help quite useless when it comes to developing SSIS packages. The &lt;A href="http://msdn2.microsoft.com/en-us/library/ms141026.aspx" target=_blank&gt;SSIS Books Online&lt;/A&gt; site does have a couple of good intro and how-to topics.&lt;/P&gt;
&lt;P&gt;For my demos, I used the November CTP of SQL 2008, which is available as a &lt;A title="Microsoft SQL Server 2008 Community Technology Preview (November 2007) VHD" href="http://www.microsoft.com/downloads/details.aspx?familyid=6a39affa-db6e-48a9-82e4-4efd6705f4a6&amp;amp;displaylang=en" target=_blank&gt;VHD from MSDN&lt;/A&gt;. This is a time-bombed installation of Windows Server 2003 with the SQL Server 2008 CTP pre-installed and set up with all the important features enabled, such as Reporting Services, Integration Services, etc.&lt;/P&gt;
&lt;P&gt;For the "What's new..." I referred to &lt;A href="http://blogs.msdn.com/mattm" target=_blank&gt;MattM's blog&lt;/A&gt;. Specifically the excellent What's New in SQL Server 2008 &lt;A title="MattM - What's new in SQL Server 2008 Part One" href="http://blogs.msdn.com/mattm/archive/2008/01/10/what-s-new-in-sql-server-2008-for-ssis-part-one.aspx" target=_blank&gt;Part One&lt;/A&gt; and &lt;A title="MattM - What's new in SQL Server 2008 Part Two" href="http://blogs.msdn.com/mattm/archive/2008/01/22/what-s-new-in-sql-server-2008-for-ssis-part-two.aspx" target=_blank&gt;Part Two&lt;/A&gt; summary posts. These link to a few other good write-ups as well.&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;Then there's &lt;A href="http://www.codeplex.com/" target=_blank&gt;CodePlex&lt;/A&gt;. The &lt;A title="SQL 2008 Sample Databases" href="http://www.codeplex.com/MSFTDBProdSamples/Release/ProjectReleases.aspx?ReleaseId=8392" target=_blank&gt;AdventureWorksDB and AdventureWorksBI&lt;/A&gt; sample database installations, along with the &lt;A title="SQL Server 2008 Integration Services Samples" href="http://www.codeplex.com/MSFTISProdSamples/Release/ProjectReleases.aspx?ReleaseId=8403" target=_blank&gt;SQLServerSamplesIS&lt;/A&gt; SSIS samples are excellent resources.&lt;/P&gt;
&lt;P&gt;For those new to SSIS and still living in the DTS world, all I can say is "what are you waiting for?!" :-)&lt;/P&gt;
&lt;DIV class=wlWriterSmartContent id=scid:0767317B-992E-4b12-91E0-4F059A8CECA8:cb093ad4-f7c0-47e9-b9d7-119097c6b8ad style="PADDING-RIGHT:0px;DISPLAY:inline;PADDING-LEFT:0px;PADDING-BOTTOM:0px;MARGIN:0px;PADDING-TOP:0px;"&gt;Technorati Tags: &lt;A href="http://technorati.com/tags/RDN" rel=tag&gt;RDN&lt;/A&gt;,&lt;A href="http://technorati.com/tags/Readify" rel=tag&gt;Readify&lt;/A&gt;,&lt;A href="http://technorati.com/tags/SQL%20Server%202005" rel=tag&gt;SQL Server 2005&lt;/A&gt;,&lt;A href="http://technorati.com/tags/SQL%20Server%202008" rel=tag&gt;SQL Server 2008&lt;/A&gt;,&lt;A href="http://technorati.com/tags/SSIS" rel=tag&gt;SSIS&lt;/A&gt;,&lt;A href="http://technorati.com/tags/Tech" rel=tag&gt;Tech&lt;/A&gt;&lt;/DIV&gt;&lt;/BLOCKQUOTE&gt;&lt;img src="http://ducasfrancis.com/aggbug.aspx?PostID=1967" width="1" height="1"&gt;</description><category domain="http://ducasfrancis.com/blogs/myworld/archive/tags/Tech/default.aspx">Tech</category><category domain="http://ducasfrancis.com/blogs/myworld/archive/tags/Readify/default.aspx">Readify</category><category domain="http://ducasfrancis.com/blogs/myworld/archive/tags/SQL+Server+2005/default.aspx">SQL Server 2005</category><category domain="http://ducasfrancis.com/blogs/myworld/archive/tags/SSIS/default.aspx">SSIS</category><category domain="http://ducasfrancis.com/blogs/myworld/archive/tags/SQL+Server+2008/default.aspx">SQL Server 2008</category><category domain="http://ducasfrancis.com/blogs/myworld/archive/tags/RDN/default.aspx">RDN</category></item><item><title>MVC Template Fix</title><link>http://ducasfrancis.com/blogs/myworld/archive/2008/01/10/mvc-template-fix.aspx</link><pubDate>Thu, 10 Jan 2008 22:10:31 GMT</pubDate><guid isPermaLink="false">77b7c8b1-dbd6-4442-92a2-f709dbb7fb99:1781</guid><dc:creator>ducasfrancis</dc:creator><slash:comments>1</slash:comments><comments>http://ducasfrancis.com/blogs/myworld/comments/1781.aspx</comments><wfw:commentRss>http://ducasfrancis.com/blogs/myworld/commentrss.aspx?PostID=1781</wfw:commentRss><description>&lt;p&gt;Last week I posted about &lt;a href="http://ducasfrancis.com/blogs/myworld/archive/2008/01/03/stop-celebrating-start-learning.aspx" target="_blank"&gt;my PD experience&lt;/a&gt;, including work on the new ASP.NET MVC. In this post I mentioned that there is a bug in the MVC that doesn't allow you to access control on an MVC content page from the code-behind.&lt;/p&gt; &lt;p&gt;Well, today I found a post on &lt;a href="http://www.squaredroot.com/" target="_blank"&gt;Troy Goode's site&lt;/a&gt; (that I should have found a week ago... :-)) that shows you how to implement the &lt;a href="http://www.squaredroot.com/post/2008/01/MVC-Template-Fix.aspx"&gt;MVC Template Fix&lt;/a&gt; to get around this bug by using the "Convert to Web Application" function in VS2008 or by fixing the template files included in the MVC. This fix basically involves adding a designer code file in the page templates and referencing it in the vtemplate file.&lt;/p&gt; &lt;p&gt;Apparently this will be fixed in the next release of the MVC, for those who can wait...&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:4d64d6a5-ed26-4b98-b4ea-54e7903251f3" style="padding-right:0px;display:inline;padding-left:0px;padding-bottom:0px;margin:0px;padding-top:0px;"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/ASP.NET" rel="tag"&gt;ASP.NET&lt;/a&gt;,&lt;a href="http://technorati.com/tags/ASP.NET%203.5%20Extensions" rel="tag"&gt;ASP.NET 3.5 Extensions&lt;/a&gt;,&lt;a href="http://technorati.com/tags/ASP.NET%20MVC" rel="tag"&gt;ASP.NET MVC&lt;/a&gt;,&lt;a href="http://technorati.com/tags/C#" rel="tag"&gt;C#&lt;/a&gt;,&lt;a href="http://technorati.com/tags/C#%203.0" rel="tag"&gt;C# 3.0&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Tech" rel="tag"&gt;Tech&lt;/a&gt;&lt;/div&gt;&lt;img src="http://ducasfrancis.com/aggbug.aspx?PostID=1781" width="1" height="1"&gt;</description><category domain="http://ducasfrancis.com/blogs/myworld/archive/tags/Tech/default.aspx">Tech</category><category domain="http://ducasfrancis.com/blogs/myworld/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://ducasfrancis.com/blogs/myworld/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://ducasfrancis.com/blogs/myworld/archive/tags/ASP.NET+3.5+Extensions/default.aspx">ASP.NET 3.5 Extensions</category><category domain="http://ducasfrancis.com/blogs/myworld/archive/tags/ASP.NET+MVC/default.aspx">ASP.NET MVC</category><category domain="http://ducasfrancis.com/blogs/myworld/archive/tags/C_2300_+3.0/default.aspx">C# 3.0</category></item><item><title>TDD for ASP.NET MVC using StructureMap</title><link>http://ducasfrancis.com/blogs/myworld/archive/2008/01/03/tdd-for-asp-net-mvc-using-structuremap.aspx</link><pubDate>Fri, 04 Jan 2008 06:13:59 GMT</pubDate><guid isPermaLink="false">77b7c8b1-dbd6-4442-92a2-f709dbb7fb99:1684</guid><dc:creator>ducasfrancis</dc:creator><slash:comments>4</slash:comments><comments>http://ducasfrancis.com/blogs/myworld/comments/1684.aspx</comments><wfw:commentRss>http://ducasfrancis.com/blogs/myworld/commentrss.aspx?PostID=1684</wfw:commentRss><description>&lt;p&gt;Ok, so I just posted less than an hour ago, but now I've found something worth talking about. :)&lt;/p&gt; &lt;p&gt;After working my way through &lt;a href="http://haacked.com/"&gt;Phil Haack's&lt;/a&gt; blog on &lt;a href="http://haacked.com/archive/2007/12/07/tdd-and-dependency-injection-with-asp.net-mvc.aspx"&gt;TDD with DI using StructureMap&lt;/a&gt;, I found a few things that I thought may be helpful.&lt;/p&gt; &lt;p&gt;Firstly, don't try to use a LINQ to SQL data context as your concrete implementation of an interface. Apparently that doesn't work. :) I tried this and received a &lt;strong&gt;StructureMapException&lt;/strong&gt;:&lt;/p&gt; &lt;p&gt;&lt;em&gt;&lt;strong&gt;StructureMap Exception Code: 155 - An exception occurred while trying to create an InstanceFactory for PluginType MvcApplication.Models.IPostRepository,MvcApplication&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt; &lt;p&gt;The inner exception was:&lt;/p&gt; &lt;p&gt;&lt;em&gt;&lt;strong&gt;StructureMap Exception Code: 200 - Could not find an InstanceMemento for the requested InstanceKey "LINQToSQL" of of PluginFamily MvcApplication.Models.IPostRepositor&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt; &lt;p&gt;Nasty... As soon as I swapped in a concrete implementation called &lt;strong&gt;PostRepository&lt;/strong&gt; that simply called the methods I had created on top of the data context, everything worked.&lt;/p&gt; &lt;p&gt;Secondly, following the code for the &lt;strong&gt;StructureMapControllerFactory&lt;/strong&gt; object will lead to a compile error because you need to specify a return type from the &lt;strong&gt;ObjectFactory&lt;/strong&gt;.&lt;strong&gt;GetNamedInstance&lt;/strong&gt; method. I used the generic version because I'm too lazy cast now days. That makes the code inside the try block:&lt;/p&gt; &lt;h3&gt;&lt;font color="#0000ff"&gt;return&lt;/font&gt; &lt;font color="#00ff00"&gt;ObjectFactory&lt;/font&gt;.GetNamedInstance&amp;lt;&lt;font color="#00ff00"&gt;IController&lt;/font&gt;&amp;gt;(controllerType.Name);&lt;/h3&gt; &lt;p&gt;Lastly, if you want to use code instead of a configuration file for the &lt;strong&gt;StructureMap&lt;/strong&gt; configuration, add the following to your &lt;strong&gt;Global.asax Application_Start&lt;/strong&gt; event handler:&lt;/p&gt;&lt;font color="#00ff00"&gt;&lt;/font&gt; &lt;h3&gt;&lt;font color="#00ff00"&gt;StructureMapConfiguration&lt;/font&gt;.UseDefaultStructureMapConfigFile = &lt;font color="#0000ff"&gt;false&lt;/font&gt;;&lt;/h3&gt; &lt;h3&gt;&lt;font color="#00ff00"&gt;StructureMapConfiguration&lt;/font&gt;.BuildInstancesOf&amp;lt;&lt;font color="#00ff00"&gt;IPostRepository&lt;/font&gt;&amp;gt;()&lt;/h3&gt; &lt;h3&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; .TheDefaultIsConcreteType&amp;lt;&lt;font color="#00ff00"&gt;InMemoryPostRepository&lt;/font&gt;&amp;gt;;&lt;/h3&gt; &lt;h3&gt;&lt;font color="#00ff00"&gt;StructureMapConfiguration&lt;/font&gt;.BuildInstancesOf&amp;lt;&lt;font color="#00ff00"&gt;IController&lt;/font&gt;&amp;gt;()&lt;/h3&gt; &lt;h3&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; .TheDefaultIsConcreteType&amp;lt;&lt;font color="#00ff00"&gt;BlogController&lt;/font&gt;&amp;gt;;&lt;/h3&gt; &lt;p&gt;So now I have a functional website that uses DI and is unit testable. Hope this helps someone else out there...&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:d88e24ba-938e-4e62-94b1-1223b259a2c5" style="padding-right:0px;display:inline;padding-left:0px;padding-bottom:0px;margin:0px;padding-top:0px;"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/ASP.NET" rel="tag"&gt;ASP.NET&lt;/a&gt;,&lt;a href="http://technorati.com/tags/ASP.NET%203.5%20Extensions" rel="tag"&gt;ASP.NET 3.5 Extensions&lt;/a&gt;,&lt;a href="http://technorati.com/tags/ASP.NET%20MVC" rel="tag"&gt;ASP.NET MVC&lt;/a&gt;,&lt;a href="http://technorati.com/tags/C#" rel="tag"&gt;C#&lt;/a&gt;,&lt;a href="http://technorati.com/tags/StructureMap" rel="tag"&gt;StructureMap&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Tech" rel="tag"&gt;Tech&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Test%20Driven%20Development" rel="tag"&gt;Test Driven Development&lt;/a&gt;&lt;/div&gt;&lt;img src="http://ducasfrancis.com/aggbug.aspx?PostID=1684" width="1" height="1"&gt;</description><category domain="http://ducasfrancis.com/blogs/myworld/archive/tags/Tech/default.aspx">Tech</category><category domain="http://ducasfrancis.com/blogs/myworld/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://ducasfrancis.com/blogs/myworld/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://ducasfrancis.com/blogs/myworld/archive/tags/ASP.NET+3.5+Extensions/default.aspx">ASP.NET 3.5 Extensions</category><category domain="http://ducasfrancis.com/blogs/myworld/archive/tags/ASP.NET+MVC/default.aspx">ASP.NET MVC</category><category domain="http://ducasfrancis.com/blogs/myworld/archive/tags/Test+Driven+Development/default.aspx">Test Driven Development</category><category domain="http://ducasfrancis.com/blogs/myworld/archive/tags/StructureMap/default.aspx">StructureMap</category></item><item><title>Stop Celebrating, Start Learning...</title><link>http://ducasfrancis.com/blogs/myworld/archive/2008/01/03/stop-celebrating-start-learning.aspx</link><pubDate>Fri, 04 Jan 2008 05:32:04 GMT</pubDate><guid isPermaLink="false">77b7c8b1-dbd6-4442-92a2-f709dbb7fb99:1682</guid><dc:creator>ducasfrancis</dc:creator><slash:comments>1</slash:comments><comments>http://ducasfrancis.com/blogs/myworld/comments/1682.aspx</comments><wfw:commentRss>http://ducasfrancis.com/blogs/myworld/commentrss.aspx?PostID=1682</wfw:commentRss><description>&lt;p&gt;After a great start to the new year, I've taken the first three days back at work as PD days to catch up on a few things I've been missing out on. I've had to push my learning curve to the limit, but I've managed to cover off quite a few topics and summarise it all into one not-so-short post.&lt;/p&gt; &lt;p&gt;The gold resource for the week has been the new &lt;a title="Microsoft Download Center - Visual Studio 2008 and .NET Framework 3.5 Training Kit" href="http://www.microsoft.com/downloads/details.aspx?FamilyID=8bdaa836-0bba-4393-94db-6c3c4a0c98a1&amp;amp;DisplayLang=en" target="_blank"&gt;VS2008 Training Kit&lt;/a&gt; that includes a set of presentations, hands-on labs and demos. The presentations I've looked at haven't been much of a help to me at all, but the hands-on labs and demos have been key to me while learning about these technologies.&lt;/p&gt; &lt;p&gt;The first topic I was concerned with was the new features of C# 3.0 and .Net 3.5. I've heard and seen a lot about them, but I've never had a chance to sit down and get to know them. The What's New in C# 3.0 lab in the training kit covers these topics and gives an excellent introduction to how to use them. It takes about an hour to work through an introduces the following concepts:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;automatically implemented properties -&lt;font color="#0000ff"&gt; public int&lt;/font&gt; CustomerID { &lt;font color="#0000ff"&gt;get&lt;/font&gt;; &lt;font color="#0000ff"&gt;private set&lt;/font&gt;; }  &lt;li&gt;object and collection initialisers - &lt;font color="#00ff00"&gt;Customer&lt;/font&gt; c = &lt;font color="#0000ff"&gt;new &lt;/font&gt;&lt;font color="#00ff00"&gt;Customer&lt;/font&gt; { Name = "John", Location = "London" }  &lt;li&gt;implicitly typed local variables and arrays - &lt;font color="#0000ff"&gt;var&lt;/font&gt; complexList = &lt;font color="#0000ff"&gt;new&lt;/font&gt; &lt;font color="#00ff00"&gt;SortedDictionary&lt;/font&gt;&amp;lt;&lt;font color="#00ff00"&gt;string&lt;/font&gt;, &lt;font color="#00ff00"&gt;List&lt;/font&gt;&amp;lt;&lt;font color="#00ff00"&gt;DateTime&lt;/font&gt;&amp;gt;&amp;gt;()  &lt;li&gt;extension methods - &lt;font color="#0000ff"&gt;public static&lt;/font&gt; &lt;font color="#00ff00"&gt;List&lt;/font&gt;&amp;lt;T&amp;gt; Append(&lt;font color="#0000ff"&gt;this&lt;/font&gt; &lt;font color="#00ff00"&gt;List&lt;/font&gt;&amp;lt;T&amp;gt; a, &lt;font color="#00ff00"&gt;List&lt;/font&gt;&amp;lt;T&amp;gt; b) { ... }  &lt;li&gt;lambda expressions - customerList.FindAll( c =&amp;gt; c.Location == "London");  &lt;li&gt;expression trees - &lt;font color="#00ff00"&gt;Expression&lt;/font&gt;&amp;lt;&lt;font color="#00ff00"&gt;Func&lt;/font&gt;&amp;lt;&lt;font color="#00ff00"&gt;int&lt;/font&gt;, &lt;font color="#00ff00"&gt;int&lt;/font&gt;&amp;gt;&amp;gt; addOneExpression = n =&amp;gt; n + 1;  &lt;li&gt;anonymous types - &lt;font color="#0000ff"&gt;var&lt;/font&gt; customer = &lt;font color="#0000ff"&gt;new&lt;/font&gt; { Name = "John", Location = "London" };&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Next up was AJAX. I've had some experience in the past with very very very early AJAX (i.e. XmlHttp... :-)) and know about how it all works, but I've never had the chance to put together a website that utilises it. Once again, the training kit labs came in very handy here. The Introduction to ASP.NET AJAX lab was a great introduction to implementing an the ScirptManager and UpdatePanel controls in an existing website to add AJAX functionality and introduced other concepts such as connecting to WCF services from JavaScript, using LINQ data sources and the &lt;a title="ASP.NET AJAX Control Toolkit Home" href="http://www.asp.net/ajax/ajaxcontroltoolkit/" target="_blank"&gt;AJAX Control Toolkit&lt;/a&gt;. The second lab on the topic was Building AJAX/JSON Services Using WCF, which showed the power of the combination of AJAX and JSON. However, I think it was a bit confusing in that it utilised the AJAX Control Toolkit too much. I would have liked to actually see some JSON strings flying around. :-)&lt;/p&gt; &lt;p&gt;I've also been concentrating some effort on the new &lt;a title="ASP.NET 3.5 Extensions Preview" href="http://www.asp.net/downloads/3.5-extensions/" target="_blank"&gt;ASP.NET 3.5 Extensions&lt;/a&gt;. If you haven't heard about it before, it's basically a collection of toolkits that new functionality being added to ASP.NET 3.5 and ADO.NET in 2008. These functions include:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;ASP.NET MVC  &lt;li&gt;ASP.NET Dynamic Data  &lt;li&gt;New additions to ASP.NET AJAX  &lt;li&gt;ADO.NET Entity Framework  &lt;li&gt;ADO.NET Data Services  &lt;li&gt;Silverlight Controls for ASP.NET&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;The &lt;a title="ASP.NET 3.5 Extensions Preview" href="http://www.asp.net/downloads/3.5-extensions/" target="_blank"&gt;download website&lt;/a&gt; has a few videos on it introducing all of these functions along with a link to the &lt;a title="ASP.NET Quickstarts - 3.5 Extensions" href="http://quickstarts.asp.net/3-5-extensions/" target="_blank"&gt;quickstarts&lt;/a&gt; that do a great job of diving deeper. I actually used ScottGu's blog more... :)&lt;/p&gt; &lt;p&gt;The area I've concentrated on is the MVC. I started by going through the a few posts ScottGu made a little while back (all in &lt;a title="ScottGu - ASP.NET 3.5 Extensions CTP Preview Released" href="http://weblogs.asp.net/scottgu/archive/2007/12/09/asp-net-3-5-extensions-ctp-preview-released.aspx" target="_blank"&gt;this post&lt;/a&gt;). These are an excellent starting point for someone wanting to get their hands dirty. However, there are a few small issues with some of the code that is probably due to it's pre-release nature (or Works on My Computer syndrome :-)). The major issue was that controls on an MVC content page are not accessible in the code-behind. You'll see this if you follow the sample in &lt;a title="ScottGu - ASP.NET MVC Framework Part 1" href="http://weblogs.asp.net/scottgu/archive/2007/11/13/asp-net-mvc-framework-part-1.aspx" target="_blank"&gt;Scott's Part 1 blog post&lt;/a&gt; and try to render the Category list using a ListView control because when it comes time to set the list's data source there is no list in Intellisense. Also, the TestViewEngie class mentioned when developing tests for the controller using an IViewFactory is not available in the MVC framework. &lt;a href="http://haacked.com/" target="_blank"&gt;Phil Haack&lt;/a&gt; has blogged some excellent methods for &lt;a title="Haacked - TDD and Dependency Injection with ASP.NET MVC" href="http://haacked.com/archive/2007/12/07/tdd-and-dependency-injection-with-asp.net-mvc.aspx" target="_blank"&gt;TDD with DI&lt;/a&gt; and &lt;a title="Testing Routes in ASP.NET MVC" href="http://haacked.com/archive/2007/12/17/testing-routes-in-asp.net-mvc.aspx" target="_blank"&gt;Testing Routes&lt;/a&gt; using &lt;a title="Rhino Mocks Framework" href="http://www.ayende.com/projects/rhino-mocks/downloads.aspx" target="_blank"&gt;Rhino Mocks&lt;/a&gt; and &lt;a href="http://structuremap.sourceforge.net/Default.htm" target="_blank"&gt;StructureMap&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;One thing to watch out for in URL routing is that the routes are taken in the order they are created. For example, in Scott's walk through he mentions tweaking the routing rules to add the ability to route /Products/List/Beverages to pass the category to the List action in the Products controller. This would be done easily by adding the following route code to the Global.asax file's Application_Start event handler:&lt;/p&gt; &lt;div class="csharpcode"&gt;&lt;pre class="alt"&gt;&lt;font color="#00ff00"&gt;RouteTable&lt;/font&gt;.Routes.Add(&lt;span class="kwrd"&gt;&lt;font color="#0000ff"&gt;new&lt;/font&gt;&lt;/span&gt; &lt;font color="#00ff00"&gt;Route&lt;/font&gt;&lt;/pre&gt;&lt;pre&gt;{&lt;/pre&gt;&lt;pre class="alt"&gt;    Url = &lt;span class="str"&gt;&lt;font color="#ff0000"&gt;"/Products/List/[category]"&lt;/font&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;    Defaults = &lt;span class="kwrd"&gt;&lt;font color="#0000ff"&gt;new&lt;/font&gt;&lt;/span&gt; { controller = &lt;span class="str"&gt;&lt;font color="#ff0000"&gt;"Products"&lt;/font&gt;&lt;/span&gt;, action = &lt;span class="str"&gt;&lt;font color="#ff0000"&gt;"List"&lt;/font&gt;&lt;/span&gt;, category = (&lt;span class="kwrd"&gt;&lt;font color="#00ff00"&gt;string&lt;/font&gt;&lt;/span&gt;)&lt;span class="kwrd"&gt;&lt;font color="#0000ff"&gt;null&lt;/font&gt;&lt;/span&gt; },&lt;/pre&gt;&lt;pre class="alt"&gt;    RouteHandler = &lt;span class="kwrd"&gt;&lt;font color="#0000ff"&gt;typeof&lt;/font&gt;&lt;/span&gt;(&lt;font color="#00ff00"&gt;MvcRouteHandler&lt;/font&gt;)&lt;/pre&gt;&lt;pre&gt;});&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;I added this under the "/[controller]/[action]/[id]" and whenever I went go to /Products/List/Beverages I would receive an error because the category parameter for the List action was null. Moving the route to the top of the method (i.e. so that it is the first added to the list) fixed this. This behaviour is mentioned in the quickstarts:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;"The order in which Route objects appears in the Routes collection is significant. Route matching occurs from the first route to the last route in the collection. When a match occurs, no more routes are evaluated. Typically the default route will be the last route."&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;By the way, I really suggest watching &lt;a title="Dynamic Data" href="http://download.microsoft.com/download/5/d/1/5d113d2d-571c-4edd-9c1c-59bc0e6981f6/WinVideo-2007-12-08%20Dynamic%20Data.wmv" target="_blank"&gt;the video on Dynamic Data&lt;/a&gt; available on the &lt;a title="ASP.NET 3.5 Extensions Preview" href="http://www.asp.net/downloads/3.5-extensions/" target="_blank"&gt;download website&lt;/a&gt; because it just rocks! It's very simple and very powerful. When you first run a project it builds all the controls and pages requires by the data model. It then allows you to easily extend your data model by using partial methods and add validation and rendering hints using attributes on partial classes. You can also go through and modify all the generated pages. Definitely one of the next stops on my PD roadmap... :-) Once again, Scott's got good &lt;a title="ScottGu - New ASP.NET Dynamic Data Support" href="http://weblogs.asp.net/scottgu/archive/2007/12/14/new-asp-net-dynamic-data-support.aspx" target="_blank"&gt;blog post&lt;/a&gt; with a walk-through and some excellent links.&lt;/p&gt;
&lt;p&gt;I'm going to finish off on a cool little download I found the other day. It's a two page poster of some of the most useful default key bindings (i.e. keyboard shortcuts) available in C# with Visual Studio 2008 available at the &lt;a title="Visual C# 2008 Keybinding Reference Poster" href="http://www.microsoft.com/downloads/details.aspx?familyid=E5F902A8-5BB5-4CC6-907E-472809749973&amp;amp;displaylang=en" target="_blank"&gt;Microsoft Download Centre&lt;/a&gt;.&lt;/p&gt;
&lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:8c60532b-822d-4042-94f3-c7036f089a7f" style="padding-right:0px;display:inline;padding-left:0px;padding-bottom:0px;margin:0px;padding-top:0px;"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/ASP.NET" rel="tag"&gt;ASP.NET&lt;/a&gt;,&lt;a href="http://technorati.com/tags/ASP.NET%203.5%20Extensions" rel="tag"&gt;ASP.NET 3.5 Extensions&lt;/a&gt;,&lt;a href="http://technorati.com/tags/ASP.NET%20AJAX" rel="tag"&gt;ASP.NET AJAX&lt;/a&gt;,&lt;a href="http://technorati.com/tags/ASP.NET%20Data%20Driven" rel="tag"&gt;ASP.NET Data Driven&lt;/a&gt;,&lt;a href="http://technorati.com/tags/ASP.NET%20MVC" rel="tag"&gt;ASP.NET MVC&lt;/a&gt;,&lt;a href="http://technorati.com/tags/C#" rel="tag"&gt;C#&lt;/a&gt;,&lt;a href="http://technorati.com/tags/C#%203.0" rel="tag"&gt;C# 3.0&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Tech" rel="tag"&gt;Tech&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Visual%20Studio%202008" rel="tag"&gt;Visual Studio 2008&lt;/a&gt;&lt;/div&gt;&lt;img src="http://ducasfrancis.com/aggbug.aspx?PostID=1682" width="1" height="1"&gt;</description><category domain="http://ducasfrancis.com/blogs/myworld/archive/tags/Tech/default.aspx">Tech</category><category domain="http://ducasfrancis.com/blogs/myworld/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://ducasfrancis.com/blogs/myworld/archive/tags/ASP.NET+AJAX/default.aspx">ASP.NET AJAX</category><category domain="http://ducasfrancis.com/blogs/myworld/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://ducasfrancis.com/blogs/myworld/archive/tags/ASP.NET+3.5+Extensions/default.aspx">ASP.NET 3.5 Extensions</category><category domain="http://ducasfrancis.com/blogs/myworld/archive/tags/ASP.NET+MVC/default.aspx">ASP.NET MVC</category><category domain="http://ducasfrancis.com/blogs/myworld/archive/tags/ASP.NET+Data+Driven/default.aspx">ASP.NET Data Driven</category><category domain="http://ducasfrancis.com/blogs/myworld/archive/tags/Visual+Studio+2008/default.aspx">Visual Studio 2008</category><category domain="http://ducasfrancis.com/blogs/myworld/archive/tags/C_2300_+3.0/default.aspx">C# 3.0</category></item><item><title>Why doesn't Windows do a better job of handling the case where the default audio device goes away?</title><link>http://ducasfrancis.com/blogs/myworld/archive/2007/10/31/why-doesn-t-windows-do-a-better-job-of-handling-the-case-where-the-default-audio-device-goes-away.aspx</link><pubDate>Wed, 31 Oct 2007 23:55:26 GMT</pubDate><guid isPermaLink="false">77b7c8b1-dbd6-4442-92a2-f709dbb7fb99:1129</guid><dc:creator>ducasfrancis</dc:creator><slash:comments>0</slash:comments><comments>http://ducasfrancis.com/blogs/myworld/comments/1129.aspx</comments><wfw:commentRss>http://ducasfrancis.com/blogs/myworld/commentrss.aspx?PostID=1129</wfw:commentRss><description>&lt;p&gt;As a recent purchaser of a set of bluetooth headphones, I frequently run into the situation of loading a media file before realising that the wrong default audio device is selected. As a result, I've had to shut down IE or WMP in order to change the default audio device before I can hear the audio from my chosen media.&lt;/p&gt; &lt;p&gt;Thinking this was just an issue with Vista, I put it to the back of my mind and tried to keep a mental note. Today I checked my blog subscriptions and found that (once again) &lt;a href="http://blogs.msdn.com/larryosterman/archive/2007/10/31/what-happens-when-audio-rendering-fails.aspx" target="_blank"&gt;Larry Osterman&lt;/a&gt; has done a great job of describing why this happens.&lt;/p&gt; &lt;p&gt;Larry's short answer: "It's the responsibility of the application to deal with handling errors.&amp;nbsp; The audio stack bubbles out the error to the application and lets it figure out how to deal with the problem." &lt;p&gt;What I love about Larry's blog is that he always gets into the nitty-gritty. In this blog post, he goes into how applications access Vista's audio functionality and what developers can do to make their applications handle this situation. &lt;p&gt;My question for today is, if any application can handle this situation, then why doesn't WMP 11...? &lt;p&gt;&lt;a href="http://blogs.msdn.com/larryosterman/archive/2007/10/31/what-happens-when-audio-rendering-fails.aspx"&gt;Larry Osterman's WebLog : What happens when audio rendering fails?&lt;/a&gt;&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:f802d69a-3b9f-4d0b-aa49-f7f84a34ebbe" style="padding-right:0px;display:inline;padding-left:0px;padding-bottom:0px;margin:0px;padding-top:0px;"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Vista" rel="tag"&gt;Vista&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Audio%20Devices" rel="tag"&gt;Audio Devices&lt;/a&gt;&lt;/div&gt;&lt;img src="http://ducasfrancis.com/aggbug.aspx?PostID=1129" width="1" height="1"&gt;</description><category domain="http://ducasfrancis.com/blogs/myworld/archive/tags/Tech/default.aspx">Tech</category><category domain="http://ducasfrancis.com/blogs/myworld/archive/tags/Random/default.aspx">Random</category><category domain="http://ducasfrancis.com/blogs/myworld/archive/tags/Vista/default.aspx">Vista</category></item><item><title>SSIS Loop Containers</title><link>http://ducasfrancis.com/blogs/myworld/archive/2007/10/15/ssis-loop-containers.aspx</link><pubDate>Tue, 16 Oct 2007 04:05:12 GMT</pubDate><guid isPermaLink="false">77b7c8b1-dbd6-4442-92a2-f709dbb7fb99:1113</guid><dc:creator>ducasfrancis</dc:creator><slash:comments>0</slash:comments><comments>http://ducasfrancis.com/blogs/myworld/comments/1113.aspx</comments><wfw:commentRss>http://ducasfrancis.com/blogs/myworld/commentrss.aspx?PostID=1113</wfw:commentRss><description>&lt;p&gt;As I mentioned in &lt;a href="http://ducasfrancis.com/blogs/myworld/archive/2007/10/15/sql-code-camp-is-over.aspx" target="_blank"&gt;my previous post&lt;/a&gt;, I did a short presentation on using loop containers in SSIS.&lt;/p&gt; &lt;p&gt;I promised a few people that I'd publish my code, so &lt;a href="http://ducasfrancis.com/files/folders/samples/entry1111.aspx" target="_blank"&gt;here it is&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;For those that didn't make it, the package demonstrates a basic ForEach Loop container. I decided to demonstrate something that was absolute hell to accomplish in DTS.&lt;/p&gt; &lt;p&gt;Back in the SQL 2000 world, if you wanted to send an automated email to customers, the basic procedure was to write a nasty ActiveX script that would hit the database, loop through the results, create and send an email, then update the database.&lt;/p&gt; &lt;p&gt;In SSIS this is easily accomplished with a ForEach Loop. I show this in the sample from my demo that executes some SQL using an Execute SQL Task to produce a Result Set and looping through the rows with a ForEach loop container to send an email before updating the current row with another SQL Task. I created the package (almost) from scratch within 10 minutes in my demo on Saturday.&lt;/p&gt; &lt;p&gt;I've tacked in a change, which enables a package configuration to demonstrate how you would configure the package in a more practical environment. Please check out the Readme to get an idea of what you need to do to get the package working.&lt;/p&gt; &lt;p&gt;If you have any issues with the package, leave a comment or use my &lt;a title="Contact Me" href="http://ducasfrancis.com/contact.aspx"&gt;Contact Me&lt;/a&gt; form to send me an email.&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:3aebf48e-dda1-4f57-a607-15f1f06cd26c" style="padding-right:0px;display:inline;padding-left:0px;padding-bottom:0px;margin:0px;padding-top:0px;"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/SQL%20Server%202005" rel="tag"&gt;SQL Server 2005&lt;/a&gt;, &lt;a href="http://technorati.com/tags/SQL%20Server%20Integration%20Services" rel="tag"&gt;SQL Server Integration Services&lt;/a&gt;, &lt;a href="http://technorati.com/tags/SSIS" rel="tag"&gt;SSIS&lt;/a&gt;, &lt;a href="http://technorati.com/tags/ForEach%20Loop%20Container" rel="tag"&gt;ForEach Loop Container&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Loop%20Container" rel="tag"&gt;Loop Container&lt;/a&gt;, &lt;a href="http://technorati.com/tags/SQL%20Down%20Under" rel="tag"&gt;SQL Down Under&lt;/a&gt;&lt;/div&gt;&lt;img src="http://ducasfrancis.com/aggbug.aspx?PostID=1113" width="1" height="1"&gt;</description><category domain="http://ducasfrancis.com/blogs/myworld/archive/tags/Tech/default.aspx">Tech</category><category domain="http://ducasfrancis.com/blogs/myworld/archive/tags/SQL+Server+2005/default.aspx">SQL Server 2005</category><category domain="http://ducasfrancis.com/blogs/myworld/archive/tags/SSIS/default.aspx">SSIS</category><category domain="http://ducasfrancis.com/blogs/myworld/archive/tags/SQL+Code+Camp/default.aspx">SQL Code Camp</category></item><item><title>SQL Code Camp is over...</title><link>http://ducasfrancis.com/blogs/myworld/archive/2007/10/15/sql-code-camp-is-over.aspx</link><pubDate>Tue, 16 Oct 2007 03:44:00 GMT</pubDate><guid isPermaLink="false">77b7c8b1-dbd6-4442-92a2-f709dbb7fb99:1112</guid><dc:creator>ducasfrancis</dc:creator><slash:comments>2</slash:comments><comments>http://ducasfrancis.com/blogs/myworld/comments/1112.aspx</comments><wfw:commentRss>http://ducasfrancis.com/blogs/myworld/commentrss.aspx?PostID=1112</wfw:commentRss><description>&lt;P&gt;This year I not only attended, but presented at my first SQL Code Camp hosted by Greg Low and &lt;A href="http://www.sqldownunder.com/" target=_blank&gt;SQL Down Under&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;Overall, it was a great weekend. I took a lot out of several presentations and had the chance to chat with some of the *&lt;STRONG&gt;real*&lt;/STRONG&gt; SQL nuts including &lt;A href="http://www.quest.com/newsroom/Kevin-Kline.aspx" target=_blank&gt;Kevin Kline&lt;/A&gt;, &lt;A href="http://msmvps.com/blogs/robfarley/" target=_blank&gt;Rob Farley&lt;/A&gt;, &lt;A href="http://blogs.msdn.com/dglover/" target=_blank&gt;Dave Glover&lt;/A&gt;, &lt;A href="http://wardyit.com/about.aspx" target=_blank&gt;Peter Ward, Jeff Wharton&lt;/A&gt;, Peter Myers and of course &lt;A href="http://msmvps.com/blogs/GregLow/Default.aspx" target=_blank&gt;Greg Low&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;I also really enjoyed chatting to several other people about my presentation on SSIS and various other side topics.&lt;/P&gt;
&lt;P&gt;I'm looking forward to next year. Hopefully they'll have me back... :)&lt;/P&gt;&lt;img src="http://ducasfrancis.com/aggbug.aspx?PostID=1112" width="1" height="1"&gt;</description><category domain="http://ducasfrancis.com/blogs/myworld/archive/tags/Tech/default.aspx">Tech</category><category domain="http://ducasfrancis.com/blogs/myworld/archive/tags/Readify/default.aspx">Readify</category><category domain="http://ducasfrancis.com/blogs/myworld/archive/tags/SQL+Server+2005/default.aspx">SQL Server 2005</category><category domain="http://ducasfrancis.com/blogs/myworld/archive/tags/Code+Camp/default.aspx">Code Camp</category></item><item><title>Extensible Filtered Lists for Mobile Device User Interface</title><link>http://ducasfrancis.com/blogs/myworld/archive/2007/10/13/extensible-filtered-lists-for-mobile-device-user-interface.aspx</link><pubDate>Sun, 14 Oct 2007 05:08:13 GMT</pubDate><guid isPermaLink="false">77b7c8b1-dbd6-4442-92a2-f709dbb7fb99:1108</guid><dc:creator>ducasfrancis</dc:creator><slash:comments>0</slash:comments><comments>http://ducasfrancis.com/blogs/myworld/comments/1108.aspx</comments><wfw:commentRss>http://ducasfrancis.com/blogs/myworld/commentrss.aspx?PostID=1108</wfw:commentRss><description>&lt;p&gt;It looks like Microsoft's trying to improve the user experience of their mobile devices.&lt;/p&gt; &lt;p&gt;As a recent purchaser of a WM6 Motorola Q 9h, I think this is a great step forward. I've played with Blackberries, Nokias and iPhones and when I pick up my Q I can't help feeling that WM6 could have been done better.&lt;/p&gt; &lt;p&gt;I like the fact that I can do just about anything on my phone, but I think that it's just become too complicated. I've always thought that the way the Xbox Dashboard works with its Blades was a great concept that could be put into other interfaces in the Microsoft world. When HTC announced the Touch I was quite excited because it looked like they were beginning recognising this.&lt;/p&gt; &lt;p&gt;I'm definitely liking the look of the interface put forward in the patent photos. Hopefully it's not limited to the touch screen devices.&lt;/p&gt; &lt;p&gt;&lt;img src="http://www.engadgetmobile.com/media/2007/10/10-12-07-msoftpatent.jpg"&gt; &lt;/p&gt; &lt;p&gt;&lt;a href="http://www.engadget.com/2007/10/12/microsoft-patent-app-shows-off-new-user-interface-for-mobiles/"&gt;Microsoft patent app shows off new user interface for mobiles - Engadget&lt;/a&gt;&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:bf5b3b19-5752-487e-b40d-21070f8dc4d6" style="padding-right:0px;display:inline;padding-left:0px;padding-bottom:0px;margin:0px;padding-top:0px;"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Tech" rel="tag"&gt;Tech&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Windows%20Mobile" rel="tag"&gt;Windows Mobile&lt;/a&gt;&lt;/div&gt;&lt;img src="http://ducasfrancis.com/aggbug.aspx?PostID=1108" width="1" height="1"&gt;</description><category domain="http://ducasfrancis.com/blogs/myworld/archive/tags/Tech/default.aspx">Tech</category><category domain="http://ducasfrancis.com/blogs/myworld/archive/tags/Mobile/default.aspx">Mobile</category></item><item><title>Microsoft Windows Vista SP1 Beta - Review by PC Magazine</title><link>http://ducasfrancis.com/blogs/myworld/archive/2007/10/08/microsoft-windows-vista-sp1-beta-review-by-pc-magazine.aspx</link><pubDate>Tue, 09 Oct 2007 04:07:12 GMT</pubDate><guid isPermaLink="false">77b7c8b1-dbd6-4442-92a2-f709dbb7fb99:1107</guid><dc:creator>ducasfrancis</dc:creator><slash:comments>0</slash:comments><comments>http://ducasfrancis.com/blogs/myworld/comments/1107.aspx</comments><wfw:commentRss>http://ducasfrancis.com/blogs/myworld/commentrss.aspx?PostID=1107</wfw:commentRss><description>&lt;p&gt;The good people at PC Mag have gotten their hands on the Vista SP1 Beta, and are apparently quite pleased with it.&lt;/p&gt; &lt;p&gt;It seems that the performance and responsiveness of the overall system is obviously increased. The time taken to wake a machine from hibernation along with copying and extracting files has been noticeably reduced.&lt;/p&gt; &lt;p&gt;A couple of security enhancements have been made as well including the ability to use BitLocker on secondary hard drives, signing Remote Desktop files, the addition of Secure Socket Tunneling Protocol and the ability for anti-malware software to extend the 64-bit kernel.&lt;/p&gt; &lt;p&gt;The only issue reported in the review was that upgrading an existing installation of Vista didn't install properly on one of the test systems.&lt;/p&gt; &lt;p&gt;Continue reading for the full review...&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.pcmag.com/article2/0,1895,2192546,00.asp"&gt;Microsoft Windows Vista SP1 Beta - Review by PC Magazine&lt;/a&gt; &lt;/p&gt; &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:8c87d320-5b1f-4367-8daf-6842c1f020c1" style="padding-right:0px;display:inline;padding-left:0px;padding-bottom:0px;margin:0px;padding-top:0px;"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Tech" rel="tag"&gt;Tech&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Windows%20Vista" rel="tag"&gt;Windows Vista&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Windows%20Vista%20SP1" rel="tag"&gt;Windows Vista SP1&lt;/a&gt;&lt;/div&gt;&lt;img src="http://ducasfrancis.com/aggbug.aspx?PostID=1107" width="1" height="1"&gt;</description><category domain="http://ducasfrancis.com/blogs/myworld/archive/tags/Tech/default.aspx">Tech</category><category domain="http://ducasfrancis.com/blogs/myworld/archive/tags/Vista/default.aspx">Vista</category></item><item><title>Microsoft's new Zunes: officially in 80, 8, and 4GB sizes - Engadget</title><link>http://ducasfrancis.com/blogs/myworld/archive/2007/10/02/microsoft-s-new-zunes-officially-in-80-8-and-4gb-sizes-engadget.aspx</link><pubDate>Wed, 03 Oct 2007 03:49:34 GMT</pubDate><guid isPermaLink="false">77b7c8b1-dbd6-4442-92a2-f709dbb7fb99:1103</guid><dc:creator>ducasfrancis</dc:creator><slash:comments>0</slash:comments><comments>http://ducasfrancis.com/blogs/myworld/comments/1103.aspx</comments><wfw:commentRss>http://ducasfrancis.com/blogs/myworld/commentrss.aspx?PostID=1103</wfw:commentRss><description>&lt;p&gt;New 80GB HDD and 8/4GB Flash Zunes have been announced to be released sometime in November.&lt;/p&gt; &lt;p&gt;&lt;a title="Zune family pics" href="http://www.engadget.com/photos/microsofts-new-zunes-officially-in-80-8-and-4gb-sizes/" target="_blank"&gt;&lt;img src="http://www.blogsmithmedia.com/www.engadget.com/media/2007/10/new-zune-family.jpg"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;New features?&lt;/p&gt; &lt;ul&gt; &lt;li&gt;funky new dpad&lt;/li&gt; &lt;li&gt;h.264 and MPEG decoding&lt;/li&gt; &lt;li&gt;WiFi sync to host&lt;/li&gt; &lt;li&gt;3x3 file sharing DRM has been changed to a 3 play limit (i.e. no more 3 day limit)&lt;/li&gt; &lt;li&gt;Zune PC software rewritten (from scratch apparently)...&lt;/li&gt; &lt;li&gt;Zune store will be DRM FREE!!!&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Can't wait to see some reviews. No word on if they ever plan on being released outside the US though...&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.engadget.com/2007/10/02/microsofts-new-zunes-officially-in-80-8-and-4gb-sizes/"&gt;Microsoft's new Zunes: officially in 80, 8, and 4GB sizes - Engadget&lt;/a&gt; &lt;/p&gt; &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:95ee5081-d455-4807-9b5c-bcab1f267001" style="padding-right:0px;display:inline;padding-left:0px;padding-bottom:0px;margin:0px;padding-top:0px;"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Tech" rel="tag"&gt;Tech&lt;/a&gt;&lt;/div&gt;&lt;img src="http://ducasfrancis.com/aggbug.aspx?PostID=1103" width="1" height="1"&gt;</description><category domain="http://ducasfrancis.com/blogs/myworld/archive/tags/Tech/default.aspx">Tech</category></item><item><title>How not to use variables in SSIS</title><link>http://ducasfrancis.com/blogs/myworld/archive/2007/08/14/how-not-to-use-variables-in-ssis.aspx</link><pubDate>Wed, 15 Aug 2007 03:11:37 GMT</pubDate><guid isPermaLink="false">77b7c8b1-dbd6-4442-92a2-f709dbb7fb99:1067</guid><dc:creator>ducasfrancis</dc:creator><slash:comments>0</slash:comments><comments>http://ducasfrancis.com/blogs/myworld/comments/1067.aspx</comments><wfw:commentRss>http://ducasfrancis.com/blogs/myworld/commentrss.aspx?PostID=1067</wfw:commentRss><description>&lt;p&gt;Here's a little problem that caused me a couple of hours of pain...&lt;/p&gt; &lt;p&gt;I've been working on an SSIS package that deals with some data in a Data Flow Task and transforms it to XML. Instead of using an in memory record set as the destination of the data flow and putting all the data into an XML string, I decided that I'd use a script task as the destination and write a few lines of VB (grr... =P) to write the results to an XML string and set a variable with the result. Sounds simple enough right? 3 hours later, I was still struggling to write the results to the variable until I stumbled on this little gem.&lt;/p&gt; &lt;p&gt;Given that the Me object has a Variables object which contains&amp;nbsp;the variables that you have given the task access to, you'd think the way to set the variable would be:&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;div style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;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;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:white;border-bottom-style:none;"&gt;&lt;span style="color:#0000ff;"&gt;Me&lt;/span&gt;.Variables.XmlResult = xmlString&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Of course, this is wrong. Doing this gives you a lovely COM Exception stating (in a rather cryptic way) that you can't set the variable.&lt;/p&gt;
&lt;p&gt;So, how should you do it...?&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;div style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;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;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:white;border-bottom-style:none;"&gt;&lt;span style="color:#0000ff;"&gt;Dim&lt;/span&gt; variables &lt;span style="color:#0000ff;"&gt;As&lt;/span&gt; IDTSVariables90&lt;/pre&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;Me&lt;/span&gt;.VariableDispenser.LockForWrite(&lt;span style="color:#006080;"&gt;"XmlResult"&lt;/span&gt;)&lt;/pre&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:white;border-bottom-style:none;"&gt;&lt;span style="color:#0000ff;"&gt;Me&lt;/span&gt;.VariableDispenser.GetVariables(variables)&lt;/pre&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;variables(&lt;span style="color:#006080;"&gt;"XmlResult"&lt;/span&gt;).Value = document.OuterXml&lt;/pre&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:white;border-bottom-style:none;"&gt;variables.Unlock()&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&amp;lt;sarcasm&amp;gt;How obvious is that...?&amp;lt;/sarcasm&amp;gt;&lt;/p&gt;
&lt;div class="wlWriterSmartContent" id="0767317B-992E-4b12-91E0-4F059A8CECA8:9977c16e-00db-4dc3-9ff7-6123c334bb04" style="padding-right:0px;display:inline;padding-left:0px;padding-bottom:0px;margin:0px;padding-top:0px;"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Tech" rel="tag"&gt;Tech&lt;/a&gt;, &lt;a href="http://technorati.com/tags/SSIS" rel="tag"&gt;SSIS&lt;/a&gt;, &lt;a href="http://technorati.com/tags/SQL%20Server%202005" rel="tag"&gt;SQL Server 2005&lt;/a&gt;&lt;/div&gt;&lt;img src="http://ducasfrancis.com/aggbug.aspx?PostID=1067" width="1" height="1"&gt;</description><category domain="http://ducasfrancis.com/blogs/myworld/archive/tags/Tech/default.aspx">Tech</category></item></channel></rss>