<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>adrianba.net</title>
        <link>http://adrianba.net/Default.aspx</link>
        <description>On land, on sea, and in the ether.</description>
        <language>en-GB</language>
        <copyright>Adrian Bateman</copyright>
        <managingEditor>adrian@adrianba.net</managingEditor>
        <generator>Subtext Version 2.0.0.43</generator>
        <image>
            <title>adrianba.net</title>
            <url>http://adrianba.net/images/RSS2Image.gif</url>
            <link>http://adrianba.net/Default.aspx</link>
            <width>77</width>
            <height>60</height>
        </image>
        <item>
            <title>Well-formed mark-up?</title>
            <link>http://adrianba.net/archive/2008/11/16/well-formed-mark-up.aspx</link>
            <description>&lt;p&gt;There’s an interesting debate going on in the W3C HTML working group about whether well-formed HTML is important in the specification process for HTML5. It feels to me somehow intellectually that well-formedness is a valuable goal but when it comes down to explaining why it matters I’m finding it hard.&lt;/p&gt;  &lt;p&gt;Which of the following is “better”:&lt;/p&gt;  &lt;p align="center"&gt;normal&lt;tt&gt;&amp;lt;b&amp;gt;&lt;/tt&gt;&lt;strong&gt;bold&lt;/strong&gt;&lt;tt&gt;&amp;lt;i&amp;gt;&lt;/tt&gt;&lt;em&gt;&lt;strong&gt;bolditalic&lt;/strong&gt;&lt;/em&gt;&lt;tt&gt;&amp;lt;/b&amp;gt;&lt;/tt&gt;&lt;em&gt;italic&lt;/em&gt;&lt;tt&gt;&amp;lt;/i&amp;gt;&lt;/tt&gt;normal&lt;/p&gt;  &lt;p&gt;or&lt;/p&gt;  &lt;p align="center"&gt;normal&lt;tt&gt;&amp;lt;b&amp;gt;&lt;/tt&gt;&lt;strong&gt;bold&lt;/strong&gt;&lt;tt&gt;&amp;lt;i&amp;gt;&lt;/tt&gt;&lt;em&gt;&lt;strong&gt;bolditalic&lt;/strong&gt;&lt;/em&gt;&lt;tt&gt;&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;i&amp;gt;&lt;/tt&gt;&lt;em&gt;italic&lt;/em&gt;&lt;tt&gt;&amp;lt;/i&amp;gt;&lt;/tt&gt;normal&lt;/p&gt;  &lt;p&gt;The first is shorter (and works in all the popular web browsers) while the second is well-formed. Well-formedness isn’t about being smaller. It’s also not about performance: it turns out that the parsers in browsers often process certain non-well-formed mark-up faster than if it had been well-formed.&lt;/p&gt;  &lt;p&gt;Since browsers have to parse both alternatives and the HTML5 process is about ensuring that they do so in a predictable and interoperable way then should there be any weight behind well-formed documents? After all, the spec doesn’t prevent you from choosing to be well-formed if you want to.&lt;/p&gt;  &lt;p&gt;The analogy I’ve been considering is about indentation in C++ source code: few people would probably write C++ without a sensible indentation strategy to help make the code readable. Yet the C++ spec doesn’t need to say anything about indentation – it’s a best practice but not a formal part of the language definition. Could writing well-formed HTML be a best practice that’s not a formal part of the language definition?&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:328c2ad3-9c63-44a2-a7b3-891fc4eb963f" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/HTML" rel="tag"&gt;HTML&lt;/a&gt;,&lt;a href="http://technorati.com/tags/W3C" rel="tag"&gt;W3C&lt;/a&gt;&lt;/div&gt;&lt;img src="http://adrianba.net/aggbug/438.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Adrian Bateman</dc:creator>
            <guid>http://adrianba.net/archive/2008/11/16/well-formed-mark-up.aspx</guid>
            <pubDate>Mon, 17 Nov 2008 02:44:49 GMT</pubDate>
            <wfw:comment>http://adrianba.net/comments/438.aspx</wfw:comment>
            <comments>http://adrianba.net/archive/2008/11/16/well-formed-mark-up.aspx#feedback</comments>
            <slash:comments>4</slash:comments>
            <wfw:commentRss>http://adrianba.net/comments/commentRss/438.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Installing Vista unattended</title>
            <link>http://adrianba.net/archive/2008/11/16/installing-vista-unattended.aspx</link>
            <description>&lt;p&gt;I’ve been spending some time on a side project to create a Vista boot image that installs unattended and configures a development machine with all the tools I want configured they way I want them. The goal is to install everything including Visual Studio and all the little utilities that I use frequently as well as configuring the common things the way I like them like the mouse sensitivity, colour scheme, etc.&lt;/p&gt;  &lt;p&gt;The simple starting point for this project is to get Vista to install unattended using an answer file created with the &lt;a href="http://technet.microsoft.com/en-us/library/cc748933.aspx"&gt;Windows Automated Installation Kit (Windows AIK)&lt;/a&gt;. I found an excellent guide to creating the answer file: &lt;a href="http://firegeier.unattended-sponsor.de/en/sitemap.html"&gt;FireGeier’s Unattended Vista Guide&lt;/a&gt;. This provides a simple walkthrough of how to configure the AIK and how to build increasingly complex unattended installs.&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:09badccd-f4b8-4727-a325-69f8ea331604" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Vista" rel="tag"&gt;Vista&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Unattended" rel="tag"&gt;Unattended&lt;/a&gt;&lt;/div&gt;&lt;img src="http://adrianba.net/aggbug/437.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Adrian Bateman</dc:creator>
            <guid>http://adrianba.net/archive/2008/11/16/installing-vista-unattended.aspx</guid>
            <pubDate>Sun, 16 Nov 2008 18:40:09 GMT</pubDate>
            <wfw:comment>http://adrianba.net/comments/437.aspx</wfw:comment>
            <comments>http://adrianba.net/archive/2008/11/16/installing-vista-unattended.aspx#feedback</comments>
            <wfw:commentRss>http://adrianba.net/comments/commentRss/437.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Comfy Chair</title>
            <link>http://adrianba.net/archive/2008/11/13/comfy-chair.aspx</link>
            <description>&lt;p&gt;I finally got around to buying a proper chair to sit on to use my PC at home.&lt;/p&gt;  &lt;p&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" title="Air Mesh Fabric Executive Chair" alt="Air Mesh Fabric Executive Chair" src="http://content.officemax.com/catalog/images/209x186/21223702i_01.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;My hope is that now it is more comfortable to sit here I might actually get around to reading RSS feeds and even posting to my blog. :)&lt;/p&gt;&lt;img src="http://adrianba.net/aggbug/436.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Adrian Bateman</dc:creator>
            <guid>http://adrianba.net/archive/2008/11/13/comfy-chair.aspx</guid>
            <pubDate>Fri, 14 Nov 2008 04:53:59 GMT</pubDate>
            <wfw:comment>http://adrianba.net/comments/436.aspx</wfw:comment>
            <comments>http://adrianba.net/archive/2008/11/13/comfy-chair.aspx#feedback</comments>
            <wfw:commentRss>http://adrianba.net/comments/commentRss/436.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Have another SWIG...</title>
            <link>http://adrianba.net/archive/2008/09/09/have-another-swig.aspx</link>
            <description>&lt;p /&gt;  &lt;p&gt;This is mostly a bookmark for me because this isn’t something I need right now but is definitely something I can see needing in the future. &lt;a href="http://tech.groups.yahoo.com/group/win_tech_off_topic/message/58515"&gt;According to the fine members of the win_tech_off_topic group&lt;/a&gt;, &lt;a href="http://www.swig.org/"&gt;SWIG&lt;/a&gt; is a good tool for building the interop layer between C/C++ code and another runtime, be it Java, Python, or .NET.&lt;/p&gt;  &lt;p /&gt;  &lt;p /&gt;  &lt;p /&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:caad6633-970b-4f8f-a224-929b008e7b33" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Tools" rel="tag"&gt;Tools&lt;/a&gt;,&lt;a href="http://technorati.com/tags/C%2b%2b" rel="tag"&gt;C++&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Interop" rel="tag"&gt;Interop&lt;/a&gt;&lt;/div&gt;&lt;img src="http://adrianba.net/aggbug/435.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Adrian Bateman</dc:creator>
            <guid>http://adrianba.net/archive/2008/09/09/have-another-swig.aspx</guid>
            <pubDate>Tue, 09 Sep 2008 12:10:00 GMT</pubDate>
            <comments>http://adrianba.net/archive/2008/09/09/have-another-swig.aspx#feedback</comments>
            <wfw:commentRss>http://adrianba.net/comments/commentRss/435.aspx</wfw:commentRss>
        </item>
        <item>
            <title>XMLStarlet Command Line XML Toolkit</title>
            <link>http://adrianba.net/archive/2008/09/08/xmlstarlet-command-line-xml-toolkit.aspx</link>
            <description>&lt;p /&gt;  &lt;p&gt;I’ve recently been writing some scripts to automate a test harness. The test harness takes in an XML file as it’s input. It turns out that most of the tests we want a slight variations of the same scenario and this means small tweaks to the XML file. When I started, I ended up with a new XML file for each scenario. This was okay for 2 variations of 3 scenarios (6 files) but as the test space grew so did the number of XML files. I wanted to find an easier way of keeping all the files in sync but I didn’t want a heavyweight solution such as some kind of database or input file that I would somehow have to find a way to parse.&lt;/p&gt;  &lt;p&gt;I ran across &lt;a href="http://xmlstar.sourceforge.net/"&gt;XMLStarlet&lt;/a&gt;, which is “...&lt;em&gt;a set of command line utilities (tools) which can be used to transform, query, validate, and edit XML documents and files using simple set of shell commands in similar way it is done for plain text files using UNIX grep, sed, awk, diff, patch, join, etc commands.&lt;/em&gt;”&lt;/p&gt;  &lt;p&gt;There is a pre-built Win32 binary distribution so I can just copy the xml.exe program into the same folder as my test harness. This allows me to take my template input file and update it and the output squirts out of stdout. For example, take the following file:&lt;/p&gt;  &lt;p&gt;&lt;tt&gt;&amp;lt;?xml version="1.0" encoding="utf-8" ?&amp;gt;      &lt;br /&gt;&amp;lt;Data&amp;gt;  &lt;br /&gt;    &amp;lt;Transaction ID="Step1"&amp;gt;  &lt;br /&gt;        &amp;lt;Action Name="Navigate" Url="URL" /&amp;gt;  &lt;br /&gt;    &amp;lt;/Transaction&amp;gt;       &lt;br /&gt;&amp;lt;/Data&amp;gt;&lt;/tt&gt;&lt;/p&gt;  &lt;p&gt;I want to update the URL based on my test case. So I can use the following command:&lt;/p&gt;  &lt;p&gt;&lt;tt&gt;xml ed -u "/Data/Transaction[@ID='Step1']/Action[@Name='Navigate']/@Url" -v "http://adrianba.net" input.xml&lt;/tt&gt;&lt;/p&gt;  &lt;p&gt;This command says, edit (ed) the xml file (input.xml) and update the node specified in the XPath (-u) and replace its value (-v). Obviously for such a simple input file I wouldn’t need such a complex XPath but you can see how it ensures I only select the node I am interested in even if the file was larger.&lt;/p&gt;  &lt;p&gt;The following output is what you’d expect and it’s sent to stdout so you can pipe it into another command or redirect to a file.&lt;/p&gt;  &lt;p&gt;&lt;tt&gt;&amp;lt;?xml version="1.0" encoding="utf-8"?&amp;gt;      &lt;br /&gt;&amp;lt;Data&amp;gt;       &lt;br /&gt;  &amp;lt;Transaction ID="Step1"&amp;gt;       &lt;br /&gt;    &amp;lt;Action Name="Navigate" Url="&lt;a href="http://adrianba.net&amp;quot;/"&gt;http://adrianba.net"/&lt;/a&gt;&amp;gt;       &lt;br /&gt;  &amp;lt;/Transaction&amp;gt;       &lt;br /&gt;&amp;lt;/Data&amp;gt;&lt;/tt&gt;&lt;/p&gt;  &lt;p&gt;There are other flags that can influence how the formatting of the output is handled.&lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:e0bd7103-c71f-4141-878c-fd303d66cc59" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Tools" rel="tag"&gt;Tools&lt;/a&gt;,&lt;a href="http://technorati.com/tags/XML" rel="tag"&gt;XML&lt;/a&gt;,&lt;a href="http://technorati.com/tags/XMLStarlet" rel="tag"&gt;XMLStarlet&lt;/a&gt;&lt;/div&gt;&lt;img src="http://adrianba.net/aggbug/434.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Adrian Bateman</dc:creator>
            <guid>http://adrianba.net/archive/2008/09/08/xmlstarlet-command-line-xml-toolkit.aspx</guid>
            <pubDate>Mon, 08 Sep 2008 12:15:00 GMT</pubDate>
            <comments>http://adrianba.net/archive/2008/09/08/xmlstarlet-command-line-xml-toolkit.aspx#feedback</comments>
            <wfw:commentRss>http://adrianba.net/comments/commentRss/434.aspx</wfw:commentRss>
        </item>
        <item>
            <title>A trip to the US Embassy for a visa interview</title>
            <link>http://adrianba.net/archive/2008/09/07/a-trip-to-the-us-embassy-for-a-visa-interview.aspx</link>
            <description>&lt;p&gt;Back in early July, I had to head off to the US Embassy in London for the interview for my work visa to come and live out in Seattle. While there was lots of official information about what you needed to do, I didn’t find much discussion of the experience and so I thought I’d share mine here. First of all, nothing here is secret or security related information. You can find all the details on the US Embassy web site, &lt;a href="http://www.usembassy.org.uk/cons_new/visa/niv/interview.html"&gt;here&lt;/a&gt; and &lt;a href="http://www.usembassy.org.uk/cons_new/visa/niv/apply.html"&gt;here&lt;/a&gt; for example.&lt;/p&gt;  &lt;p&gt;Microsoft retains a law firm to help prepare all the paperwork for international work visas. This is the norm and most companies would do this. At a certain point once the initial checks are complete, they ask you to contact the embassy to make an appointment for a visa interview. When I applied, the wait time was about 6 weeks and this gives the lawyers a deadline to work with to ensure you have all the documentation you need by then and everything has been checked.&lt;/p&gt;  &lt;p&gt;In the UK, you can have an interview either at the embassy in London or at the consulate in Belfast. With hindsight, Belfast might have been more convenient for me and I could have flown from Birmingham instead of getting a train down to London. As it turned out, I was working in Reading the same week as my interview so things worked out okay. It’s just worth considering Belfast since it’s not too hard to get to and some of the low cost carriers offer cheaper flights to Belfast than the cost of a train ticket to London.&lt;/p&gt;  &lt;p&gt;One thing to note is that when you call the embassy to make the appointment you have to ring a premium rate phone number at £1.20/minute. The call takes 6 or 7 minutes and it seems infuriatingly expensive at the time as they repeat everything back to you and spell everything twice but then again this isn’t something you want to get wrong because it’ll probably mean starting again if it is. This offered only a small problem in that the phones in the office wouldn’t dial premium rate numbers nor would the Microsoft issued mobile phone so I had to wait until I was at home during the day to make the call. You need your passport to hand (sort of obvious) and a credit card to pay the application fee (maybe less obvious) while on the call. It costs US$131 to make the appointment.&lt;/p&gt;  &lt;p&gt;When you ring they will let you know the first available appointment and probably offer a couple of appointment times. My recommendation is that you get the earliest time they offer. I made the mistake of going a little later and getting a 10.30am appointment which meant the process ran into lunchtime and so took a little longer (they don’t stop completely for lunch but half the people go to lunch and then the other half so it does cause a delay while fewer people are serving). I’d recommend 9am or 9.30am if they offer it.&lt;/p&gt;  &lt;p&gt;The Embassy is probably about 10 minutes walk from Bond Street tube or 15 minutes from Oxford Circus. There are some important rules with visiting the Embassy because of the security. You can’t take _&lt;i&gt;any&lt;/i&gt;_ electronic devices with you. This includes mobile phones, MP3 players, or even the electronic key fob for locking your car. This is pretty inconvenient and the embassy web site does have links to left luggage places where you can leave these things.&lt;/p&gt;  &lt;p&gt;You are told to arrive at the embassy 30 minutes before your appointment but no earlier. You queue up outside and if it happens to be raining you’re going to get wet so go prepared. I was lucky – it started raining (hard) just as I got inside but a few people came in soaked after me. You queue up to show the people outside that you have the required basic documentation. You need to show your passport and again to the embassy security guard who checks your passport against the appointment confirmation. You then wait to go into the security lodge for your belongings to be x-rayed and to go through the airport-style metal detector. Once through here, you walk around the corner and into the embassy.&lt;/p&gt;  &lt;p&gt;Inside, speak to the receptionist and show the appointment receipt. She scans it and gives you a number and invites you to go and sit and wait to be called. It took about half an hour from arriving to get to this point so you get inside roughly at the time of your appointment. You wait until your number is called (I had to wait for about half an hour) and you go to a booth to give the official all your paperwork and your passport. Rather than just giving him or her a big pile of documents, give him each document and any copies as he asks for each one. He will check to ensure it is all filled out correctly. They also take your fingerprints on an electronic scanner. Once this process is done, they will ask you to take a seat until you are called for your interview.&lt;/p&gt;  &lt;p&gt;This is the part where you have to wait around while they are doing all the checks on you and processing the application. After about 2 hours I was called to a different area for the interview and to pay another visa fee. Finally, you have to queue up to pay the courier who will be returning your passport to you. Of note here is that while the embassy say they take Amex to pay the visa fee (and they do), the courier firm don’t and so you need a different way to pay them.&lt;/p&gt;  &lt;p&gt;It was a long process and I spent 4 hours or so in the embassy but in the end you are asking for permission to go and live and work in someone else’s country so it only pays to be patient and understanding. After all, if you don’t like it you can always stay at home!&lt;/p&gt;  &lt;p&gt;Fortunately, everything went to plan and my passport was returned within a week so that I could confirm my travel plans.&lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:e0337ead-add7-4761-83fc-6fb449b7ecd2" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Moving+To+Seattle" rel="tag"&gt;Moving To Seattle&lt;/a&gt;&lt;/div&gt;&lt;img src="http://adrianba.net/aggbug/433.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Adrian Bateman</dc:creator>
            <guid>http://adrianba.net/archive/2008/09/07/a-trip-to-the-us-embassy-for-a-visa-interview.aspx</guid>
            <pubDate>Sun, 07 Sep 2008 22:15:00 GMT</pubDate>
            <comments>http://adrianba.net/archive/2008/09/07/a-trip-to-the-us-embassy-for-a-visa-interview.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://adrianba.net/comments/commentRss/433.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Running managed code from a network share</title>
            <link>http://adrianba.net/archive/2008/09/06/running-managed-code-from-a-network-share.aspx</link>
            <description>&lt;p&gt;Since the launch of .NET all those years ago now, one issue keeps coming up for me. You create a quick proof-of-concept and stick it on a network share so that you can either run it on another PC (or get someone to try it for you) so that you can avoid those “well, it runs on my PC” conversations. Unfortunately, running a managed .EXE from a network share puts it in the Intranet zone and suddenly imposes a host of CAS policies that you probably forgot about (again). You have to copy the file locally to make it run. This has always seemed like a chore especially since the same doesn’t apply to unmanaged programs.&lt;/p&gt;  &lt;p&gt;Well, this is no longer the case as of .NET 3.5 SP1. &lt;a href="http://blogs.msdn.com/vancem/archive/2008/08/13/net-framework-3-5-sp1-allows-managed-code-to-be-launched-from-a-network-share.aspx"&gt;Vance Morrison posted&lt;/a&gt; about this a couple of weeks ago. In the comments, Vance explains the rationale for the change:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;The simple answer is that we made a mistake.  In 2001 we believed we are the avant-guard in making things 'secure by default' and thus biased our decisions believing that we would eventually 'plug' the hole of unmanaged code running from a network share.   We also did not appreciate the pain this decision would cause. &lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;However over time, we realized that we were naive.    The cost/benefit of changing the behavior of unmanaged code is simply too high.   Moreover it also become clear that for security to work, it must be simple, which means treating cases uniformly.   Thus if you want to disallow launching exes off the network you should not have one way of doing it for managed code, and a completely different way for unmanage code.  &lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;In fact there IS a way of locking down exe launch uniformly (see Security Policies above), so really it became abundantly clear that really the 'right' approach is to treat security wholisitically (not just the managed case) and make managed code and unmanaged code as simmilar as possible (after all from an end user's perspective, who cares if code is managed or not?) &lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;So to sum up, we made a mistake (frankly we make lots of them), and sadly it is VERY difficult to fix mistakes when you have millions of users to break, and even more so when security is involved.   Thankfully, in this case we were able to convince ourselves that we could  fix this one after the fact.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;The change is important and useful but I think what is more significant is the honesty with which it is published. Sure, we made a mistake, everyone makes mistakes, we learned from it and (though it sometimes takes a while) we fixed it. The naysayers will always disagree but it’s my experience that this is the culture at Microsoft. We admit our mistakes, put them right and learn from then, and then move on (and hope not to make the same ones again).&lt;/p&gt;  &lt;p /&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:fa87f22d-06d0-42ba-9859-c0cf36512647" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/.NET" rel="tag"&gt;.NET&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Microsoft" rel="tag"&gt;Microsoft&lt;/a&gt;&lt;/div&gt;&lt;img src="http://adrianba.net/aggbug/432.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Adrian Bateman</dc:creator>
            <guid>http://adrianba.net/archive/2008/09/06/running-managed-code-from-a-network-share.aspx</guid>
            <pubDate>Sun, 07 Sep 2008 01:01:37 GMT</pubDate>
            <comments>http://adrianba.net/archive/2008/09/06/running-managed-code-from-a-network-share.aspx#feedback</comments>
            <wfw:commentRss>http://adrianba.net/comments/commentRss/432.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Upgrading to Subtext 2.0</title>
            <link>http://adrianba.net/archive/2008/09/06/upgrading-to-subtext-2.0.aspx</link>
            <description>&lt;p&gt;I followed the last few changes to Subtext 2.0 through the Subtext mailing list over the last couple of months and fully intended to upgrade to the pre-release version and then to the version as soon as it was released but somehow never found the time.&lt;/p&gt;  &lt;p&gt;Finally today I went through and updated the engine and made the few small changes to my skin files and config to be able to put the site live on the new version. There’s some good stuff here but I think my favourite feature might be the support for future posting which, when combined with Live Writer, makes planned posting much easier.&lt;/p&gt;  &lt;p&gt;I also took this opportunity to make sure I had configured image uploading correctly. If this has been successful then the image of my shiny new Sequoia will be included below.&lt;/p&gt;  &lt;p align="center"&gt;&lt;img title="sequoia" style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="244" alt="sequoia" src="http://adrianba.net/images/adrianba_net/WindowsLiveWriter/UpgradingtoSubtext2.0_F1AC/sequoia_3.jpg" width="324" border="0" /&gt; &lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:60d6a55a-3068-4d92-949d-a2e1be82c487" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Subtext" rel="tag"&gt;Subtext&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Sequoia" rel="tag"&gt;Sequoia&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Live+Writer" rel="tag"&gt;Live Writer&lt;/a&gt;&lt;/div&gt;&lt;img src="http://adrianba.net/aggbug/431.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Adrian Bateman</dc:creator>
            <guid>http://adrianba.net/archive/2008/09/06/upgrading-to-subtext-2.0.aspx</guid>
            <pubDate>Sun, 07 Sep 2008 00:25:00 GMT</pubDate>
            <comments>http://adrianba.net/archive/2008/09/06/upgrading-to-subtext-2.0.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://adrianba.net/comments/commentRss/431.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Puddle Jumping</title>
            <link>http://adrianba.net/archive/2008/08/04/puddle-jumping.aspx</link>
            <description>&lt;p&gt;I realise that this post is way overdue but I've finally made the time to sit down and write up my news.&lt;/p&gt;  &lt;p&gt;Back in April/May, I had a few phone/video calls with some of the guys working in the Internet Explorer product group out in Redmond about a role opening up on the team. Having &lt;a href="http://blogs.msdn.com/ie/archive/2006/02/06/526010.aspx"&gt;worked on IE&lt;/a&gt; from afar &lt;a href="http://blogs.msdn.com/ie/archive/2005/06/10/428149.aspx"&gt;previously&lt;/a&gt;, I had already seen at first hand the renewed enthusiasm for the browser within Microsoft and the enormity of working on a product that spans different versions of Windows and is in use by literally hundreds of millions of people every day. It's also a product that is closely watched outside Microsoft, that engenders much debate and something that seemingly every developer has a view about. All in all, it's an exciting place to work and when I was offered a spot on the team I jumped at the opportunity.&lt;/p&gt;  &lt;p&gt;Of course, there's the small issue of moving 5000 miles around the world from rural Staffordshire to Seattle. I have to admit it, I'm a hoarder. I collect things, apparently. So after living in my house for more than 13 years I'd collected a lot of stuff, most of which I didn't really need. This was a good time (but also an exhausting one) to go through everything and dispose of the things I could live without and so after weeks of this, almost being on first name terms with the attendants at the local tip, I found myself living in a much emptier house.&lt;/p&gt;  &lt;p&gt;Fortunately, the speed of my move was gated by the wait time for an appointment at the US Embassy in London to apply for my visa to allow me to work in the US. Besides purging my house, I used the time to visit with friends and family that I wouldn't get to see so much now. In some ways it was difficult to leave them behind but with the technology we have today it's easy to stay in touch.&lt;/p&gt;  &lt;p&gt;In early July, I headed off to London for my visa interview and a week later my passport was returned complete with documentation to allow me to live and work in the US for Microsoft for at least the next 3 years. One week after that, the removal guys were packing up my remaining belongings, loading them into a 20' shipping container, and I was on my way.&lt;/p&gt;  &lt;p&gt;I should say something about &lt;a href="http://adrianba.net/archive/2007/10/04/whats-new.aspx"&gt;my old team&lt;/a&gt;, the &lt;a href="http://www.microsoft.com/uk/adc/"&gt;UK Application Development Consulting team&lt;/a&gt;. I spent a little over 4 years working in this team and, while I might be a little biased, I am confident that you won't meet a more technical, more grounded, higher skilled development consulting group anywhere. It was an honour and a privilege to be invited to be a member of the team and I'm immensely proud to have played my small part.&lt;/p&gt;  &lt;p&gt;Moving half way around the world to work in a different country in a different environment doing a different job is an experience few people get. I'll try to share some of those experiences through this blog while still throwing in some technical observations, no doubt with an increasing slant towards Internet Explorer.&lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:1cfdf8d3-ce64-4e8c-afa8-ce89ab9a3ad1" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Moving+To+Seattle" rel="tag"&gt;Moving To Seattle&lt;/a&gt;&lt;/div&gt;&lt;img src="http://adrianba.net/aggbug/430.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Adrian Bateman</dc:creator>
            <guid>http://adrianba.net/archive/2008/08/04/puddle-jumping.aspx</guid>
            <pubDate>Mon, 04 Aug 2008 11:45:17 GMT</pubDate>
            <comments>http://adrianba.net/archive/2008/08/04/puddle-jumping.aspx#feedback</comments>
            <wfw:commentRss>http://adrianba.net/comments/commentRss/430.aspx</wfw:commentRss>
        </item>
        <item>
            <title>What does &amp;ldquo;done&amp;rdquo; mean to you?</title>
            <link>http://adrianba.net/archive/2008/06/29/what-does-ldquodonerdquo-mean-to-you.aspx</link>
            <description>&lt;p /&gt;  &lt;p /&gt;  &lt;p /&gt;  &lt;p /&gt;  &lt;p&gt;&lt;a href="http://www.hanselman.com/"&gt;Scott Hanselman&lt;/a&gt; discusses Scrum with &lt;a href="http://www.controlchaos.com/"&gt;Ken Schwaber&lt;/a&gt; in his recent &lt;a href="http://www.hanselminutes.com/default.aspx?showID=137"&gt;Hanselminutes podcast&lt;/a&gt;. A large part of the conversation centres on the meaning of “done”. When your developers say they are done and have completed a piece of work, what does that mean? Ken argues that unless it means &lt;em&gt;ready to deploy and of known good quality&lt;/em&gt; (my words) then it is meaningless and, in fact, that any team can increase the apparent amount of work they do by varying the definition of done to mean something less.&lt;/p&gt;  &lt;p&gt;One of the key things that he stresses is that the code must be refactored into a good state that can be used as a firm base for future development and that this is part of the work to get to done.&lt;/p&gt;  &lt;p&gt;One of the observations that Scott draws out is that Scrum might look quite heavyweight compared to work done by a team before Scrum. At first glance this seems counter-intuitive until you realise that following a non-agile approach makes it harder to see whether the same definition for done is being used (and it probably isn’t). The team probably wasn’t doing solid testing, probably wasn’t ensuring that refactoring was being done, probably wasn’t creating a quality product.&lt;/p&gt;  &lt;p&gt;This sounds all well and good if you have a skilled team working closely together. The question this raises in my mind is whether Scrum can therefore work if you have a mediocre team with only a few very good developers? Will the less-experienced developers be capable of refactoring the code so it’s left in a good state? The argument might go that it’s no better and no worse than another approach and you find out quicker what’s not working.&lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:e12245f6-adec-45e5-8254-25415d310f5a" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Agile" rel="tag"&gt;Agile&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Scrum" rel="tag"&gt;Scrum&lt;/a&gt;&lt;/div&gt;&lt;img src="http://adrianba.net/aggbug/429.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Adrian Bateman</dc:creator>
            <guid>http://adrianba.net/archive/2008/06/29/what-does-ldquodonerdquo-mean-to-you.aspx</guid>
            <pubDate>Mon, 30 Jun 2008 02:48:28 GMT</pubDate>
            <comments>http://adrianba.net/archive/2008/06/29/what-does-ldquodonerdquo-mean-to-you.aspx#feedback</comments>
            <wfw:commentRss>http://adrianba.net/comments/commentRss/429.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Nostalgia</title>
            <link>http://adrianba.net/archive/2008/06/21/nostalgia.aspx</link>
            <description>&lt;p&gt;Clearing out my loft I came across my collection of Sinclair paraphernalia. I worked my way up through the Sinclair systems, ZX-81, ZX-Spectrum and ultimately a Sinclair QL, all of which I still own. Bizarrely, since I can't remember when, I must have acquired a second ZX-81 because I find I now have two. I also discovered a small selection of Sinclair related magazines and, after a quick search on the web, ran into this fab web site: &lt;a href="http://www.ysrnry.co.uk/"&gt;The Your Sinclair Rock 'n' Roll Years&lt;/a&gt;, complete with &lt;a href="http://www.ysrnry.co.uk/tvprog/downloads.htm"&gt;video montage of the history of the Spectrum&lt;/a&gt;, etc. This is awesome!&lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:c97fe387-9fd4-4299-9611-0e5ba8db0234" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Moving+To+Seattle" rel="tag"&gt;Moving To Seattle&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Sinclair" rel="tag"&gt;Sinclair&lt;/a&gt;&lt;/div&gt;&lt;img src="http://adrianba.net/aggbug/428.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Adrian Bateman</dc:creator>
            <guid>http://adrianba.net/archive/2008/06/21/nostalgia.aspx</guid>
            <pubDate>Sat, 21 Jun 2008 23:02:40 GMT</pubDate>
            <comments>http://adrianba.net/archive/2008/06/21/nostalgia.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://adrianba.net/comments/commentRss/428.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Cake irony</title>
            <link>http://adrianba.net/archive/2008/06/20/cake-irony.aspx</link>
            <description>&lt;p&gt;Apparently, the &lt;a href="http://mozillalinks.org/wp/2008/06/sweet-plugin-microsoft-cake-20-for-firefox-3/"&gt;IE team sent a celebration cake to Mozilla&lt;/a&gt; to congratulate them on shipping Firefox 3. It's ironic that the mozillalinks.org page describing this with photos doesn't exactly display correctly in IE7. However, if you use IE8's new standards rendering mode then you do get the page as you expect.&lt;/p&gt;  &lt;p&gt;While it will be necessary for many sites to &lt;a href="http://blogs.msdn.com/ie/archive/2008/06/10/introducing-ie-emulateie7.aspx"&gt;"get ready" for IE8&lt;/a&gt; to ensure that their content continues to be displayed correctly, some sites written to rely on CSS 2.1 standards will suddenly leap into life.&lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:6b80cccc-66ef-4aa2-b842-d232c8569a1a" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Internet+Explorer" rel="tag"&gt;Internet Explorer&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Firefox" rel="tag"&gt;Firefox&lt;/a&gt;&lt;/div&gt;&lt;img src="http://adrianba.net/aggbug/427.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Adrian Bateman</dc:creator>
            <guid>http://adrianba.net/archive/2008/06/20/cake-irony.aspx</guid>
            <pubDate>Fri, 20 Jun 2008 23:24:01 GMT</pubDate>
            <comments>http://adrianba.net/archive/2008/06/20/cake-irony.aspx#feedback</comments>
            <wfw:commentRss>http://adrianba.net/comments/commentRss/427.aspx</wfw:commentRss>
        </item>
        <item>
            <title>MVC vs. MVP</title>
            <link>http://adrianba.net/archive/2008/06/18/mvc-vs.-mvp.aspx</link>
            <description>&lt;p&gt;Phil Haack has a succinct description of &lt;a href="http://haacked.com/archive/2008/06/16/everything-you-wanted-to-know-about-mvc-and-mvp-but.aspx"&gt;the difference between MVC and MVP&lt;/a&gt; based on an explanation of why MVP evolved. Good stuff.&lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:c757b45d-bccc-4eb7-b252-03df2433cfb0" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/MVC" rel="tag"&gt;MVC&lt;/a&gt;,&lt;a href="http://technorati.com/tags/MVP" rel="tag"&gt;MVP&lt;/a&gt;&lt;/div&gt;&lt;img src="http://adrianba.net/aggbug/426.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Adrian Bateman</dc:creator>
            <guid>http://adrianba.net/archive/2008/06/18/mvc-vs.-mvp.aspx</guid>
            <pubDate>Wed, 18 Jun 2008 23:44:56 GMT</pubDate>
            <comments>http://adrianba.net/archive/2008/06/18/mvc-vs.-mvp.aspx#feedback</comments>
            <wfw:commentRss>http://adrianba.net/comments/commentRss/426.aspx</wfw:commentRss>
        </item>
        <item>
            <title>My AutoHotkey Script</title>
            <link>http://adrianba.net/archive/2008/05/01/my-autohotkey-script.aspx</link>
            <description>&lt;p&gt;&lt;a href="http://adrianba.net/archive/2008/04/30/elevated-command-prompt-from-a-hotkey.aspx#37573"&gt;James asked&lt;/a&gt; for the script I use. It's actually very simple and doesn't take advantage of any advanced features of AutoHotkey at present. Here it is:&lt;/p&gt;  &lt;p&gt;&lt;tt&gt;#w::Run iexplore      &lt;br /&gt;      &lt;br /&gt;#h::Run "C:\Program Files\Common Files\microsoft shared\Help 9\dexplore.exe" /helpcol ms-help://ms.vscc.v90 /LaunchNamedUrlTopic DefaultPage /usehelpsettings VisualStudio.9.0       &lt;br /&gt;      &lt;br /&gt;#p::Run %comspec% /k ""C:\Program Files\Microsoft Visual Studio 9.0\VC\vcvarsall.bat"" x86,C:\       &lt;br /&gt;      &lt;br /&gt;#y::Run "C:\Program Files\TextPad 5\TextPad.exe"       &lt;br /&gt;      &lt;br /&gt;#z::Run "C:\Program Files\Windows Live\Writer\WindowsLiveWriter.exe"       &lt;br /&gt;      &lt;br /&gt;#x::Run "C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\devenv.exe"       &lt;br /&gt;      &lt;br /&gt;#a::Run "C:\Program Files\Winamp\winamp.exe"       &lt;br /&gt;      &lt;br /&gt;#o::Run "%SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe",C:\       &lt;br /&gt;      &lt;br /&gt;^#p::Run "C:\Utils\BIN\elevate" -k %comspec% "C:\Program Files\Microsoft Visual Studio 9.0\VC\vcvarsall.bat"       &lt;br /&gt;      &lt;br /&gt;#Left::WinMinimize A       &lt;br /&gt;      &lt;br /&gt;#Right::WinMaximize A       &lt;br /&gt;      &lt;br /&gt;#Up::WinRestore A&lt;/tt&gt;&lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:a796f8e1-ac7b-43cd-9ec4-f81d38b4a5f5" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Tools" rel="tag"&gt;Tools&lt;/a&gt;,&lt;a href="http://technorati.com/tags/AutoHotkey" rel="tag"&gt;AutoHotkey&lt;/a&gt;&lt;/div&gt;&lt;img src="http://adrianba.net/aggbug/425.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Adrian Bateman</dc:creator>
            <guid>http://adrianba.net/archive/2008/05/01/my-autohotkey-script.aspx</guid>
            <pubDate>Fri, 02 May 2008 05:28:18 GMT</pubDate>
            <comments>http://adrianba.net/archive/2008/05/01/my-autohotkey-script.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://adrianba.net/comments/commentRss/425.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Elevated command prompt from a hotkey</title>
            <link>http://adrianba.net/archive/2008/04/30/elevated-command-prompt-from-a-hotkey.aspx</link>
            <description>&lt;p&gt;While I think UAC is a good thing, it gets pretty annoying when running lots of commands at the command line that just turn around and say "sorry, I need to be elevated". I've blogged before about using &lt;a title="Ouch, hot keys!" href="http://adrianba.net/archive/2007/10/27/ouch-hot-keys.aspx"&gt;AutoHotkey&lt;/a&gt; to run commands bound to keyboard shortcuts and I use Win+P to pull up a command prompt with all the environment variables set so that I can access developer tools like devenv and csc. Finally I started to look around at a way to bind an elevated command prompt to a keystroke.&lt;/p&gt;  &lt;p&gt;The problem is that the &lt;tt&gt;runas&lt;/tt&gt; command allows you to run as a different user but not as the same user but elevated. &lt;a href="http://www.wintellect.com/cs/blogs/jrobbins/archive/2007/03/27/elevate-a-process-at-the-command-line-in-vista.aspx"&gt;John Robbins obviously had this problem too&lt;/a&gt; and he wrote a blog article just over a year ago with his &lt;tt&gt;elevate&lt;/tt&gt; command line app to overcome this.&lt;/p&gt;  &lt;p&gt;Using elevate, I now can press Ctrl+Win+P when I want an elevated command line and then just hit Alt+C to continue past the UAC dialog.&lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:2bae124e-83a9-4a26-be95-100f729c364b" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Tools" rel="tag"&gt;Tools&lt;/a&gt;,&lt;a href="http://technorati.com/tags/AutoHotkey" rel="tag"&gt;AutoHotkey&lt;/a&gt;,&lt;a href="http://technorati.com/tags/UAC" rel="tag"&gt;UAC&lt;/a&gt;&lt;/div&gt;&lt;img src="http://adrianba.net/aggbug/424.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Adrian Bateman</dc:creator>
            <guid>http://adrianba.net/archive/2008/04/30/elevated-command-prompt-from-a-hotkey.aspx</guid>
            <pubDate>Wed, 30 Apr 2008 22:05:07 GMT</pubDate>
            <comments>http://adrianba.net/archive/2008/04/30/elevated-command-prompt-from-a-hotkey.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://adrianba.net/comments/commentRss/424.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Dell's lack of service - no M1330 after all</title>
            <link>http://adrianba.net/archive/2008/02/09/dells-lack-of-service-no-m1330-after-all.aspx</link>
            <description>&lt;p&gt;I &lt;a href="http://adrianba.net/archive/2008/02/01/dell-xps-m1330.aspx"&gt;ordered the Dell XPS M1330&lt;/a&gt; with a specific trip in mind. Before ordering, I confirmed with their online sales agent whether if I ordered at that moment I would receive the laptop before I needed to leave. I was told that if I selected the 9 cell battery then it would be scheduled to be received no later than the day I was leaving but if I gave the agent my order reference number, they would prioritise the order so that it would be delivered in time.&lt;/p&gt;  &lt;p&gt;I placed my order, gave the Internet Receipt Number, and asked if they would e-mail me to confirm when they'd had increased the priority of the order, which the agent agreed to before wishing me a "wonderful day ahead". I kept a copy of the transcript of the conversation just in case and awaited the e-mail.&lt;/p&gt;  &lt;p&gt;Almost a week later and without having received anything and the predicted date still one day too late, I contacted Dell's customer support and asked if they could confirm that I would still receive the laptop before my trip and that the order priority had been increased as promised since it was on this basis that I placed the order in the first place.&lt;/p&gt;  &lt;p&gt;Here is the personalised response that I received:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Thank you for contacting Dell online customer service. Please accept my sincere apologies for the delays you are experiencing with your order. &lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;Your current estimated delivery date is [xx Feb 2008]. Order Number : xxxxxxxxx &lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;Due to the popularity of the product our demand has exceeded supply. Our factory is working with our suppliers and Dell will always try and improve the delivery date on your order. &lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;Once the order is shipped the carrier company will contact you to arrange delivery. &lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;No mention of the conversation I'd had. No specifics. In fact this response could have been automatically generated given that my original enquiry indicated the topic was "checking order status".&lt;/p&gt;  &lt;p&gt;I replied with the following:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Does that mean you can't now guarantee delivery on or before xx Feb? If that is the case given that was the condition on which I placed the order then I will have to cancel the order and request a full refund. Please can you confirm if I need to cancel?&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;I didn't really want to cancel the order but I was hoping this might provoke them into perhaps reading my original mail and maybe double-checking that they weren't going to live up to the original promise.&lt;/p&gt;  &lt;p&gt;However the reply from Dell makes it apparent that their customer service system is driven by multiple-choice standard responses. Presumably the service agent reads your mail and has two or three different standard responses that can be sent at the push of a single button. This was their response:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Thank you for contacting Dell online customer service. &lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;As per your request we have cancelled your order {order number xxxxxxxxx}, under Case number (xxxxxxxxx). &lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;I have contacted the finance department to check whether we have received the payment or not in case we have received the payment the refund will be requested immediately once we have an update from Finance.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;To be honest I was shocked and other people to whom I've relayed the story were speechless. You'd think they might be interested in trying to persuade me not to cancel. I was trying to give them money after all.&lt;/p&gt;  &lt;p&gt;Dell used to be a great company. I've bought laptops from Dell for years and I can remember fantastic examples of great customer service from them. That time has gone. It's apparent that they don't care about their customers any longer. It's not clear whether the problem was with the original sales agent making promises that they knew they couldn't keep or with the customer service agent who it appears didn't really read what I wrote. They didn't try to put it right either way.&lt;/p&gt;  &lt;p&gt;I'm not sure what I will do now. Both the MacBook and lightweight Sony laptops have a price premium and don't include some of the features of the Dell. Nevertheless, if it's not possible to actually buy the M1330 then I'll need something else. Most disappointing.&lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:5f36b8f2-cd1a-40e3-95a3-f6a233a1b815" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Dell" rel="tag"&gt;Dell&lt;/a&gt;&lt;/div&gt;&lt;img src="http://adrianba.net/aggbug/423.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Adrian Bateman</dc:creator>
            <guid>http://adrianba.net/archive/2008/02/09/dells-lack-of-service-no-m1330-after-all.aspx</guid>
            <pubDate>Sun, 10 Feb 2008 01:36:06 GMT</pubDate>
            <comments>http://adrianba.net/archive/2008/02/09/dells-lack-of-service-no-m1330-after-all.aspx#feedback</comments>
            <wfw:commentRss>http://adrianba.net/comments/commentRss/423.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Dell XPS M1330</title>
            <link>http://adrianba.net/archive/2008/02/01/dell-xps-m1330.aspx</link>
            <description>&lt;p&gt;I've been considering buying a new laptop for home for a little while. I want something I can take away with me that contains no work stuff so that, especially when I'm on holiday, I can keep in touch with friends and family but not be lured into looking at work. I toyed briefly with the idea of a fancy Apple MacBook but I can't really justify the price premium. I've been thinking about the &lt;a href="http://www1.euro.dell.com/content/products/productdetails.aspx?c=uk&amp;amp;cs=ukdhs1&amp;amp;id=xpsnb_m1330&amp;amp;l=en&amp;amp;s=dhs&amp;amp;~ck=mn"&gt;Dell XPS M1330&lt;/a&gt; for a while - it gets good reviews and is lightweight and portable.&lt;/p&gt;  &lt;p&gt;I read &lt;a href="http://bradwilson.typepad.com/blog/2008/01/ordered-a-new-l.html"&gt;Brad Wilson's post&lt;/a&gt; about also buying one yesterday and it tipped me over the edge. From seeing Brad's posts and mails to the WinOffTopic list, I know he has a reputation for selecting good quality hardware. So today, credit card in hand, it was off to the Dell site and they now have my order. In the UK it's not possible to order some of the options Brad selected. They don't have the SSD option for example. I'm not sure I'd have gone for that, though, these disks are still pretty expensive and I can always buy one later when the price comes down.&lt;/p&gt;  &lt;p&gt;Anyway, I'm looking forward to receiving it in a couple of weeks and hope it lives up to its reputation.&lt;/p&gt;&lt;img src="http://adrianba.net/aggbug/422.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Adrian Bateman</dc:creator>
            <guid>http://adrianba.net/archive/2008/02/01/dell-xps-m1330.aspx</guid>
            <pubDate>Sat, 02 Feb 2008 06:46:36 GMT</pubDate>
            <comments>http://adrianba.net/archive/2008/02/01/dell-xps-m1330.aspx#feedback</comments>
            <wfw:commentRss>http://adrianba.net/comments/commentRss/422.aspx</wfw:commentRss>
        </item>
        <item>
            <title>.NET Framework Fixes</title>
            <link>http://adrianba.net/archive/2008/02/01/.net-framework-fixes.aspx</link>
            <description>&lt;p&gt;There's a big long list of problems that are fixed in the .NET Framework Service Pack 1 in this &lt;a href="http://support.microsoft.com/kb/945757"&gt;knowledge base article (945757)&lt;/a&gt;. Some of these have very generic names such as "FIX: You may receive an exception when you browse a .NET Framework 2.0 ASP.NET Web application" but if you click through into the underlying articles you can see more information about the specific scenarios that are covered.&lt;/p&gt;  &lt;p&gt;Some of the improvements have also been around improving performance, such as the &lt;a href="http://blogs.msdn.com/adonet/archive/2008/01/28/ado-net-performance-improvements-with-the-net-framework-2-0-sp1.aspx"&gt;ADO.NET performance improvements&lt;/a&gt; (via &lt;a href="http://samgentile.com/blogs/samgentile/archive/2008/01/31/new-and-notable-221.aspx"&gt;Sam Gentile&lt;/a&gt;). These changes have the potential to make current applications perform better with no code changes.&lt;/p&gt;  &lt;p&gt;One of the questions that I'm often asked by customers, though, is for a definitive list of every change that might affect their applications. One particular customer said that they needed this list so that if something didn't work as expected, they could check off against the list to see if it was a Microsoft change or something in their environment. Unfortunately, life isn't quite this simple. There are some situations where the framework (or any product) works in a particular way by accident more than by design. The behaviour observed happens as a consequence of the way something was implemented but it wasn't by design. We never expected someone to rely on this behaviour and when we add new functionality or fix a bug it may change this behaviour (that we never intended in the first place). Nobody records that this is changed because we never recognised that it was a change - it wasn't a design change. In the end we can't keep lists of this sort of thing - when you're writing code in your projects do you keep a list of all the things you changed that your customers will never see? :-)&lt;/p&gt;&lt;img src="http://adrianba.net/aggbug/421.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Adrian Bateman</dc:creator>
            <guid>http://adrianba.net/archive/2008/02/01/.net-framework-fixes.aspx</guid>
            <pubDate>Sat, 02 Feb 2008 06:37:41 GMT</pubDate>
            <comments>http://adrianba.net/archive/2008/02/01/.net-framework-fixes.aspx#feedback</comments>
            <wfw:commentRss>http://adrianba.net/comments/commentRss/421.aspx</wfw:commentRss>
        </item>
        <item>
            <title>VMware Workstation</title>
            <link>http://adrianba.net/archive/2007/12/24/vmware-workstation.aspx</link>
            <description>&lt;p&gt;After evaluating the latest version of &lt;a href="http://www.vmware.com/products/ws/"&gt;VMware Workstation 6&lt;/a&gt; for my free month, I got out my credit card and bought a copy over the weekend.&lt;/p&gt;  &lt;p&gt;I was last a VMware customer for Workstation 4 so I didn't qualify for a discount on moving to 6 but, despite the $200 price tag, I think it's money well spent. Microsoft's recent virtualisation investment is going into the server platform, specifically Hyper-V for Windows 2008. As a consequence, desktop virtualisation has been somewhat abandoned for the time being at least. There's really no comparison between Virtual PC and VMware Workstation.&lt;/p&gt;  &lt;p&gt;There are a couple of features that make it compelling beyond what Virtual PC provides. The first is that I can run 32-bit Windows Vista as my host operating system, which gives me the best compatibility with drivers, etc. but I can experiment with 64-bit by running 64-bit guests. This means I can set-up 64-bit server environments to play with and also test application compatibility in 64-bit XP or Vista.&lt;/p&gt;  &lt;p&gt;The second thing that I like, and that VMware has always been better at handling, is snapshots. In Workstation 6, there is a great dialog that allows you to keep a hierarchy of snapshots and to branch and prune just as you like. Here is an example of an XP VM that I've set-up to allow testing of both IE6 and IE7:&lt;/p&gt;  &lt;p&gt;&lt;img height="480" alt="VMware Workstation 6 - Snapshot Manager" src="http://adrianba.net/images/blog/vmwaresnapshot.png" width="550" border="0" /&gt;&lt;/p&gt;&lt;img src="http://adrianba.net/aggbug/420.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Adrian Bateman</dc:creator>
            <guid>http://adrianba.net/archive/2007/12/24/vmware-workstation.aspx</guid>
            <pubDate>Mon, 24 Dec 2007 23:14:59 GMT</pubDate>
            <comments>http://adrianba.net/archive/2007/12/24/vmware-workstation.aspx#feedback</comments>
            <wfw:commentRss>http://adrianba.net/comments/commentRss/420.aspx</wfw:commentRss>
        </item>
        <item>
            <title>ASP.NET 3.5 Extensions Screencasts</title>
            <link>http://adrianba.net/archive/2007/12/24/asp.net-3.5-extensions-screencasts.aspx</link>
            <description>&lt;p&gt;Scott Hanselman is working on a series of screencasts demonstrating the new features of the &lt;a href="http://www.asp.net/Downloads/3.5-extensions/"&gt;ASP.NET 3.5 Extensions&lt;/a&gt;. I watched his &lt;a href="http://download.microsoft.com/download/f/e/b/febedc0c-dd47-4062-ad53-40e34d556a5d/ScottHanselmanIntroToMVC.wmv"&gt;How-To Screencast on the MVC Framework&lt;/a&gt; a couple of weeks ago and marvelled at the quality of the experience that Scott has created. Very professionally done, at least I think so. Your view counts too, though, and Scott has &lt;a href="http://www.hanselman.com/blog/YourOpinionMattersScreencastTechniquesSurvey.aspx"&gt;requested feedback&lt;/a&gt; on his screencast style.&lt;/p&gt;&lt;img src="http://adrianba.net/aggbug/419.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Adrian Bateman</dc:creator>
            <guid>http://adrianba.net/archive/2007/12/24/asp.net-3.5-extensions-screencasts.aspx</guid>
            <pubDate>Mon, 24 Dec 2007 21:19:44 GMT</pubDate>
            <comments>http://adrianba.net/archive/2007/12/24/asp.net-3.5-extensions-screencasts.aspx#feedback</comments>
            <wfw:commentRss>http://adrianba.net/comments/commentRss/419.aspx</wfw:commentRss>
        </item>
    </channel>
</rss>