Friday, December 26, 2003

Parkinson's Law states, "Work expands to fill the time available for its completion." While reading through Eric Raymond's The Art of UNIX Programming (specifically here, under "Rule of Modularity"), I came upon an interesting point that is worth distilling into its own, derivative law: "Software expands to use all the power available for its construction" (clearly that verbiage needs tuning). It seems that every few years, there is a New Big Thing in software that will eliminate all the complexity and result in a Brave New World without programmers and other complications. In the aforementioned text, Raymond astutely points out that every such thing has only served to allow projects of greater complexity to come about. There are many real-world examples of that. Indeed, that is clearly the rule rather than the exception. So maybe my pessimistic feelings about the future of my profession are overstated, and there is a long future ahead of me. I don't know that I want to be a programmer for the rest of my life, but maybe I will be able to leave by choice, rather than necessity.

I just noticed I didn't have a "programming" category. I found that odd, given how much of my time is spent programming (and thinking about programming).

( me | programming )

Sunday, February 22, 2004

Teach yourself programming in ten years. I've been programming for almost 10 years now. I don't know if I should count those first couple of years of Pascal, though.

( programming )

Friday, March 19, 2004

After reading up on Ruby, I'm thinking it's not for me. It just doesn't feel right. I know that's mostly syntax, but a lot of things just seem bizarre and unnecessarily clunky. I'll just use something else, probably Java.

( web | programming )

Wednesday, July 21, 2004

For what it's worth, here's a perl script I whipped together to sort the words in a line. It will take either a list of words from the command line or will read from stdin and sort each individual line. Output is to stdout in both cases. I know it could be tightened up, but I'm not much of a perl programmer. Then again, perl isn't much of a programming language. If none of that meant anything to you, you don't care about this.

#!/usr/bin/perl -w

use Text::ParseWords;

# Sort Words In Line

if (@ARGV) # sort words given on the command line
{
    print sortLine(join(" ", @ARGV)),"\n";
}
else # sort from STDIN
{
    while (<>)
    {
        chop; # lose the newline
        print sortLine($_),"\n";
    }
}

sub sortLine
{   # fully-qualified subroutine name because it is a reserved word
    return join(" ", sort(Text::ParseWords::quotewords(shift)));
}

( programming )

Friday, September 02, 2005
I've gotten hooked on the Daily WTF, a weblog that posts examples of crimes against software.

( programming )

Wednesday, September 19, 2007

The Pragmatic Programmer is considered one of those books you have to read as a software developer. Dave Thomas and Andy Hunt's compendium of practical advice for writing good software considered a classic in some circles. It's a good book, but it would have been better if I'd read it 5 years ago. Now that I'm a "senior developer,"1 it's a lot of stuff that I already know. It's good review material, though; their recommendations are well thought out and quite practical, drawing on their collective experience in the industry. I'd definitely recommend it for someone who's just getting started, or to someone who's gotten into the business sideways, or who is looking to brush up on their techniques. If, on the other hand, you feel like you have a good grasp of modern methodologies and good practices, you can probably skip it. 020161622X 978-0201616224

1 The recruiters who call me insist that 7 years experience == senior.

( programming | books )