Before I get up on my soap-box on what I've been doing lately to improve myself as a developer, let me quickly list the development environment tools that I feel are MUST-HAVE tools for any developer serious about his craft (and they are all free):
Well, in an effort to continue improving my development environment at home, I have finished migrating my source control system from CVS to Subversion. Last time I had used Subversion, it was still in Beta and the integration into Windows was only done through Cygwin. Well, I'm proud to say that Subversion has matured a lot since then. It has all the things I like about CVS, and doesn't have a lot of things that I don't like about CVS. Plus (and this is a big one for a refactorer like me), Subversion inherently supports file renaming.
I've also been impressed by the quality in the tools that exist for Subversion. Right off the bat, after I installed Subversion, I installed both TortoiseSVN (a shell extension for Subversion, based on TortoiseCVS), and AnkhSVN (a visual studio add-in for Subversion). Now I just need to read the online book for Subversion to make sure that I know how to properly maintain and backup this sucker.
There are more improvements also. I have moved to CruiseControl.Net for my continuous integration system. It seemed like CruiseControl.Net took a little longer to setup than Draco, but I think a lot of that is because of the configurability of this sucker. Man, I love it. One piece of advice I would like to give though (which I originally read from someone else), take baby steps when setting up CruiseControl.Net. Don't shoot for the whole she-bang from the get go. You will only cause much frustration for yourself. If you take one little piece at a time, the setup is quite manageable. I still have some more items to add, but for now I got CruiseControl building using NAnt, using Subversion for source control, and using FXCop for best practice validation. The next steps for this evening or to enable the integration with NUnit and NCover for testing. I have my personal web dashboard setup on my build machine already so NUnit and NCover are my last steps. Let me tell you this much, it feels absolutely great.
I will try to make another post within the next couple days detailing what I did to enable building with NAnt from within Visual Studio without breaking the needed features of Visual Studio. That's right boys and girls, after much searching, I found a way to fire off NAnt when I press Ctrl+Shift+B within Visual Studio. Many of you may not care about this, but it was a pet peeve of mine to have two different build processes in my development environment (one with Visual Studio, and another with NAnt). It's pretty clever how it's done. It's just through a C++ MakeFile project. I originally found a link on how to do it on the NAnt Wiki.
Anyways, I'm rambling, I will get to that in a later post. I mostly wanted to let you all know that I haven't dropped off the face of the earth. Hopefully by the next time I fire up a post here, I will be a proud developer willing to boast about my personal continuous integration development environment :). That may not sound like much, but I can't emphasize how many headaches you will save yourself by setting this stuff up, not to mention how much of a better developer you will be by practicing/implementing development best practices.
Just do this for me, if you're not already, put *ALL* of your code into some sort of Source Control. I don't mean burning a CD of all your source code (although that's certainly better than nothing), I mean an actual source control system. There is no excuse not to. Of all the tools I mentioned above, CruiseControl.NET, Subversion, NUnit, NAnt, NCover, and FXCop are all free. And many of them are open source too.