Tuesday, September 28, 2004

Feeble UIs and Antiquated Coding Standards

So I spent all day trying to find a replacement for SourceSafe, and it was not a pleasant experience. I ran across an alternative called Subversion. As I previously mentioned, I develop native windows applications using Visual C++ with MFC. Obviously, my top priority was to find a technically superior alternative that integrated into the Visual Studio environment as well as SourceSafe. The Visual Studio environment has gotten so much better since Visual Studio 6. It is really a great development environment. And while I am a recovering open source zealot, I have to admit Microsoft's interfaces are almost always superior to open source alternatives. Hell, how can I not admit it when Eric S. Raymond does? Don't get me wrong, I still use and believe in several open source projects (Apache, MySQL, to name a few). So basically, I needed an SCC plugin for Visual Studio that works with Subversion. That led me to a couple of projects/applications:

Well, Subway is apparently an abandoned project. I can't blame this on open source or bad UIs, but it was frustrating nonetheless. I understand there is an NDA and all, but couldn't this guy have found someone to take over? Actually, I would take this over and I have "signed" the NDA (well, I clicked OK. Surely that is as legally binding as a blood oath). He claimed it hosted itself. I got nowhere with it. It crashed hard and frequently, sort of like Robert Downey, Jr. Obviously, this was not a viable option.

So I tried SVNSCC. It installed fine. That was where the simplicity ended. It ships with a utility to ease changing SCC providers, which is certainly necessary. I launched that utility and nothing happened. Well, I thought nothing happened, but later noticed there was a new goofy icon in my already overcrowded system tray. Yes, the epitome of intuitive interfaces. So I right-clicked on the icon and it showed the SCCs I had installed. When I selected "PushOK SVN proxy", it told me I was unregistered or my trial time period was up (I am paraphrasing here). WTF?! I just installed the damn thing. I clicked "Cancel" thinking there was a problem with the its timeframe computing function. Weeeee, it crashed. After much frustration, I thought I'd push the other button ("Register") to see if I got prompted for credit card info. No, you have to go through some free registration stuff before you can it will work. <Sarcasm>Glad to know that up front.</Sarcasm> So I finally get the software "working". The interface left much to be desired. The dialog asking for the information to retrieve the right repository used cryptic, Subversion specific terms. I wanted something that will act as much like SourceSafe as possible. So I fill out the information to the best of my ability, and right away, I see an issue. Apparently, it doesn't work with Subversion repositories that contain only one project at the root. At this point, I am all like "Fuck it. I will write my own."

After cutting my teeth for the majority of the day, I start browsing the Subversion developer info. Here is an excerpt from the HACKING file:

* Use only spaces for indenting code, never tabs. Tab display
width is not standardized enough, and anyway it's easier to
manually adjust indentation that uses spaces.

* Stay within 80 columns, the width of a minimal standard display

Tabs not standardized enough? If there is someone out there who still codes with tabs set to eight spaces, they should be stabbed in the face repeatedly in front of their families. Is there anyone out there blind enough that using four space tab looks left aligned to the previous block? I know, you are probably thinking" Jim, you un-PC bastard! There are probably some very talented, legally blind coders out there." My point exactly. If there are very talented, legally blind coders, or VTLBCs as I like to call them, they are using voice recognition software and don't give a wet fart if the next block is indented four or eight spaces. And if you have a decent programmers editor like the Visual Studio editor or UltraEdit, it is more work to reformat code that uses spaces rather than tabs. I would guess that vi and emacs can be configured to have the same advantages. And the 80 columns thing. What year is this? I didn't buy 21" monitors running at 1600x1200 to waste half my screen real estate so I could collabarate with some schmuck running text VGA mode or whatever.

Then I tried AnkhSVN .NET Add-in. While it didn't integrate with Visual Studio the way I hoped, it integrates well enough for me. I was able to check in, check out, and check in multiple files within a few minutes of using it without reading any documentation. This solution looks promising and I suggest it be explored for people looking to leave SourceSafe but still enjoy the rich IDE of Visual Studio .NET.

Saturday, September 25, 2004

Officially Not the Laziest...

Mood: Chill
Music: Carnival by Burning Airlines

Second post... that means I am not the laziest blogger in the world. I am extremely proud. I hung out at home and listened to DotNetRocks live for the first time. They had a great link from the show. Gus is in town and we are going bowling today. I am not too popular on Friendster. Probably because I have only logged on like 5 times and I never do anything. Well, I am off to watch some of the Arizona game as I would like to see how ol' Mike Stoops is faring.

Friday, September 24, 2004

In the Beginning,...

So I thought it was about time I get a blog. I have all the characteristics of a good blogger. I'm opinionated, passionate, apathetic, insecure, arrogant, eloquent, illiterate, and I under utilize spell check. I have a bunch of rants that my friends are tired of hearing. Well, most of my friends have moved away, but that is another story.

I suppose I should give a little background about myself just any case someone is pathetic or enlightened enough to read this. As of this writing, I am moving into my late 20's. I am a software engineer. I do contract work for a government agency. It's a real h00t, let me tell you. Actually, I like my job, but I have a co-worker that I hate every fiber of this individual's being. From this point forward, this co-worker will be referred to as the antichrist, or AC for short, but try to not conjure up images of Slater as that would not be conducive to portraying the image I have in mind of this individual.

For other coders out there, my current project is a conversion of seven DOS programs to four windows programs. I have been working on this for two and half years and I am almost done finally. I am using MFC because I thought it would be quicker since I hadn't done much windows programming when I got hired. I have been listening to DotNetRocks, (2) a lot lately, and think Rory, and Carl have me brainwashed into thinking that native applications are going the way of the dodo, or Crystal Pepsi.

I am also a big music fan. I am currently listening to "Cool Rock Boy" by Juliana Hatfield. She's cooler than me. Okay, my attention span is spent and my carpal tunnel is flaring up.