Blogs

Socket Server code updates

The latest release of the free version of my asynchronous, windows, IOCP based, socket server framework can now be obtained from here at ServerFramework.com. For some time I’ve been promising to update the socket server articles to use the latest version of my code. Today I finally updated the code for the first article. I’m going to update the article itself soon, but in the meantime I’m posting the new code here.

Developer buy in

The refactoring project rolls on and the code gets better. This week saw a marked change in attitute from some of the developers on the team… I was originally brought into this project because the lead developer was leaving and other developers within the team were unhappy with taking over the project as they were scared of the state that the code was in. Management accepted the need for change and welcomed the incremental improvements that my original report on the project proposed.

VS.Net 2003

Why oh why couldn’t the new VS.Net solution file format have either been compatible with VS.Net 2002 or have a different file extension… I’m in the process up updating my socket server code to build with VS.Net 2003. The code already builds with both VC6 and VS.Net 2002. Since the project files for VC6 and VS.Net have different file extensions they quite happily co-exist in the same directory. Unfortunately, for whatever reason Microsoft chose to make the VS.

I'm an exception, let me out of here...

We’re adding some new functionality to the refactoring project. Unfortunately the new functionality is located in the Heart of Darkness - the most twisty and poorly structured code in the whole system. Today I stumbled onto something truly awful. Exceptions used as glorified gotos within a 350 line function… Exceptions are a great way of handling exceptional situations by hurling information up the call stack to someone who can deal with it better than you can.

Got skates, let's go!

Spent the afternoon at Decathlon in Surrey Quays. Came away with a pair of Rollerblade Lightning 03’s - which are probably a little over the top considering my lack of skill ;) but they were the most comfortable and smoothest skates I tried. Also got all the pads, a helmet and a rucksack. I don’t expect to get much coding done in the evenings this week :)

Evanescence

Miche did the spontaneous thing this week. After hearing “Bring me to Life” on the radio once she bought the Evanescence CD. Cool stuff. Very nice sound. Kind of All about Eve meets Skin from Skunk Anansie on vocals with a nice rocky Linkin Park kinda guitar thing going on.

A coming together...

A good week for the refactoring project. The release procedures that are now in place mean that we’ve been able to react quickly to new functionality requests whilst continuing the new development efforts. Ah the wonders of a source control system being used properly… It would be nice if we reacted at the right speed rather than just jumping when the users scream, but we’ll get there. This week we had a couple of releases that could have done with a little more testing… Still, this was pointed out to the person who made the call to release and, well, they made the call.

Final skate lesson

We had our last inline skating lesson tonight. Lots of recap on what we’ve done before, and lots of practice. The crossover turns are quite comfortable now in either direction, which is nice, and we did some simple slalom - note to self: buy 6 day-glo cups. We were renting the skates for the duration of the course and today we had to give them back :( This means that we have no skates :( :( Which means, we can’t sneak a quick skate in on Saturday morning before we do all the other things we have planned for the weekend :( :( :( Sunday we shop for skates.

Blog is 1month old!

Well, the site is 1 month old and I’m still rambling on. I think I have about 4 readers now too ;)

Stage complete. Time bonus...

This morning I wasted some time tracking down bugs in the multi-threaded online game engine that I’m writing for a client. Now I have tests. Tests are good. The bugs were little things, they always are. Most of the wasted time was spent simply getting the server into a state where I could poke it just right and make the bug wave a white flag. For example, a bug only shows up when you have 3 players and one does something particular in round 2 and another leaves when he shouldn’t in round 3.