Well! My first blog that is not one of my previous two blogs. Ahem. No really, this blog is better because it is:
A) Not on Myspace. [yuck]
B) Not on a university computer that no one can access! (Long story.)
I actually wanted to create a real website, complete with project pages documenting the cool things I've built, pictures, and file downloads; but I'm too poor to buy good webhosting, and too good to use a cheap one! So I'm starting a blog instead. C'est la vie. A blog is a better fit anyway.
The name of the blog is Steely Eyed Codeslinger. I - have worked for - occaisionally work for - may work for again? - a software company called CDFA, and as it is a small company we were a very close-knit group. We'd often have some good inside jokes buzzing about, and sometimes all watch the same movies or read the same novels. At one point when I worked there last year,
the boss, Dean Bortell, was reading Stephen King's Gunslinger novels, and got the rest of us into it. I enjoyed them but I never did end up finishing the series. I wonder if Dean did? Anyhow Dean changed the word "gunslinger" to "codeslinger" to describe the kind of "just do it, fast, clean, and efficient" programmers we were (or wanted to be). I always rather liked the codeslinger / gunslinger comparison. It was more-or-less a synonym for "hacker" but without the bad connotations, and "hacker" was a generic term but "codeslinger" was our own word. During that time I was always complaining that we needed to spend more time on our architecture (think before you shoot), but after getting more exposure to software done other places, especially academia, with their current gonzo Java fad, and meeting some real-life architecture astronauts, I realized that there is a lot to be said for a one-shot, one-kill style of coding without friviality. To me, the term "codeslinger" embodies that idea. Of course, it is a sliding scale - what I might bang out without having to think about it, what I might consider a perfectly straightforward solution, might make another programmer want to hang me by my neck with my keyboard cable. You have to be both experienced and good to be a "codeslinger" - you can't just bang out code without knowing what you're doing anymore than a cowboy can win a gunfight if he can't hit anything. The important point is not that the gunslinger shoots without having to think about it, the point is that he hits what he's aiming at. When you write software for money, time doesn't magically become free of cost while you do your planning. It costs money and affects your schedule, whether you are planning code or writing code, but of the two activities, only one actually results in a program. Once you've planned long enough to know you can hit what you're aiming for, then shoot, damn it!