As I mentioned here, the WebSockets protocol is, at this point, a bit of a mess due to the evolution of the protocol and the fact that it's being pulled in various directions by various interested parties. I'm just ranting about some of the things that I find annoying... The WebSockets protocol includes a way for the endpoints to shut down the connection. If an endpoint receives a Close frame and that endpoint did not previously send a Close frame, the endpoint MUST send a Close frame in response. It SHOULD do so as soon as is practical. An…
As I mentioned here, the WebSockets protocol is, at this point, a bit of a mess due to the evolution of the protocol and the fact that it's being pulled in various directions by various interested parties. I'm just ranting about some of the things that I find annoying... The WebSockets protocol is designed to be extended, which is all well and good. Extensions can, at present, be formally specified by RFCs or be "private use" extensions with names that are prefixed with an "x-". So far the only "official" extension is the deflate-stream extension that's detailed in the…
As I mentioned here, the WebSockets protocol is, at this point, a bit of a mess due to the evolution of the protocol and the fact that it's being pulled in various directions by various interested parties. I'm just ranting about some of the things that I find annoying... The client MUST mask all frames sent to the server. A server MUST close the connection upon receiving a frame with the MASK bit set to 0. In this case, a server MAY send a close frame with a status code of 1002 (protocol error) as defined in Section 7.4.1.…
As I mentioned here, the WebSockets protocol is, at this point, a bit of a mess due to the evolution of the protocol and the fact that it's being pulled in various directions by various interested parties. I'm just ranting about some of the things that I find annoying... Back when binary frames were mentioned in the WebSocket protocol specification as a slightly hand wavy "something for the future" and only text frames were actually possible to send and receive using the clients at the time then there MAY (in the strictest RFC meaning of the word) have been…
As I mentioned here, the WebSockets protocol is, at this point, a bit of a mess due to the evolution of the protocol and the fact that it's being pulled in various directions by various interested parties. I'm just ranting about some of the things that I find annoying... The first thing to realise about the WebSockets protocol is that it isn't really message based at all despite what the RFC claims. Clients and servers, after a successful handshake, transfer data back and forth in conceptual units referred to in this specification as "messages". A message is a complete…
I've just upgraded Movable Type from 5.03 to 5.11. The upgrade itself went smoothly except for one thing. A recent fix to MT to remove an obscure HTML standard violation that Firefox was causing problems with means that permalinks with runs of dashes in them have been changed. You can see the full details here on the MT forums where I posted the bug report. This is more of an issue for me as I did the upgrade and then launched www.lockexplorer.com which uses the same MT installation as www.serverframework.com, www.jetbyte.com and www.lenholgate.com. The new site now has the…
I tend to work with lots of solutions at once. I'm often building code for clients, building and testing new example servers for The Server Framework and running lots of copies of various versions of Visual Studio at once. Now, if I happen to try and open two VS2010 solutions at around the same time (and given the time it takes for VS2010 to start up that's not that hard to do), then one of them wins and gets my normal settings and one (probably the one that gets a sharing violation whilst trying to read my normal settings) ends up with…
The story so far, I've owned DevPartner Studio for several years and been on a support contract the whole time. The support situation went a bit flakey when Compuware sold the product to Micro Focus, I expect that either I'm simply not a big enough client for them to care or their post sales and support is just no where near as good as the Compuware offering. With Compuware I'd be contacted when new versions came out and I had a named sales contact that I could also use for questions, etc. What's more the sales guy was good, he…
One of the problems of having a collection of tools that interoperate is that there's often a lag between when a tool will interoperate with the latest version of another tool. I'm hardly a bleeding-edge tool junky, I wait until RTM before I start using the latest Visual Studio on a daily basis, and in the case of VC 6 I stuck with it (as did most of my clients) until VS2005 came out and actually improved life for unmanaged C++ development... However, it seems that some tools take a long long time to catch up with Visual Studio. Take…
So far I've found Visual Studio 2010 quite a compelling upgrade from Visual Studio 2008 for native C++ development. Intellisense is better, the build experience seems smoother and faster, editing on a decent development box seems OK, the various profiling and concurrency tools look interesting and, well, it mostly works quite nicely. It's a pity that there are some rough edges. I've been seeing crashes when I update project and solution files whilst it has them open (a common thing to do if you're working with source control). I haven't yet been able to get a repeatable reproduction, but my…
I've been having problems installing VS2010 Beta 2 onto a selection of x64 VMWare machines (fully updated and service packed XP and Windows 7). In fact I was having problems installing it onto any of them. The error that I was getting was this: [10/22/09,07:28:42] Microsoft Application Error Reporting: [2] CMsiComponent::Install() expects the setup file for Microsoft Application Error Reporting, but the file failed verification. And whilst a google showed that others were also getting the same error it was few and far between and nobody had been given any useful advice. I'd tried with both the premium and the…
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. Well,…
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...…
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. I've mentioned before that I use precompiled headers in the "one true way" (see…
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... Take this recent exchange in the comments for one of my articles over on CodeProject. Someone, ostensibly called Alex Gris, with no other posting history on…
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... The main problem I have is that I get this with text files where I've never done anything 'special' to create "extended attributes" (whatever they are).…
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...…
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 ;) .…
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...…
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?…