Software, Technology

A Geek’s Confession…

June 23rd, 2005 by Jeff | Dump Core

Every now and then, I wonder if my geek license should be revoked. You know, those times when you come across a technological problem and you do everything you can think of–including and especially over-analyzing the problem to the point of pursuing the most extreme and obscure solution–only to find out it’s something incredibly simple or mundane.

The other times I think I should hand in my geek credentials are when I realize (or worse, I already knew but didn’t want to publicly admit) that I don’t quite know enough about something that I probably should know. Of course, not everyone can be a Fooker and know everything there is know about technology; geeks are often far too specialized, and while it’s good to know something about topics outside your field of expertise, you don’t have to be an expert. But I like to consider myself a UNIX geek. I have a Linux box (several boxen, in fact, and you’re reading pages served by one right now). At work I’ve been hacking out shell scripts, setting up cron jobs, etc. As I stated previously, I just spent a significant amount of time setting Apache’s virtual hosting just to give this site a new domain. But I have one little dirty secret I’ve been hiding for years, and now I must finally admit I have a problem.

I’m only just now learning vi.

You see, early on, I was introduced to Pico. Hold on a minute, don’t run away. Just hear me out. I was but a mere geeklet, a fledgling still being molded. At that time in college, I think I was still majoring in chemical engineering, so my computer was still mostly just a tool and a platform to play games. I had heard on the news about this “Internet” thing, and I wanted to try out “e-mail” and “browse” the “World Wide Web.” So I got an account on the school servers. This was still before they set up PPP networking, so I couldn’t e-mail or browse the Web from GUI apps on my personal machine. Instead, I had to log into the UNIX server and do things from there. And the e-mail client installed was Pine. Pico is a part of Pine (when you read or edit a message, Pine puts you into Pico), and so it was the first UNIX editor I had any experience with.

I liked Pico. I still like Pico. It’s nice and simple to use. In a lot of ways, it reminded me of Notepad or DOS Edit, which was comforting to someone familiar to DOS & Windows but new to UNIX. (Yes, kiddies, this was back when Windows ran on top of MS-DOS, when Microsoft actually used version numbers instead of dates.) I liked it so much that I was comforted when I set up first Red Hat Linux box and found Pico part of the standard install. I was also a bit concerned when I migrated to Fedora and found that it was not. It turns out since Pico is not considered free software, Red Hat decided not to include it. Not to worry, of course; I promptly downloaded it from the official site, compiled it, and installed it manually. All was right with the world. I’ve even surreptitiously compiled and installed Pico in a hidden place in my account on the Keenspot servers, just on the off chance I needed to edit a file directly there. (Just don’t tell Darren Bleuel.)

But sometimes you don’t have the luxury of installing your own software. Sometimes you don’t even have the luxury of editing a file on your PC and FTPing it to the server. You have to edit the file right there, and you have to work with the tools at hand. Such has been my recent situation at work. Technically, I’ve been developing in a production environment (instead of a dedicated development environment, for shame), and since I’m not allowed to know the production passwords, someone else has to log me in. Ergo FTP is out of the question. The C compilers on these machines are either crippled or non-existent (i.e., the customer won’t pay the UNIX vendor to install a full compiler and the SAs are too lazy/clueless/difficult to install a free compiler), so installing my own software is moot.

So here I am, learning vi.

I, of course, know the legends of vi. It’s cryptic commands, it’s arcane interface, the eternal holy war with Emacs… I’m certainly geek enough to keep up with all that. I’ve just never sat down and actually learned how to use the darn thing. Fortunately I have a very handy book and a wife who happens to know more about vi than I do. I’ve become fairly competent with it, to the point of actually looking up commands in the aforementioned book just to make things easier (like using “D” to delete the rest of a line instead of repeatedly using “x”). And it’s become so much of a habit that I’ve caught myself automatically typing “vi filename” on Demeter (my main Linux box) instead of “pico filename.” It’s only when vim starts showing things in all different sorts of colors that I realize what I’ve done.

Perhaps some of the more technically inclined out there may think less of me for admitting this. (If you do, get over it; half of this has been a joke anyway. And if you’re an Emacs fan, I’ve been just as afraid of it as I’ve been of vi.) But the soul-searching and growth has been liberating. Maybe now I’ll be motivated to learn something else, like sed or awk.

Nah. I already know Perl. What’s the point? 😉

Core dumps have been directed to /dev/null.