Rants

uuid.lib(unknwn_i.obj) : fatal error LNK1103: debugging information corrupt; recompile module

Back in October 2005 some of my clients started to complain that the latest version of the Platform SDK (the April 2005 version) broke their builds. The culprit was uuid.lib which had been built with debugging information that the VC6 linker didn’t understand and which caused a link failure. The end result was that the last version of the Platform SDK that worked with VC6 was the February 2003 version. This all seemed quite unnecessary to me at the time; as if the latest Platform SDK was deliberately unusable for VC6 which had (in September 2005) just become unsupported.

The new Microsoft File Transfer Manager appears to suck...

I’m downloading the Windows 7 Beta from MSDN Subscriber downloads right now and the new Microsoft File Transfer Manager appears to be very very crap. The MSDN site insisted on updating the file transfer component before I could download and this version seems to stop every few minutes with errors about web server headers being missing. I have no proxies of my own that could be causing problems so I assume it’s a wider problem than just me… Anyway, it’s a pain that I have to keep hitting the Resume button ever few minutes…

The perils of precompiled headers

I’m working on some client code today and it’s fairly typical of most ‘Visual Studio Wizard generated code’ in that it uses precompiled headers in a pretty poor way. The default wizard generated code seems to encourage people down a slippery slope of just including everything in stdafx.cpp and not worrying about the consequences. Of course, by the time the project is large enough for this to be a problem the damage is already done and it’s a nightmare to try and unpick the resulting problems.

Flame on

There’s an interesting post over on “Blogging Considered Harmful” about why flaming someone for incorrect technical spouting is a good thing; I tend to agree. I actually WANT people to shout down my stupidity, if they’re right and I’m wrong then hopefully I’ll learn from the exchange. If I’m right and they’re wrong then perhaps they’ll learn from it. Either way it should make both sides think; though perhaps I’m being a little naive…

The mounted file system does not support extended attributes...

I really really really hate the error that I sometimes get when trying to copy a file from my Vista box to my NAS: “The mounted file system does not support extended attributes”. With the options to “Try again” or cancel. I suppose the “Try again” option is just in case the mounted file system changes its mind or the file somehow decides that the extended attributes that it’s somehow acquired aren’t actually required…

Go on, tell us why?

It wont come a surprise to anyone who has read this blog for a while that I disagree with much of what Simon Sebright has written about asserts in the latest issue of the ACCU’s Overload magazine… I’ve stated my case far too many times to go through it all again, but, it would be nice if he’d explained why he doesn’t like using references when a pointer argument cannot ever be null, especially as he then takes a stance that says, in his view, a pointer argument SHOULD NEVER be null…

Lifetime management issues with CLR hosting

I’m still playing with hosting the CLR in C++ (using “Customizing the Microsoft.NET Framework Common Language Runtime” by Steven Pratschner as my guide)… It’s an interesting journey but, once again, I wonder who makes the important technical decisions at Microsoft and how they sleep at night ;) . I’m currently playing with the ICLRRuntimeHost interface. This lets you load the CLR into your unmanaged process and gives you a remarkable amount of control over how the CLR that you’re hosting operates.

I don't like Vanilla Scoble

Robert Scoble, the “Microsoft Geek blogger”, has recently had a complaint that he only writes about Microsoft and he figured that he was in a rut and decided to get out of his rut by deliberately not writing about his usual topics of Microsoft, Google and Yahoo (GYM) for 100 posts… So, for the last 3 days he’s been writing about other stuff… There are problems with this idea though…

Why are the 'event' classes in .Net STILL broken?

Whilst I’m ranting about the little things… You still can’t create named versions of the .Net ManualResetEvent and AutoResetEvent, even in .Net 2.0. Wasn’t everything going to be fixed in Whidbey? Of course, I realise that you can “simply” access the underlying Win32 API to do it, but a) why should we have to? and b) it’s not recommended that you do… I guess the fact that the P/Invoke route isn’t recommended is the reason for the dearth of nicely packaged up solutions to this problem; surely anyone who needs this functionality would write an object that wraps it up nicely rather than doing it “long hand” like this?