Once upon a time, as an avid computer user and someone who even made his living in the field of IT, I used to regularly revisit my working habits and make incremental refinements to my methods and the set of tools I used on a daily basis. Over the years, this led to more efficient work practice and a better understanding of how the tools in particular and the system in general functioned.
In recent years, though, I suppose I’ve become set in my ways. I don’t evaluate new software nearly as often as I used to, and tools that I’m comfortable with and have used for years are rarely, if ever, reassessed to determine whether they’re still the best ones for the job.
Hardware isn’t immune from the phenomenon, either. Take the TrackPoint (nipple-like pointing device) on IBM/Lenovo Thinkpad laptops, for example. While most of the mobile computing world has since moved to a touchpad, I still hate the bloody things, because it’s impossible to avoid touching them by accident and they require one to take one’s fingers off the keyboard.
I’ve tried time and time again to adjust to a touchpad, because fewer and fewer laptops are still manufactured with a TrackPoint, but I can ultimately reach no other conclusion every time than that it really is an awful invention.
This choice (which is no choice at all) means that range of laptops available to me is now pretty much restricted to Thinkpads. At least they’re excellent computers, or I’d be left with nothing.
Similarly, even if I didn’t have ideological objections to Apple as a company, which, by themselves, are reason enough to boycott the company, there are the numerous usability issues with both their software and hardware, not least amongst which is their wretchedly handicapped single-button mouse, surely the stillborn child of the input device world. What’s next? A keyboard with a single key? Ovine Apple fans would still lap it up, I suppose, as long as it was shiny and white.
That’s fodder for another posting, however. This one is, as stated at the beginning, about software and working practices.
I once programmed and wrote e-mail in Emacs. After a few years, I moved to Vim, which I’ve been using ever since.
Similarly, I once read news (in the Usenet sense) with TIN, but then moved to slrn, where I still am (although I hardly read news any more).
What about shells? A little know fact is that I was briefly a tcsh user before moving to bash, where I was happy for years until I discovered that almost everything I liked about bash had been implemented in a turbo-charged fashion in zsh. I’ve never looked back.
Window managers have seen more varied use. I started off with fvwm2, but that was too awkward, so I moved to NeXTSteP clone, AfterStep. Then came a brief flirtation with Enlightenment, which was too unstable and unwieldy at the time to truly consider adopting, so I instead moved to WindowMaker, which was basically a slicker AfterStep with easier configuration. I eventually abandoned the concept of the highly configurable window manager and switched, almost incidentally, to the de facto GNOME standard of Metacity. I tried many more along the way, of course, but only the above were used for any great length of time.
By that point, much of the functionality commonly associated with the window manager had been extracted to the wider desktop environment, most commonly GNOME and KDE, leaving Metacity with little more to do than decorate and manage windows. One of the great things about WindowMaker, for example, was its dock. Metacity had no such feature, but GNOME offered a similar feature called the panel. At that point, window managers had all but ceased to be an interesting category of software. I had gone through a series of them, each more heavily-laden with features than the last, to ultimately adopt one that was very lightweight.
Programming languages have undergone similar scrutiny in the course of my computing life. Ten years ago, most of the programming I did as a system administrator was in Perl. Be it number-crunching, analysing log files, parsing text or writing an interface through which two pieces of software could talk to each other, Perl was the tool I reached for.
The nature of the job of a system administrator hasn’t changed much since then, but since 2002, I have been using Ruby almost everywhere that I would previously have used Perl; the sole exception being throwaway one-liners, such as quick text substitution. It’s still hard to beat Perl for that.
Since I stopped working as a system administrator, I’ve had only my own (home and remote) systems and network to manage. I suppose I must have overdosed on technology at some point, because I haven’t felt the need to keep up on new developments over the last four years. Part of that is because of the illusion of free time that retirement has created. I no longer feel cornered into the evenings and weekends by my work schedule, so in theory, each and every day can be turned into anything I want it to be, including a productive day of learning, honing one’s skills.
It doesn’t work out like that, however. Without the constrictions of a work schedule to underscore the precious nature of free time, I find myself putting off until never that which I could do today. I can shove some of the blame onto my children, too, of course, who are a big drain on my time and energy, but it’s a bit disingenuous. My own lack of self-discipline is the real problem here.
There was once a time that I read the Linux Weekly News every week. If I was going on holiday, I’d print it out and take it with me. The rain forests suffered, but my knowledge increased over time.
I used to read the kernel developers’ mailing list, not because I was one of their kith, but to keep up on the direction in which Linux was travelling and to find out what new features were being developed.
When a new release of Red Hat Linux would come out, I would check to see which new packages had been added since the last release and then research each of them to see if any useful new tools had been added. This was guaranteed to expose me to new tools, which often revealed new approaches to old problems, as well as areas of technology about which I was basically ignorant.
Perhaps the most amazing to me now is that I would, on a more or less annual basis, read all of the man pages on the system, to see which familiar commands had acquired new features and options that I could put to good use in my work. It was also a good way of reminding myself of the existence of the more obscure tools available in the UNIX world. You’d be surprised how many talented, senior admins I’ve met who have never heard of tac
and rev
, for example (which aren’t even that obscure).
The time has come to mend the error of my ways and rediscover some of those good practices.
That’s partially what the migration of the blog from Movable Type to WordPress was about, as was my attempt to teach this old dog new browser tricks with Chromium. Yes, they’re not a branch of rocket science, but that’s not the point, either. The point is to find inspiration again. To make fire, you first need a spark, and I chose browsing and blogging software to be my first pieces of flint. Once that fire is lit and the snowball starts to roll, I won’t just have poorly mixed metaphors, I’ll have momentum, too.
There’s nothing wrong with old technology and working practices. Not all change is progress. On the other hand, it’s important to move with the times and not just cling to the old out of ignorance.