Ran into a strange issue with Visual Studio 2008 SP1 where it crashed, vanished with no errors, if I selected the Choose items menu item in the context menu of the Windows Forms designer Toolbox window. Attaching a debugger and reproducing the crash gave me the following error.
Wed Feb 25 15:47:55.617 2009 (GMT+1): CLR:(
Wed Feb 25 15:47:55.617 2009 (GMT+1): C:\Windows\assembly\GAC_MSIL\System.ComponentModel.DataAnnotations\3.5.0.0__31bf3856ad364e35\System.ComponentModel.DataAnnotations.dll
Wed Feb 25 15:47:55.618 2009 (GMT+1): )
Wed Feb 25 15:47:55.618 2009 (GMT+1): Rejecting native image because dependency C:\Windows\assembly\GAC_MSIL\System.Core\3.5.0.0__b77a5c561934e089\System.Core.dll is not native
Wed Feb 25 15:47:55.619 2009 (GMT+1):
Wed Feb 25 15:47:55.619 2009 (GMT+1): ModLoad: 00000000`5aee0000 00000000`5aef2000 System.ComponentModel.DataAnnotations.dll
I have no idea what has caused this, but closing all Visual Studio instances and then starting it once with the /safemode switch and then closing it seems to have fixed the crash.
The last few days I’ve been using the new Xbox 360 UI, and I like it. The live arcade games list loads instantly and you don’t have to endure the noise from the dvd-drive anymore, for games you’ve installed to the hd that is. Unfortunately I only have the 20Gb hd so I can only have one game installed, and upgrading to the 120Gb just feels too expensive. While reading Major Nelson’s blog I found out about a small improvement that’s neat, you can now delete all games from your profile with zero gamerscore. Nice!
Will be intersting to see what they’ll do with the avatars in games.
It’s not perfect though. When logging in you have to enter the password twice unless you sign in via the guide and just after boot it’s a bit sluggish.
Found a new Google tool today called Custom Search Engine that might be useful.
I’ve for some time now wanted to always exclude certain domains from my search results since they are of no use to me. For example, I will never pay for experts-exchange.com so results from that domain are just a nuisanse to me. So now I’ve created my own search that always exclude unwanted domains. It only excludes experts-exchange.com right now, but I’ll probably add more as I find them.
Secunia recently published an advisory about a bug in Firefox 3.0 and earlier versions that allows an attacker to execute arbitrary code if a user visits a malicious webpage. Not a good start. Should everyone use IE now until this is fixed?
Maybe the proposed Vista Protected mode feature needs to be more prioritized after all. I don’t know if it would have lessened the impact of this issue though.

The initial impression is good. Feels a lot faster than previous versions, and memory usage isn’t steadily increasing. And the improved address bar is really nice, I only have to write a few characters of the name of a page I want to visit and it usually appears among the top three or four suggestions.
Also, the two add-ons I use are compatible which is great.
For some time now I have been unable to read downloaded .chm files. Instead of the help contents I got an error page.
The address is not valid
Searching for this on google turned up a KB article that says this is because of a security measure introduced in security update 896358.
To view a downloaded .chm file do the following.
- Right-click the CHM file, and then click Properties.
- Click Unblock.
- Double-click the .chm file to open the file.
Haven’t noticed any reduction in noise level which is a little disappointing, but I guess I should be happy since it works and the noise isn’t worse.
Hopefully I’m not the only one having trouble with aggregates, Linq to SQL and empty results. The query I had was something like the following.
var result = (from v in db.Table select v.IntColumn).Max();
This fails with an exception if Table is empty.
The null value cannot be assigned to a member with type
System.Int32 which is a non-nullable value type.
So after some reading on MSDN I found the extension method Queryable.DefaultIfEmpty, it returns a collection with one element that has the default value of the type of the IQueryable<T> if the IQueryable<T> is empty, that looked like it could solve my problem. But I quickly found out that it is not supported by Linq to SQL.
Could not format node 'OptionalValue' for execution as SQL.
So then after reading a blog post about this I ended up with the following query that does what I want.
var result = (from v in db.Table select (int?)v.IntColumn).Max()
?? 0;
It has the side effect that the generated SQL query contains an extra nested select but I think that is acceptable.
SELECT MAX([t1].[VALUE]) AS [VALUE]
FROM (
SELECT [t0].[IntValue] AS [VALUE]
FROM [TABLE] AS [t0]
) AS [t1]
Some time ago I gave up on scheduleworld. I tried using Plaxo that synced to Microsoft Outlook and from there to my phone for a while but it was just to cumbersome. I had hoped that Plaxo would launch a SyncML solution, but that doesn’t seem likely for the foreseeable future.
Now I’m trying GooSync that currently only syncs with Google Calendar, but they recently announced that they were adding Google Contacts sync the next month or so. A big advantage of GooSync compared to Plaxo is that they handle events that you were invited to and support syncing multiple calendars, although to sync more calendars that the default you have to pay. But I don’t really mind that as long as the price is right, and GooSync is pretty cheap.
So now all I need is for Plaxo to add support for Google Contacts sync. Then I can sync my contacts and calendar wirelessly wherever I am to my phone and get contact updates from Plaxo. Maybe it’ll happen, but I wont hold my breath.
I’ve put some photos from my recent trip to Scotland with my scouts, aged 12 to 18, on Flickr.
We walked from Fort William to a train station called Corrour, which was about 30 km. It was mostly fun with very varied weather.