CGI: an Interface Not a Programming Language

CGI - Black BoxCGI is not a computer language, and you can date me by the fact that I’m going to rant about it for a few hundred words. That’s because I set up my first web server in 1993. It was on an IBM RS/6000 named Eeyore which sat right on the internet. It was a time when the internet was basically Usenet (eg, rec.arts.startrek) and annonymous FTP for people who knew anything and AOL for their parents. The funny thing is, for most people not much has changed. Then the internet was AOL and now the internet is Facebook. At least it is for most people.

In 1993, there wasn’t much you could do with web pages. It was cool. You could put pictures on pages. You could have section headers and paragraphs. Text could be bold and italics. And there were lists and forms. But there was no interactive content — except with CGI. CGI stands for Common Gateway Interface. And it was a way to run programs remotely through your web browser. In theory, you could create a content management system using CGI.

But what was really cool about CGI was that it was, as its name indicates, an interface. I wrote a bunch of CGI programs. Some of them were compiled C programs, other were shell scripts, and still others were Perl scripts. It didn’t matter. As long as the web server could run the programs, and the programs were written to receive and transmit data correctly, you were golden.

CGI: Time Waster

Now you might wonder why I was writing these things. There’s a simple answer: I was a graduate student. And unless you are less than six months from defending your dissertation, finding ways to not do your work is critically important. I did many other things along these lines: I wrote a graphic program for X-Windows, I wrote an editor in 8086 assembly language, and I did a lot of really destructive things what I will say with complete humility was due to my genius for digital electronics.

I didn’t know anyone who was running a web server for a few months. So messing around with CGI was just play for me. Truthfully, at the time, GNU/Linux seemed like a much more serious thing. And by the time Netscape came around and made the web a much more serious thing, I was finishing my dissertation and then teaching pre-meds physics. (That was a scarring experience because I now know that doctors are (1) mentally insignificant; and (2) soulless.)

People Don’t Know Anything

The world can be forgiven for thinking that CGI is a programming language. Because what we used to do with CGI we now do with programming languages like PHP. But it still annoys me. Most things about computers annoy me. What cars were to my father’s generation, computers are for mine. As simple tools, they’re fine. It doesn’t matter. I remember one time I was an undergraduate doing some work for a research faculty member. I couldn’t leave a note because I didn’t have a word processor, so I wrote a really rudimentary one that allowed me to output to the printer. It’s better to just have a word processor.

Just the same, if you’re into computers on a deeper level, it seems to me that you ought to know how a CPU works. You should know what the difference is between a heap and a stack. You should know what a line of Pascal code would look like in assembly language. But I know that’s asking too much. Almost no one knows why the moon has phases. We’ve all become so specialized that should there ever be even the smallest tremor in our social networks, we’d be doomed.

Meaning Requires Knowledge

It’s no wonder people struggle to find meaning in their lives. Every thing in their lives is a black box.

But I’m grumpy enough. Don’t tell me CGI is a programming language.

Leave a Reply

Your email address will not be published. Required fields are marked *