Friday, February 01, 2008

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 Dell XPS M1330 for a while - it gets good reviews and is lightweight and portable.

I read Brad Wilson's post 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.

Anyway, I'm looking forward to receiving it in a couple of weeks and hope it lives up to its reputation.

There's a big long list of problems that are fixed in the .NET Framework Service Pack 1 in this knowledge base article (945757). 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.

Some of the improvements have also been around improving performance, such as the ADO.NET performance improvements (via Sam Gentile). These changes have the potential to make current applications perform better with no code changes.

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? :-)