Tag Archives: unix

Unix: A History and a Memoir

This is probably the geekiest book I’ve read in a long time. It’s basically one step up from reading the source code for your favourite operating system. Or perhaps having a favourite operating system.

What I would say is that Unix has been pretty much the only constant throughout my career. I started with Solaris and HP-UX at university. I installed an early version of Linux on my personal machine to avoid the thirty-minute walk from home to the university labs. I’ve done consulting, I’ve developed both vertical and horizontal applications1, C and C++, Swift and Java, banking and telecoms. Pretty much the only thing they’ve all had in common was some sort of Unix underpinning.

And that’s bizarre. So much of computing changes in five years, yet Unix wasn’t even new when I started at university!

This book is the story, the memoir, of one of the people who built it. And it’s fascinating but probably only for a relatively small audience. I loved the first chapter, where he name-dropped some of the people who Kernighan worked with. Plaugher. Aho. Ullman. Honestly, if you’ve not heard of them, you’re probably not the target market for this book.

Also, if you’re Richard Stallman, you’re probably not the target for this book either: in the last chapter, he says that GNU software is “open source.”

On the other hand, if you’re not Stallman and you know about some or all of the people involved, then you are the target for this book. Read it. You’ll love it.


  1. Is that common terminology? A “vertical” application is one that’s applicable only to one industry, such as a trading application. A “horizontal” application is usable by many, like a database or operating system. ↩︎

Shrinking

I just realised that there are two anniversaries this year. Neither would be worth grabbing a bottle of champagne for but they are vaguely connected and it does give me a chance to reminisce about some neat, old technology.

I forget the exact dates of both events but they were fifteen and ten years ago. Back in 1994 I first installed Linux on my 386SX-based PC. At this point in time my exposure to Unix had been only on “big” computers, the Sun (Solaris) and HP (HP-UX) machines in the Universities labs. It seemed incredible that you could even get something approaching a full version of Unix running on my little home computer.

I guess it would seem pretty primitive if I were to look at it now. I seem to recall that they’d only just got X working on it and it didn’t work at all on my 386. But still, it ran and I could log in multiple times using virtual terminals. It even multi-tasked, something that Windows 3.1, the operating system in the other partition, couldn’t really do with any reliability. Despite the limitations, it was good enough to help me finish my final year project without having to make the half hour, hilly walk to the labs every day.

Five years after that I got my first mobile (cell) phone. It was an Ericsson flip phone, long before they teamed up with Sony. It was pretty small (even by modern standards) but they had achieved this by providing only a single line LCD display and stubby aerial that caught on the inside of your pocket when you pulled it out when receiving a call. Still, this was better than the Motorolas of the time which often allowed you to remove the battery when you intended to flip them open to answer a call.

At this point mobile phones were becoming popular but were far from ubiquitous. My Ericsson was tied to one2one, a network that no longer exists as a seperate entity (it’s now part of T-Mobile). Friends told me that this was a bad idea as they had poor coverage but I never really had a problem. When I did eventually move it was when they declared that I was on an “illegal” tariff and doubled my monthly fees. I’d called because I wanted to upgrade, to spend more money with them, but this was not what I’d had in mind!

As an aside, I continue to be fascinated by the farce that is the US cell phone industry. Ten years ago UK networks talked about coverage and dropped calls but it’s pretty much been a non-issue for a while now ((Orange have just started advertising about their 3G coverage, but this the first I’ve seen for a long time. I’m not even sure if it’s generally accepted that there’s a reception problem with the other carriers. I’ve been on most of the networks over the years and I’ve not seen dramatic differences.)). Both still seem to be big problems (or selling points) in the States and yet Americans pay more than almost anywhere else for their service. The bizarre thing is that many of the most tech-savvy people actually defend the telcos.

But back to the main narrative.

It’s kind of odd to think that we’ve now pretty much come full circle. What was considered “big” in 1994, Unix, has now filtered down to the decedents of that Ericsson mobile phone. Pretty much all of the “cool” phones released in the last few years have a Unix core, the iPhone, the various Android handsets, the Pré.

I’m not sure that ten or fifteen years ago I would have predicted that you would be able to get Unix on a phone, but Moore’s Law was well known so it wouldn’t have been an outlandish idea. But what comes next? Unix (and Linux especially) already span the whole range from tiny, embedded systems right through to super computers.

Where do we go from here?

My delicious.com bookmarks for February 12th through February 14th

  • Scientists Agree: It's in His Kiss – "Over 90 percent of human society engages in what, if you get right down to it, seems like a very strange thing to do: putting faces together and trading spit." Seems like a very appropriate thing to discuss on Valentine's Day…
  • Anti-Bootlegging Measures and the iPhone App Store – There's a lot of talk about cracked iPhone apps at the moment and the measures that developers are taking. The interesting and surprising thing here is how effective a polite message is, at least in the case of a Mac app.
  • 1234567890 Day – Finally, an event worth celebrating…

The Bourne Confusion

Have you seen The ‘The Bourne Ultimatum‘ yet? What do you think when you see the title? Tragically my mind immediately jumps to the Bourne Shell, the default command shell on most Unix variants since the late seventies ((A quick aside for the less technical readers. A “shell” is the kind of the file manager you use to interact with your computer. The Macintosh has the Finder; Windows has the Explorer; the Linux has the “Bourne Again Shell,” bad pun and derivation and enhancement of the original Bourne version.)).

Of course this isn’t the first time that this has happened. When I saw the title ‘The Bourne Supremacy‘ I though, “Yeah, why would anyone use the C Shell?!” Clearly Bourne and its work-a-likes are supreme for scripting even if the original Joy-authored C Shell was better for interactive tasks.

Similarly, in the first movie the focus seemed to be on this guy Jason Bourne. I was thinking, “No, you’re thinking of Stephen Bourne.” And it’s AT&T Bell Labs, not the CIA.

I really shouldn’t let this kind of thing get in the way of a good film, but it’s not like us Unix guys really get much of a choice. So I’m going to end this piece with a plea: don’t end up like me. Don’t let your choice of computing platform get in the way of your movie viewing.

Is MySpace really the future of email?

Am I getting old? Perhaps. I’ve been using email since 1992 when I first went to university so I just find it second nature now. It’s got to the point where I organise my whole life using it and I get quite frustrated when I actually have to call someone to get something done that could more easily be done asynchronously ((That’s to say, when I send an email you don’t have to be there to answer it. Unlike a phone call or an instant message where you do.)). But that’s not how many people think according to ZDNet.co.uk.

The gist is that many people are now using websites such as Facebook and MySpace instead of email. In fact, they claim, teenagers only use email to talk to adults.

Is this the way of the future? Is it only old-age and inertia that’s stopping people like me from using MySpace exclusively?

I don’t think so. It’s not that I’m a Luddite. I do use instant messenger and I use my mobile phone more for text messaging than for voice calls, but there are a few issues that we need to work through first.

The first and most obvious is that of convenience. With email I can use one program (or check one website) to see all the messages that I am interested in reading. With FaceBook I have to check there, and then again on MySpace for my messages there and, finally, still my email just in case someone has mailed me directly or I have a notification from sites that don’t have internal messaging. That’s just a pain! History tells us that these closed systems do not last. Let’s have a look at a couple of examples.

Let’s look at email and how it evolved. In fact, it seems to have evolved in the same direction twice, first as technology allowed and second due to commercial “lock-in.” It started out as a way to communicate between users on a single machine. This doesn’t make much sense if you’re thinking about personal computers, but in the sixties and early seventies the concept of having your own machine just wasn’t a reality. As machines started to be linked together, so did the email systems. This wasn’t always easy as the different operating systems often had their own “standards” and some, such as Unix, often came with several incompatible implementations. After local networks were installed, people starting thinking globally and started plugging their networks together, creating the Internet ((Okay, so I edited out a few details. I’m trying to show the general trajectory rather than every last twist in the story.)).

Many of the PC vendors that had not been involved in earlier eras and the bulletin boards that catered for them ((I’m including systems like AOL and Compuserve here.)) went straight for the second tier, a proprietary system barely capable of talking to the outside world.? There were a variety of reasons for this. It was by design — not wanting people to exchange messages without buying their software — or laziness but either way the result was the same. To a certain extent that’s where we are still in the Microsoft world. Exchange will talk to the rest of the SMTP world, albeit reluctantly and, even then, it’s not one hundred percent standards compliant ((Ever wondered what the winmail.dat files are when you open a message in an application other than Outlook?)). Meanwhile, the rest of the world, even companies famous for shunning technologies Not Invented There, are using industry standards to communicate.

And if we then step forward to the last decade and the progress of instant messenger software we see the same thing in the process of happening. We start with completely separate islands, where I can talk to other people on, say, AIM but friends on MSN are off limits. I either have to push my “buddies” onto the same network or use applications like Adium so I can connect to multiple networks from the same software. And then a couple of years ago we saw the first signs of interoperability, with a pact between Yahoo and Microsoft. And, increasingly, we see the uptake of open standards like Jabber which is used as the foundation for Google Talk.

So, in the case of both IM and email we started with competing, incompatible technologies that eventually merged into one unified, interoperable version. Is that going to happen with FaceBook and MySpace? I’m not so sure. After all, we already have “messaging” applications outside these social networking sites. I see both as more of a layer on top of traditional email services, acting as an intermediary when communication is first initiated.

I’m not anti-social networking (I am a member on LinkedIn) but I am keen than we don’t take a step back into the “dark days” of the Internet when we had AOL and MSN competing to keep their users separate from the outside world. Walled gardens are not what the Internet is all about; this kind of system only benefits the companies that own the various properties. Let MySpace do the social bit, introducing people, but let the experts, the proven IM and email systems, keep the communication going.