Monday, February 04, 2008

Freedom of Expression

I've been working pretty hard for a couple of months on The Programming Historian, and almost all of the code that I'm writing is going directly into the book, rather than appearing here in lightly-documented bits and pieces. Over the next year I expect to find a balance between hacking in expository mode (the book) and hacking for its own sake. Each, of course, informs the other.

In other news, I recently picked up a diminutive and very inexpensive Asus Eee PC and have to say that I'm quite impressed with it. Part of my enthusiasm is no doubt for Linux, which I'm just getting around to exploring. But the machine itself is pretty sweet, too.

If you're a regular reader of my blog, you might've found that last bit about Linux surprising or disillusioning or something, so I probably should explain. When I started programming, the IBM PC hadn't been invented yet, and machines like the Commodore PET, TRS-80 and Apple/Apple II were just becoming available to elementary school kids. By an accident of school-district purchasing, we had Commodores rather than Apples. When I was in high school, I talked my way into my first job at the community college (teaching at a "computer camp" for little kids) by claiming to know how to use IBM PCs. I borrowed a DOS manual and memorized commands over the weekend. I was only a little embarrassed when I couldn't actually turn on a PC the following Monday morning. I was looking all over the keyboard for the power switch, which turned out to be a huge red toggle on the side of the case. (If you look at this picture you can get a sense of my frustration... the power switch is on the back right, hidden by the manuals.) That summer I became trilingual, adding Logo to my knowledge of BASIC and assembly language. This is getting to be a pretty long story, so let me skip through the VAX years and my enduring love for LISP/Scheme and functional programming, and get to the early to mid 1990s, which I spent working in a Unix shop. Right around the time that Linux was taking off, however, I began working with a succession of graduate supervisors (and later colleagues) who were based firmly in the Windows world. And that's how I missed Linux. Until now.

It's surprising to me how fast my Unix experience came back when I popped open a shell and started typing commands. That part is neither here nor there. What's really great about open source, however, is that I am free to fix anything that is bugging me. As soon as I had that feeling of freedom, it all came back to me again. Why would anyone give that up? How had I ended up in a situation where I didn't feel that way?

Tags: | | |