Data Structures and Algorithms book flying out (again!)

The updated version of the Data Structures and Algorithms book that Luca and I wrote is flying out once more! We are really very happy to see how many people are downloading our book. In total (counting the previous release) the book has had nearly 16,000 downloads! Amazing.

If you haven’t already got a copy what are you waiting for?! Its free so you don’t have to reach into those empty pockets at this time of year.

Download the updated version of the Data Structures and Algorithms book here!


Enjoy. Merry Christmas and a Happy New Year.

Shared Source CLI (aka Rotor) on Vista

I thought I would share my experiences with Rotor on Vista (x86 and x64). First off Rotor is an open source version of a big chunk of what’s in the full commercial .NET that you use on your machine today BUT certain things in Rotor are no where near the quality of that in the commercial .NET – keep that in mind.

I hacked around with Rotor on several setups not including the supported setup (XP with SP2 and VC++ 8.0). My mileage with each is briefly summarized below.

Vista x64 with VC++ 9.0

I tried to get Rotor working with Vista x64 and VC++ 9.0 but was unsuccessful. Couldn’t even get it to build. This was as I expected though.

Vista x86 with VC++ 9.0

Made the same changes I did with the x64 version pretty much and got it to build. After the initial hope of it all building and the tests that Rotor comes with all passing I was somewhat annoyed that some programs including the C# compiler were not behaving correctly e.g., the C# compiler would give random parser errors for programs. I’m sure that other components were affected as well but seens as though I needed the C# compiler to work this was pretty much the final straw for me.

Vista x86 with VC++ 8.0

Builds without any hacking required. Every now and then though a buffer overrun would occur during the build, particularly when building some of the BCL C# stuff. Haven’t had this error again since I rebuilt my machine but the obvious fix would be to just make the buffer that is overran larger. This occurred during a call to MakeMacroString and it seems as though someone else has come across this as well.

My personal view is that the SSCLI project is doomed to spend the rest of its time only officially supporting that which it did when it was first released. If anyone knows any different then let me know. I couldn’t find any information on the web hinting that it would be updated if only to support Vista.