Plenty of Choices

Apparently, I’m not the only one with issues using GDN Workspaces Source Control & VSS. I’m not the only source on how to switch VSS providers. And I’m not the only one with a tool to make switching easy.

SccSwitch

It’s late, so this will be quick. I installed GDN Workspaces Source Control Plugin for VS.NET and then realized I couldn’t access SourceSafe repositories any more. A little registry spelunking later, I figured out how to switch back and forth between using GDN Workspaces and SourceSafe for source control. In order to minimize time spent in the registry editor, I whipped up a simple tool to display the list of installed source code control providers and allow the user to select whichever provider they want. Enjoy.

Other Possible GDN Workspaces

I’m thinking of starting a GDN Workspace for my Web.SkinUI and Messenger.NET projects. Any interest?

SPSynd v0.4.1

I’ve released v0.4.1 of my SharePoint Syndication project (abbreviated SPSynd). Note the new name and new link. I’ve been following Sam Ruby’s project formerly known as Echo with great interest and I realized that if I wanted to support more than RSS, I shouldn’t embed RSS in the project name. The new version supports WSSBeta 2 Technical Refresh, which is generally available. I’ve also spun up a GDN Workspace for SPSynd where you can download code and releases. Collaborators welcome.

The End of Code As We Know It?

Early Adopter has a couple of thoughts on code generation that mirror my own. It’s not the end of coding as we know it. My big problem with code generation is intelligence: developers (usually) have it, code generating programs don’t. They can only generate what they’ve been programmed to. Which means they’re only good for redundant tasks. Data access code is a good example of this. But I can’t write my whole program that way.

Code generation is a simple first step, but it’s only the first step on a road that ends in language innovation. The point of higher level programming languages is to eliminate the redundant mindless tasks. While code generation is valuable (the original C++ compiler was simply a C code generator) you don’t stop there and declare victory. Developers are much more productive when the higher level abstraction is embedded in the language. VB.NET’s event handling mechanism is a great example of this. In C#, you (or the tool) need to write a bunch of code to wire up event handlers. In VB.NET, I just declare the method handles a specific event with the “Handles” keyword. True, VS.NET writes that for you in C#, but you still have to manually manage it. I’ve deleted event handler methods in C# countless times, which results in a compiler error since the auto-magically generated code isn’t auto-magically deleted.

Places where code generators are useful are indicative of future disruptive programming language innovations.