<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:blogChannel="http://backend.userland.com/blogChannelModule" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">
  <channel>
    <title>StructureTooBig Blog</title>
    <description>developing on the microsoft stack</description>
    <link>http://blog.structuretoobig.com/</link>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>BlogEngine.NET 1.5.0.7</generator>
    <language>en-US</language>
    <blogChannel:blogRoll>http://blog.structuretoobig.com/opml.axd</blogChannel:blogRoll>
    <blogChannel:blink>http://blog.structuretoobig.com/syndication.axd</blogChannel:blink>
    <dc:creator>bhitney</dc:creator>
    <dc:title>StructureTooBig Blog</dc:title>
    <geo:lat>0.000000</geo:lat>
    <geo:long>0.000000</geo:long>
    <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/structuretoobig" type="application/rss+xml" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
      <title>MSDN Southern Fried Roadshow</title>
      <description>&lt;p&gt;We’re back!&amp;#160; Starting early November, we’ll start our fall MSDN Southern Fried Roadshow series.&amp;#160; Right now, we’re scheduled here:&lt;/p&gt;  &lt;table border="0" cellspacing="0" cellpadding="0" width="738"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td width="88"&gt;11/4/2009&lt;/td&gt;        &lt;td width="102"&gt;Greensboro&lt;/td&gt;        &lt;td width="546"&gt;&lt;a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032429239&amp;amp;Culture=en-US"&gt;http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032429239&amp;amp;Culture=en-US&lt;/a&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width="90"&gt;11/5/2009&lt;/td&gt;        &lt;td width="104"&gt;Raleigh&lt;/td&gt;        &lt;td width="546"&gt;&lt;a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032429321&amp;amp;Culture=en-US"&gt;http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032429321&amp;amp;Culture=en-US&lt;/a&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width="91"&gt;11/6/2009&lt;/td&gt;        &lt;td width="105"&gt;Columbia&lt;/td&gt;        &lt;td width="546"&gt;&lt;a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032429322&amp;amp;Culture=en-US"&gt;http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032429322&amp;amp;Culture=en-US&lt;/a&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width="92"&gt;12/8/2009&lt;/td&gt;        &lt;td width="106"&gt;Atlanta&lt;/td&gt;        &lt;td width="546"&gt;&lt;a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032429323&amp;amp;Culture=en-US"&gt;http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032429323&amp;amp;Culture=en-US&lt;/a&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width="92"&gt;12/9/2009&lt;/td&gt;        &lt;td width="106"&gt;Montgomery&lt;/td&gt;        &lt;td width="546"&gt;&lt;a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032429324&amp;amp;Culture=en-US"&gt;http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032429324&amp;amp;Culture=en-US&lt;/a&gt;&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;Check out our sessions below!&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Introduction to ADO.NET Data Services&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;The new wave of Web applications are built on technologies such as AJAX and Microsoft Silverlight, which enable developers to build better, richer user experiences. These technologies bring a shift in how applications are organized, including a stronger separation of presentation from data. In this session, you’ll learn how ADO.NET Data Services enables applications to expose data as a REST-based data service that can be consumed by Web clients within a corporate network and across the Internet. We’ll look at how the data service is reachable over HTTP, and how URIs are used to identify the various pieces of information available through the service. You’ll get a solid understanding of data service concepts like HTTP verbs (GET, POST, PUT, and DELETE) and data formats (ATOM/APP and JavaScript Object Notation (JSON)).&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Parallel Programming in .NET 4.0 - Much more than Threading!&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;Come learn how the next version of Visual Studio and the Microsoft .NET Framework can help you write better performing and more scalable applications. We take a tour of new .NET APIs, including the Task Parallel Library (TPL) and Parallel LINQ (PLINQ). We also introduce new features in the debugger that help you quickly identify concurrency issues and visualize the internal state of your application. You don’t need any experience with writing multi-threaded code to benefit from this session&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Windows 7 and Windows Server – Exciting New OS Developer Features&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;Windows 7 and Windows Server 2008 R2 come packed with loads of new developer goodies.&amp;#160; Computers are starting to come with more and more hardware built-in – from Ambient Light Sensors to Accelerometers and GPS.&amp;#160; Come learn about how the Windows 7 Sensor API can integrate with your applications, and help them rock with these new hardware capabilities.&amp;#160; Not to be outdone, Windows Server R2 has seen some really incredible boosts to IIS with version 7.5 and the extensibility models.&amp;#160; Now you can manage your databases, delegate control to multiple IIS servers, and configure package deployment from all within one location!&lt;/p&gt;&lt;img src="http://www.myworldmaps.net/map.ashx/fecb0aff-083e-4f42-9b08-9a01e3cb714a/ping" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/structuretoobig/~4/7dhjeGQfDTk" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/structuretoobig/~3/7dhjeGQfDTk/post.aspx</link>
      <author>bhitney</author>
      <comments>http://blog.structuretoobig.com/post/2009/10/24/MSDN-Southern-Fried-Roadshow.aspx#comment</comments>
      <guid isPermaLink="false">http://blog.structuretoobig.com/post.aspx?id=3ab2dae1-3391-45bb-a166-fb9954a72002</guid>
      <pubDate>Sat, 24 Oct 2009 08:54:20 -1300</pubDate>
      <category>Technology</category>
      <category>Microsoft</category>
      <category>Events</category>
      <dc:publisher>bhitney</dc:publisher>
      <pingback:server>http://blog.structuretoobig.com/pingback.axd</pingback:server>
      <pingback:target>http://blog.structuretoobig.com/post.aspx?id=3ab2dae1-3391-45bb-a166-fb9954a72002</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://blog.structuretoobig.com/trackback.axd?id=3ab2dae1-3391-45bb-a166-fb9954a72002</trackback:ping>
      <wfw:comment>http://blog.structuretoobig.com/post/2009/10/24/MSDN-Southern-Fried-Roadshow.aspx#comment</wfw:comment>
      <wfw:commentRss>http://blog.structuretoobig.com/syndication.axd?post=3ab2dae1-3391-45bb-a166-fb9954a72002</wfw:commentRss>
    <feedburner:origLink>http://blog.structuretoobig.com/post.aspx?id=3ab2dae1-3391-45bb-a166-fb9954a72002</feedburner:origLink></item>
    <item>
      <title>Visual Studio 2010 Beta 2 and Fx 4 Available</title>
      <description>&lt;p&gt;This is exciting!&amp;#160; Today, VS2010 Beta 2 and .NET Framework 4 is available for MSDN subscribers.&amp;#160; For more information on VS2010, visit the Visual Studio &lt;a href="http://www.microsoft.com/visualstudio" target="_blank"&gt;home page&lt;/a&gt;.&amp;#160;&amp;#160; If you’re not an MSDN subscriber, general availability is October 21st.&amp;#160; Also, and more importantly, the official launch date:&amp;#160; &lt;strong&gt;&lt;u&gt;March 22nd, 2010&lt;/u&gt;&lt;/strong&gt;.&amp;#160;&amp;#160; Mark your calendars!&lt;/p&gt;  &lt;p&gt;Also, MSDN has received a bit of a makeover, so check it out while downloading.&amp;#160; You may have noticed a few SKU changes with VS/MSDN – I don’t have all the details yet, but it looks like Visual Studio with MSDN will have three main SKUs:&lt;/p&gt;  &lt;h4&gt;&lt;/h4&gt;  &lt;p&gt;&lt;strong&gt;· Microsoft Visual Studio 2010 Ultimate with MSDN:&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Microsoft Visual Studio 2010 Ultimate with MSDN is the comprehensive suite of application lifecycle management tools for teams to ensure quality results from design to deployment.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;· Microsoft Visual Studio 2010 Premium with MSDN:&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Microsoft Visual Studio 2010 Premium with MSDN is a complete toolset for developers to deliver scalable, high quality applications.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;· Microsoft Visual Studio 2010 Professional with MSDN:&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Microsoft Visual Studio 2010 Professional with MSDN is the essential tool for basic development tasks to allow developers to implement their ideas easily.&lt;/p&gt;  &lt;p&gt;More to come on this soon. &lt;/p&gt;&lt;img src="http://www.myworldmaps.net/map.ashx/fecb0aff-083e-4f42-9b08-9a01e3cb714a/ping" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/structuretoobig/~4/nhz24svE28Y" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/structuretoobig/~3/nhz24svE28Y/post.aspx</link>
      <author>bhitney</author>
      <comments>http://blog.structuretoobig.com/post/2009/10/19/Visual-Studio-2010-Beta-2-and-Fx-4-Available.aspx#comment</comments>
      <guid isPermaLink="false">http://blog.structuretoobig.com/post.aspx?id=2668d396-fb85-4fb3-a191-b426fc1a87cd</guid>
      <pubDate>Mon, 19 Oct 2009 05:51:57 -1300</pubDate>
      <category>Development</category>
      <category>Microsoft</category>
      <dc:publisher>bhitney</dc:publisher>
      <pingback:server>http://blog.structuretoobig.com/pingback.axd</pingback:server>
      <pingback:target>http://blog.structuretoobig.com/post.aspx?id=2668d396-fb85-4fb3-a191-b426fc1a87cd</pingback:target>
      <slash:comments>5</slash:comments>
      <trackback:ping>http://blog.structuretoobig.com/trackback.axd?id=2668d396-fb85-4fb3-a191-b426fc1a87cd</trackback:ping>
      <wfw:comment>http://blog.structuretoobig.com/post/2009/10/19/Visual-Studio-2010-Beta-2-and-Fx-4-Available.aspx#comment</wfw:comment>
      <wfw:commentRss>http://blog.structuretoobig.com/syndication.axd?post=2668d396-fb85-4fb3-a191-b426fc1a87cd</wfw:commentRss>
    <feedburner:origLink>http://blog.structuretoobig.com/post.aspx?id=2668d396-fb85-4fb3-a191-b426fc1a87cd</feedburner:origLink></item>
    <item>
      <title>Project Location Not Trusted Tip</title>
      <description>&lt;p&gt;Ever get a dialog box like this when opening a project?&lt;/p&gt;  &lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blog.structuretoobig.com/image.axd?picture=image_1.png" width="456" height="245" /&gt; &lt;/p&gt;  &lt;p&gt;This can occur under a number of scenarios – for example, opening a solution on a network share.&amp;#160; But in this case, the files themselves were tagged while being downloaded (as you can see in the path – it’s on my desktop).&amp;#160; If you right click the solution file (or other file in the group), you’ll see the file is tagged as such:&lt;/p&gt;  &lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blog.structuretoobig.com/image.axd?picture=image_2.png" width="349" height="477" /&gt; &lt;/p&gt;  &lt;p&gt;The problem is, all files in the group have to be unblocked, and if you’ve got a large project, it can be somewhat of a pain to do that.&amp;#160; There are two solutions, then.&amp;#160; If you have the original Zip/Rar/whatever archive file, you can unblock that file, and then when the rest are abstracted, you’re good to go.&amp;#160; &lt;/p&gt;  &lt;p&gt;Second, if you can’t do that, you need to remove the block on all of the files in the solution.&amp;#160; Sysinternals/Microsoft has a tool to do just that: streams.&amp;#160; Streams is a command line tool – you specify a directory and it can remove the streams for you (-d switch).&amp;#160; The –r switch will allow it to recurse subdirectories:&lt;/p&gt;  &lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blog.structuretoobig.com/image.axd?picture=image_3.png" width="614" height="319" /&gt; &lt;/p&gt;  &lt;p&gt;Next time the project is opened – presto! No warning.&amp;#160; Head over to the sysinternals site &lt;a href="http://technet.microsoft.com/en-us/sysinternals/default.aspx" target="_blank"&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://www.myworldmaps.net/map.ashx/fecb0aff-083e-4f42-9b08-9a01e3cb714a/ping" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/structuretoobig/~4/FVx31gkYldU" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/structuretoobig/~3/FVx31gkYldU/post.aspx</link>
      <author>bhitney</author>
      <comments>http://blog.structuretoobig.com/post/2009/10/15/Project-Location-Not-Trusted-Tip.aspx#comment</comments>
      <guid isPermaLink="false">http://blog.structuretoobig.com/post.aspx?id=782fed00-73e6-42a0-88f1-5c6608e1e4d8</guid>
      <pubDate>Thu, 15 Oct 2009 07:58:57 -1300</pubDate>
      <category>Tech Tips</category>
      <category>Development</category>
      <category>Microsoft</category>
      <dc:publisher>bhitney</dc:publisher>
      <pingback:server>http://blog.structuretoobig.com/pingback.axd</pingback:server>
      <pingback:target>http://blog.structuretoobig.com/post.aspx?id=782fed00-73e6-42a0-88f1-5c6608e1e4d8</pingback:target>
      <slash:comments>7</slash:comments>
      <trackback:ping>http://blog.structuretoobig.com/trackback.axd?id=782fed00-73e6-42a0-88f1-5c6608e1e4d8</trackback:ping>
      <wfw:comment>http://blog.structuretoobig.com/post/2009/10/15/Project-Location-Not-Trusted-Tip.aspx#comment</wfw:comment>
      <wfw:commentRss>http://blog.structuretoobig.com/syndication.axd?post=782fed00-73e6-42a0-88f1-5c6608e1e4d8</wfw:commentRss>
    <feedburner:origLink>http://blog.structuretoobig.com/post.aspx?id=782fed00-73e6-42a0-88f1-5c6608e1e4d8</feedburner:origLink></item>
    <item>
      <title>Roadshow Materials</title>
      <description>&lt;p&gt;Thanks for those who came out to the roadshow over the past few weeks!&amp;#160;&amp;#160; In this post, I’ll include the sample files and slides used in my ASP.NET 4.0 overview talk.&amp;#160; A couple of notes:&amp;#160; each presentation on the show was a bit different.&amp;#160; In some cases, some slides were not used.&amp;#160; Also, the VS2010 demo solutions here are “approximate” as they were done a bit differently at each venue. &lt;/p&gt;  &lt;p&gt;The webforms solution demos routing in web form as well as using the QueryExtender control.&amp;#160; This requires an AdventureWorks database, or replace with one of your own.&amp;#160; The AJAX sample demos client-side templates and data binding, the latter of which also requires the adventure database exposed by ADO.NET Data Services.&amp;#160; You can easily change this to your own datasource by creating a new Entity Data Model, changing the ADO.NET Data Service to this new type, and modifying the AJAX (in Demo3) to point to the correct resource.&lt;/p&gt; Download:   &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:F60BB8FA-6F02-4999-8F5E-9DD4E92C4DA7:477b2492-1d8b-41cb-87c4-13b42dabf582" class="wlWriterEditableSmartContent"&gt;&lt;div&gt;&lt;a href="http://blog.structuretoobig.com/file.axd?file=ASPNET4.zip" target="_self"&gt;ASPNET4.zip&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;img src="http://www.myworldmaps.net/map.ashx/fecb0aff-083e-4f42-9b08-9a01e3cb714a/ping" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/structuretoobig/~4/Cpcj6SfumH4" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/structuretoobig/~3/Cpcj6SfumH4/post.aspx</link>
      <author>bhitney</author>
      <comments>http://blog.structuretoobig.com/post/2009/09/24/Roadshow-Materials.aspx#comment</comments>
      <guid isPermaLink="false">http://blog.structuretoobig.com/post.aspx?id=8601577b-6518-458c-8b66-52a04626053e</guid>
      <pubDate>Thu, 24 Sep 2009 08:16:28 -1300</pubDate>
      <category>Technology</category>
      <category>Microsoft</category>
      <category>Development</category>
      <dc:publisher>bhitney</dc:publisher>
      <pingback:server>http://blog.structuretoobig.com/pingback.axd</pingback:server>
      <pingback:target>http://blog.structuretoobig.com/post.aspx?id=8601577b-6518-458c-8b66-52a04626053e</pingback:target>
      <slash:comments>6</slash:comments>
      <trackback:ping>http://blog.structuretoobig.com/trackback.axd?id=8601577b-6518-458c-8b66-52a04626053e</trackback:ping>
      <wfw:comment>http://blog.structuretoobig.com/post/2009/09/24/Roadshow-Materials.aspx#comment</wfw:comment>
      <wfw:commentRss>http://blog.structuretoobig.com/syndication.axd?post=8601577b-6518-458c-8b66-52a04626053e</wfw:commentRss>
    <feedburner:origLink>http://blog.structuretoobig.com/post.aspx?id=8601577b-6518-458c-8b66-52a04626053e</feedburner:origLink></item>
    <item>
      <title>Recommended Drive Configuration</title>
      <description>&lt;p&gt;Awhile back, a good friend and MVP asked how I configured my drive(s) on a new machine.&amp;#160;&amp;#160; There’s no single right or wrong way of course, but thought I’d share my thoughts on the subject, especially now that Windows 7 is arriving on the scene.&amp;#160; Let’s start with some assumptions:&amp;#160; the first assumption is that the machine is laptop – not that a desktop would be all that different, but there are a lot more options on a desktop (RAID, larger drives, etc.) that would influence my choice.&amp;#160; The second assumption is that you’re a power user and would like to boot to other OS’s, but not lose your current OS installation.&amp;#160; Next, there are tools on the market that allow you to resize/create partitions dynamically, including tools built into Windows;&amp;#160; however, ideally I prefer to not muck with the configuration.&amp;#160; And finally, I still have virtual machines I use, but this is for a primary OS setup.&lt;/p&gt;  &lt;p&gt;First things:&amp;#160; I use Windows Home Server to manage backups.&amp;#160; This is an useful for backups, but even more so if you’re paving drives and want a way to “go back” – it has never been easier for me to restore an entire drive and when you’re formatting drives a lot, it’s nice to have some peace of mind.&lt;/p&gt;  &lt;p&gt;In laptops, I recommend going for solid state drives if you can afford it, otherwise stick with 7200 RPM drives.&amp;#160; There’s a temptation to go 5400 RPM (or lower) because of the larger capacities available, but I really don’t recommend this.&amp;#160; In my laptops, I typically create 2 or 3 partitions, plus one drive for data.&amp;#160; Each partition runs an OS – on my current setup, I run two OS installations (C: and D:) plus one data drive (E:):&lt;/p&gt;  &lt;p&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blog.structuretoobig.com/image.axd?picture=WindowsLiveWriter/RecommendedDriveConfiguration/63B4BF57/image.png" width="645" height="76" /&gt; &lt;/p&gt;  &lt;p&gt;Every time I install applications, I’ll do so under the OS installation drive, but any data gets stored on my E: drive.&amp;#160; That way, I can repave my drives and simply reinstall applications I need – my WHS has snapshots so if there are any critical files I unintentionally delete, it’s easy to get them.&lt;/p&gt;  &lt;p&gt;When I install a new OS, I’ll reformat the drive on setup.&amp;#160; One problem you’ll run into when doing this on the primary OS is blowing away the BCD (boot configuration database) (unless you’re using WinXP, which uses the boot.ini).&amp;#160; If you want to boot to the other drive, you’ll need to edit the BCD in the new OS.&amp;#160; The BCD was introduced in Vista as way to abstract the boot configuration (both MBR and EFI architectures) and support Unicode strings for internationalization.&amp;#160; As a downside, BDCedit isn’t all that intuitive to use.&lt;/p&gt;  &lt;p&gt;One tool I’ve used to play around with the BCD is &lt;a href="http://neosmart.net/dl.php?id=1" target="_blank"&gt;EasyBCD&lt;/a&gt;.&amp;#160; EasyBCD gives you a nice GUI to edit the BCD:&lt;/p&gt;  &lt;p&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blog.structuretoobig.com/image.axd?picture=WindowsLiveWriter/RecommendedDriveConfiguration/57469C2E/image.png" width="434" height="366" /&gt; &lt;/p&gt;  &lt;p&gt;While development of the tool hasn’t caught up with Win7 yet, it worked pretty well except for one little glitch.&amp;#160; When I added my old Win7RC boot, I couldn’t get the drive assigned properly (it kept pointing to U:), but this was easily fixed under the Change Settings section and resetting the drive:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blog.structuretoobig.com/image.axd?picture=WindowsLiveWriter/RecommendedDriveConfiguration/174D05E9/image.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blog.structuretoobig.com/image.axd?picture=WindowsLiveWriter/RecommendedDriveConfiguration/78D29F32/image_thumb.png" width="434" height="366" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Obviously, it doesn’t make much sense for me to run Win7 RTM and RC, but it’s necessary until I’m done migrating and ensure all my projects work.&amp;#160; I’ll install Server 2008 R2 over the RC installation.&amp;#160; &lt;/p&gt;  &lt;p&gt;On my other laptop, I have 3 partitions + 1 for data, but turns out I only use 2.&amp;#160; For the fringe cases, I use VPCs. &lt;/p&gt;&lt;img src="http://www.myworldmaps.net/map.ashx/fecb0aff-083e-4f42-9b08-9a01e3cb714a/ping" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/structuretoobig/~4/h0wOgnN6YAw" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/structuretoobig/~3/h0wOgnN6YAw/post.aspx</link>
      <author>bhitney</author>
      <comments>http://blog.structuretoobig.com/post/2009/08/17/Recommended-Drive-Configuration.aspx#comment</comments>
      <guid isPermaLink="false">http://blog.structuretoobig.com/post.aspx?id=5ada9ceb-3512-4d68-bf21-a96753f62a81</guid>
      <pubDate>Mon, 17 Aug 2009 01:26:23 -1300</pubDate>
      <dc:publisher>bhitney</dc:publisher>
      <pingback:server>http://blog.structuretoobig.com/pingback.axd</pingback:server>
      <pingback:target>http://blog.structuretoobig.com/post.aspx?id=5ada9ceb-3512-4d68-bf21-a96753f62a81</pingback:target>
      <slash:comments>8</slash:comments>
      <trackback:ping>http://blog.structuretoobig.com/trackback.axd?id=5ada9ceb-3512-4d68-bf21-a96753f62a81</trackback:ping>
      <wfw:comment>http://blog.structuretoobig.com/post/2009/08/17/Recommended-Drive-Configuration.aspx#comment</wfw:comment>
      <wfw:commentRss>http://blog.structuretoobig.com/syndication.axd?post=5ada9ceb-3512-4d68-bf21-a96753f62a81</wfw:commentRss>
    <feedburner:origLink>http://blog.structuretoobig.com/post.aspx?id=5ada9ceb-3512-4d68-bf21-a96753f62a81</feedburner:origLink></item>
    <item>
      <title>Amusing picture at Fry’s</title>
      <description>&lt;p&gt;&lt;a href="http://blog.structuretoobig.com/image.axd?picture=WindowsLiveWriter/AmusingpictureatFrys/2B140169/image.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blog.structuretoobig.com/image.axd?picture=WindowsLiveWriter/AmusingpictureatFrys/14D9D218/image_thumb.png" width="335" height="251" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;I think the Fry’s in Seattle has the same thing, but last time I was in Atlanta, I snapped this picture while going into Fry’s.&amp;#160; &lt;a href="http://blogs.msdn.com/glengordon" target="_blank"&gt;Glen Gordon&lt;/a&gt; and I laughed about it – my initial thought was, “Wow, they catch enough thieves that they need a dedicated police spot?&amp;#160; They can’t just park in front of the building?”&amp;#160; But, then I realized that it is precisely what they want you to think.&amp;#160; Clever.&amp;#160; &lt;/p&gt;  &lt;p&gt;My next thought was, “Who spelt ‘vehicle’ wrong?”&amp;#160; The text on all three lines is centered and the last character blacked out on vehicle.&amp;#160; I thought at first maybe it was an “S” until someone realized you can’t put multiple vehicles in a single spot, but it looks like an “E” if you zoom in on the image.&amp;#160; Ah, the boring things geeks do.&lt;/p&gt;&lt;img src="http://www.myworldmaps.net/map.ashx/fecb0aff-083e-4f42-9b08-9a01e3cb714a/ping" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/structuretoobig/~4/RHuj05Dvj8M" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/structuretoobig/~3/RHuj05Dvj8M/post.aspx</link>
      <author>bhitney</author>
      <comments>http://blog.structuretoobig.com/post/2009/08/04/Amusing-picture-at-Frye28099s.aspx#comment</comments>
      <guid isPermaLink="false">http://blog.structuretoobig.com/post.aspx?id=eea3e91a-6acb-47c5-a193-29e418480ca6</guid>
      <pubDate>Tue, 04 Aug 2009 01:44:02 -1300</pubDate>
      <dc:publisher>bhitney</dc:publisher>
      <pingback:server>http://blog.structuretoobig.com/pingback.axd</pingback:server>
      <pingback:target>http://blog.structuretoobig.com/post.aspx?id=eea3e91a-6acb-47c5-a193-29e418480ca6</pingback:target>
      <slash:comments>1</slash:comments>
      <trackback:ping>http://blog.structuretoobig.com/trackback.axd?id=eea3e91a-6acb-47c5-a193-29e418480ca6</trackback:ping>
      <wfw:comment>http://blog.structuretoobig.com/post/2009/08/04/Amusing-picture-at-Frye28099s.aspx#comment</wfw:comment>
      <wfw:commentRss>http://blog.structuretoobig.com/syndication.axd?post=eea3e91a-6acb-47c5-a193-29e418480ca6</wfw:commentRss>
    <feedburner:origLink>http://blog.structuretoobig.com/post.aspx?id=eea3e91a-6acb-47c5-a193-29e418480ca6</feedburner:origLink></item>
    <item>
      <title>MSDN Southern Fried Roadshow Soon…</title>
      <description>&lt;p&gt;Happy summer!&amp;#160; Our next roadshow series are coming up in September – be sure to register soon!&amp;#160; This time around, we’ve come up with the following topics:&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Session 1: Building Connected Silverlight Applications&lt;/strong&gt;     &lt;br /&gt;Silverlight is a compelling platform for building visually engaging applications that run within a browser. Many sessions focus on building UI, but not too many address how to effectively interact with services, either on the web or within your organization, from Silverlight. In this session, we’ll examine how to consume a variety of services from Silverlight, like SOAP, REST and WCF. We’ll highlight tips &amp;amp; tricks for communicating securely and efficiently with services, as well as how to debug effectively. We’ll also look at creating interesting mashups in Silverlight using the wide variety of services that are available on the web today.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Session 2: Patterns for Building Modular Silverlight and WPF Applications&lt;/strong&gt;     &lt;br /&gt;Have you ever wondered how to build applications that employ rich, flexible user interaction, data visualizations and role-based behaviors in a way that is modular?&amp;#160; In this session, we will explore the Patterns and Practices Composite Application Guidance for WPF and Silverlight, also known as Prism.&amp;#160; Prism allows applications to be built so that they can be developed, tested and deployed by different teams which promotes extensibility and re-use.&amp;#160; Prism provides a cleaner separation of between the user interface and the business logic of the application.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Session 3: Exploring ASP.NET Futures&lt;/strong&gt;     &lt;br /&gt;ASP.NET is continuing to evolve!&amp;#160; In this session, we’ll explore what is coming in ASP.NET 4.&amp;#160; We’ll begin by looking at changes to ASP.NET Web Forms by looking at control enhancements, viewstate, and page-level enhancements.&amp;#160; We’ll look at changes to the core services that provide more robust output caching, permanent redirects, and auto-start web applications.&amp;#160;&amp;#160; This session will also explorer updates to ASP.NET AJAX and improvements in the Visual Studio 2010 web designer.&amp;#160; Finally, we’ll explorer the ASP.NET MVC Futures including asynchronous controller actions, strongly-typed helpers, and other various improvements. &lt;/p&gt;  &lt;table border="0" cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="bottom" width="99"&gt;         &lt;p&gt;&lt;b&gt;City&lt;/b&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="bottom" width="78"&gt;         &lt;p&gt;&lt;b&gt;Date&lt;/b&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td width="1"&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="bottom" width="105"&gt;         &lt;p&gt;&lt;a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032421653&amp;amp;culture=en-US"&gt;AL, Madison&lt;/a&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="bottom" width="72"&gt;         &lt;p&gt;9/1/2009&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="bottom" width="105"&gt;         &lt;p&gt;&lt;a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032421657&amp;amp;Culture=en-US"&gt;GA, Alpharetta&lt;/a&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="bottom" width="72"&gt;         &lt;p&gt;9/2/2009&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="bottom" width="105"&gt;         &lt;p&gt;&lt;a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032421886&amp;amp;Culture=en-US"&gt;GA, Augusta&lt;/a&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="bottom" width="72"&gt;         &lt;p&gt;9/21/2009&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="bottom" width="105"&gt;         &lt;p&gt;&lt;a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032421659&amp;amp;Culture=en-US"&gt;NC, Charlotte&lt;/a&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="bottom" width="72"&gt;         &lt;p&gt;9/22/2009&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="bottom" width="105"&gt;         &lt;p&gt;&lt;a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032421658&amp;amp;Culture=en-US"&gt;NC, Raleigh&lt;/a&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="bottom" width="72"&gt;         &lt;p&gt;9/11/2009&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;See you there!&lt;/p&gt;&lt;img src="http://www.myworldmaps.net/map.ashx/fecb0aff-083e-4f42-9b08-9a01e3cb714a/ping" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/structuretoobig/~4/A-CJg673b9I" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/structuretoobig/~3/A-CJg673b9I/post.aspx</link>
      <author>bhitney</author>
      <comments>http://blog.structuretoobig.com/post/2009/08/04/MSDN-Southern-Fried-Roadshow-Soone280a6.aspx#comment</comments>
      <guid isPermaLink="false">http://blog.structuretoobig.com/post.aspx?id=7b3470fa-9a48-44d6-ba1f-93ca850e4b4d</guid>
      <pubDate>Tue, 04 Aug 2009 01:17:19 -1300</pubDate>
      <dc:publisher>bhitney</dc:publisher>
      <pingback:server>http://blog.structuretoobig.com/pingback.axd</pingback:server>
      <pingback:target>http://blog.structuretoobig.com/post.aspx?id=7b3470fa-9a48-44d6-ba1f-93ca850e4b4d</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://blog.structuretoobig.com/trackback.axd?id=7b3470fa-9a48-44d6-ba1f-93ca850e4b4d</trackback:ping>
      <wfw:comment>http://blog.structuretoobig.com/post/2009/08/04/MSDN-Southern-Fried-Roadshow-Soone280a6.aspx#comment</wfw:comment>
      <wfw:commentRss>http://blog.structuretoobig.com/syndication.axd?post=7b3470fa-9a48-44d6-ba1f-93ca850e4b4d</wfw:commentRss>
    <feedburner:origLink>http://blog.structuretoobig.com/post.aspx?id=7b3470fa-9a48-44d6-ba1f-93ca850e4b4d</feedburner:origLink></item>
    <item>
      <title>Worldmaps: New Users</title>
      <description>&lt;p&gt;The &lt;a href="http://www.myworldmaps.net" target="_blank"&gt;Worldmaps&lt;/a&gt; users queue is getting big!&amp;#160; Just wanted to thank everyone for their interest, but in response to so many emails, I thought I should explain how to get signed up on Worldmaps.&amp;#160; &lt;/p&gt;  &lt;p&gt;After creating an account, it must be approved before the account can be used.&amp;#160; The main reason for this is to slowly ramp up on bandwidth to make sure the service (both website and database) are providing a good experience.&amp;#160; During high volume, the service is processing many requests per second – obviously, not a ridiculous load in the scheme of things, but for a small service with no budget, it’s certainly something to keep an eye on.&amp;#160; Currently, however, the service is getting more user requests than are approved daily, so there’s a backlog forming.&amp;#160; We’ll get through it in time, but it does require culling the sites that don’t fall into the &lt;a href="http://www.myworldmaps.net/use.aspx" target="_blank"&gt;acceptable use&lt;/a&gt; parameters.&lt;/p&gt;  &lt;p&gt;Technical blogs and personal sites will generally get approved first.&amp;#160; At this time, commercial sites cannot be approved.&amp;#160; Over the coming months, I’ll be looking more at a Windows Azure implementation that will allow more growth and hopefully, allow just about all sites to “play.”&amp;#160; One new feature hopefully to be released with this implementation will also be website categories – instead of just a single leader board, there will be multiple leader boards and users can select the one most appropriate to their domain.&amp;#160; Stay tuned!&amp;#160; &lt;/p&gt;&lt;img src="http://www.myworldmaps.net/map.ashx/fecb0aff-083e-4f42-9b08-9a01e3cb714a/ping" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/structuretoobig/~4/PM3rTdK0WdQ" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/structuretoobig/~3/PM3rTdK0WdQ/post.aspx</link>
      <author>bhitney</author>
      <comments>http://blog.structuretoobig.com/post/2009/06/17/Worldmaps-New-Users.aspx#comment</comments>
      <guid isPermaLink="false">http://blog.structuretoobig.com/post.aspx?id=88ba05e8-7400-4098-ac25-3b48be8556f7</guid>
      <pubDate>Wed, 17 Jun 2009 05:32:29 -1300</pubDate>
      <category>Technology</category>
      <category>Worldmaps</category>
      <dc:publisher>bhitney</dc:publisher>
      <pingback:server>http://blog.structuretoobig.com/pingback.axd</pingback:server>
      <pingback:target>http://blog.structuretoobig.com/post.aspx?id=88ba05e8-7400-4098-ac25-3b48be8556f7</pingback:target>
      <slash:comments>1</slash:comments>
      <trackback:ping>http://blog.structuretoobig.com/trackback.axd?id=88ba05e8-7400-4098-ac25-3b48be8556f7</trackback:ping>
      <wfw:comment>http://blog.structuretoobig.com/post/2009/06/17/Worldmaps-New-Users.aspx#comment</wfw:comment>
      <wfw:commentRss>http://blog.structuretoobig.com/syndication.axd?post=88ba05e8-7400-4098-ac25-3b48be8556f7</wfw:commentRss>
    <feedburner:origLink>http://blog.structuretoobig.com/post.aspx?id=88ba05e8-7400-4098-ac25-3b48be8556f7</feedburner:origLink></item>
    <item>
      <title>Debugging Tips and Tricks, Part 5</title>
      <description>&lt;p&gt;The last in the series has been post to &lt;a href="http://channel9.msdn.com/posts/dpeeast/DevNugget-Debugging-Tips-and-Tricks-Part-5/"&gt;Channel9&lt;/a&gt;.&amp;#160;&amp;#160; In the last part, we’ll look at using the Set Next statement, using the .NET reference source code for stepping through the BCLs,&amp;#160; and some other tips for exception handling and using Mole for advanced visualization.&amp;#160; &lt;/p&gt; &lt;object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="320" height="240"&gt; &lt;param name="source" value="http://channel9.msdn.com/App_Themes/default/vp09_04_23.xap" /&gt; &lt;param name="initParams" value="m=http://mschnlnine.vo.llnwd.net/d1/ch9/3/6/2/2/7/4/debuggingtips5_2MB_ch9.wmv,autostart=false,autohide=true,showembed=true, thumbnail=http://mschnlnine.vo.llnwd.net/d1/ch9/3/6/2/2/7/4/debuggingtips5_large_ch9.png, postid=472263" /&gt; &lt;param name="background" value="#00FFFFFF" /&gt; &lt;a href="http://go.microsoft.com/fwlink/?LinkID=124807" style="text-decoration: none;"&gt; &lt;img src="http://go.microsoft.com/fwlink/?LinkId=108181" alt="Get Microsoft Silverlight" style="border-style: none" /&gt; &lt;/a&gt; &lt;/object&gt;&lt;img src="http://www.myworldmaps.net/map.ashx/fecb0aff-083e-4f42-9b08-9a01e3cb714a/ping" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/structuretoobig/~4/F1fHVLpHjXA" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/structuretoobig/~3/F1fHVLpHjXA/post.aspx</link>
      <author>bhitney</author>
      <comments>http://blog.structuretoobig.com/post/2009/06/08/Debugging-Tips-and-Tricks-Part-5.aspx#comment</comments>
      <guid isPermaLink="false">http://blog.structuretoobig.com/post.aspx?id=f78e20ac-b21f-4e6d-bd33-4abe83e95ade</guid>
      <pubDate>Mon, 08 Jun 2009 03:47:50 -1300</pubDate>
      <dc:publisher>bhitney</dc:publisher>
      <pingback:server>http://blog.structuretoobig.com/pingback.axd</pingback:server>
      <pingback:target>http://blog.structuretoobig.com/post.aspx?id=f78e20ac-b21f-4e6d-bd33-4abe83e95ade</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://blog.structuretoobig.com/trackback.axd?id=f78e20ac-b21f-4e6d-bd33-4abe83e95ade</trackback:ping>
      <wfw:comment>http://blog.structuretoobig.com/post/2009/06/08/Debugging-Tips-and-Tricks-Part-5.aspx#comment</wfw:comment>
      <wfw:commentRss>http://blog.structuretoobig.com/syndication.axd?post=f78e20ac-b21f-4e6d-bd33-4abe83e95ade</wfw:commentRss>
    <feedburner:origLink>http://blog.structuretoobig.com/post.aspx?id=f78e20ac-b21f-4e6d-bd33-4abe83e95ade</feedburner:origLink></item>
    <item>
      <title>Roadshow Slides</title>
      <description>&lt;p&gt;If you came out to our recent MSDN Southern Fried Roadshow, thanks!&amp;#160; Here are the slides I was working with during the IE8 and Win7 sessions.&amp;#160; I’ll be (hopefully) getting some code samples and webcasts uploaded soon … &lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:fb3a1972-4489-4e52-abe7-25a00bb07fdf:e5cb1d0a-85aa-4b7f-aabb-5e31c9ab2d52" class="wlWriterEditableSmartContent"&gt;&lt;p&gt; &lt;a href="http://blog.structuretoobig.com/file.axd?file=WindowsLiveWriter/RoadshowSlides/1C1580C8/roadshow.zip" target="_blank"&gt;IE8 and Win7 Decks&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;img src="http://www.myworldmaps.net/map.ashx/fecb0aff-083e-4f42-9b08-9a01e3cb714a/ping" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/structuretoobig/~4/hATxtzgro3w" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/structuretoobig/~3/hATxtzgro3w/post.aspx</link>
      <author>bhitney</author>
      <comments>http://blog.structuretoobig.com/post/2009/06/06/Roadshow-Slides.aspx#comment</comments>
      <guid isPermaLink="false">http://blog.structuretoobig.com/post.aspx?id=f3825c20-10ce-476c-bfd7-7112a4fee43e</guid>
      <pubDate>Sat, 06 Jun 2009 13:22:05 -1300</pubDate>
      <category>Microsoft</category>
      <category>Development</category>
      <category>Events</category>
      <dc:publisher>bhitney</dc:publisher>
      <pingback:server>http://blog.structuretoobig.com/pingback.axd</pingback:server>
      <pingback:target>http://blog.structuretoobig.com/post.aspx?id=f3825c20-10ce-476c-bfd7-7112a4fee43e</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://blog.structuretoobig.com/trackback.axd?id=f3825c20-10ce-476c-bfd7-7112a4fee43e</trackback:ping>
      <wfw:comment>http://blog.structuretoobig.com/post/2009/06/06/Roadshow-Slides.aspx#comment</wfw:comment>
      <wfw:commentRss>http://blog.structuretoobig.com/syndication.axd?post=f3825c20-10ce-476c-bfd7-7112a4fee43e</wfw:commentRss>
    <feedburner:origLink>http://blog.structuretoobig.com/post.aspx?id=f3825c20-10ce-476c-bfd7-7112a4fee43e</feedburner:origLink></item>
    <item>
      <title>Debugging Tips and Tricks, Part 4</title>
      <description>&lt;p&gt;Part 4 of the 5-part series is up on &lt;a href="http://channel9.msdn.com/posts/dpeeast/DevNugget-Debugging-Tips-and-Tricks-Part-4/" target="_blank"&gt;Channel 9&lt;/a&gt;.&amp;#160; In the previous screencasts, we looked at setting breakpoints and how to work with advanced breakpoints, filters, and working with multiple threads.&amp;#160; We also took a quick look at tracepoints.&amp;#160; In part 4, we'll look at the watch windows, the immediate window, and Make Object ID command…&lt;/p&gt; &lt;object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="320" height="240"&gt; &lt;param name="source" value="http://channel9.msdn.com/App_Themes/default/vp09_04_23.xap" /&gt; &lt;param name="initParams" value="m=http://mschnlnine.vo.llnwd.net/d1/ch9/4/4/6/9/6/4/DevNugget4_2MB_ch9.wmv,autostart=false,autohide=true,showembed=true, thumbnail=http://mschnlnine.vo.llnwd.net/d1/ch9/4/4/6/9/6/4/DevNugget4_large_ch9.png, postid=469644" /&gt; &lt;param name="background" value="#00FFFFFF" /&gt; &lt;a href="http://go.microsoft.com/fwlink/?LinkID=124807" style="text-decoration: none;"&gt; &lt;img src="http://go.microsoft.com/fwlink/?LinkId=108181" alt="Get Microsoft Silverlight" style="border-style: none" /&gt; &lt;/a&gt; &lt;/object&gt;&lt;img src="http://www.myworldmaps.net/map.ashx/fecb0aff-083e-4f42-9b08-9a01e3cb714a/ping" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/structuretoobig/~4/AXWfjLNB1Io" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/structuretoobig/~3/AXWfjLNB1Io/post.aspx</link>
      <author>bhitney</author>
      <comments>http://blog.structuretoobig.com/post/2009/05/27/Debugging-Tips-and-Tricks-Part-4.aspx#comment</comments>
      <guid isPermaLink="false">http://blog.structuretoobig.com/post.aspx?id=c37dfba8-98aa-49fb-ae00-c8de591ae86e</guid>
      <pubDate>Wed, 27 May 2009 03:09:08 -1300</pubDate>
      <category>Microsoft</category>
      <category>Development</category>
      <dc:publisher>bhitney</dc:publisher>
      <pingback:server>http://blog.structuretoobig.com/pingback.axd</pingback:server>
      <pingback:target>http://blog.structuretoobig.com/post.aspx?id=c37dfba8-98aa-49fb-ae00-c8de591ae86e</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://blog.structuretoobig.com/trackback.axd?id=c37dfba8-98aa-49fb-ae00-c8de591ae86e</trackback:ping>
      <wfw:comment>http://blog.structuretoobig.com/post/2009/05/27/Debugging-Tips-and-Tricks-Part-4.aspx#comment</wfw:comment>
      <wfw:commentRss>http://blog.structuretoobig.com/syndication.axd?post=c37dfba8-98aa-49fb-ae00-c8de591ae86e</wfw:commentRss>
    <feedburner:origLink>http://blog.structuretoobig.com/post.aspx?id=c37dfba8-98aa-49fb-ae00-c8de591ae86e</feedburner:origLink></item>
    <item>
      <title>Southern Fried Roadshow Coming Soon!</title>
      <description>&lt;p&gt;In about two weeks, we’ll be kicking off our next MSDN Southern Friend Roadshow – this time, hitting Atlanta, Charlotte, and Raleigh on June 1st, 2nd, and 3rd.&amp;#160; &lt;/p&gt;  &lt;p&gt;Here’s the session lineup:&lt;/p&gt;  &lt;p&gt;· &lt;b&gt;Highlights of MIX 2009     &lt;br /&gt;&lt;/b&gt;There were many exciting announcements at MIX 2009 around Silverlight. This whirlwind session will introduce the new capabilities coming in Silverlight 3, including behaviors, new controls, and support for running Silverlight apps outside of the browser. We’ll also take groundbreaking improvements to the developer/designer workflow provided by the new features of Expression Blend 3, especially SketchFlow. Finally, we’ll explore how .NET RIA (Rich Internet Application) Services will change the way you write Silverlight applications that communicate with a server, eliminating disconnect between server and client libraries and streamlining development. &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;Developing on &lt;i&gt;and&lt;/i&gt; for Windows 7      &lt;br /&gt;&lt;/b&gt;Creating applications that are easy to use, visually appealing, and offer high performance is a challenge that developers face every day. In addition, developers crave a productive, responsive environment in which to work. This session highlights two key aspects of the forthcoming Windows 7 for developers. First, we’ll show you how key features of Windows 7 such as the new shortcut keys, multi monitor support and more will make Windows 7 a compelling choice for&amp;#160; your development machine OS, regardless of whether you’re building web apps or desktop apps. Then, we’ll explore how to build applications that take advantage of the new capabilities of Windows 7, without sacrificing support for earlier OS versions, enabling you to create engaging, user-friendly applications that take advantage of the latest PC capabilities.&amp;#160; We’ll look at the new Taskbar and Jump Lists, the Scenic Ribbon, file management with Libraries, and Windows Web Services among many other enhancements to the new operating system.&lt;/p&gt;  &lt;p&gt;· &lt;b&gt;Internet Explorer 8 for developers     &lt;br /&gt;&lt;/b&gt;In this session, we’ll take a look at IE8 from a developer’s perspective.&amp;#160; We’ll&amp;#160; talk about IE8’s standards-based rendering, and cover the steps you need to take to make sure your sites are compatible.&amp;#160;&amp;#160; We’ll discuss building and using Accelerators and Web Slices, and dive into the developer tools available out of the box that aid in debugging and troubleshooting.&amp;#160; We’ll also cover some of the end-user features like in-private browsing.&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;· &lt;b&gt;Effectively Leveraging Windows Azure to Solve Real World Business Problems     &lt;br /&gt;&lt;/b&gt;Explore ways to leverage Windows Azure and the Windows Azure Services Platform for building applications that work for your business.&amp;#160;&amp;#160; Cloud Computing offers an enticing economic advantage over traditional Data Centers or Hosting environments, but traditional solutions architectures do not always work in this environment.&amp;#160; Learn how to federate with Active Directory and Live Identity Services, traverse network topologies to connect services, and leverage the massively scalable cloud storage services to bring your data closer to your processing. Note: To get the most out of this session, attendees should have a basic familiarity with Windows Azure. A good resource for learning the basics is this video from MIX: &lt;a href="http://videos.visitmix.com/MIX09/T07F"&gt;http://videos.visitmix.com/MIX09/T07F&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="4"&gt;Register here:&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032415606&amp;amp;Culture=en-US" target="_blank"&gt;&lt;font size="4"&gt;Atlanta, June 1&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032415608&amp;amp;Culture=en-US" target="_blank"&gt;&lt;font size="4"&gt;Charlotte, June 2&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032415611&amp;amp;Culture=en-US" target="_blank"&gt;&lt;font size="4"&gt;Raleigh, June 3&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://www.myworldmaps.net/map.ashx/fecb0aff-083e-4f42-9b08-9a01e3cb714a/ping" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/structuretoobig/~4/N-KuYD3uPio" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/structuretoobig/~3/N-KuYD3uPio/post.aspx</link>
      <author>bhitney</author>
      <comments>http://blog.structuretoobig.com/post/2009/05/18/Southern-Fried-Roadshow-Coming-Soon!.aspx#comment</comments>
      <guid isPermaLink="false">http://blog.structuretoobig.com/post.aspx?id=f42c8651-9d45-42c7-889b-9089ff3e493f</guid>
      <pubDate>Mon, 18 May 2009 17:20:30 -1300</pubDate>
      <dc:publisher>bhitney</dc:publisher>
      <pingback:server>http://blog.structuretoobig.com/pingback.axd</pingback:server>
      <pingback:target>http://blog.structuretoobig.com/post.aspx?id=f42c8651-9d45-42c7-889b-9089ff3e493f</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://blog.structuretoobig.com/trackback.axd?id=f42c8651-9d45-42c7-889b-9089ff3e493f</trackback:ping>
      <wfw:comment>http://blog.structuretoobig.com/post/2009/05/18/Southern-Fried-Roadshow-Coming-Soon!.aspx#comment</wfw:comment>
      <wfw:commentRss>http://blog.structuretoobig.com/syndication.axd?post=f42c8651-9d45-42c7-889b-9089ff3e493f</wfw:commentRss>
    <feedburner:origLink>http://blog.structuretoobig.com/post.aspx?id=f42c8651-9d45-42c7-889b-9089ff3e493f</feedburner:origLink></item>
    <item>
      <title>Debugging Tips and Tricks, Part 3</title>
      <description>&lt;p&gt;The third in the series of debugging tips has been posted to &lt;a href="http://channel9.msdn.com/posts/dpeeast/DevNugget-Debugging-Tips-and-Tricks-Part-3/" target="_blank"&gt;Channel 9&lt;/a&gt;(including the player here, too).&amp;#160;&amp;#160; A quick abstract:&lt;/p&gt;  &lt;p&gt;In parts 1 and 2, we looked at setting breakpoints, and talked about setting up advanced breakpoints using hit counts and some simple conditions.&amp;#160; In part 3, we’ll dive a little deeper into some conditions by writing methods to help debug our application, then look at using the filter breakpoint modifier to debug multithreaded applications.&amp;#160; Finally, we’ll take a quick look at tracepoints.&lt;/p&gt; &lt;object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="320" height="240"&gt; &lt;param name="source" value="http://channel9.msdn.com/App_Themes/default/vp09_04_23.xap" /&gt; &lt;param name="initParams" value="m=http://mschnlnine.vo.llnwd.net/d1/ch9/5/8/2/9/6/4/devnugget3_2MB_ch9.wmv,autostart=false,autohide=true,showembed=true, thumbnail=http://mschnlnine.vo.llnwd.net/d1/ch9/5/8/2/9/6/4/devnugget3_large_ch9.png, postid=469285" /&gt; &lt;param name="background" value="#00FFFFFF" /&gt; &lt;a href="http://go.microsoft.com/fwlink/?LinkID=124807" style="text-decoration: none;"&gt; &lt;img src="http://go.microsoft.com/fwlink/?LinkId=108181" alt="Get Microsoft Silverlight" style="border-style: none" /&gt; &lt;/a&gt; &lt;/object&gt;&lt;img src="http://www.myworldmaps.net/map.ashx/fecb0aff-083e-4f42-9b08-9a01e3cb714a/ping" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/structuretoobig/~4/7hYEzVdZUgo" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/structuretoobig/~3/7hYEzVdZUgo/post.aspx</link>
      <author>bhitney</author>
      <comments>http://blog.structuretoobig.com/post/2009/05/15/Debugging-Tips-and-Tricks-Part-3.aspx#comment</comments>
      <guid isPermaLink="false">http://blog.structuretoobig.com/post.aspx?id=e5e01617-9a10-4797-9185-c2ac608d33be</guid>
      <pubDate>Fri, 15 May 2009 17:01:45 -1300</pubDate>
      <category>Microsoft</category>
      <category>Development</category>
      <dc:publisher>bhitney</dc:publisher>
      <pingback:server>http://blog.structuretoobig.com/pingback.axd</pingback:server>
      <pingback:target>http://blog.structuretoobig.com/post.aspx?id=e5e01617-9a10-4797-9185-c2ac608d33be</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://blog.structuretoobig.com/trackback.axd?id=e5e01617-9a10-4797-9185-c2ac608d33be</trackback:ping>
      <wfw:comment>http://blog.structuretoobig.com/post/2009/05/15/Debugging-Tips-and-Tricks-Part-3.aspx#comment</wfw:comment>
      <wfw:commentRss>http://blog.structuretoobig.com/syndication.axd?post=e5e01617-9a10-4797-9185-c2ac608d33be</wfw:commentRss>
    <feedburner:origLink>http://blog.structuretoobig.com/post.aspx?id=e5e01617-9a10-4797-9185-c2ac608d33be</feedburner:origLink></item>
    <item>
      <title>RARLabs RARFail</title>
      <description>&lt;p&gt;I’m on a FAIL kick lately, and this one deserves a post.&amp;#160; I used to be a huge fan WinRAR, a file compression tool that was easy to use and supported a wide array of options like file spanning and encryption.&lt;/p&gt;  &lt;p&gt;I’m all for integrated ads – that is, ads that leverage the same font/color scheme of the site.&amp;#160; Now, both of these ads in the page below are for the same product, RegistryBooster 2009.&amp;#160; The ad in the top right is obviously an ad, but it’s pretty close to crossing the line.&amp;#160; What do I mean by crossing the line, and how integrated is &lt;em&gt;too&lt;/em&gt; integrated?&amp;#160; Crossing the line is when there’s a strong likelihood users will accidentally or inadvertently click on a link, not realizing it’s an ad.&amp;#160; &lt;/p&gt;  &lt;p&gt;The second arrow (the ad in the middle) crosses that line.&amp;#160; While it’s true that it’s marked as “advertisement,” it’s done in a clever enough way that attempts to trick the user to click on the link (let’s face it: we usually skim pages).&amp;#160; This is because the placement of the wording would make users feel that clicking “download now” is actually downloaded the intended WinRAR application.&amp;#160; Further, the green “run system scan” link implies I’ve clicked this link before, and consciously or unconsciously, we feel safer in clicking previously visited links.&lt;/p&gt;  &lt;p&gt;So what do you think?&amp;#160; I’m not claiming this is the worst I’ve seen, but it’s enough that makes me question the integrity of both RARLabs and Uniblue (makers of RegistryBooster).&amp;#160; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blog.structuretoobig.com/image.axd?picture=WindowsLiveWriter/RARLabsRARFail/00591C41/image.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blog.structuretoobig.com/image.axd?picture=WindowsLiveWriter/RARLabsRARFail/1442890A/image_thumb.png" width="583" height="469" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://www.myworldmaps.net/map.ashx/fecb0aff-083e-4f42-9b08-9a01e3cb714a/ping" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/structuretoobig/~4/iIgY8U7F970" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/structuretoobig/~3/iIgY8U7F970/post.aspx</link>
      <author>bhitney</author>
      <comments>http://blog.structuretoobig.com/post/2009/05/15/RARLabs-RARFail.aspx#comment</comments>
      <guid isPermaLink="false">http://blog.structuretoobig.com/post.aspx?id=f211052f-ba24-413f-a7a2-84469a03e2f8</guid>
      <pubDate>Fri, 15 May 2009 12:12:14 -1300</pubDate>
      <category>Technology</category>
      <category>Rant</category>
      <category>Babble</category>
      <dc:publisher>bhitney</dc:publisher>
      <pingback:server>http://blog.structuretoobig.com/pingback.axd</pingback:server>
      <pingback:target>http://blog.structuretoobig.com/post.aspx?id=f211052f-ba24-413f-a7a2-84469a03e2f8</pingback:target>
      <slash:comments>2</slash:comments>
      <trackback:ping>http://blog.structuretoobig.com/trackback.axd?id=f211052f-ba24-413f-a7a2-84469a03e2f8</trackback:ping>
      <wfw:comment>http://blog.structuretoobig.com/post/2009/05/15/RARLabs-RARFail.aspx#comment</wfw:comment>
      <wfw:commentRss>http://blog.structuretoobig.com/syndication.axd?post=f211052f-ba24-413f-a7a2-84469a03e2f8</wfw:commentRss>
    <feedburner:origLink>http://blog.structuretoobig.com/post.aspx?id=f211052f-ba24-413f-a7a2-84469a03e2f8</feedburner:origLink></item>
    <item>
      <title>Debugging Tips and Tricks, Part 2</title>
      <description>&lt;p&gt;Part 1 was a pretty basic introduction to setting breakpoints.&amp;#160; Now it’s time to have a bit more fun!&amp;#160; In part 2, I’ll look at using breakpoint modifiers – specifically, using the hit count modifier, and then the condition modifier.&amp;#160; The condition modifier can be incredibly powerful – while we can corrupt the state of our application pretty easily (as I’ll demonstrate), it starts to open a whole new world for debugging more efficiently. &lt;/p&gt;  &lt;p&gt;&lt;object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="320" height="240"&gt; &lt;param name="source" value="http://channel9.msdn.com/App_Themes/default/vp09_04_23.xap" /&gt; &lt;param name="initParams" value="m=http://mschnlnine.vo.llnwd.net/d1/ch9/0/3/9/8/6/4/DebuggingTips2_2MB_ch9.wmv,autostart=false,autohide=true,showembed=true, thumbnail=http://mschnlnine.vo.llnwd.net/d1/ch9/0/3/9/8/6/4/DebuggingTips2_large_ch9.png, postid=468930" /&gt; &lt;param name="background" value="#00FFFFFF" /&gt; &lt;a href="http://go.microsoft.com/fwlink/?LinkID=124807" style="text-decoration: none;"&gt; &lt;img src="http://go.microsoft.com/fwlink/?LinkId=108181" alt="Get Microsoft Silverlight" style="border-style: none" /&gt; &lt;/a&gt; &lt;/object&gt;&lt;/p&gt;&lt;img src="http://www.myworldmaps.net/map.ashx/fecb0aff-083e-4f42-9b08-9a01e3cb714a/ping" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/structuretoobig/~4/3UrDvMsCw9k" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/structuretoobig/~3/3UrDvMsCw9k/post.aspx</link>
      <author>bhitney</author>
      <comments>http://blog.structuretoobig.com/post/2009/05/12/Debugging-Tips-and-Tricks-Part-2.aspx#comment</comments>
      <guid isPermaLink="false">http://blog.structuretoobig.com/post.aspx?id=929ba7ba-7d25-4d46-a762-3a92e60a93d6</guid>
      <pubDate>Tue, 12 May 2009 16:15:59 -1300</pubDate>
      <category>Microsoft</category>
      <category>Development</category>
      <category>Tech Tips</category>
      <dc:publisher>bhitney</dc:publisher>
      <pingback:server>http://blog.structuretoobig.com/pingback.axd</pingback:server>
      <pingback:target>http://blog.structuretoobig.com/post.aspx?id=929ba7ba-7d25-4d46-a762-3a92e60a93d6</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://blog.structuretoobig.com/trackback.axd?id=929ba7ba-7d25-4d46-a762-3a92e60a93d6</trackback:ping>
      <wfw:comment>http://blog.structuretoobig.com/post/2009/05/12/Debugging-Tips-and-Tricks-Part-2.aspx#comment</wfw:comment>
      <wfw:commentRss>http://blog.structuretoobig.com/syndication.axd?post=929ba7ba-7d25-4d46-a762-3a92e60a93d6</wfw:commentRss>
    <feedburner:origLink>http://blog.structuretoobig.com/post.aspx?id=929ba7ba-7d25-4d46-a762-3a92e60a93d6</feedburner:origLink></item>
    <item>
      <title>Debugging Tips and Tricks, Part 1</title>
      <description>&lt;p&gt;Recently, I’ve been doing a number of talks on tips and tricks with the Visual Studio debugger.&amp;#160; I thought it would be a good idea to start putting together a series of DevNuggets on these tips – so here is the first!&amp;#160;&amp;#160; Part 1 is primarily an introduction into setting breakpoints … turns out there are number of ways to set breakpoints other than just clicking in the gutter.&lt;/p&gt;  &lt;p&gt;This is primarily of interest to entry level developers, but the follow parts will get into some advanced techniques.&amp;#160; &lt;/p&gt;  &lt;object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="320" height="240"&gt; &lt;param name="source" value="http://channel9.msdn.com/App_Themes/default/vp09_04_23.xap" /&gt; &lt;param name="initParams" value="m=http://mschnlnine.vo.llnwd.net/d1/ch9/3/5/3/8/6/4/devnugget1_2MB_ch9.wmv,autostart=false,autohide=true,showembed=true, thumbnail=http://mschnlnine.vo.llnwd.net/d1/ch9/3/5/3/8/6/4/devnugget1_large_ch9.png, postid=468353" /&gt; &lt;param name="background" value="#00FFFFFF" /&gt; &lt;a href="http://go.microsoft.com/fwlink/?LinkID=124807" style="text-decoration: none;"&gt; &lt;img src="http://go.microsoft.com/fwlink/?LinkId=108181" alt="Get Microsoft Silverlight" style="border-style: none" /&gt; &lt;/a&gt; &lt;/object&gt;&lt;img src="http://www.myworldmaps.net/map.ashx/fecb0aff-083e-4f42-9b08-9a01e3cb714a/ping" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/structuretoobig/~4/fIJqwNtvu00" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/structuretoobig/~3/fIJqwNtvu00/post.aspx</link>
      <author>bhitney</author>
      <comments>http://blog.structuretoobig.com/post/2009/05/09/Debugging-Tips-and-Tricks-Part-1.aspx#comment</comments>
      <guid isPermaLink="false">http://blog.structuretoobig.com/post.aspx?id=224c0f8a-ce09-4797-8b45-b5b954d8484d</guid>
      <pubDate>Sat, 09 May 2009 18:48:00 -1300</pubDate>
      <category>Microsoft</category>
      <category>Development</category>
      <category>Tech Tips</category>
      <dc:publisher>bhitney</dc:publisher>
      <pingback:server>http://blog.structuretoobig.com/pingback.axd</pingback:server>
      <pingback:target>http://blog.structuretoobig.com/post.aspx?id=224c0f8a-ce09-4797-8b45-b5b954d8484d</pingback:target>
      <slash:comments>1</slash:comments>
      <trackback:ping>http://blog.structuretoobig.com/trackback.axd?id=224c0f8a-ce09-4797-8b45-b5b954d8484d</trackback:ping>
      <wfw:comment>http://blog.structuretoobig.com/post/2009/05/09/Debugging-Tips-and-Tricks-Part-1.aspx#comment</wfw:comment>
      <wfw:commentRss>http://blog.structuretoobig.com/syndication.axd?post=224c0f8a-ce09-4797-8b45-b5b954d8484d</wfw:commentRss>
    <feedburner:origLink>http://blog.structuretoobig.com/post.aspx?id=224c0f8a-ce09-4797-8b45-b5b954d8484d</feedburner:origLink></item>
    <item>
      <title>Upgrade some ol’ HD-DVDs to Blu-ray</title>
      <description>&lt;p&gt;&lt;a href="http://blog.structuretoobig.com/image.axd?picture=WindowsLiveWriter/UpgradesomeolHDDVDstoBluray/564DF447/image.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; margin: 15px 0px 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" align="left" src="http://blog.structuretoobig.com/image.axd?picture=WindowsLiveWriter/UpgradesomeolHDDVDstoBluray/692277F1/image_thumb.png" width="105" height="126" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;I was in a store not too long ago and saw the Ultimate Matrix collection on blu-ray, but sadly, I have the same set on HD-DVD.&amp;#160; Can’t really justify buying it again even though I’m not going to use my HD-DVD player much longer.&amp;#160; &lt;/p&gt;  &lt;p&gt;But, I stumbled on a cool site by Warner Bros that allows you to upgrade many of your HD-DVDs, including some boxed sets like the Ultimate Matrix collection.&amp;#160; It’s not free, but for the most part the costs are reasonable and is done by sending in the album art, not the disc.&lt;/p&gt;  &lt;p&gt;Now, I’m not sure it’s worth the hassle, but you could pick up some closeout HD-DVDs and then upgrade them.&amp;#160; For example, buy the Ocean’s 11/12/13 HD-DVD boxed set for under $20, upgrade it for $10.&amp;#160; That’s $30, where the same box set on blu is at least double that.&amp;#160; Good deal!&amp;#160;&amp;#160; The site is &lt;a href="http://www.red2blu.com" target="_blank"&gt;red2blu.com&lt;/a&gt; … check it out!&lt;/p&gt;  &lt;p&gt;On a related note, I recently started using the Windows Home Server plug in &lt;a href="http://www.mymovies.dk/" target="_blank"&gt;My Movies&lt;/a&gt;.&amp;#160; My Movies basically lets you store your movies on your WHS box, and includes some utilities to download album art, do some auto-ripping, etc.&amp;#160; I’m still in trial mode (some of the utilities aren’t free) but, assuming I purchased the utilities I’d need, it does auto-ripping so you drop the DVD in the machine, and it takes care of business and pops it out when done.&amp;#160; You can then stream it through Windows Media Center … it will work on extenders like the XBOX 360, but it’s a bit more tricky.&amp;#160; Essentially, for extenders like the 360, the format needs to be changed on the fly using a transcoder, since the XBOX 360 can’t natively stream the VOB files.&amp;#160; It’s a fairly seamless process, but takes a bit of time to ramp up on what’s going on.&amp;#160; &lt;/p&gt;  &lt;p&gt;I’m not sure it makes sense to do high def movies (though it can be done) given the space requirements, but it is supported.&lt;/p&gt;&lt;img src="http://www.myworldmaps.net/map.ashx/fecb0aff-083e-4f42-9b08-9a01e3cb714a/ping" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/structuretoobig/~4/s4zJcNLGeG8" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/structuretoobig/~3/s4zJcNLGeG8/post.aspx</link>
      <author>bhitney</author>
      <comments>http://blog.structuretoobig.com/post/2009/04/24/Upgrade-some-ole28099-HD-DVDs-to-Blu-ray.aspx#comment</comments>
      <guid isPermaLink="false">http://blog.structuretoobig.com/post.aspx?id=eeff326b-9157-438f-a9a7-e0e9b4196996</guid>
      <pubDate>Fri, 24 Apr 2009 13:54:24 -1300</pubDate>
      <category>Rave</category>
      <category>Technology</category>
      <category>Tech Tips</category>
      <dc:publisher>bhitney</dc:publisher>
      <pingback:server>http://blog.structuretoobig.com/pingback.axd</pingback:server>
      <pingback:target>http://blog.structuretoobig.com/post.aspx?id=eeff326b-9157-438f-a9a7-e0e9b4196996</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://blog.structuretoobig.com/trackback.axd?id=eeff326b-9157-438f-a9a7-e0e9b4196996</trackback:ping>
      <wfw:comment>http://blog.structuretoobig.com/post/2009/04/24/Upgrade-some-ole28099-HD-DVDs-to-Blu-ray.aspx#comment</wfw:comment>
      <wfw:commentRss>http://blog.structuretoobig.com/syndication.axd?post=eeff326b-9157-438f-a9a7-e0e9b4196996</wfw:commentRss>
    <feedburner:origLink>http://blog.structuretoobig.com/post.aspx?id=eeff326b-9157-438f-a9a7-e0e9b4196996</feedburner:origLink></item>
    <item>
      <title>What is AT&amp;T doing?  Or is it IE?</title>
      <description>&lt;p&gt;Any takers as to what is going on here?&amp;#160;&amp;#160; Little things like this can be so frustrating and yet funny at the same time.&amp;#160; &lt;/p&gt;  &lt;p&gt;So quick background:&amp;#160; cancel wife’s old cell phone, decide to get a new pay-as-you go plan because she never/rarely uses it.&amp;#160; Most carriers have a plan that for $100, you can add a bunch of minutes that expire after a year, so, it works out to be about $8/mo.&amp;#160;&amp;#160; I already have an AT&amp;amp;T account, so decide to go through them.&amp;#160; &lt;/p&gt;  &lt;p&gt;I go through checkout, yadda yadda:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blog.structuretoobig.com/image.axd?picture=WindowsLiveWriter/WhatisATTdoingOrisitIE/2F249EAC/image.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blog.structuretoobig.com/image.axd?picture=WindowsLiveWriter/WhatisATTdoingOrisitIE/00BAF332/image_thumb.png" width="529" height="561" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Um, where’s North Carolina?&amp;#160; It has my zip code already and prepopulated the city.&amp;#160;&amp;#160; For that matter, where is New York??&amp;#160;&amp;#160; Now, remember, I already have service here, there’s plenty of coverage, stores all around, etc., so I know there is service here.&amp;#160; Clear everything (including cache), start over, same issue.&lt;/p&gt;  &lt;p&gt;Next I load the site in Firefox:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blog.structuretoobig.com/image.axd?picture=WindowsLiveWriter/WhatisATTdoingOrisitIE/7012D276/image.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blog.structuretoobig.com/image.axd?picture=WindowsLiveWriter/WhatisATTdoingOrisitIE/18155BC9/image_thumb.png" width="529" height="569" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Ah!&amp;#160; There we are.&amp;#160; And New York is back, too!&amp;#160; As best as I can tell, I followed the same procedure for selecting the plan.&amp;#160; Maybe a rendering issue?&amp;#160; Let’s look at the source…&lt;/p&gt;  &lt;p&gt;First up, what is with all the white space in the document?&amp;#160; This is in both browsers (I highlighted part of the document to show the blank spaces):&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blog.structuretoobig.com/image.axd?picture=WindowsLiveWriter/WhatisATTdoingOrisitIE/1DC04FA2/image.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blog.structuretoobig.com/image.axd?picture=WindowsLiveWriter/WhatisATTdoingOrisitIE/1B371DE4/image_thumb.png" width="529" height="516" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Next is the state selection in IE8.&amp;#160; Why the gap(s)?&amp;#160; And why is Minnesota selected??&amp;#160; (NOTE: I’m not suggesting the gaps pose a problem other than wasting bandwidth … but it does seem to indicate some kind of processing change … server side code would tend to be more predictable):&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blog.structuretoobig.com/image.axd?picture=WindowsLiveWriter/WhatisATTdoingOrisitIE/4D4E4861/image.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blog.structuretoobig.com/image.axd?picture=WindowsLiveWriter/WhatisATTdoingOrisitIE/73ECAEE1/image_thumb.png" width="529" height="512" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;And now in Firefox:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blog.structuretoobig.com/image.axd?picture=WindowsLiveWriter/WhatisATTdoingOrisitIE/22360EC2/image.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blog.structuretoobig.com/image.axd?picture=WindowsLiveWriter/WhatisATTdoingOrisitIE/1DFC1130/image_thumb.png" width="529" height="577" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;Weird, huh?&amp;#160;&amp;#160; Because of the white space and layout, it seems &lt;em&gt;something&lt;/em&gt; is going on during server side rendering.&amp;#160; &lt;/p&gt;  &lt;p&gt;UPDATE:&amp;#160; Seems like it’s fixed.&amp;#160; I tried several times in IE8, clearing the cache, with the same result.&amp;#160; Then, I tried Firefox with the IE8 User Agent, and it worked – but then when I went _back_ to IE8 it seems to be working.&amp;#160;&amp;#160; So for now, I guess it will remain a mystery.&amp;#160; I’ll venture a guess that it had nothing to do with the user agent and rather something else, such as hitting a different server or server farm altogether, despite having cleared the cache as I went back and forth.&amp;#160; &lt;/p&gt;&lt;img src="http://www.myworldmaps.net/map.ashx/fecb0aff-083e-4f42-9b08-9a01e3cb714a/ping" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/structuretoobig/~4/gHodzC9CAzQ" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/structuretoobig/~3/gHodzC9CAzQ/post.aspx</link>
      <author>bhitney</author>
      <comments>http://blog.structuretoobig.com/post/2009/04/21/What-is-ATT-doing-Or-is-it-IE.aspx#comment</comments>
      <guid isPermaLink="false">http://blog.structuretoobig.com/post.aspx?id=90908224-1173-4ca8-932e-8503c7799e09</guid>
      <pubDate>Tue, 21 Apr 2009 06:20:58 -1300</pubDate>
      <category>Babble</category>
      <category>Technology</category>
      <dc:publisher>bhitney</dc:publisher>
      <pingback:server>http://blog.structuretoobig.com/pingback.axd</pingback:server>
      <pingback:target>http://blog.structuretoobig.com/post.aspx?id=90908224-1173-4ca8-932e-8503c7799e09</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://blog.structuretoobig.com/trackback.axd?id=90908224-1173-4ca8-932e-8503c7799e09</trackback:ping>
      <wfw:comment>http://blog.structuretoobig.com/post/2009/04/21/What-is-ATT-doing-Or-is-it-IE.aspx#comment</wfw:comment>
      <wfw:commentRss>http://blog.structuretoobig.com/syndication.axd?post=90908224-1173-4ca8-932e-8503c7799e09</wfw:commentRss>
    <feedburner:origLink>http://blog.structuretoobig.com/post.aspx?id=90908224-1173-4ca8-932e-8503c7799e09</feedburner:origLink></item>
    <item>
      <title>Teaching Time Warner</title>
      <description>&lt;p&gt;In general I try to avoid overly political/critical posts but in this case, I’m making an exception.&amp;#160; Recently, Time Warner Cable (TWC) decided to expand some metered bandwidth trials, and one market they decided to test it in is Greensboro, NC (my market).&amp;#160;&amp;#160; This has gone around in the press (online, newspapers, and even on the evening news) so much, it’s hard to not know about this even in other markets.&amp;#160; Clearly, going from an “unlimited” plan to a metered plan will raise a few eyebrows (&lt;a href="http://www.dslreports.com/shownews/Time-Warner-Cable-Protests-Planned-101942" target="_blank"&gt;and a few protestors&lt;/a&gt;), and TWC in this case didn’t do their already low customer service ratings any favors.&amp;#160; &lt;/p&gt;  &lt;p&gt;To recap the situation (briefly), the current internet plans are basically unlimited, with a few different speed tiers.&amp;#160; The proposed change meant that caps be instituted on the amount of bandwidth users could consume, ranging from roughly 5GB to 40GB per month, with overages of $1 to $2 per GB.&amp;#160;&amp;#160; That’s pretty shocking.&amp;#160; &lt;/p&gt;  &lt;p&gt;The good news is that &lt;a href="http://www.timewarnercable.com/corporate/announcements/cbb.html" target="_blank"&gt;TWC has decided to temporarily shelve its plans&lt;/a&gt;.&amp;#160; The disturbing part is the apparent lack of understanding on Time Warner’s part, insisting the problem is a lack of understanding from the consumers:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;Time Warner Cable (NYSE:TWC) today announced it would alter plans to test Consumption Based Billing, shelving the trials while the &lt;u&gt;customer education process continues&lt;/u&gt;.&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;Time Warner Cable Chief Executive Officer Glenn Britt said, “It is clear from the public response over the last two weeks that &lt;u&gt;there is a great deal of misunderstanding&lt;/u&gt; about our plans to roll out additional tests on Consumption Based Billing.”&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Actually, I think the only misunderstanding is with the TWC executives, and any victory of having TWC shelving these plans is likely to be short lived.&amp;#160; &lt;/p&gt;  &lt;p&gt;So, let’s begin with the crux of the problem.&amp;#160;&amp;#160; This is my bandwidth usage over the past few months (note, April is only half over):&lt;/p&gt;  &lt;p&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blog.structuretoobig.com/image.axd?picture=WindowsLiveWriter/TeachingTimeWarner/71FF627F/image.png" width="474" height="237" /&gt; &lt;/p&gt;  &lt;p&gt;The router firmware I’m using (&lt;a href="http://polarcloud.com" target="_blank"&gt;Tomato&lt;/a&gt;) has the option to keep these numbers.&amp;#160; TWC said it will be providing a “gas gauge” so users can see how much bandwidth they are using (even though they’ve temporarily ditched the metered plan).&amp;#160; Having these numbers (caps or no caps) is a good thing.&lt;/p&gt;  &lt;p&gt;I consider my usage moderate but reasonable for what I pay.&amp;#160; I work quite a bit from home, download the latest bits and connect via VPN.&amp;#160; I stream some Netflix, use LiveMeeting and do quite a bit of videoconferencing, play some online games from time to time, and … use VOIP and DirecTV VOD (more on that in a second).&amp;#160; I certainly don’t consider my usage abusive.&amp;#160; But under the original proposal from TWC, I’d be exceeding my $60/mo allotment by around 35+ GB, increasing my bill to nearly $100.&amp;#160;&amp;#160; TWC eventually increased the caps nominally to 60 GB for their top tier (which I’m on), which means my bill would instead be around $80/mo.&amp;#160; That’s too high for the value I’m getting.&amp;#160; &lt;/p&gt;  &lt;p&gt;And, this will only increase over time due to more and more content delivered online.&amp;#160; To address my earlier point, this definitely smacks of net neutrality (good article on that &lt;a href="http://www.pcworld.com/businesscenter/article/163344/why_metered_broadband_would_work.html" target="_blank"&gt;here&lt;/a&gt;).&amp;#160; Clearly, I’d be facing a decision where I’d need to stop using DirecTV/Netflix VOD and my VOIP provider, in favor or TWC’s own VOIP and VOD offering, since – even though they are more expensive – would end up being cheaper as they wouldn’t count against my bandwidth cap.&lt;/p&gt;  &lt;p&gt;Of course, TWC points out (&lt;a href="http://www.dslreports.com/shownews/Time-Warner-Backs-Off-Metered-Billing-101948" target="_blank"&gt;here&lt;/a&gt; and &lt;a href="http://www.timewarnercable.com/corporate/announcements/cbb.html" target="_blank"&gt;here&lt;/a&gt;) that usage is on the rise, and “something must be done” … right?&amp;#160; Er, no, at least not in this fashion.&amp;#160; As a technologist, I’ll say this clearly:&amp;#160; I’m not _against_ consumption based billing -- if it’s reasonable and not abusive.&amp;#160; But even though usage is increasing, costs are dropping rapidly as well.&amp;#160; And it’s pretty obvious why Time Warner chose the markets they did for these trials:&amp;#160; they say it’s because the markets have a strong demographic mix that suites the trials, but the reality is, the markets have no competition – they wouldn’t do this in FiOS / Cablevision country, I assure you.&lt;/p&gt;  &lt;p&gt;Since TWC likes to use so many apples to oranges comparisons, I’ll offer my own: the metered trial that TWC proposed is similar to having an unlimited cell phone plan, only to be told that – on the maximum plan – you’d be capped at 60 minutes per month with 25 cent per minute overages.&amp;#160;&amp;#160; For this reason, cell carriers have a large array of plans to work with whatever you need – and they also offer free weekends/evenings (that is, cheaper or free during non-peak time).&amp;#160; &lt;/p&gt;  &lt;p&gt;I like this analogy because my wife uses only minutes per month on her cell phone, needs no data, text, etc.&amp;#160; So the fact that she pays less and I pay more is desirable – and in this spirit, I support tiered pricing.&amp;#160;&amp;#160; Suppose you have a second home and just want high speed internet for very light usage – wouldn’t it be nice to pay $15 or $20/mo for such a plan?&amp;#160;&amp;#160; Or, perhaps you’d like a second line as a backup (one DSL, one cable).&amp;#160; Maybe you only check email and don’t need anything else.&amp;#160; As a power user, I’m stymied that TWC offers a max 512K upload and I’d certainly be willing to pay a bit more for larger upload.&lt;/p&gt;  &lt;p&gt;So what is the right way TWC can institute a tiered system?&amp;#160; Here’s what I think:&lt;/p&gt;  &lt;p&gt;1)&amp;#160; Stop insulting the intelligence of the community.&amp;#160; Certainly there are many non-technical users, but the majority of those who spoke out against the caps are generally more technically inclined.&amp;#160; &lt;/p&gt;  &lt;p&gt;2)&amp;#160; Start offering the “gas gauge” so users can gain insight into their bandwidth usage.&amp;#160; Put it on the bill.&amp;#160; Even without caps, this is good info.&lt;/p&gt;  &lt;p&gt;3)&amp;#160; &lt;u&gt;KEEP THE UNLIMITED PLAN IN PLACE AS IS&lt;/u&gt;, but begin offering cheaper, lower usage tiers.&amp;#160; Allow customers to select that $15/mo, low-speed/volume plan if they’d like.&amp;#160; If users in these tiers consume more data and go over, cap the fees at the unlimited price.&amp;#160; That way, no user will ever pay more than they are paying today.&amp;#160; This sends the message that tiered pricing can work and save consumers money.&amp;#160; &lt;/p&gt;  &lt;p&gt;4)&amp;#160; Start using some of those profits to roll out DOCSIS 3.&amp;#160; Start giving some reasonable, more cutting edge speeds.&amp;#160; When FIOS/Cablevision customers can get 50/5 plans (or more) &lt;em&gt;for less&lt;/em&gt;, a 384k upload with a low cap is barely a notch above dial up and is embarrassing.&amp;#160;&amp;#160; Before instituting any other caps that may make service more expensive, have added value/speeds such as DOCSIS 3.&lt;/p&gt;  &lt;p&gt;5)&amp;#160; Tiers need to have reasonable caps.&amp;#160; The original 40GB (then 60GB) max caps are WAY too low.&amp;#160; A “standard user” tier, at an absolute minimum, should be at least 100GB, and I think 125GB or 150GB is more reasonable: low volume tiers (1GB, 5GB, etc.) are fine, as long there are higher tiers for those who want them.&amp;#160; These numbers can vary if the overages are more reasonable, too -- $1 per GB is an insane markup, particularly in the age of VOD and online rentals.&amp;#160; A standard tier of 125GB should be roughly 25 cents per GB, at most.&amp;#160;&amp;#160; Power tiers (turbo and up) should offer 175GB, 200GB, and 250GB caps at various prices.&amp;#160;&amp;#160; I could see an “ultra” tier of the fastest speed they can give, with 250GB caps, 25 cent overages, for $89/mo.&amp;#160;&amp;#160; While TWC may think these caps are high, create it with the idea that these numbers will work for a couple of years before needing adjustment and just &lt;a href="http://www22.verizon.com/residential/fiosinternet/Plans/Plans.htm" target="_blank"&gt;look at what the competition can offer without caps&lt;/a&gt;.&amp;#160; &lt;/p&gt;  &lt;p&gt;In any event, create plans that &lt;em&gt;cater to everyone&lt;/em&gt;.&amp;#160; I always wonder who needs the cell phone plan with 10,000 minutes per month with free weekends, but hey, someone is buying it.&lt;/p&gt;  &lt;p&gt;6)&amp;#160; During low usage times (weekends, mid-day, etc.) turn off the meter and make those times known.&amp;#160;&amp;#160; Some of us who use moderate amounts of bandwidth do so off hours.&amp;#160; (I have a few apps that do backups and what not at 4 am, for example).&amp;#160; “Reward” off-peak usage or meter only peak usage.&amp;#160; Let’s not pretend that it’s &lt;em&gt;&lt;u&gt;cumulative usage&lt;/u&gt;&lt;/em&gt; of the network that is a concern – it’s &lt;em&gt;&lt;u&gt;concurrent load&lt;/u&gt;.&lt;/em&gt;&amp;#160;&amp;#160; That’s why phone carriers vary the pricing the way they do.&lt;/p&gt;  &lt;p&gt;7)&amp;#160; You really want to wow the customer?&amp;#160; Auto-adjust the customer plan based on usage.&amp;#160; Maybe I travelled 3 weeks this month and had no usage – why note cut me a break?&amp;#160; Not willing to do that?&amp;#160; Offer roll-over “minutes.”&amp;#160;&amp;#160; &lt;/p&gt;  &lt;p&gt;Would I rather not have any tiered pricing?&amp;#160; Probably.&amp;#160; But, if it can be done in such a way that it offers me more value (that is, higher speeds, priority routing, etc.) I’d be supportive, even if I had to pay a little more.&amp;#160; But to pay more (in some cases, more than double: the 10/1 unlimited plan would essentially be $175/mo!) for the same?&amp;#160; No thanks.&amp;#160; &lt;/p&gt;  &lt;p&gt;&lt;em&gt;Create an exceptional value for the consumer, and it will work.&lt;/em&gt;&lt;/p&gt;&lt;img src="http://www.myworldmaps.net/map.ashx/fecb0aff-083e-4f42-9b08-9a01e3cb714a/ping" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/structuretoobig/~4/GjnChLpJcYU" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/structuretoobig/~3/GjnChLpJcYU/post.aspx</link>
      <author>bhitney</author>
      <comments>http://blog.structuretoobig.com/post/2009/04/18/Teaching-Time-Warner.aspx#comment</comments>
      <guid isPermaLink="false">http://blog.structuretoobig.com/post.aspx?id=92eb2819-1c84-4019-a780-7ce2350cfb9f</guid>
      <pubDate>Sat, 18 Apr 2009 07:35:38 -1300</pubDate>
      <category>Technology</category>
      <category>Rant</category>
      <dc:publisher>bhitney</dc:publisher>
      <pingback:server>http://blog.structuretoobig.com/pingback.axd</pingback:server>
      <pingback:target>http://blog.structuretoobig.com/post.aspx?id=92eb2819-1c84-4019-a780-7ce2350cfb9f</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://blog.structuretoobig.com/trackback.axd?id=92eb2819-1c84-4019-a780-7ce2350cfb9f</trackback:ping>
      <wfw:comment>http://blog.structuretoobig.com/post/2009/04/18/Teaching-Time-Warner.aspx#comment</wfw:comment>
      <wfw:commentRss>http://blog.structuretoobig.com/syndication.axd?post=92eb2819-1c84-4019-a780-7ce2350cfb9f</wfw:commentRss>
    <feedburner:origLink>http://blog.structuretoobig.com/post.aspx?id=92eb2819-1c84-4019-a780-7ce2350cfb9f</feedburner:origLink></item>
    <item>
      <title>Persisting User Settings in Silverlight</title>
      <description>&lt;p&gt;One topic that comes up frequently in dev circles is persisting data in Silverlight applications.&amp;#160; There are a number of ways to do this, and the right solution depends on the data that is being stored.&amp;#160; In ASP.NET applications, user settings are typically stored in a database and often abstracted through a mechanism like the ASP.NET Profile provider in conjunction with the ASP.NET Membership provider.&amp;#160; The make the end user experience a bit better, log in state (or simply the username) is persisted in a cookie.&amp;#160; &lt;/p&gt;  &lt;p&gt;In Silverlight, this is still a viable approach (although the data is typically exposed via webservices, depending on the application). &lt;/p&gt;  &lt;p&gt;Another approach, however, is to use isolated storage.&amp;#160; Isolated storage can be an effective tool for caching data (with a number of caveats).&amp;#160; In the example below, I’ve created a very simple class that contains the application settings I’d like to persist.&amp;#160;&amp;#160; The key methods are Load() and Save().&amp;#160;&amp;#160; Out of the box, this will work and you can simply add/remove properties as you’d like.&amp;#160; &lt;/p&gt;  &lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 92.23%; padding-right: 4px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; height: 243px; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;   &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;     &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;class&lt;/span&gt; ApplicationSettings&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum2"&gt;   2:&lt;/span&gt;     {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum3"&gt;   3:&lt;/span&gt;         [DefaultValue(6)]&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum4"&gt;   4:&lt;/span&gt;         &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;int&lt;/span&gt; MinZoom { get; set; }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum5"&gt;   5:&lt;/span&gt;&amp;#160; &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum6"&gt;   6:&lt;/span&gt;         [DefaultValue(13)]&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum7"&gt;   7:&lt;/span&gt;         &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;int&lt;/span&gt; MaxZoom { get; set; }&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum8"&gt;   8:&lt;/span&gt;&amp;#160; &lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum9"&gt;   9:&lt;/span&gt;         [DefaultValue(8)]&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum10"&gt;  10:&lt;/span&gt;         &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;int&lt;/span&gt; PlotDelay { get; set; }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum11"&gt;  11:&lt;/span&gt;&amp;#160; &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum12"&gt;  12:&lt;/span&gt;         [DefaultValue(&lt;span style="color: #0000ff"&gt;false&lt;/span&gt;)]&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum13"&gt;  13:&lt;/span&gt;         &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;bool&lt;/span&gt; RememberSettings { get; set; }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum14"&gt;  14:&lt;/span&gt;&amp;#160; &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum15"&gt;  15:&lt;/span&gt;         &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; ApplicationSettings() { }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum16"&gt;  16:&lt;/span&gt;&amp;#160; &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum17"&gt;  17:&lt;/span&gt;         &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;static&lt;/span&gt; WorldmapsSettings Load()&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum18"&gt;  18:&lt;/span&gt;         {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum19"&gt;  19:&lt;/span&gt;             ApplicationSettings settings = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; ApplicationSettings();&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum20"&gt;  20:&lt;/span&gt;&amp;#160; &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum21"&gt;  21:&lt;/span&gt;             &lt;span style="color: #0000ff"&gt;using&lt;/span&gt; (IsolatedStorageFile store = IsolatedStorageFile.GetUserStoreForApplication())&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum22"&gt;  22:&lt;/span&gt;             {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum23"&gt;  23:&lt;/span&gt;                 &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; (!store.FileExists(&lt;span style="color: #006080"&gt;@&amp;quot;ApplicationSettings.xml&amp;quot;&lt;/span&gt;))&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum24"&gt;  24:&lt;/span&gt;                 {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum25"&gt;  25:&lt;/span&gt;                     &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; settings;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum26"&gt;  26:&lt;/span&gt;                 }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum27"&gt;  27:&lt;/span&gt;&amp;#160; &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum28"&gt;  28:&lt;/span&gt;                 &lt;span style="color: #0000ff"&gt;using&lt;/span&gt; (var isoStream = store.OpenFile(&lt;span style="color: #006080"&gt;@&amp;quot;ApplicationSettings.xml&amp;quot;&lt;/span&gt;,&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum29"&gt;  29:&lt;/span&gt;                     FileMode.Open))&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum30"&gt;  30:&lt;/span&gt;                 {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum31"&gt;  31:&lt;/span&gt;                     XmlSerializer s = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; XmlSerializer(&lt;span style="color: #0000ff"&gt;typeof&lt;/span&gt;(ApplicationSettings));&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum32"&gt;  32:&lt;/span&gt;                     TextReader r = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; StreamReader(isoStream);&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum33"&gt;  33:&lt;/span&gt;                     settings = (ApplicationSettings)s.Deserialize(r);&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum34"&gt;  34:&lt;/span&gt;                     r.Close();&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum35"&gt;  35:&lt;/span&gt;&amp;#160; &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum36"&gt;  36:&lt;/span&gt;                     &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; (settings != &lt;span style="color: #0000ff"&gt;null&lt;/span&gt; &amp;amp;&amp;amp; settings.RememberSettings)&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum37"&gt;  37:&lt;/span&gt;                     {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum38"&gt;  38:&lt;/span&gt;                         &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; settings;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum39"&gt;  39:&lt;/span&gt;                     }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum40"&gt;  40:&lt;/span&gt;                     &lt;span style="color: #0000ff"&gt;else&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum41"&gt;  41:&lt;/span&gt;                     {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum42"&gt;  42:&lt;/span&gt;                         &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; ApplicationSettings();&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum43"&gt;  43:&lt;/span&gt;                     }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum44"&gt;  44:&lt;/span&gt;                 }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum45"&gt;  45:&lt;/span&gt;             }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum46"&gt;  46:&lt;/span&gt;         }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum47"&gt;  47:&lt;/span&gt;&amp;#160; &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum48"&gt;  48:&lt;/span&gt;         &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;void&lt;/span&gt; Save()&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum49"&gt;  49:&lt;/span&gt;         { &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum50"&gt;  50:&lt;/span&gt;             &lt;span style="color: #0000ff"&gt;using&lt;/span&gt; (IsolatedStorageFile store = IsolatedStorageFile.GetUserStoreForApplication())&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum51"&gt;  51:&lt;/span&gt;             {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum52"&gt;  52:&lt;/span&gt;                 &lt;span style="color: #0000ff"&gt;using&lt;/span&gt; (IsolatedStorageFileStream isoStream = store.OpenFile(&lt;span style="color: #006080"&gt;@&amp;quot;ApplicationSettings.xml&amp;quot;&lt;/span&gt;,&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum53"&gt;  53:&lt;/span&gt;                     FileMode.Create))&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum54"&gt;  54:&lt;/span&gt;                 {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum55"&gt;  55:&lt;/span&gt;                     XmlSerializer s = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; XmlSerializer(&lt;span style="color: #0000ff"&gt;typeof&lt;/span&gt;(ApplicationSettings));&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum56"&gt;  56:&lt;/span&gt;                     TextWriter writer = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; StreamWriter(isoStream);&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum57"&gt;  57:&lt;/span&gt;                     s.Serialize(writer, &lt;span style="color: #0000ff"&gt;this&lt;/span&gt;);&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum58"&gt;  58:&lt;/span&gt;                     writer.Close();              &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum59"&gt;  59:&lt;/span&gt;                 }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum60"&gt;  60:&lt;/span&gt;             }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum61"&gt;  61:&lt;/span&gt;         }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum62"&gt;  62:&lt;/span&gt;     }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;[EDIT]&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Silverlight guru &lt;a href="http://timheuer.com/blog/" target="_blank"&gt;Tim Heuer&lt;/a&gt; pointed out I’m doing a lot of extra work I don’t need to.&amp;#160;&amp;#160; The ApplicationSettings of the IsolatedStorageSettings allows us to stuff objects in it pretty cleanly – so the above could be implemented like so:&lt;/p&gt;

&lt;div id="codeSnippetWrapper"&gt;
  &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;
    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;static&lt;/span&gt; WorldmapsSettings Load()&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum2"&gt;   2:&lt;/span&gt; {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum3"&gt;   3:&lt;/span&gt;     &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum4"&gt;   4:&lt;/span&gt;     WorldmapsSettings settings = &lt;span style="color: #0000ff"&gt;null&lt;/span&gt;;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum5"&gt;   5:&lt;/span&gt;     &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum6"&gt;   6:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; (IsolatedStorageSettings.ApplicationSettings.Contains(&lt;span style="color: #006080"&gt;&amp;quot;foo&amp;quot;&lt;/span&gt;))&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum7"&gt;   7:&lt;/span&gt;     {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum8"&gt;   8:&lt;/span&gt;         settings = IsolatedStorageSettings.ApplicationSettings[&lt;span style="color: #006080"&gt;&amp;quot;foo&amp;quot;&lt;/span&gt;] &lt;span style="color: #0000ff"&gt;as&lt;/span&gt; WorldmapsSettings;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum9"&gt;   9:&lt;/span&gt;     }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum10"&gt;  10:&lt;/span&gt;     &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum11"&gt;  11:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; (settings == &lt;span style="color: #0000ff"&gt;null&lt;/span&gt;)&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum12"&gt;  12:&lt;/span&gt;     {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum13"&gt;  13:&lt;/span&gt;         settings = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; WorldmapsSettings();&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum14"&gt;  14:&lt;/span&gt;     }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum15"&gt;  15:&lt;/span&gt;&amp;#160; &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum16"&gt;  16:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; settings;  &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum17"&gt;  17:&lt;/span&gt; }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum18"&gt;  18:&lt;/span&gt;&amp;#160; &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum19"&gt;  19:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;void&lt;/span&gt; Save()&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum20"&gt;  20:&lt;/span&gt; {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum21"&gt;  21:&lt;/span&gt;     IsolatedStorageSettings.ApplicationSettings[&lt;span style="color: #006080"&gt;&amp;quot;foo&amp;quot;&lt;/span&gt;] = &lt;span style="color: #0000ff"&gt;this&lt;/span&gt;;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum22"&gt;  22:&lt;/span&gt; }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;I can’t think of a good reason not to do it this way, unless some more complex serialization is called for, but even then I can’t come up with a good scenario for that.&amp;#160; &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;[/EDIT]&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;Now for the caveat.&amp;#160; Isolated storage isn’t secure unless you take some measures to secure it manually.&amp;#160; While you could encrypt the contents, I’d probably recommend not storing data on the client if you’re saving sensitive data.&amp;#160; In the above example, I’m serializing the data using the XML serializer, so the data is obviously in plain text and stored locally:&lt;/p&gt;

&lt;p&gt;&lt;a href="http://blog.structuretoobig.com/image.axd?picture=WindowsLiveWriter/PersistingUserSettingsinSilverlight/06B7F849/image.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blog.structuretoobig.com/image.axd?picture=WindowsLiveWriter/PersistingUserSettingsinSilverlight/26A35546/image_thumb.png" width="538" height="204" /&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;… and it contains the expected object:&lt;/p&gt;

&lt;div id="codeSnippetWrapper"&gt;
  &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;
    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; &amp;lt;ApplicationSettings xmlns:xsi=&lt;span style="color: #006080"&gt;&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot;&lt;/span&gt; &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum2"&gt;   2:&lt;/span&gt;  xmlns:xsd=&lt;span style="color: #006080"&gt;&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&lt;/span&gt;&amp;gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum3"&gt;   3:&lt;/span&gt;  &amp;lt;MinZoom&amp;gt;2&amp;lt;/MinZoom&amp;gt; &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum4"&gt;   4:&lt;/span&gt;  &amp;lt;MaxZoom&amp;gt;16&amp;lt;/MaxZoom&amp;gt; &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum5"&gt;   5:&lt;/span&gt;  &amp;lt;PlotDelaySeconds&amp;gt;14&amp;lt;/PlotDelaySeconds&amp;gt; &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum6"&gt;   6:&lt;/span&gt;  &amp;lt;RememberSettings&amp;gt;&lt;span style="color: #0000ff"&gt;false&lt;/span&gt;&amp;lt;/RememberSettings&amp;gt; &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum7"&gt;   7:&lt;/span&gt; &amp;lt;/ApplicationSettings&amp;gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Isolated storage offers a lot of potential, but it’s also important to remember the security implications in both exposing the data as well as potential injection points.&lt;/p&gt;&lt;img src="http://www.myworldmaps.net/map.ashx/fecb0aff-083e-4f42-9b08-9a01e3cb714a/ping" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/structuretoobig/~4/GpaGdVFsEVo" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/structuretoobig/~3/GpaGdVFsEVo/post.aspx</link>
      <author>bhitney</author>
      <comments>http://blog.structuretoobig.com/post/2009/04/13/Persisting-User-Settings-in-Silverlight.aspx#comment</comments>
      <guid isPermaLink="false">http://blog.structuretoobig.com/post.aspx?id=8986f19d-6c61-4452-b76e-92b214ee3f8a</guid>
      <pubDate>Mon, 13 Apr 2009 05:33:33 -1300</pubDate>
      <category>Development</category>
      <category>Technology</category>
      <dc:publisher>bhitney</dc:publisher>
      <pingback:server>http://blog.structuretoobig.com/pingback.axd</pingback:server>
      <pingback:target>http://blog.structuretoobig.com/post.aspx?id=8986f19d-6c61-4452-b76e-92b214ee3f8a</pingback:target>
      <slash:comments>3</slash:comments>
      <trackback:ping>http://blog.structuretoobig.com/trackback.axd?id=8986f19d-6c61-4452-b76e-92b214ee3f8a</trackback:ping>
      <wfw:comment>http://blog.structuretoobig.com/post/2009/04/13/Persisting-User-Settings-in-Silverlight.aspx#comment</wfw:comment>
      <wfw:commentRss>http://blog.structuretoobig.com/syndication.axd?post=8986f19d-6c61-4452-b76e-92b214ee3f8a</wfw:commentRss>
    <feedburner:origLink>http://blog.structuretoobig.com/post.aspx?id=8986f19d-6c61-4452-b76e-92b214ee3f8a</feedburner:origLink></item>
  </channel>
</rss>
