Friday, September 30, 2005

Judge this Book by its Cover

Or, how I learned the history of the computing industry and Unix by looking at the cover of a book.

Here's the deal. For reasons best left unexplained, I have every edition of the Unix System Administration Handbook by Evi Nemeth, et al. I even have the Linux System Administration Handbook. Since every book's edition is a different color, my daughter likes to play with them. The other day, while putting them back on the shelf, I noticed that the cover of the book reflects the history of the computer industry, the history of Unix, and a little history about Evi. So without further ado, here's my explanation of what it all means. You'll have to excuse the quality of the images, but I don't have a scanner so I took digital pictures.

Unix System Administration Handbook, 1st Edition

usah1ed

This book was published in 1989. We see that UNIX system administration is a difficult topic. There is a Unix system administrator driving his car towards a cliff. I don't know what the reference to cranberry blogs is about, but let's focus on the colorful characters.

Starting rom the left, we have a dog named biff, which is a reference to the biff(1) command in Unix that prints a message to your terminal when you have new mail. In the center is a daemon, a Unix process that runs in the background. Since the daemon is showing us his watch, maybe it's the NTP daemon? At the right of the daemon, you can see the finger(1) command, used to find information about a user and made famous by the Great Worm of '88. I don't know what the other two characters (the owl, and the cat, or is it perhaps a lady daemon?) are about. If anyone knows, or has a guess, let me know.

Unix System Administration Handbook, 2nd Edition

usah2ed

In the second edition, published in 1995, biff is dead (you can see the gravestone that says "R.I.P biff R.I.P"), probably replaced by POP. The cross behind reads "USL" and is a reference to the Unix System Laboratory at AT&T, the group responsible for System V, which had been sold to Novell in 1993.

In the front of biff's grave, it says "Here lies the entire Berkeley CSRG". That means the Computer Science Research Group, which was responsible for the development of the Berkeley version of Unix, called BSD, at the University of California and was disbanded in 1994.

The first edition of the book is being held by the paw of a cat. We can tell it's the first version because it's yellow, and it says "USAH", short for Unix System Administration Handbook.

The dog, Biff, is now gone from the front row. He's dead, remember? And has been substituted by a Monkey, a spider, and a Web. I don't know what the monkey has to do with anything, but the web is clearly a reference to the World Wide Web, which was invented in 1993. The spider is clearly a reference to the web spiders, or bots that search engines use to index web sites. We can still see the daemon, the finger, and a new character, Dr. SNTPd, a reference to the Simple Network Management Protocol.

Note that the car is more modern, and it has the word "Unix" written on the front. Also the System Administrator behind the wheel appears to be a woman. Could this be a reference to more women in system administration?

Unix System Administration Handbook, 3rd Edition

usah3ed

The third edition, published in 2001, has many of the same symbols as the second edition. In this edition, however, there's a new tomb. The Unix to Unix Copy Protocol, or UUCP, has died because most people use PPP by now. We can also see the second edition coming out of the grave being held by a tentacle.

Two more things should be noted. First, this is the first edition of the book to cover Linux, a newcomer to the Unix world, and you can see the Penguin in the co-pilot seat of the car. Also, the spider now has handcuffs, which might be a metaphor for the restrictions many sites started putting in place to prevent search engines from finding them.

Linux System Administration Handbook

lsah

This book came out in 2002, and was made specifically for Linux, which had by then surpassed in popularity all of the other Unix distributions. You can see the Linux Penguin driving now, and the sys admin as the co-pillot.

The spider's handcuffs have been replaced by a shackle, meaning the restrictions on spiders are greater now. The other books are gone, as Linux has been declared the only winner.

You can also see that the sign that used to read "Beware! Vendor Gratuitous Changes Ahead!" has been replaced by one that has Unix somewhat deviated, but still going up, Linux going straight up, and XP (a reference to Windows XP) going down. The helicopter that is crashing also has XP written on it. The authors have no love for Microsoft's Operating System.

There is also a penguin skiing on the mountain. I have no idea what that means.

The last interesting bit is that there is a sailboat in the back. Let's take a closer look at that sailboat.

evi-boat

See the name on the boat? It's the name of the main author of all the books, Evi Nemeth, who is now retired and sailing across the world.

Cool, isn't it? Robert Langdon isn't the only one that can find hidden symbols everywhere.

These are really good books by the way. You should probably get a copy of the Linux version.

Tuesday, September 27, 2005

The Lennon Syndrome

I have to confess that I'm a beatlemaniac. I have every single recording from The Beatles, I have almost all the movies, I have documentaries, I have t-shirts that draw people's attention and makes them strike conversation when I'm wearing them, I know most of the lyrics to most of their songs, I can even play some songs on the guitar.

Anyway, I've noticed an interesting phenomenon about John Lennon's life. When he was married to Cynthia, he was basically a good guy. I mean, he was a little crazy, but Cynthia, being very moderate and conservative, sort of kept him under control. On the other hand, when he was married to Yoko, he was out of control. He already had the tendency to do crazy stuff, but Yoko, instead of being the voice of sanity, encouraged him to be even crazier.

I've noticed that I have friends like this. Some of them get together with Yokos and it's all downhill from there. Some others get together with Cynthias and they do pretty well. I guess it's only human nature.

By the way, there are many other definitions of "the Lennon syndrome".

Technorati Tags: ,

Monday, September 12, 2005

Windows 2000: got pid?

If you get that joke, we want to hire you. We spent the entire last month working out various Windows 2000 problems in BitKeeper, most of them related to the agressive reuse of PIDs that Windows 2000 does.

BitKeeper uses MSYS's bash as a shell. it turns out that bash does not like PIDs to be reused. Here's the scenario. Bash launches processes A, B, and C. Due to the PID recycling of Windows 2000, both A and C get the same PID. This is possible because PIDs are guaranteed to be unique only while the process is running. If A finishes before C is started, C can, and will, get the same PID as A. The problem is that whenever bash waits for a process, it records whether it has already waited on it or not. When bash needs to wait for C, it sees in its table that it has already waited for that PID (because of A) and decides not to wait.

What are the symptoms? Well, to sum it up in one phrase: unintended parallelism. Needless to say, this wrecks havoc in every shell script ever written. It's like the system randomly adding an ampersand (&) at the end of every line of the script. Not very nice.

Microsoft seems to have fixed the problem of PID recycling in later versions of Windows. Neither XP nor 2003 reuse PIDs like Windows 2000.

I back-ported a patch to bash 2.05b into bash 2.04 that fixes this issue. I'll post it to the MSYS mailing list later this week.

By the way, I think that a cool idea for a T-Shirt would be the title of this post: "Windows 2000: got PID?"

Technorati Tags:

Thursday, September 08, 2005

Apple's CoreData

I'm sitting here at the Cocoa Heads meeting at Apple's headquarters in Cupertino, and Scott Stevenson is talking about CoreData.

There are a couple of Apple employees here in the room answering questions, and from what I'm hearing, here's my assessment of CoreData: stay the hell away from it. At least for a couple of years.

I'm surprised that people are still looking for the holy grail of data-driven applications: create them without programming. The problem is that this works for trivial applications. If you have any application that's big enough, or popular enough that has to be maintained, these tools just don't work.

I have yet to hear from an application built this way that's easily maintainable...

Oh, by the way, CoreData's NSPredicate class doesn't support Outer Joins.

Flame Wars Galore

Now this is just stupid... two secretaries get into a flame war over a ham sandwich and they get sacked?

Talk about extreme disciplinary action! If I were their boss I would have just bought them both ham sandwiches and let them cool off...

I don't know how people expect to have employees "not use email for personal purposes". The whole idea about employee retention is that you want them to be as personal to the company as they possibly can. If they feel like they belong to the company, they will get personal.