FreeBSD 4.0 and Beyond – An Interview with Jordan Hubbard on Improvements, New Platforms, and What’s to Come

By Jeffrey Carl

Boardwatch Magazine
Boardwatch Magazine, February 2000

Boardwatch Magazine was the place to go for Internet Service Provider industry news, opinions and gossip for much of the 1990s. It was founded by the iconoclastic and opinionated Jack Rickard in the commercial Internet’s early days, and by the time I joined it had a niche following but an influential among ISPs, particularly for its annual ranking of Tier 1 ISPs and through the ISPcon tradeshow. Writing and speaking for Boardwatch was one of my fondest memories of the first dot-com age.

By the time you read this, I will be dead. Just kidding. By the time you read this, FreeBSD 4.0 should be out – or close to it. So, what’s the big deal? And why should you upgrade to it, or use it as a convenient excuse to switch to FreeBSD? 

The Short Version of the Story

A quick recap for the new students in class: FreeBSD is a free version of the BSD Unix operating system (and one which claims to have roughly 30 percent market share in the ISP space). BSD Unix is descended from the original AT&T Unix code currently maintained by SCO. When BSD grew up, moved out of the house for good and broke away from the dysfunctional Ma Bell family, FreeBSD emerged, originally dedicated to enhancing the performance of BSD servers on Intel-compatible (x86) hardware.

FreeBSD began a relatively rapid growth and adoption phase, at least inside the ISP/webhosting markets. FreeBSD’s developers concentrated on developing and optimizing for the hardware they were using – which was largely x86 servers, SCSI drives and other server-centric (rather than home-user centric) equipment. As a result, they developed (arguably) the highest public profile of any of the free BSD Unixes, building a list of users that included Yahoo!, the world’s busiest FTP server (ftp.cdrom.com), and Hotmail.

However, from seemingly out of nowhere, Linux exploded onto the scene and left all other free Unixes behind. Although BSD Unix had been around for years, as far as most of the world was concerned, Linux was it

By 1998, FreeBSD was at its lowest ebb. Linux – through its open development model and focus on end-user hardware – had long since become the free Unix for legions of old and new hackers worldwide. Linux advocacy was loud, assertive, got press attention – and as a result, Linux had stepped into the public limelight while the BSDs were Unix’s “crazy old aunt up in the attic.” Finding the old O’Reilly books on 4.4 BSD Unix – let alone finding a mention in the press of BSD – was harder than putting lipstick on a chicken. Fortunately, FreeBSD seemed to have learned something from the experience. 

The Fall and Rise of FreeBSD

Jordan Hubbard works for Walnut Creek CD-ROM (think ftp.cdrom.com), which sells FreeBSD, Linux and other open-source distributions. He’s also the Current Release Engineer for FreeBSD, and its unofficial PR guy. Known as “jkh” by legions of FreeBSD devotees, he’s also responsible for /stand/sysinstall and other user-interface niceties of FreeBSD, as well as legions of other internal enhancements.

In his 1999 FreeBSD “State of the Union” address, Hubbard indicated – like Steve Jobs before him – that he understood that technical superiority of an operating system alone did not guarantee its success – it took PR and user help. He said that FreeBSD’s upgrades would henceforth come in tenth decimals, rather than hundreds, so that the public and press would take more notice. Furthermore, he actively called on FreeBSD users to advocate for their OS. 

The FreeBSD core team had fortunately learned from the divisive standards wars that Unix had undergone (and they had been a part of). FreeBSD would work with Linux rather than against it. Recognizing Linux as a sort of de facto API for free Unix applications, FreeBSD would include compatibility for Linux, rather than insist on developers writing their applications for one OS or the other. Smart move.

Since that time, FreeBSD has enjoyed a significant growth in popular support, has been the subject of articles in MSNBC and Salon, the subject of a special section on Slashdot, and has experienced a surge in downloads. Darwin, the open-source base of Apple’s forthcoming MacOS X, will have its future releases tied to FreeBSD. Even better, FreeBSD now has its own yearly tradeshow – FreeBSDcon, showing strong signs of the growth in its support.

I ran into Jordan Hubbard at ISPCON, when I stopped by the FreeBSD booth to see if anyone could tell me whether one of the core team members would be at the conference for me to interview. There was Hubbard. The result was much like going to CompUSA to buy a copy of Slackware and finding Linus Torvalds in a red shirt, explaining it was in aisle six. I fumbled and stuttered that I needed to go grab my iBook laptop, and I’d come back and interview him, and P.S. I thought he was so cool. He turned to my friend Namita who came with me and asked, “Is he always this smooth?” Anyway, this interview is the result of that meeting and a couple of E-mail follow-ups:

Q & A with Jordan Hubbard

Question: When can we expect to see FreeBSD 4.0?

Hubbard: Sometime in the January – February timeframe. We’ll enter feature freeze for the 4.0 branch on December 15th, after which we’ll take about 30 days to stabilize the branch.

What are the new architectures that FreeBSD will be coming to?

Hubbard: Well, we’re working on several fronts. First, we’re working with Compaq right now on Alpha SMP (Symmetric Multi-Processing, or multiple CPUs) support (for which Compaq has kindly sent us almost $300K worth of miscellaneous hardware) and hope to have something working there by Q1 2000. We’ve also started a PowerPC port with the Power Macintosh G3 being our initial reference platform, but there are no firm dates on when that will be available. If all goes well, we should also see some significant work on the UltraSPARC port coming into the tree around the same time (Q1 2000).

Does branching out to more architectures mean you’re changing your focus? Does this mean anything to the speed or quality of x86 development?

Hubbard: We’re not really changing our focus so much as simply leveraging the much more significant developer assets we now have available, many of whom want to work on non-x86 platforms, so why not let them? I also don’t expect this to affect the x86 development work in any way since the lion’s share of our developers will still be working on that platform and we have enough extra people now that we can do both. 

The only reason we’ve focused exclusively on the x86 platform to date is that we didn’t feel we had the resources to do a really good job there AND also tackle other architectures. However, we’re at least three times the size we were when we made that initial determination. I think it’s now more than possible for us to do a good job on at least four major architectures, especially since such work tends to “amortize” due to similarities in those various platforms. For example, the PCI bus is an increasingly common interface standard, and just about everyone offers USB.

I think going cross-platform is simply an inevitable aspect of our evolution and the Alpha port has allowed us stay more “honest” with respect to FreeBSD’s architectural dependencies.

How important do you see ISPs/webhosters/etc. as a constituency? What are you working on adding/improving that might be of special interest to them or might constitute a reason (aside from the already-existing reasons) for ISPs to use FreeBSD?

Hubbard: We see ISPs, NSPs and the SOHO market as very important parts of our constituency and we intend to work on a number of issues which will make FreeBSD more attractive to them. In no particular order those are:

• Pervasive multi-threading (in the kernel)

• Fine-grained SMP resource locking

• Clustering (on a variety of fronts)

• RAID controllers and other large-scale data storage systems

• Embedded systems support (more picoBSD work)

• Serious security auditing and more built-in security subsystems (K5IPSecopenSSH, etc).

• Fiber channel support

• Gigabit (and faster) networking (already works, but we’ll be also working on zero-copy TCP and other performance features)

• IPv6 and IPSec (both slated for 4.0).

• Better multimedia support (3D cards, audio, video capture, etc).

We’re also working with a number of vendors, like Oracle, to bring their products to the FreeBSD market and are getting far more support for this than we used to. Things are definitely looking up in that category and we hope to have some significant announcements by the end of the month.

How would you define the mission of FreeBSD now?

Hubbard: I’d say it’s much the same as it always was: Provide robust, high-performance BSD technology in a form which is accessible to the “mass market” by being easy to install and configure and by offering better documentation. It has never been our intention to be just another academic resource, BSD’s traditional niche, we want to give Solaris, NT and Linux a run for their money (in that order).

What advancements in ease-of-administration will people see in 4.0? What about directions for the future?

Hubbard: More easy to turn knobs in places like /etc/rc.conf and more tools for manipulating those knobs in a friendly fashion, to put it in a nutshell. Future directions include making kernels truly GENERIC, in that you don’t have to configure your own any more; you just have one kernel, which dynamically extends itself as necessary. It will still be possible to configure and run static non-self-extending kernels if necessary for security or other reasons, but this shouldn’t be necessary for the average user. We’re also putting more time into configuration interfaces and fancier GUI front-ends for those things, which make clear sense to give the user a “friendlier face” on.

When might FreeBSD’s planned new threads architecture (the proposed mix of kernel-level and user-level threads I’ve read a bit about in freebsd-arch) make its way into stable? What benefits will ISP/server users see?

Hubbard: …4.0 is our current target for the new threads feature set. ISPs should see the ability to multi-thread applications like mysql in such a way that a single process can take advantage of multiple CPUs, unlike the one process per CPU model we have now, and we’ll have more POSIX compliant thread behavior for people porting applications from other platforms.

In Conclusion

Jordan Hubbard indicated that FreeBSD might soon be giving OpenBSD a run for its money as the “secure” BSD. Hubbard also alluded to – but wouldn’t give any specifics on – a potential “big name” player offering commercial support for FreeBSD. By the time you read this, this name may have come to light; if not, we’ll just have to wait and see. However, it appears that FreeBSD is very much on an upswing right now.

Is FreeBSD 4 a “Must-Upgrade?” Probably not right away, since its advances are evolutionary rather than quantum. Nonetheless, if you’re using FreeBSD now, you’ll want to upgrade soon; if the new features and improvements aren’t enough, you’ll want to consider that bug and security fixes always come fastest for the most recent version. 

Having watched the rise, fall and rebirth of Apple, I think I know an OS in resurgence when I see one. And FreeBSD is definitely on the track to resurgence. It will be a very long, hard road – but I think that all of us who are looking for a free Unix with optimum performance and usability will benefit.

Freenixes by Remote Control with VNC

By Jeffrey Carl

Boardwatch Magazine
Boardwatch Magazine, January 2000

Boardwatch Magazine was the place to go for Internet Service Provider industry news, opinions and gossip for much of the 1990s. It was founded by the iconoclastic and opinionated Jack Rickard in the commercial Internet’s early days, and by the time I joined it had a niche following but an influential among ISPs, particularly for its annual ranking of Tier 1 ISPs and through the ISPcon tradeshow. Writing and speaking for Boardwatch was one of my fondest memories of the first dot-com age.

Do you ever run across something that’s just so neat that you run around telling all your friends how they have to try it and how it’s the greatest thing since Mountain Dew? And eventually your friends get tired of it and want to hit you in the head with a crowbar?

Well, neither do I. Mainly because I don’t have any friends. But if I did, I’d be running around bugging them about VNC (Virtual Network Computing, www.uk.research.att.com/vnc). So, since I don’t have any friends, I’m going to bug you about how you can have a free graphical remote-control for your Freenix machine (through XFree86) from any other Unix, Windows, MacOS  – or almost any other platform, including PalmOS – computer. Even better, you can control your Unix, Windows or Mac computer from your Freenix machine. It’s like X windows, Symantec PCanywhere and Apple Remote Access all rolled into one. 

VNC is a client/server program from the good folks at AT&T Labs in Cambridge, UK. VNC has two components: a server program and a viewer. Install the server on any supported OS, and you can use the viewer to control that computer in a graphical window. VNC is released under the GPL (GNU Public License), so the source code is freely available along with the binaries. 

So, what does this mean to you? If you’re accustomed to administering your Freenix through an X windows environment (like AfterStep, Enlightenment or KDE), VNC allows you a completely portable, free and easy-to-use way to do this from virtually any other computer, no matter what OS it’s running. In addition, this one app allows you to manage your consumer-OS workstations from your servers as well. On multi-user systems, VNC can be run for specific users and reflect their particular environments.

Why Choose VNC?

Some of you may be saying, “On Unix, this utilizes X windows. So, why is this better than running X windows sessions remotely?” Well, you should get professional help, since you’re talking to a magazine. But the answer is that VNC has three notable advantages over traditional remote X administration. 

First, the session state is stored on the server rather than on the client machine. This means that I can leave my VNC session at work in the middle of typing a line, go home and fire up a VNC viewer on my home PC, and pick things back up in the middle of the line. While this may not sound ground-breaking, it’s very useful if you need to administer a single server from multiple clients.

Second is the amazing variety of ports of the VNC viewer (see “VNC Platforms,” below). Plus, there’s a Java version, so VNC should be able to be run through a web browser on any platform for which a standards-compliant Java Virtual Machine (JVM) exists. The side benefit from this is standardization: you can install VNC across your network, train your staff on VNC and then let them administer Unix, Windows NT and MacOS servers using the same program, from almost any computer.

Third, it’s a lot easier to configure and run than free X clients generally are. Anyone with the brains to breathe on a regular basis and use their turn signals correctly should be able to get the VNC server up and running within five to 15 minutes, and the VNC viewer in less than that. Of course, if you want your Freenix sessions to run nicely, you’ll have to do a bit of tweaking to your preferences file (like changing the default window manager from the antiquated twm to something more useful). The more you know about X windows, the better; but it’s still usable even if you don’t.

VNC also performs remarkably well, considering that it’s a free, non-commercial product. On Unix machines, I found its performance to be as good as traditional remote X windows sessions. Performance on Windows machines were, in my extremely unscientific tests (I didn’t get around to testing the Windows version until after my third or fourth Heineken), about the same as I had experienced with PCanywhere. I didn’t see any “dancing Bill Gates” while I used PCanywhere, but I’m attributing this to the Heinekens. 

How Do I Install and Run It?

Installing VNC on your Freenix is as simple as following John Dvorak’s delicious Pickled Walnuts recipe (remember: soak in brine for at least six days!). The VNC server for Unix is a Perl script that utilizes XFree86. An XFree86 installation is usually pretty painless on most Freenix flavors; if you don’t have Perl installed, double-check yourself to see if you have a working brain installed in your skull (see “Windows NT”).

On FreeBSD, VNC is part of the ports collection, so installation is fast and easy. Simply cd /usr/ports/net/vnc, type make install, and you’re on your way. One of the beauties of the ports install is that it will also install necessary X components if you need them.

For Linux, .tar or .tgz archives of the binaries are available (note: newer versions require glibc, which you’re probably already using anyway). Simply use gunzip and/or tar –xvf to upack them, and you’re ready to go; if you aren’t planning on keeping VNC to yourself, you’ll want to move the new directory of VNC files under /usr/X11R6/bin. If you’re fond of using (ugh) RedHat Package Manager or Debian packages for one-click installation, those are available as well from rufus.w3.org/linux/RPM and www.debian.org, respectively.

The program’s important binaries (vncserver, vncviewer and vncpasswd) are normally installed in /usr/X11R6/bin. To start a server, simply issue the vncserver command (assuming that the directory that it’s installed in is in your $PATH), or type the full path to the command. The first time that you run it, you’ll be prompted to choose a password, which will be stored in your user’s $HOME/.vnc/ directory that will be created for your session logs, password and preference files. Later, you can use the vncpasswd program to change your password if necessary. Your X/VNC session preferences are stored in the xstartup script located in this directory, as well; this file can usually be changed to be a link to your normal X startup script.

With Windows, although external programs like X and Perl aren’t required, things are a bit more complicated. Downloading, unzipping and installing the client and server files for Windows 9x are pretty simple. Unfortunately, under WinNT (NT 4.0 Service Pack 3 or higher required), there are certain important functions (like the ever-important remote CTRL-ALT-DELETE and remote unlocking) that can only be accomplished if you’re running VNC as a service. See the VNC FAQ (www.uk.research.att.com/vnc/faq.html) or a deck of Tarot cards for more information.

On MacOS computers, to run the server, drag the associated Extension and Control Panel into your active System Folder, then restart and double-click the server application (place an alias of the server app in your System Folder/Startup Items folder to run automatically). 

To start a VNC client session, run the vncviewer program (or whatever it’s called on your OS), choose a hostname and session number. The first session you start on hostname foo.bar.com is designated 0, and the next one is designated 1, et cetera. So, to connect to the second VNC server started by a user on that host, you’d connect to foo.bar.com:1.

So, What’s The Catch?

While VNC’s performance is very good, any remote-GUI solution is not going to provide performance equal to a console connection. Of course, the faster and cleaner your network connection is, the better your results will be. 

However, an equal consideration is the video card you have on the client machine – 2 MB or 4 MB video cards with older chipsets probably aren’t going to get you far. Souped-up video cards will significantly improve performance (hint: use this as an excuse to buy a 16 MB Riva TNT2 card for your Linux machine and then play Quake on it). Changing your X, Win or Mac desktop pattern to a single uniform color or shifting down your default color depth (e.g., 24-bit color to 16 or 8 bits) will also help significantly.

Over a 10 Base-T LAN connection, performance for both the client and server on the Freenix versions was good for common tasks (virtually indistinguishable from console access with terminal sessions and X-based admin tools, plus a few simple games and amusements). Over a 56 kbps modem connection, it worked fine for terminal sessions and very light graphical stuff – but even xsnow had some frameskips, so you’re probably still better off with traditional terminal access under most circumstances if you have to use a modem-speed connection.

While the performance of the VNC viewer is excellent for nearly any platform, the server performance is inherently slower with Windows or Mac (since source code for these platforms isn’t open like XFree86 is). 

With Windows 9x/NT, performance is fine but not as fast as the Unix versions, so you may be better off running VNC on Windows machines to control your Unix machines than vice versa. There are some things you can do to increase the performance of the WinVNC server; see the www.uk.research.att.com/vnc/faq.html page for more details. The MacOS version of the server was abysmally slow, although the viewer worked just fine. The MacOS server also proved to be incompatible with MacOS 9, so this may be responsible for the slowness. A superior version of the Mac viewer (which makes use of enhancements for MacOS 8.5 and above) is available at www.webthing.net/gpl/.

If you’re concerned about security (and you should be), adding any services to a machine is an issue. If you’d like, you can use VNC Unix server with TCP Wrappers to restrict VNC port access to specified hosts.

VNC requires simple password challenge-response authentication (only the first eight characters are significant on all platforms, syncing with the Unix version). However, you can use VNC over SSH (providing some compression as well as encrypting all traffic so it can’t be “sniffed”) – more info is available at www.uk.research.att.com/vnc/sshvnc.html. It should be noted that “sniffing” even an unencrypted VNC session would be significantly more difficult than sniffing something like a telnet session, since 1.) the data is compressed (albeit using an open-source method), and 2.) there’s a whole lot of graphical garbage in the data stream. 

By default, the VNC server executable can be run by non-privileged users. VNC opens the first session on port 5900 (port 5800 for HTTP connections) and increments additional sessions on the next available port up. If you’re worried about unsanctioned users running it, you may wish to make vncserver root-owned with 700 permissions, or prohibit non-privileged users from opening up new sockets above 1024. 

VNC Platforms

Platforms aside from those discussed above which have servers include AIX, BSD/OS, HP/UX, LinuxPPC (Linux for Power Macintoshes), Linux/SPARC, NetBSD, NetWinder (Linux for ARM), OSF (DEC Alpha), SGI Irix, SCO OpenServer, and SunOS (by the way: why are you still running SunOS?).

VNC Viewers are available (with varying degrees of updatedness) for the abovementioned OSes, as well as Acorn RISC OS, Amiga, BeOS, CygWin32, MS-DOS (by the way: why are you still using MS-DOS?), Geos/Nokia 9000, OpenStep, OS/2, PalmPilot, VMS, Windows CE and Windows NT/Alpha. There’s also a version that integrates nicely with KDE on Linux for x86. For more information on both server and viewer platforms, see www.uk.research.att.com/vnc/platforms.html.

Freenixes, Ease of Use and Common Administrative Tasks

By Jeffrey Carl

Boardwatch Magazine
Boardwatch Magazine, December 1999

Boardwatch Magazine was the place to go for Internet Service Provider industry news, opinions and gossip for much of the 1990s. It was founded by the iconoclastic and opinionated Jack Rickard in the commercial Internet’s early days, and by the time I joined it had a niche following but an influential among ISPs, particularly for its annual ranking of Tier 1 ISPs and through the ISPcon tradeshow. Writing and speaking for Boardwatch was one of my fondest memories of the first dot-com age.

Hi there, and welcome back to the only column in Boardwatch  read even less frequently than the lame Lucent ads. This month, we’ll be taking a look at common tasks for many system administrators, and whether doing them with a Free Unix (Linux or any of the various free BSDs) will make you pull out your hair and insert your foot in the disk drive instead of a system disk.

Freenixes and Ease of Use

Recently, we’ve looked at why you might want to switch to a Freenix instead of a commercial OS like Solaris (“We’re the dot in $6,000.00”) or Windows NT Server (“The best Solitaire $2500 can buy!”). But the fact remains that an operating system isn’t really “free” if you need to include the costs of divorce and therapy in it. So, can a non-Unix-guru easily accomplish the tasks with a Freenix that he or she is accustomed to doing on a commercial OS?

There are two main ease-of-use problems you’ll face with a Freenix. First is that there’s no such thing as a Unix Server for Dummies. All Unixes are – by design – operating systems by people who know what they’re doing, for people who know what they’re doing. (By way of comparison, Windows 98 and MacOS are operating systems by people who usually know what they’re doing, for people who don’t even want to know what they’re doing. Windows NT is an operating system by people who like stock options, for people who like certification classes.) You’re probably never going to be in full command of a Freenix system until you’ve taken the time to read through a stack of “O’Reilly” books and really learn your OS. This is true of any server OS; it’s just a lot harder to “fake it” with Unix. 

Second is an element that sounds obvious but shouldn’t be discounted: there’s no tech support number to call. Unless you’re willing to pay LinuxCare or one of the other Linux or OpenBSD commercial support companies, you’re stuck with books, online manual pages and documentation, and the support of your fellow Freenix users. Books and documentation cover a lot of your questions, but you’ll still run into plenty of problems where the only real solution is to ask someone who has had the same problem before. Ninety-nine percent of the problems new users will encounter can be handled by the tried-and-true RTFM (“Read The F***ing Manual”) method; but you will inevitably encounter a technical dead end where your best bet is to pray that someone responds to your newsgroup or mailing list post quickly. 

A few caveats need to be given for these ratings. I’m assuming that you’re using the most common free tools here (ApacheSendmail, etc.); using third-party applications may be significantly different (and probably easier). Also, I’m assuming that you’re willing to get your hands dirty a little with command-line administration and aren’t relying entirely on point-and-click options. So, with that being said, let’s take a look at a few common administrative tasks, the flexibility of configuration options that Freenixes provide, and their ease of use:

Networking Setup

Flexibility: Immense.

Ease for Enough-To-Get-By Administration: Very easy.

Ease for Advanced Administration: Ranges from breezy to baffling.

The greatest virtue of all Freenixes is that, for everything that you want to do, somebody else has already wanted to do that same thing. And, usually, they’ve been a Computer Science student or professor, a communist, or someone else dumb enough to write a program to do it and give it away for free. Therefore, the vast majority of common sysadmin tasks on a Freenix already have a tool to set things up and save you work.

Most Freenixes provide a networking setup tool during their installer process that allows you to set up basic (Ethernet or PPP) network connectivity with only a few pieces of information. Even for some more advanced tasks, Linux tools (like linuxconf in its command-line or GUI versions) or FreeBSD’s /stand/sysinstall program give you simple options for configuring normally arcane tasks. You can generally turn your machine into an ersatz router by running RouteD or GateD, share NFS drives or enable ISDN, ATM or other interfaces with a couple of minutes’ work. These easy-admin programs are (as all Freenix GUI/semi-GUI tools are) just tools for modifying the text configuration files hidden somewhere else on the server (e.g., /etc/rc.network, etc.) that do the actual work. If you’re willing to take a shot at editing the actual text configuration files, your options increase. 

However, be warned that certain advanced or uncommon tasks are going to require not only hunting down the requisite files but also knowing about how networking actually works on an interface and packet level. Nonetheless, the majority of us who don’t have a “seven-layer OSI model” tattoo can still get the job done using the available tools.

User Administration

Flexibility: So-so.

Ease for Enough-To-Get-By Administration: Very easy.

Ease for Advanced Administration: Nothing you can’t handle.

It should be noted that the Unix system security model defines the amount of user account configuration you can do. Unlike Windows NT, you aren’t able to specify “semi-privileged” accounts; practically speaking, you’re root or you’re nobody. (A little joke there. Very little.) However, if you’re willing to get wise in the ways of the Unix permission structure (each file or directory has settings for the permissions allowed to the owner/creator of the file, other users in the owner’s group, and all other users on the system), you can replicate much of this functionality through selectively adding users to specific groups.

For ease-of-administration, Linux leads the way here, providing GUI tools for nearly all window managers that allow you to create and delete users, set disk space quotas, define user meta information and shell info. (These tools are also available for the *BSDs, but they are native to Linux.) Overall, you’ll find simple user administration tasks (as mentioned above) to be quite simple and easily done through either a GUI tool or the command line. Advanced tasks (like putting the user in a chroot-ed environment, or limiting their access to certain methods) are less simple, but still pretty easily accomplished.

FTP Server

Flexibility: How flexible were you expecting FTP to be?

Ease for Enough-To-Get-By Administration: Super easy.

Ease for Advanced Administration: Nothing a few Unix man pages can’t fix.

If what you’re looking for is to allow users to FTP their files to and from their accounts, this is a no-brainer: it’s already set up by default in the *BSDs and most Linux distributions. Likewise, allowing anonymous FTP (even for specific users or directories) is a very simple task – albeit one handled through a command-line interface with a text editor. 

Even better, there are plenty of free FTP Daemons (servers) which give even more advanced features than the default FTPD provided with most Freenixes. FTP isn’t exactly a terribly option-heavy service, and nearly all of your needs can be easily dealt with. Note, however, that advanced issues (like denying FTP to specific users or hosts) aren’t immediately obvious, and may take a bit more work with your /etc/hosts.allow or ftpd config file.

Web Server

Flexibility: Like a gymnastics instructor.

Ease for Enough-To-Get-By Administration: Easy.

Ease for Advanced Administration: No worse than doing your taxes.

Apache (so named because it was “a patchy” upgrade to the original free NCSA webserver) is by far the most popular webserver for Freenixes, and with good reason. It’s stable, it’s almost ridiculously extensible, and it has excellent performance. 

While fairly rudimentary GUI tools exist (again, native to Linux) for Apache configuration, the command line is the way to go. The good news is that the Apache team has gone to great lengths to make this as painless as possible. There are plenty of great books out there on not only configuring Apache, but also on tweaking it for performance as well. With the newest versions of Apache (1.3.4 and greater), all configuration options have by default moved to a single file, the httpd.conf file, located in /etc/httpd/, /usr/local/apache/etc/, or some other directory depending on your OS, your version of Apache, the phase of the moon and a random 32-bit number). 

The default httpd.conf file is extremely well documented, and includes either explanations or examples (or both) for every configuration directive in the file. The great part is that most options are relatively self-explanatory, and by editing this one file you can easily set up everything from CGI execution and file icons to virtual hosts.  

Performance tuning is where things can sometimes get tricky. Most of the GUI/semi-GUI tools (as mentioned above) available will carry the heavy lifting for you – including kernel modifications and other items. However, getting the most out of your webserver may require you to recompile Apache with or without some of its default modules. Nonetheless, Apache is nothing if not exhaustively documented in books and at its website (www.apache.org), and things are at worst frustrating rather than impossible.

Mail Server

Flexibility: Ridiculously flexible.

Ease for Enough-To-Get-By Administration: Fairly easy.

Ease for Advanced Administration: You’d better have some “Advil” handy.

Sendmail is the most powerful and configurable mail server out there (especially for free). The default configuration installed with nearly all Freenixes is all that 99 percent of Sendmail users (like you and me) will ever need. Thank God, because we’d be shooting ourselves left and right if we ever needed to seriously configure the damn thing.

Simple mailserver elements like POP3 accounts are built in by default. E-mail aliases and redirection are easily accomplished with an absolute minimum of configuration (through the /etc/aliases and /etc/mail/virtusertable.db files). In recent versions of Sendmail, anti-spam relaying measures are included by default, and these can easily be circumvented if needed by adding mail-sending domains to the /etc/mail/relay-domains file. 

With that being said, God help you if you ever need to do some serious digging in the Sendmail configuration (/etc/sendmail.cf) file. Sendmail’s primary configuration file is written in something that looks like a cross between C code and Swedish, or maybe both. I was looking through that file and somewhere around line 4000 I actually found a bunch of John Dvorak’s delicious recipes. Sendmail is probably the archetypal example of Unix’s configurability and inscrutability at its best and worst.

For other common mail tasks, there are plenty of common free tools out there. The free pine 4.10 package offers not only the easiest Unix mail reader out there, but an excellent IMAP server (and text editor, with pico) as well. The free majordomo 1.94.4 package provides excellent mailing list options – although at a performance price, since it’s written in Perl and tends to eat up a lot of RAM when it’s running.

The Moral of the Story

Freenixes can save you thousands of dollars if you’re willing to pay a few hundred dollars for technical books and learn how to use them (the Freenixes, not the books). For common ISP sysadmin tasks, 90 to 95 percent of your work can be easily done on an OS with friendly tools and frequent updates. If you’re brave enough to handle any Unix, you’re brave enough to handle a Freenix. However, if you’re a point-and-click addict, or need something with an unhelpful tech support phone line, a Freenix won’t be for you.

Freenix Flavors (Three Demons and a Penguin)

By Jeffrey Carl

Boardwatch Magazine
Boardwatch Magazine, November 1999

Boardwatch Magazine was the place to go for Internet Service Provider industry news, opinions and gossip for much of the 1990s. It was founded by the iconoclastic and opinionated Jack Rickard in the commercial Internet’s early days, and by the time I joined it had a niche following but an influential among ISPs, particularly for its annual ranking of Tier 1 ISPs and through the ISPcon tradeshow. Writing and speaking for Boardwatch was one of my fondest memories of the first dot-com age.

Hi there, and welcome back to the industry’s 216th most influential Unix column. Over the next few months, we’ll be taking an in-depth look at each of the various Freenixes and why your ISP may want to consider them. But right now, it’s time to get familiar with the four big players. How can you tell the Freenixes apart, and which of them is right for your ISP?

BSD Unix, having grown out of work on the original AT&T Unix code at UC-Berkeley, has been around for about 20 years. Only in the early-to-mid 1990s (after a series of nasty lawsuits) was the BSD project’s code freed up for use in free Unixes. The BSD development model centered around a “core group” that handled work on the code, and the free BSD Unix movement quickly splintered into three main groups, each with a different focus.

The BSD groups tended to disdain the pseudo-Leninist rantings of Richard Stallman’s  GNU/TAISR (GNU’s Not Unix/This Acronym Isn’t Self-Referential) camp, and used the “BSD” software license, which held sort of a middle ground between commercial software and free software. The BSDs attracted a following of (relatively) old-school sysadmins and hackers – the sort of people who generally disdain pine and elm as “too user friendly.” Partially as a result, development for these OSes tended towards optimizing them for server use, and neglecting support for consumer-oriented devices (like IDE drives, fancy video cards, etc.).

Meanwhile, a Finnish computer science student, Linus Torvalds … blah blah blah. I’ll skip this part, since if you haven’t heard the story of Linux already, you probably should put down Boardwatch and go pick up a copy of the Yahoo! Internet Life special edition on how to turn off your computer safely. Anyway, Linux’s development model encouraged code warriors and wackos alike to develop for the OS under the GNU Public License (GPL), and attracted the loving attention of the GNU project itself. Before long, Linux had emerged with a big stack of available software, and a large corps of devoted developers. Its more decentralized model not only encouraged people to write drivers for consumer (rather than server) oriented devices, but also bred a following of experienced admins as well as young geeks-in-training. Therein lay the difference. 

These young Linux zealots were, by and large, the force that popularized Linux. They had a fanatical love for their OS that was unmatched except for Macintosh users (who, during the mid ‘90s, had largely retreated to living in caves and praying for someone to port a game to their OS besides Solitaire). Linux became cool . Zealous advocates led to press coverage, which led to more developers, which led to better code and greater device support, which led to more new and more fanatical users … leading to the Linux love-fest currently underway. 

So, where were the BSDs? Generally, they quietly went about their way, still running their servers and occasionally poking their heads in on Linux-advocacy-oriented (but useful to all *nix users) news site Slashdot.org, offering “(Score 1: Insightful)” comments and not rocking the boat. FreeBSD reacted to the surge in Linux development with remarkable grace, building in a Linux binary compatibility module and sidestepping a potential war over developers. But lately, some BSD users have started agitating for more attention to the BSDs … and BSD partisans have become bolder about advocating their *nix of choice.

For the three or four of you who are still reading, let’s take a dive into each of the various Freenixes:

Linux: The World’s Most Popular Unix

Focus: Unix everywhere, for everyone, as both a server OS and a desktop OS.

Platform/CPUs: You name it. I’m surprised they don’t have an Atari 2600 port yet. 

What’s Good for ISPs: If you’re relatively new to Unix, if you’re after ease of use, or if you’re looking for an Internet server platform that can run on almost any hardware and offers a wide range of cool applications, Linux is your choice.

Of all *nixes, Linux is the most oriented towards ease of use and administration. Linux has the widest user base, and the most active development community – meaning that a lot of new device drivers and third-party applications will be out for Linux first (and maybe only for Linux). Linux’s heavy consumer usage has also led to its being the *nix for cool new free graphical shells (like KDE or GNOME/Enlightenment) and administration utilities. Fruits of this wide developer base (both commercial and free) include excellent solutions for dialup authentication, webserving (including third-party ASP support, Real and QuickTime streaming, Cold Fusion, etc.), mail servers, commercial database packages, firewalls, AppleTalk or SMB networking, security tools and others. Linux is gradually joining Solaris as “the” Unix for commercial developers.

Linux has the most support options, as well. In addition to the usual free online user community support, many Linux distributions offer installation and technical support (for example, if you pay $90 for convenient Red Hat install CDs, they’ll give you 30 days of installation support and 90 days of technical support). There is an abundance of books about installing, running and administering Linux. Of all Freenixes, Linux is also the most “ready for prime time” in terms of corporate deployment: a number of companies from Red Hat to LinuxCare offer enterprise-ready tech support packages. Plus, with its press coverage, and vendors from Intel to IBM standing behind Linux, it’s closest to being the Freenix that is easiest to explain to your “cloobie” boss.

But Linux isn’t just for new users. Linux is second only to (yech) Windows NT in terms of tuning for high-end multiprocessor systems. It’s a safe bet that there will be a solid Linux for Intel’s IA-64 architecture before 64-bit NT is even in public beta. And Linux’s wide developer base makes it likely to catch up rapidly in those performance areas where it’s currently behind.

What’s Bad for ISPs: Linux may be spreading itself thin.

The more devices you try to support with an OS, the fatter (and more bug-prone) your code becomes and the more your stability is likely to suffer. Of course, the open-source, open-development nature of Linux is designed to fix these bugs quickly; but it’s still an issue. It’s relatively easy with Linux to pare down your kernel (the “core” OS software that interfaces between the hardware and applications) to support only the devices and services you need. But a default installation is likely to contain more than you need – and the inexperienced users Linux is most popular with are the least likely to be able to properly configure their OS. And the time spent by developers on writing a driver so that Linux can use 5 1/4” floppy drives is time that theoretically might have gone towards tuning it better for more common uses.

Also, the wide variety of Linux distributions can sometimes make software installation confusing. All Linux distributions are based on one of the “Linus-approved” stable kernels; but the specific kernel (and version of the code libraries to support applications) they include sometimes vary widely. Some distributions (most notably Red Hat) are more anxious to move to upgraded (and potentially less stable) versions of these libraries than others. Some Linux software is beginning to appear which is dependent upon (or at least tuned to) a specific distribution, fragmenting the Linux community.

The much-vaunted user-friendliness of Linux is also a relative term. Compared to MacOS or even Windows, Linux still has miles to go in terms of developing a fairly “idiot-proof” interface. Of course, this is a fault of all Unixes – any OS essentially written by programmers, for programmers is going to have a big gap between its developers’ idea of “user-friendly” and its actual users (who programmers refer to as “morons”).

Lastly, Linux simply lacks the time that the BSDs have had to improve the maturity of its code base. There are still plenty of things missing in Linux (like the much-lamented lack of a true multi-threaded TCP/IP stack) that the BSDs implemented long ago. As a result, if your main interest is network performance on a single-processor machine (and you aren’t dependent on any of the Linux-specific software), Linux is simply not going to be your first choice.

FreeBSD: BSD Performance for x86

Focus: The ultimate Internet server for x86 hardware – with Linux emulation for consumer/hobbyist users.

Platform/CPUs: The Intel x86 architecture, first and foremost. A port for Alpha is also available. Theoretically, Darwin (the open-source part of Mac OS X Server) is largely tied to FreeBSD for its code base, and might be considered to be a PowerPC port of the OS, running on top of the Mach Microkernel. Or maybe I’m just nitpicking.

What’s Good for ISPs: FreeBSD is the server performance-leading BSD Unix for the x86 architecture. (Note for BSDI users: BSD/OS is well-tuned for this purpose, but it’s expensive, and I’m a cheap person, so we won’t discuss BSD/OS here.)

If what you really care about is fast networking performance running Apache, Sendmail or other common apps on cheap x86 hardware, FreeBSD is your OS. End of story. The *BSD model (with a small team of experienced developers rather than a horde of free-for-all developers like Linux) tends to generate more bug-free code right out of the gate (although I wouldn’t necessarily run anything more mission-critical than Xtetris on FreeBSD-current). 

FreeBSD’s TCP/IP stack is the reference code base on which so many other network stacks have been based. FreeBSD has a fairly impressive set of users, including Yahoo, Xoom, ftp.cdrom.com, some parts of Hotmail (Hey, kids! Can you say ‘failed NT conversion?’ Good.”) the IMDB and others. On top of all this, FreeBSD includes a very good Linux binary compatibility module, and they’ve been very good about supporting “Linux-first” development with it instead of igniting a Freenix developer-choice war. FreeBSD also includes compatibility modules for SCO, NetBSD, and BSD/OS.

FreeBSD’s ports collection is a fantastic way of finding new software and upgrading old versions. Also, if you’re willing to get your hands dirty (read: no GUI) and make the source updates for FreeBSD, their upgrade process is very slick and relatively painless.

What’s Bad for ISPs: All of the BSDs share some common problems. First is that they’ve fallen out of commercial favor, and they lack the third-party application support of “hip” Unixes like Linux or Solaris. The FreeBSD Linux compatibility layer is great, but isn’t a “first-choice” solution (e.g., if you depend on mission-critical software for which there is a Linux port but not one for FreeBSD, you may think twice). Add to this the problem that the *BSD development model leads to higher-quality code but slower development. 

None of the BSD Unixes are an optimal choice (at least compared with Linux) for new Unix users; it’s best reserved for people who are either willing to take on its steep learning curve, or have learned Unix already. Also, finding good printed documentation on *BSD systems is like finding a network engineer with a hot blonde girlfriend.

FreeBSD (like most other *BSDs) currently suffers from an identity crisis: is it the work of part-time developers or an OS to compete with commercial *nixes? FreeBSD’s developers occasionally seem to be caught between saying “it’s enterprise-ready software you can depend on” and saying “look, we’ll fix that when we have time, what do you expect for free?” It’s excellent software, but sometimes little things (like full POSIX threads support) may get broken and not be fixed for weeks or months. FreeBSD (like the other BSDs) also isn’t as tuned for multiprocessor machines and high-end hardware as Linux is. Lastly, if you’re the corporate type looking for commercial support, your options with any free BSD are far more limited than with Linux.

NetBSD: BSD for the Masses

Focus: Bringing a solid BSD to as many platforms as possible

Platform/CPUs: x86, Alpha, Motorola m68k, PowerPC, SPARC, MIPS, ns32k, arm32, VAX (with varying degrees of stability and support)

What’s Good for ISPs: NetBSD shares the attractiveness of Linux in that you can probably pick up any old (or new) computer and get it to run. NetBSD has the advantage (and disadvantage) of sharing the other BSDs’ code maturity and development philosophy, but with the ability to run well on a wide range of platforms.

If you’re already familiar with BSD Unix and you want to use it on non-x86 hardware (or you want to standardize on one OS across multiple platforms), NetBSD is your first choice (and, depending on your target platform, maybe your only choice). If you are looking for *BSD’s proven performance with networking, and you want to use it on any platform, NetBSD is the way to go. 

What’s Bad for ISPs: NetBSD’s strength is also its weakness. It sits in sort of a middle position among BSDs, being widely available but not optimized for any one task. In a way, it’s sort of a “jack of all trades, master of none.” It’s unclear, for example, whether you’d get better network performance on a PowerPC machine with NetBSD or with LinuxPPC, which has spent a great deal of time optimizing its OS for that CPU architecture. Therefore, it likely won’t be your first choice of OS for platforms which other Freenixes tune themselves to.

Also, the various NetBSD platforms are each supported to a greater or lesser degree (depending on the activeness of their development team), and you may be left at your development team’s mercy while waiting for a critical upgrade. NetBSD shares the common faults of the other BSDs as well, and its mission has left it as sort of the “forgotten” BSD among the others which are more optimized for a given task.

OpenBSD: The Bugtraq Junkies’ Choice

Focus: Unix for security junkies.

Platform/CPUs: x86, Alpha, Motorola m68k, MIPS, some PowerPC designs, SPARC (plus some other platforms which aren’t “officially” supported but for which a port exists)

What’s Good for ISPs: OpenBSD is about security: it also considers security and software quality to be one and the same. Plus, they’re based out of Canada, and can therefore bypass some of the US’s bizarre federal cryptography/security laws.

In the OpenBSD team’s view, here’s how it works. Buggy software can lead to security vulnerabilities – buffer overruns, sloppy system calls, poor management of root (administrator) privileges and so on. The OpenBSD developers started an audit (two years and still going) of the source code and found thousands of bugs. Some were security-related, or might have been exploited in combination with other bugs; but most were not. Their end goal is not only a more secure OS, but also one that’s “more reliable and trustworthy.” Of course, since the *BSD codebase is largely similar, other BSDs are able to benefit from the security fixes made by OpenBSD.

Another important aspect of security is the “secure by default” configuration as shipped on the OpenBSD CD-ROM releases and weekly snapshots. OpenBSD’s default installation doesn’t enable potentially risky protocols without the consent of the administrator. This is very important for experienced admins on a busy schedule who don’t want to play detective with netstat and ps -auxw to secure a new server; on the other hand, if you don’t know how to enable fingerd and you want it, then you’re pretty much stuck.

OpenBSD’s integrated cryptography can help an ISP that’s looking to differentiate itself through its security. First, the built-in implementation of the emerging IP Security (IPsec) standards allow you to offer virtual private networks (VPNs) to corporate clients. OpenBSD’s IPsec interoperates with implementation from major vendors. Second, ISPs can securely access remote POPs, even for root logins. Third, OpenBSD supports (among other cryptographic tools) SSL (Secure Sockets Layer) for secure https Web servers almost “out of the box.” To enable it, sysadmins just need to download one shared library file to get around the RSA patent restrictions.

What’s Bad for ISPs: While OpenBSD can incorporate the code improvements made by the other BSDs, it has a smaller full-time development team than any of the other Freenixes (the average McDonald’s has more people working on Chicken McNuggets than OpenBSD has on full-time development), and thus upgrades may come slower. Security comes at the expense of rapid development, and hardware or software may not be supported for months (if at all) after Linux or FreeBSD can. 

OpenBSD of course shares the common faults of the *BSD family. Also, for experienced sysadmins who are confident that they can handle their own OS security (or simply don’t care), OpenBSD lacks both the x86 performance optimization of FreeBSD and some of the platform availability of NetBSD or the other benefits of Linux. Simply put, if you care more about performance or third-party application support than security, OpenBSD is probably not for you.

Conclusions

So … where does this leave this ISP looking for a free Unix? Probably, it leaves them with a headache, since it’s becoming more and more difficult to find an unbiased and rational comparison of the OSes involved. To sum up: Linux is relatively immature, but it has the most active developer community, it runs on almost any hardware, it’s the most user-friendly Unix for novices, and it has the best third-party application support. FreeBSD concentrates on optimizing BSD Unix for the x86 platform, and it shows in its networking performance. NetBSD concentrates on bringing stable BSD to a wide variety of platforms. If your primary concern is security, OpenBSD is the Freenix for you.

What do you think? Send questions, comments and lavish praise to [email protected]. Hate mail should be addressed to John Dvorak.

Freenixes and Unix History

By Jeffrey Carl

Boardwatch Magazine

This was my first “UNIX Flavor Country” column for Boardwatch Magazine. My first article had gone over so well – in that it filled up two full pages, did not provoke an angry letters and cost the magazine $100 – that my friend Greg Tally offered me a full-time columnist gig. These, as they say, were the salad days. People even thought Pets.com was a good idea back then, seriously.

If your ISP doesn’t use Unix, it should. Many of the various flavors of Unix provide excellent solutions for everything from webhosting to dialup authentication to networking to powerful workstations. Even better, some of the Unixes (the so-called “Freenixes”) are free to use, are available on cheap hardware, and come with powerful free software suites (like Apache, Sendmail and others) that match or beat the performance of commercial software costing thousands of dollars. Plus – let’s face it – there’s an undeniable “sysadmin badass” appeal that comes from telling people you’re a Unix wizard that you simply don’t get by telling people you’re “a real guru with AppleTalk.”

However, even among Freenixes, there are many to choose from. And, if you’re a new user or even an experienced administrator looking to taste other flavors, it’s difficult to get good advice on which kinds to choose. Most people who already use Unix are very devoted to their flavor of choice, and it’s tough to get unbiased advice from someone with a lifetime subscription to “BSD Jihad” or a tattoo of a heart with a little “Kernel 2.0.36” inside it. 

So, for the next few months, we’ll look at what the strengths and weaknesses of each Freenix flavor are, and which may be right for you. To understand how and why each Freenix does what it does, it’s important to have a knowledge of where they (and Unix itself) come from – and that’s the focus of this month’s column.

Normally, histories of Unix are dull enough that they are used only in scientific experiments to anesthetize lab rats at a distance of 50 yards. In the interest of bringing everyone up to speed, the following is a completely irresponsible, glibly assertive and overly sarcastic yet theoretically amusing brief history of Unix up to the past few years.

IN THE BEGINNING

Many millions of years ago, after the Earth cooled (roughly 1969), there was Unix. And it was good. Ken Thompson and Dennis Ritchie of Bell Labs found the legendary “little-used PDP-7 in a corner” and set to work on creating a new operating system for internal use at AT&T. Originally called “Unics” (UNiplexed Information and Computing System) as a pun on the earlier OS project “Multics” (Ha ha! Programmer humor!), its development was confined for several years to a small group of ultra-geek programmers within Bell Labs. 

A fundamental step for Unix came in 1973 with Version 4, which had been rewritten from platform-dependent assembler code into the new C language (also a creation of Bell Labs). By writing the core of the OS in a high-level programming language, it now essentially meant that Unix could be ported to almost any platform which included a C compiler. Since that time, Unix and C have gone hand-in-hand like deer ticks and Lyme disease.

TRIUMPH OF THE NERDS

Version 6 of Unix in 1975 was released to the outside world in “unsupported” (“Don’t blame us if it hoses your CPU and makes it cough blood”) format. It had two different licenses for the OS/source package: a university license for $100 and an “everybody else” license for $20,000. As a result, a generation of Computer Science students grew up on hacking Unix and improving it (most notably at MIT, Carnegie-Mellon and the University of California-Berkeley). While the “other” price tag sounds hefty, it was a small price for large companies to be able to take an existing OS and build their own around it. This eventually attracted numerous vendors to base an OS on Unix – including Sun, SGI, DEC, HP, IBM, NeXT and even Apple (anyone out there remember A/UX?). Unix grew rapidly in the mainframe world of the ‘70s and ‘80s because it was relatively cheap, and small armies of new computer science graduates entered the workforce already familiar with it.

The early development of Unix defined the characteristics it carries to this day. Every OS is a compromise of sorts between two fundamental sets of questions: maximum configurability versus ease of use, and stability versus expandability. Unix was written by programmers and for programmers, not end users – and it stressed the power of configurability over user-friendliness (although great steps in that direction have been taken lately). 

As time went on, more and more features were added to Unix by various offshoots of Bell and by university computer science students. UC Berkeley’s Computing Systems Research Group (CSRG) acquired a license for Version 6, and set a goal to write a completely AT&T code-free version of the system. The rise of the ARPAnet/NSFnet network drove Berkeley to develop innovations such as a full integration of TCP/IP into Unix and the birth of domain names (DNS and BIND). As such, the development of what would become the Internet was intimately tied to Unix – and Unix would remain the Internet’s OS of choice. By the mid-‘80s, Unix was well known within the computer science community as the operating system that could wring maximum stability and performance out of almost any hardware.

CAN’T WE ALL JUST GET ALONG?

In the early ‘80s, Bell had transferred their development of Unix to Western Electric, which called their commercial version of Unix “System III” (they figured that if they called it “System I” no one would buy it since they’d think it was too buggy). Unix System V was released in 1983, and System V Release 4 (SVR4) was released in 1989, incorporating many of the improvements made by the Berkeley group and Sun Microsystems (including TCP/IP and NFS). Unix even had two Graphical User Interface schemes (Motif and OpenLook) – both commercial and (appropriately) completely incompatible implementations of the open MIT “X Window” standard. By the late 1980s, Unix was a fully commercial operating system family in all its variants; but it was a “high-end” OS that was far out of reach for individual users, and which the personal computer revolution had largely passed by.

At this point, it’s worth a brief digression to discuss “what is Unix?” If you want to be technical, only operating systems based on AT&T code and blessed by the Open Group (the Unix trademark holder) qualify as Unix. Personally, I think that’s a load of crap. For the purposes of this article (and the rest of this column’s run), any OS that you can bring to a screeching halt by typing “kill –9 1“ at a root shell prompt is Unix – and that includes SVR4, BSD and Linux-based OSes.

Anyway, during this time, the university community that had given birth to so many of Unix’s developments remained active – and they wanted a Unix that was inexpensive enough to be used by individuals or groups without the deep pockets of universities and corporations. Parallel to the growth of private Internet Service Providers seeking Internet access outside of the institutions through which they had used the Internet, hackers were still active trying to create a Unix of their own.

HACKERS != LAWYERS

The Berkeley CSRG’s funding ran out before it fully completed its goal of creating an AT&T-free Unix, but just before its demise CSRG released a version (still retaining five or 10 percent AT&T code) called 4.3 BSD Net/2.They published their work under what became known as the “BSD” license, which made the source free to anyone who wanted it (but also allowed it to be incorporated into non-open-source and commercial projects). One of the many groups that picked up the Net/2 ball and ran with it was a commercial interest, Berkeley Software Design, Inc. (BSDI), which worked on filling in the gaps in Net/2 and selling the resulting product. Simultaneously, Berkeley’s Bill Jolitz made a great leap for hackers and hobbyists everywhere with a more-or-less AT&T-free port of Unix to the Intel 80386 architecture called 386BSD.

Frightened by the “free PC Unix clone” possibilities of 386BSD, AT&T sued Berkeley. Predictably, Berkeley countersued AT&T. While their lawyer landsharks battled it out, AT&T sold the SVR4 code rights to Novell (anyone remember UnixWare?). Development still went on in the meantime, and a horde of groups worked on merging the BSD and SVR4 releases or creating an entirely new Unix. Around about a million different Unix “standards” groups came into existence and were wholeheartedly ignored by everyone else.

UNIX – LIVE FREE OR DIE

Richard Stallman had already begun his “free-software” movement in the mid-‘80s when he started to read “Karl Marx’s Greatest Hits” and write Emacs. With some MIT buddies, he formed the GNU (GNU’s Not Unix) Project to take all of those AT&T Unix utilities and make better versions that were free/open source – and eventually to create a completely new free Unix, to be called the GNU Hurd. The GNU license(s) essentially forbade using the code in products that were not open. The GNU licenses provided the crucial distinction of the “free software” movement that would evolve from the GNU project, and separated it from the looser BSD license, which would become the model of the often semi-corporate “open source software” movement of the late 1990s.

Meanwhile, in 1991, a 21-year-old Finnish computer science student named Linus Torvalds was working on making a free and better version of Unix’s kissing cousin Minix. Torvalds developed the beginnings of a completely new kernel (the “core” part of the OS that handles memory management and device input/output, and acts as interface between hardware and software), and posted to Usenet’s comp.os.minix his source code for version 0.02 of what would soon be called “Linux.”

THE RISE OF FREENIXES

The BSD development model emphasized a “core team” of developers responsible for the primary guidance of a project, and a number of teams sprang up to release free versions of Unix based on the BSD code. Unfortunately, they all managed to get along “like two cats in a sack.”

At the same time, Linux – which had been released under a GNU license – emphasized a decentralized development model. Torvalds remained that head of Linux kernel development, and Linux variants were unified by their use of the Torvalds-approved kernel. However, everyone was invited to take part in adding drivers and kernel developments, and anyone was free to form their own Linux “distribution” (anyone remember Yggdrasil?) concentrating on whatever direction they felt that Linux should go. 

Suddenly, in 1994, the lawyer-welfare project known as the “AT&T/Novell vs. Berkeley war” ended. The exact details of the settlement are sketchy, but BSDI shortly thereafter discontinued its Net/2-based system and replaced it with a release based on a new code base called 4.4 BSD Lite. Novell eventually sold its SVR4 rights to the Santa Cruz Organization (SCO), and the SVR4-based non-free Unixes (including Solaris, HP/UX, Digital Unix and IBM’s AIX) continued and proliferated. Also in 1994, Linux kernel 1.0 was quietly released. In time, Stallman’s Free Software Foundation – seeing that the GNU Hurd project would be up to speed sometime around 2040 – came to adopt Linux (Debian distribution) as a replacement for the Hurd, despite some well-publicized nomenclature hissy-fits by Stallman about calling Linux “GNU/Linux.”

RIGHT HERE, RIGHT NOW

Today, the commercial Unixes are still around and (at least some of them) flourishing. Meanwhile, development for hobbyists, hackers, ISPs and many businesses has focused on the Freenix family. Right now, there are four primary Freenixes of interest to ISPs: Linux, FreeBSD, NetBSD and OpenBSD – each with a different philosophy, focus, and strengths or weaknesses.

In next month’s edition, we’ll explore what makes them different, and why one or the other may be right for your ISP. In the meantime, those of you with enough free time or pain tolerance to have read this far should please feel free to send your questions and comments about the varying Freenix families to [email protected]. Flames and hate mail should be directed to John Dvorak. 😉

Your ISP Can Support Macs – Even if You’ve Never Used One

By Jeffrey Carl

Boardwatch Magazine
Boardwatch Magazine, August 1998

This was the first article I was invited to write for Boardwatch Magazine back in 1998. I had started working at an ISP in 1997 and discovered that not only was I the only Mac user, but all the hardcore techies working there actively disdained Macs and Mac users. At the time, Apple was actively circling the corporate drain and it was a bad time to be a Mac fanboy, so this was my bit of advocacy to speak to ISP operators and encourage them to not lock out the Mac market. As a result, I take full credit for Apple’s resurgence over the past 20 years.

For several years, it seemed that all the Mac users had hidden out in caves with OS/2 Warp users, or had moved to cabins in Montana and spent their time sending angry letters to the editors of PC Week magazine. However, Macintoshes are coming back – roughly 12 percent of new computers sold through retail stores are Macs, and that number is climbing. 

There are some very good reasons for making sure that your ISP supports Macintoshes (if it doesn’t already). You can gain a competitive advantage by advertising yourself as being one of the few (or the only) ISPs in your area that is “Mac-Friendly.” Millions of people have bought iMacs because they want a simple machine for surfing the web and reading E-mail – and they all need an ISP. 

Of course, there are tradeoffs to offering Mac support. On the down side, you’ll still get the same calls from Mac lusers that you get from Windows lusers who are busy looking for the RS-232 port on their toaster. And to really answer all of the questions that might come up, you’ll want an actual Mac user on staff (or at least within E-mail reach).

On the plus side, though, the vast majority of Mac users have the same few questions that you’re used to answering for PC users. By knowing five simple tools and resources, you can answer about 95 percent of the Mac tech support calls you’re likely to receive – even if you’ve never even touched a Mac yourself. These resources, all included in a default installation of the operating system, are part of MacOS (which sounds like a breakfast cereal) version 8.5 or 8.6, which all new Macintoshes are shipped with. For information on providing tech support for customers with older Mac system versions, check out http://www.hosed.net/oldmacsupport.

Mac Basics

Many of the calls you’ll receive with Macs are about the same UCDI (User Clue Deficiency Issues) problems you’ve heard from PC users. You know the drill: make sure that their modem is connected to the computer, make sure all the cables are firmly connected, make sure the phone line is plugged in, et cetera. 

In case you’ve never used a Mac, there are a couple of interface basics that you’ll need to be acquainted with in order to guide a user through troubleshooting. 

The MacOS analog to the Windows 95/98 “Start Button” is the Apple Menu, marked by an Apple icon (a)located in the very top left corner of the screen. Just like Windows menus, Mac menus are single-click “sticky menus” that are easily navigated. To close a Mac document window, click on the button in the upper left (not right) corner; clicking on the buttons in the top right will only expand or collapse the window.

Instead of showing the open applications or control panels in a task bar, Macs have an Application Menu in the top right corner of the screen. The name (or just the icon in some cases) of the foreground app is displayed there; clicking on the menu will allow you to switch between open applications or hide (minimize) them. This is important, since many novice Mac users may not know whether the foreground is an application or the Finder (the application which creates the Mac GUI). To change your foreground task, simply click on the appropriate item in the Application Menu.

The “meta” key on Macs (analogous to the “Windows key” on PCs) is the “command” key, sometimes known as the “Apple key” (it’s the one with the X icon). Applications are launched by double-clicking them, or selecting them with a single click from the Apple Menu. Quitting an application is done by selecting File >> Quit, or with the X–Q keystroke combination.

Internet Setup Assistant

As mentioned, Apple goes to great lengths to make its OS as friendly (“cretin-proof”) as possible, and it provides a pretty useful wizard for supplying all of the information a user needs to set up a dial-up or dedicated Internet connection. The Internet Setup Assistant runs automatically the first time a user boots their Mac, or it can be found with Apple Menu >> Internet Access >> Internet Setup Assistant

The initial screen of the Setup Assistant asks, “Would you like to set up your computer to use the Internet?” Click yes. The second screen asks, “Do you already have an Internet account?” If you answer “yes,” this brings you to an introductory screen of a separate program called the Internet Editor Assistant. If you answer “no,” you’re still taken through most of the Internet Editor Assistant steps, but at the end of the process, you can dial into an Apple database of Mac-friendly ISPs to choose one. 

The installation process is fairly straightforward, and users should be able to complete it easily if you’ve given them: 1.) their username and password; 2.) your local dialup access number; 3.) their POP and SMTP server addresses and/or passwords; 4.) which type of server they’re connecting to (e.g., PPP, DHCP, BootP, etc.); 5.) their nameserver IP addresses, subnet mask and default router (if this is required); 6.) and a PPP connect script if it’s needed. If you require a PPP connect script, make sure that your user can obtain it and place it in the System Folder >> Extensions >> PPP Connect Scripts directory on their hard drive. If any of these settings have been entered incorrectly, the user can re-run the Assistant, or change their information manually in the relevant control panel. 

Control Panel: Remote Access

To dial in, a Mac user must access the Remote Access control panel, which can be reached through Apple Menu >> Control Panels >> Remote Access. Users may not realize that this control panel is the only way to initiate a PPP connection, since there are two misleadingly-named items in the Apple Menu >> Internet Access menu (Browse the Internet and Connect To…) which don’t create a PPP connection; they simply launch the user’s default web browser, whether a connection is active or not.

To initiate a dial-in PPP session, bring up the Remote Access control panel. If they aren’t already filled in, supply your username and password, then click “Connect.” Remote Access will show the steps it goes through as it dials and connects (or any errors it encounters on the way). If it reports an error, you can use one of the other tools listed here to track down the error, or use the Internet Setup Assistant to replace all of your settings. If all goes well, the Remote Access control panel will then show a connection timer and two columns of lights, indicating data being sent and received. To terminate a session, activate the control panel again and click “Disconnect” (or just snip your phone line with a pair of scissors).

A connection will remain active if you quit the Remote Access control panel. However, if you’re having dropped-connection problems, it’s not a bad idea to just hide the control panel or leave it in the background, since the Remote Access control panel is your best indication of whether a connection is still active.

Control Panel: Modem

If you’re is having trouble dialing, the Modem control panel is the first place to check. Check your modem settings by selecting Apple Menu >> Control Panels >> Modem. Make sure that you have selected the correct port to which your modem is attached; otherwise, you’ll get a “modem could not be found” or “port is in use” error. Also, make sure that you’ve selected a proper modem type (the only effect of the modem type setting is to determine the initialization string). Other options, including pulse or tone dialing, are configured here as well.

Control Panel: TCP/IP

The TCP/IP control panel is where settings for name service, router and IP addresses are stored. To access it, select Apple Menu >> Control Panels >> TCP/IP. The relevant information should already have been entered by the Internet Setup Assistant, but it can be modified here if necessary by typing directly into the fields in the control panel. If the Remote Access control panel reports problems negotiating with the dial-up server, check the TCP/IP control panel to make sure that you have the correct server type selected (PPP, DHCP, BootP, et cetera).

Control Panel: Extensions Manager

If a user reports issues with their system crashing or another application crashing when they connect, odds are that it’s a MacOS extension that’s to blame. Extensions are files containing libraries and routines which patch system traps, and they are notorious for conflicting with each other and causing crashes (especially extensions installed as part of third-party or shareware programs).

The Extensions Manager control panel, accessed by selecting Apple Menu >> Control Panels >> Extensions Manager, controls which extensions and control panels are loaded by the system at startup time. If you’re experiencing frequent crash or freeze problems, activate the Extensions Manager. Click the “My Settings” pull-down menu and select the predefined extensions set called “MacOS 8.5 All” (or “8.6 All”) and restart. This will limit the loaded extensions to only those that are defaults for the OS – which should result in a stable system. You may temporarily lose some of your favorite system enhancements and cool widgets – but the system should be stable enough to access the Internet. If not, then you’ve got inherently bug-ridden software – or worse problems that should be taken up with Apple.

Conversely, you can examine the Extensions Manager control panel to make sure that all of the needed extensions for Internet access are loaded. A “MacOS 8.5 All” setting should include these; if you’re using a custom set of extensions, make sure that the Modem, Remote Access and TCP/IP control panels are checked, as well as any extension relating to Open Transport (the Mac’s native streams-based TCP/IP stack implementation). 

Outside Resources

While the tools listed above can cover most basic connection problems, they can’t solve everything. However, a few other resources go a long way toward fleshing out your Mac support. First, pick up copies of Macworld Mac Secrets (5th Edition), by David Pogue and Joseph Schorr, and Sad Macs, Bombs, and Other Disasters by Ted Landau. These two books are absolutely indispensable for advanced troubleshooting. Second, you should know where your local Tucows mirror is, since they have a pretty comprehensive stock of Internet software for Macs – everything from the latest versions of web browsers to free tools for FTP, telnet, ping and more. Finally, you may want to bookmark http://til.info.apple.com, Apple’s Tech Info Library, which contains volumes of easily-searchable technical support information.

How to… Install Linux on a G3 Power Macintosh

By Jeffrey Carl

From MacAddict Magazine, March 1999

You’ve heard the hype about Linux – a free version of the powerful Unix operating system. You’ve heard it makes a great web server or file server; or you’ve heard that it makes a fast workstation. You’ve envisioned yourself being the envy of your friends with an un-crashable OS, doing cool (yet vaguely dirty)-sounding things like “tweaking your kernel.” And, being an unrepentant geek, you can’t wait to play around with it. So you’re ready to think different – really different – and try installing it.

First, the good news – despite what you’ve heard, Linux installation can be a very simple, non-intimidating process. Even better, Linux has become available for most Macintoshes – both PowerPC and 68k. With any luck, you could be up and running in about an hour.

Now, the bad news – Linux support isn’t perfect for all Mac-compatible machines and peripherals. Most importantly, you’re taking off the training wheels here – installing an operating system on your machine which isn’t officially supported, doesn’t come with much documentation, and can require you to mess around with the very guts of your machine in ways you had never imagined were possible. 

Getting ready to install Linux on a Power Macintosh G3

If you’re still with us after reading that last paragraph, then you’re stout of heart and soul – or you’re a glutton for punishment. Either way, let’s get started. For this example, we’ll be installing LinuxPPC 4 from a CD onto a Power Macintosh G3/266, with an external SCSI 1.5 GB hard drive set up as the Linux volume.

1. Get Prepared

1. First, make sure that you have a supported Macintosh for your Linux of choice (see sidebar) and a hard drive you can repartition to make a home for Linux. At least 400 MB of space is required, and 1.2 GB or more is recommended. You can use your MacOS drive to include Linux volumes, but you’ll have to wipe it clean and repartition it first. 

2. Back up all of your files. Really. You can get away without doing this if you’re installing Linux onto a fresh new disk (and you like living on the edge); but if you’re repartitioning your current MacOS drive, you’ll need to do this because you’ll be wiping your disk clean in the process.

2. Partition Your Disk

You’ll need to create several disk partitions for Linux (at least two, and four or five is recommended). This comes from an old Unix tradition of placing files which seldom change (and important system files) on different partitions from frequently-changing user files so that they’re less likely to be corrupted by frequent writes to the hard disk. The minimum number of partitions is two: one for swap (sort of Linux’s virtual memory scratch disk) and one for /(“root,” or your regular filesystem). It is recommended that you create these two partitions, as well as one for /usr (where most of Unix’s programs are installed) and /home (where users’ personal files are stored).

1. Choose a drive-partitioning utility. Your choice here depends on what type of disk you’re going to use (SCSI or IDE/ATA). If you aren’t sure what type of disk you have, consult the documentation that came with your Mac. 

For SCSI disks, you can use the Apple_HD_SC_Setup program which came with your Mac to create the partitions and set them as the correct type (A/UX). If you have a non-Apple disk or a Mac clone, you can use the third-party utility that came with the drive or computer (like FWB Hard Disk ToolKit) for this. If you have an Apple IDE or SCSI drive, you’ll need to use the Apple Drive Setup utility that came with your Macintosh (make sure you have the newest version). If you use Drive Setup (as we’ll be doing here), you’ll also need the pdisk utility (included on the CD) to convert the HFS partitions you create to their proper type.

2. Open Drive Setup utility and choose the disk you’ll be partitioning. Note that you can’t use Drive Setup from your startup disk; you’ll have to partition another drive, or boot from your MacOS system CD.

3. Get the Tools

First, you’ll need to get Linux and the utilities for installing it. 

1. One of the nice things about “free operating systems” is that they’re just that – free. If you have a fast Internet connection, you can do an installation via FTP from the LinuxPPC site (ftp://ftp.linuxppc.org) or one of its mirrors, and it’s absolutely free. However, it may be easier for most users to order a CD from the good folks at LinuxPPC (http://www.linuxppc.org), which includes a recent distribution plus other programs and goodies for $XX plus shipping. In addition, if you buy a CD, you’re completely free to share it with as many people as you like.

2. Install BootX (included on your LinuxPPC CD), the utility for switching back and forth from MacOS to Linux when you boot your computer. Simply drag the BootX control panel onto your system folder to install it (you’ll need to reboot before you can use it).

If this doesn’t work for you, you can manipulate which OS you boot into through BootVars (http://url.goes.here, or included on the CD), a control panel which allows you to manipulate your Mac’s Open Firmware. However, this isn’t recommended – mucking around with Open Firmware has reduced more than one formerly confident Mac Jedi to bingeing on non-prescription cold medications in frustration (also, this option is no longer officially supported by LinuxPPC).

3. Drag two files from the CD onto your System Folder: vmlinux and ramdisk.image.gz. These files should stay at the “top” level of your System Folder (not inside any folders inside the System Folder).

4. Begin the Installation

1. Insert the LinuxPPC CD into your CD-ROM drive, and open your BootX control panel (double-click it or select it from your Control Panels menu in the Apple Menu).

2. Leave the “root device” field blank. Check the “Use RAM Disk” and “No video driver” options.

3. Click the “Linux” button to reboot your computer into the Linux Red Hat Installer.

5. Use the Red Hat Installer

[Sidebar]

Resources

The LinuxPPC website:

http://www.linuxppc.org

The LinuxPPC Installation Guide:

http://www.linuxppc.org/userguide

The MkLinux website:

http://www.mklinux.apple.com

The Linux Mac68k Project website:

http://www.mac.linux-m68k.org

The Linux on PowerPC newsgroup: comp.os.linux.powerpc

[Sidebar]

Which Macs Can I Get a Linux For?

LinuxPPC 5.0 supports:

Any PCI-based Power Mac, PowerBook or Macintosh clone (including iMac), as well as BeBoxes. “Blue-and-white G3” not supported yet. 

MkLinux 3.0 supports:

NuBus-Based Power Macs (6100, 7100, 8100, 9100), PCI Power Macs (7200, 7500, 7600, 8500, 9500, 7300, 8600, 9600), PCI Performas (4400, 5400, 5500, 6400, 6500), 20th Aniversary Mac, Desktop and Minitower Power Mac G3 (but not “blue-and-white G3” yet), PowerBooks (5300, 1400, 2400, 3400, G3, G3 Series)

LinuxMac68k supports:

Most 68030- and 68040-based Macs (but not most 68LC040-based). 68020-based Macs with a FPU (Mac II, or those with a FPU emulator).

For complete, up-to-date lists, please refer to the website of your Linux of choice.

Odd Job: Part 4

Pause. The pressure is now, obviously, on JOB to come up with a winner.

JOB: Someone who loves you.ZOPHAR halts, thinks.

BILDAD: Umm … what’s that like?

ZOPHAR: Does this person also give good backrubs?

JOB: Yes.

ZOPHAR: I’m kinda stumped there.

ZOPHAR sits back down.

JOB: The point is … I’m not going to believe that there is no God. 

BILDAD: Well… (thinks) What if there’s a God, but he’s shorter than you think?

JOB: How long will ye vex my soul, and break me in pieces with words?

BILDAD: Well, excuse me, Shakespeare. Sheesh.ELIPHAZ gets up and does whatever he does to signify it’s ‘his turn.’

ELIPHAZ: The answer to all this is simple. You must have sinned. Otherwise God wouldn’t have punished you so.

JOB: No, I didn’t! I was a perfect and upright man … who feared God and eschewedeth evil!

ZOPHAR: Eschewedeth?

JOB: Whatever.

ELIPHAZ: Come on, admit it. 

JOB: Admit what?

ZOPHAR: Is “eschewedeth” a word?

ELIPHAZ: Look, my child … everyone has sinned. (thinks) Have you ever cheated on your taxes?

JOB: No.

ELIPHAZ: Have you ever taken more ketchup packets from McDonald’s than you needed?

JOB: No. That’s one of my better points.

ELIPHAZ: Did you take the Lord’s name in vain?

JOB: No. I wouldn’t even go see the movie Oh, God! Book Two because I thought it was sacreligious.

ELIPHAZ: Yes, John Denver’s performance was particularly heinous in the eyes of the Lord. (pause) Did you ever watch Cinemax after two a.m.?

JOB: No.

ELIPHAZ: Have you coveted your neighbor’s wife?

JOB: My neighbor is gay. His (makes finger quotes) “wife” is 6’4″.

ELIPHAZ: Ever covet him?

JOB: NO!

ELIPHAZ: I’m just saying, you must have done something.

JOB: No, but I’m thinking about killing you right now.

ELIPHAZ: Remember, I pray thee, who ever perished, being innocent? Where were the righteous cut off?Pause.

JOB: What the Hell are you talking about?

ELIPHAZ shrugs and sits down. Now all three comforters are again sitting across from JOB for the relatively rapid-fire exchange that follows.

ZOPHAR: (taking a different tack) Remember what the Bible says. So no one told you life was going to be this way. Your job’s a joke; you’re broke; your love life’s D.O.A….

JOB: That’s not the Bible. That’s the theme song to ‘Friends.’

ZOPHAR: Whatever.

ELIPHAZ: (trying to cheer things up) You know, it seems like this story should be adapted into a musical.

ZOPHAR: I’m just trying to help. I’m not just giving you a guilt trip because you’re Jewish.

JOB: It’s Palestine in 2,000 B. C.. We’re all Jewish.Pause while this sinks in to all of them.

ZOPHAR: Well, then it’s definitely not because you’re Jewish.

ELIPHAZ: This is surprising? (pause) And what kind of a Jewish name is “Zophar?”

BILDAD: (still slightly incredulous) Are you sure I’m Jewish?

ELIPHAZ: (looking askance at BILDAD) I take that all back. This would make a rotten musical.

BILDAD: I mean, I don’t even look Jewish.

JOB: No doubt ye are the people, and wisdom shall die with ye! But … why are you here? And why have you given me such counsel … and (changes tone) Rabbi, why are you the only one of us with a comical Yiddish accent?

ELIPHAZ: It’s a theatrical convention.

BILDAD: Look, we’re just trying to help. 

JOB: Look … please … leave me alone now.

BILDAD: Well, it’s been real. Real … something. (searching for an acceptable excuse to leave) Look, I gotta go. You’re sooooo depressing. I’m leaving before I shoot myself.

ZOPHAR: (indicating BILDAD) I’m leaving before I shoot him.

ELIPHAZ: I have tickets to a Sammy Davis, Jr. concert.

All three COMFORTERS stand around JOB and look at him sadly, one last time.

ELIPHAZ: I’m sorry we couldn’t be of more help.

ZOPHAR: Yes. We tried our best.

The COMFORTERS leave slowly. JOB puts his head down on the table in despair. BILDAD reappears around the edge of the offstage.

BILDAD: Yeah. (beat) If you change your mind about suing the Big Guy, here’s my card…

JOB: Get out.

BILDAD: Okay, but if you get injured in a car crash…

JOB: Leave! (pause) Please. (beat) I need to be alone. The words of Job are ended.BILDAD disappears, and JOB rises, staring above the audience, to ask questions of GOD.

JOB: OH, GOD! WHY HAVE YOU DONE THIS TO ME? (pause) All I demand of you … is the right to ask a question! I just want to know … Why me? Why? What did I do wrong? How did I deserve this?

Is picking your nose really that bad? Why? Why? WHY?

(long pause)

Well … I guess that’s more than one question.

Having finally exhausted the last of his strength, JOB crumples to the floor and sobs. Moments later, SATAN, wearing horns this time and holding a microphone, appears by whatever means you have the budget for. Cheesy intro/outro music.

SATAN: Hi! I’m Satan! This part of the play gets pretty boring. Lots of gnashing of teeth and wearing of sackcloth and blah blah blah. You know? In the meantime, as a public service announcement, we’re going to demonstrate what Hell is like — for those of you who started to think that Hell was a cool place full of girls like me. To start with, we’ll play some easy listening music while the stagehands will begin selling Velveeta and I bring a volunteer up from the audience to play ‘The $50,000,000 Pyramid’ with an exceptionally stupid demon.Over the PA system, Patrick Swayze’s ‘She’s Like the Wind’ or Michael Bolton’s perfectly dreadful cover of ‘When a Man Loves a Woman’starts playing. All of the stage crew appears around the audience, with handbaskets like old-time cigarette girls, full of single wrapped slices of Velveeta™ Processed Cheese Food Product. A female volunteer from the audience is selected by SATAN and invited up on stage. The music turns down a little when SATAN begins to speak again.

SATAN: Hi. What’s your name?

Volunteer gives their name.

SATAN: That’s great, (name). I hate that name. It makes me want to vomit. (pause) Anway, if you win, we promise to let you out of Hell if you ever go there. (looks at Volunteer) That seems pretty likely, considering what you’re wearing. Please meet Melchior, third Under-Demon of Beelzebub!MELCHIOR runs out, hunched over, with big, stupid-looking horns on her head, and outrageously large fangs. She should affect the mannerisms of Igor from ‘Young Frankenstein.’

MELCHIOR: What?

SATAN: Okay, (name), all you have to do to get a permanent ‘Get Out of Hell Free’ card is to get this demon to guess the word ‘fish’ … without saying the word. Ready?By this point, the stagehands are actively (and rather bad-naturedly) throwing Velveeta at the audience. Sometimes, the music turns up really loud when the Volunteer tries to speak, drowning them out, then going down again for MELCHIOR so she can be heard. The Volunteer will obviously try to give some clues. MELCHIOR’s responses should be the same, regardless of what they are.

MELCHIOR: Um … things that are minty?

MELCHIOR: Things that improve gas mileage?

MELCHIOR: ‘Doonesbury?’ Ernest Borgnine? Things that have nipples?

MELCHIOR: Are you doing the ‘Safety Dance?’

MELCHIOR: Oh! I know! Nitrogen? Wait! Spam?

MELCHIOR: Is it ‘The Pointer Sisters?’

A very obnoxious buzzer sounds. SATAN interrupts, ending the game and putting her arm around the VOLUNTEER.

SATAN: I’m so sorry … You lose! (pause) Bet you’re used to that.

MELCHIOR: Ooh! Ooh! Was it things that you can’t put in the microwave?

SATAN: As a consolation prize … we promise not to send you to Hell immediately … although we probably should. Go away now. Now, who wants to play me in a game of Yahtzee for their soul? (pause, looking at JOB, who starts to stand up now) Oops. Looks like we’ve got to get back to the play now…The easy listening music fades out, the stagehands recede, MELCHIOR lopes back offstage, and SATAN prepares to depart. The sound of wind begins to rise in the background.

SATAN: Thank you! That’s all our time for tonight! Thank you very much! Remember to smoke lots, listen to ‘Van Halen’ with Sammy Hagar, and don’t use your turn signals … and I’ll see you soon! Goodnight! You’ve been a very special audience.SATAN and her accoutrements disappear from the stage, revealing JOB, who has stood up by now, and is listening to the sound of the strongly blowing wind.

JOB: I cry out of wrong, but I am not heard; I cry aloud but there is no judgement.The wind grows louder.

JOB: Out of the south cometh the whirlwind; and cold out of the north.The wind grows increasingly loud, then softer before GOD speaks. JOB hides under the table.

GOD: Who is this that darkeneth counsel without knowledge?JOB looks up, frightened. The sound of wind blowing is scary now.

GOD: Gird up thy loins like a man; for I will demand of thee, and answer thou me.JOB, first pointing at himself in a ‘Who, me?’ gesture, then trembling, emerges. GOD appears on the platform above, in full view of the audience for the first time.

GOD: Where wast thou when I laid the foundations of the earth? 

Where wast thou when all the morning stars sang together, and all the sons of God shouted for joy? 

Hast thou walked the sea in search of its depths? 

Have the gates of death been opened unto thee? 

Hast thou entered into the treasures of the snow? 

Canst thou number the clouds in heaven? 

Doth the hawk fly by thy wisdom? ; Doth the eagle mount up at thy command?

Shall he that contendeth with the almighty instruct Him? He that reproveth God, let him answer it.

JOB: What shall I answer thee? I will lay mine hand upon my mouth.

GOD: Gird up thy loins like a man; I will demand of thee, and declare thou unto me. 

Hath thou an arm like God? Or canst thou thunder with a voice like Him?

Did you build the mountains, stone by stone? Did you write the UNIX operating system? 

JOB: That was you?

GOD: Oh, yeah. (beat) Anyway. Did you invent fire? The automatic transmission? The CD player with six-disc changer? Were you the last person in the American League to hit .400? 

JOB: I thought that was Ted Williams.

GOD: (very intimidating now) Yeah, look, whatever. The point is…

JOB: (sheepishly) You’re kind of a celestial bad-ass.

GOD: Yes! Exactly! (pause) Although I wouldn’t use the word “ass.”

JOB: But what about me?

Long pause.

GOD: What about you?

JOB: Well, uh, um, I … it’s … um…

GOD: You’re kind of a terrestrial dumb-ass.

JOB: No, that wasn’t it….

GOD: No, I mean it. You’ve got the nerve to call me — and I’m missing ‘Melrose Place’ right now — and you get the Creator of the Universe one-on-one … and you can’t even think of what to say.

JOB: But…. look. Well … you know … I’ve always been a good guy, you know … and now I’m poor and my children are dead and my wife left me … and I have braces and I think one of my rubber bands just snapped… 

GOD: So?

JOB: Well … you know … I guess … I just … I … I … I…

GOD: You want me to cure your stutter. I can recommend a good speech therapist…

JOB: No! No! (finally gets it out) I have so many questions!

GOD: You get one.Long pause.

JOB: The question is … Why?Long pause.

GOD: Because.

JOB: Because why?

GOD: Because because.

JOB: (getting upset now) Why times three!

GOD: (very calm) Because times five.

JOB: Why times a million!

GOD: Because times a bajillion.

JOB: Why times infinity!

GOD: Because infinity … plus one.

JOB: (screamingWHY DO YOU KEEP SAYING ‘BECAUSE’?!?Pause.

GOD: Because you don’t get answers from God! 

A long, serious pause.

At very best, you get some hints … which usually lead to more questions. And humanity has gotten all the hints it’s going to get for quite some time. 

I … am … everything. Everwhere. For all time. For all creation. And I don’t owe you a report card. I am the world. So you either accept this world or you don’t.Pause.

GOD: So which is it going to be?

Pause.

JOB: (sinking to his kneesI know that thou canst do everything … and that no thought can be with-holden from thee … I have uttered that I understood not … things too great for me, which I knew not. … I have hear of thee by the hearing of the ear; but now mine eye seeth thee….Anguished pause.

JOB: Wherefore I abhor myself … and repent in dust and ashes.Long pause.

GOD: (clearly uncomfortable with JOB’s misery) Whatever. (pause) Look … oh, get up … look … I gotta go. Stay out of trouble.GOD’s light begins to fade, and GOD steps out of sight. Then, just before the light dims….

GOD: And one more thing!

JOB: (suddenly hopeful for an answer to his question) Yes?

GOD: Drink more milk!

GOD’s light fades completely, leaving JOB alone. He crumples into a heap onstage. Then a voice is heard; out of the light but unmistakably GOD’s.

GOD: Aww … Goddamnit. (pause, angry now at SATAN and Himself for having let this go on so long) That’s enough of this! That’s it! It’s over.Sound of a thunderclap. A light dawns offstage and illuminates from behind WIFE, who walks back onstage, then tenderly puts her hand on JOB’s shoulder.

WIFE: Job?

JOB: Who? … Go away.

WIFE: Job, it’s me.

JOB: Forget it. I don’t want to sue anybody. And I don’t want to switch to “MCI Friends & Family.”

WIFE: Job, it’s me!

JOB turns to see her for the first time, and realizes it’s her.

JOB: Oh. (goes toward her, then stops) Why … why are you back?

WIFE: Because…

JOB: Not this again.

WIFE: Because … because I have hope. I may not have faith, but I have hope. (pause) And I love you.Long pause.

JOB: (just realizing) I … I can see you. And I can hear you. … I’m … cured.JOB is overjoyed, and he moves toward WIFE and holds her close for a minute.

JOB: Will you stay with me?

WIFE: I’ll never leave you again.

They kiss. Then, after a tender moment…

WIFE: When did you get braces?

Lights come up on the platforms of GOD and SATAN; then the lights on the stage go down, with JOB and WIFE holding each other.

GOD: So … that’s it.

SATAN: You were right.

GOD: (very smug) I always am.

SATAN: Except that time you bet me on the Super Bowl…

GOD: Look, one: that doesn’t count, and two: I think you possessed the referee.

SATAN: Okay, okay … so how does Job make out on all this?

GOD: Oh, the usual … his wife is back, and that’s the important thing. He’ll get his money back … I’ll make it a lottery ticket or something. He’ll get a new business, a new house … and this one will have hardwood floors and an attractive brick exterior.

SATAN: (genuinely impressed) Ooh.

GOD: He’ll get new kids, and they won’t be such slackers so they’ll get college scholarships and he can finally afford a Jet Ski. 

SATAN: What about the braces?

GOD: Oops. (pause) Well, in six months, he’ll have a better smile.

SATAN: And the wicked?

GOD: Oh, the three comforters won’t get it too bad … they were trying to help, after all … (pause, thinks) Oh, well, you can have the lawyer.

SATAN: So everything ends the way it should.

GOD: Yes … (pause) you know, with all this stuff about second chances and whatnot… (long pause) do you remember our great falling out?Long pause again, painful almost.

SATAN: Yes.

GOD: And do you … do you still feel the same way?

Shorter pause.

SATAN: Yeah … I’m still a die-hard Macintosh user. That Windows 95 stuff you use is garbage. And, y’know, I have a much bigger office now than you ever gave me. (pause, then slightly sadly) I think it’s all for the best.

GOD: Yes … yes, I think so.

Beat.

SATAN: You want to go out for a beer?

GOD: Hmm … perhaps. I think so.

SATAN: Come on.

GOD and SATAN walk towards each other on the overhead platform, and meet up by an exit.

SATAN: We’ve got a lot of old times to talk about.

GOD: Yes … I can order a non-alcoholic one where we’re going, can’t I?

SATAN: Sure. I’m still getting malt liquor. I know a place in ancient Mesopotamia…

GOD and SATAN walk out, side by side, still chatting, although the words cannot be heard. As they exit, the lights dim out. END.

Recommended curtain call music: “Sympathy for the Devil,” by the Rolling Stones.

Return to the index page

Odd Job: Part 3

JOB: I don’t get it. I mean, I’m a pretty good guy. I give blood. I floss regularly. I never take more ketchup packets from McDonald’s than I need. I always use my turn signals. (pause) I loved my wife and my children. I followed God’s commandments. (pause) I pick my nose, sometimes, but I don’t think that’s specificallly forbidden in the Bible.Pause, changing gears a little.

I don’t think my wife really believes. She looks at the world, and believes in things she can see, and touch. Like hardwood floors. She’s always been a great believer in hardwood floors.

But I have faith. It’s not something you can really explain. You either have the power to believe in something you can’t rationally prove — or you don’t. How can you explain that? I believe God is everything and everywhere … except for some parts of Canada.Pause.

So, I guess, I just want to know why. Why me, you know? Maybe it’s silly. A lot of people will tell you that there’s no ‘why’ to anything. 

Einstein said God doesn’t play dice with the Universe. Then again, he was the smartest man in the world, and he still couldn’t figure out to how to get a decent haircut. 

The forces of the universe pay heed to no great plan. The world is unaffected by our petty problems. Rocks, for example, seem to be particularly oblivious to news about the economy. So why should there be a reason for anythingPause.

They’re wrong. I know there’s a reason. When I held my first child, I knew there was a reason. When my wife kissed me each morning, I knew there was a reason. When I watched “Ishtar,” I wasn’t so sure anymore … but, really, I knew. So WHY?After a moment, as before, he hesitatingly walks over to the table, and picks up the Bible and the phone. JOB picks up the phone and quickly dials the number. He listens dourly, then perks up.

JOB: God? God?

Then JOB makes a realization, and starts listening then pressing buttons and mumbling to himself.

JOB: Press four for customer assistance (punches button, then listen again)… Press two to talk with the Creator of the Universe…JOB puts his ear back to the earpiece. Slowly, a light comes up on the catwalk where GOD had appeared. Again, no one is visible.

JOB: Hello! Uh-huh … uh-huh. (looking at audience, realizing they cannot hear.) Uh-huh … God, can I put you on speakerphone?JOB presses a button, and the VOICE from the other end of the phone is now audible. JOB turns and faces the audience, full front, on his knees. Heavenly choral music is heard.

VOICE: Yes, my child?

JOB: God? Is it you?Dramatic pause. Then the musiic stops abruptly.

VOICE: No … I’m one of God’s interns. He’s in a meeting right now. Can I take your call?

JOB: The Lord hath cast a blight upon me…

INTERN: This isn’t another question about, “What’s a cubit?”, is it?

JOB: No, no…

INTERN: And if it’s about wandering around in the desert for 40 years, it’s because our network is down.

JOB: No! The Lord has forsaken me! He has destroyed my life! (exasperated) The Lord hath slain all mine oxen and my sheep and my goslings … and I’m not even sure what the Hell ‘goslings’ are.Pause.

INTERN: (indignant) Are you done yet?

JOB: Uhh … yes.

INTERN: I mean, I don’t know what you expect me to do about it. I’m just an intern. (getting angry) I’m not even getting paid for this!

JOB: Look, I…

INTERN: All day it’s anoint this, smite that

JOB: Umm … can you just transfer me to Customer Service?

INTERN: (calming down now) Look … I’ll tell Him you called. (click)The light on GOD’s platform fades, and JOB turns to face the audience.

JOB: (to audience, looking as if he does not laugh, he will cry) Well, I learned something. Never call God’s toll-free technical support number. (pause) Well, that’s it. I’m officially at the end of my rope. Moving over to the table, still talking reflectively to the audience.

I’ve always been lucky. And I thought I was paying off my good fortune by being good. Now that’s all gone. Everything that meant anything to me is gone. (pause, looks at table as if noticing it for the first time, puts hand on it) Except this table. I like this table.A string is pulled on a leg, and the table breaks.

JOB: Forget it. I hated that fucking table.

The lights on the stage go out, and GOD and SATAN’s lights on the catwalks come up again.

GOD: Whence comest thou?

SATAN: From going to and fro in the earth, and up and down in it.

GOD: Hast thou considered my servant Job? There is none like him the earth a perfect and upright man, one that feareth God and escheweth evil?GOD is now speaking triumphantly to SATAN, lecturing her.

GOD: And still he holdeth fast his integrity, although thou movedst me aginst him, to destroy him without cause.Pause.

SATAN: Skin for skin, yea, all that a man hath will he give for his life. … But put forth thine hand now, and touch his bone and his flesh, and he will curse thee to thy face.

GOD: Satan, behold … he is in thine hand. (long pauseBut save his life!

SATAN: Sure thing. (pause) But this time, the gloves are off. SATAN is heard laughing diabolically. SATAN’s light fades, leaving GOD’s light alone.

GOD: You know … this may have been my least bright idea since creating ticks.

GOD’s light fades, and we see the light on JOB below come up slowly as we hear hideous screams.

JOB: Arrrrgh!

JOB falls to his knees, his head in his hands…

JOB: My eyes!

JOB touches his face.

JOB: My skin!

A second, then JOB touches his teeth.

JOB: Ewww. And I have braces. Oh, God! WHY HAVE YOU DONE THIS TO ME?JOB crumbles into a heap on the floor. He sits with his head in his hands. After a moment, silently the Comforters — ZOPHAR, BILDAD, and ELIPHAZ, each dressed with their vestments of profession — enter and sit in the other chairs. ZOPHAR carries a book titled ‘Pink Freud.’ BILDAD has a briefcase. ELIPHAZ wears whatever it is that rabbis wear. A long, awkward pause, as they figure out what to say to so pathetic a creature.

ELIPHAZ: (comical Yiddish accent) Have we come at a bad time?Long pause.

JOB: Who are you?

ELIPHAZ: We are your comforters. I am Eliphaz, the Rabbi.

BILDAD: I am Bildad, the lawyer.

ZOPHAR: I am Zophar, the psychiatrist.

JOB: What … what do you want?

BILDAD: Want? We don’t want anything. We’re here to offer you comfort in your time of need.

ZOPHAR: We’re here for you.

ELIPHAZ: We feel your pain.

BILDAD: We’re covered by your HMO.

JOB: Thank you … but I want to be alone.

ELIPHAZ: Nonsense! You have questions … we have answers. We bring to you the accumulated wealth of the world between us. Any question that man can answer.

BILDAD: Although you probably shouldn’t ask us any questions about geography. None of us are very good at that.

Nods of agreement all around. The three comforters sit down in the chairs, facing out to the audience but still obviously facing JOB, almost as if they have drawn up sides for a debating match.

ZOPHAR: Lie down and tell us your problems.

JOB: I’m already lying down.

ZOPHAR: Well, then you’ve made your first successful step toward recovery.

ELIPHAZ: Tell us what’s wrong.

JOB: (taking a deep breath) Well … my factory was blown up. My house was blown up. My money was gone. My possessions were destroyed. I was left with nothing in the world. The efforts of a lifetime were wiped clean.BILDAD begins rolling eyes, making little “blah-blah” mouth-motions with his hand.

JOB: Then my children died. Except one who married Pauly Shore. 

ELIPHAZ: What’s so wrong with that?

JOB: Did you ever see ‘Biodome?’

ELIPHAZ: No.

JOB: Of course you didn’t. Nobody did. (beat) Anyway, I was just at the part where my kids died. Can I continue, please? (pause) Then my wife left me. This left me utterly alone, without possessions, without friends, without comfort, and without reason to live.

BILDAD: (Rolling eyes) Jeez. Looks like it’s somebody’s time of the month…JOB stops, stares menacingly at BILDAD, then lies back down again.

JOB: And now my health is gone. My eyesight is failing … I’m nearly deaf … I’m covered with sores…

ELIPHAZ: Well, I guess it still could be worse…

JOB: Oh, yeah? Look at this. (points to his teeth, the others look closely) Braces.

COMFORTERS: Eyeewwww.

JOB: I just woke up this morning and they were there.

ZOPHAR: That’s awful. (pause, looking for the bright side, weakly) Well, at least it didn’t require several visits…

BILDAD: Yes, supernatural dentistry is an outpatient service now.

JOB: That’s great, but ‘The Lord is my orthodontist, I shall not want’ just doesn’t cut it right now.

ELIPHAZ: Well … it sounds like you’ve hit the end of your rope, eh?

JOB: Yes, I had that monologue a few minutes ago.Long pause, while everyone thinks of something to say.

BILDAD: So what is your question?

JOB: What is it?

ZOPHAR: Yes.

JOB: The eternal question.

ELPIHAZ: Of course there are eternal questions about the universe. Like ‘Who is “Dr. Staff?” And why is he listed as teaching so many courses?’

JOB: No! I mean, ‘Why this? Why me? Why do I have to suffer?’Long pause.

BILDAD: I take that back. Maybe you should ask us about geography instead.

JOB: I’ve lost everything. What suggestions could you possibly give me that would help?

ELIPHAZ: Well … (grasping for something) you could try Ramen noodles. Very inexpensive. And microwaveable in two minutes.

JOB: I can’t. It would stick in my braces.Pause while eveyone considers the seriousness of his situation, nodding.

ZOPHAR: Look at the big picture. We are all just pawns in this universe. The great cosmic dance goes on without us.

JOB: (seeing the flaw in his theory) Which dance is it?

ZOPHAR: Um … I think it’s the Watusi, but I’d have to get back to you on that.Another pause as the pressure is on BILDAD to come up with something profound.

BILDAD: Well, you should ride in the front seat of the car, ‘cause you get there faster.

Everyone looks at BILDAD, who realizes this didn’t go over very well and tries another tack. He gets up, strolls around, giving his great motivational speech.

BILDAD: Look. So you’re in a rough situation.(very moving and emotional now) You need to stand up for what’s yours. You need to realize that there’s a reason to go on. To believe in yourself. I’m talking to you from my heart. This isn’t some rehearsed, phony-baloney … uh … phony-baloney, um…. Damn! (calls offstage) Line!

STAGEHAND: (offstage) Phony-baloney speech.

BILDAD: Yeah. Phoney-baloney speech. You need to pick yourself up by the bootstraps and take action. I think it’s pretty obvious what you should do.

ZOPHAR: Drink? 

BILDAD: No! Sue God!Pause while everybody stares at BILDAD, who is oblivious.

JOB: Please tell me ‘Sue God’ is somebody you dated in college.

BILDAD: I’ve got it all planned out.

JOB: No, no … you can’t just…

BILDAD: No, it’s perfect! The only problem is if He turns out to be too big for the courtroom.

JOB: I don’t want to…

ZOPHAR: How does this work?

BILDAD: Well, as shown in the ruling of Ibsen versus Hildebarge, first you issue a Writ of Corpus Christi, as ruled in Boy v. Fleesem & Howe, demonstrating… 

JOB: I’m not interested.

BILDAD: Even better, God has to have a rotten defense team, due to the lack of lawyers up there!

JOB: Leave me alone!

BILDAD: Come on. I’ve got the papers to sign here. And there’s nothing God can do to stop you. Suing people is part of basic human rights.

BILDAD tries to open his briefcase. It won’t open. He smiles nonchalantly, then thumps it. He thumps it again … less nonchalantly. Eventually he is pounding it on the ground, very chalantly. After a moment of staring at him, the others resume their conversation.

ZOPHAR: We’re reasonable men. Be rational. Look at it from the post-modern perspective. There is no God.

JOB: Of course there is! The whole universe is proof he exists. How else could it have been created?

BILDAD continues struggling with his briefcase, slamming in with both hands on the ground. The he flings it offstage and runs after it

ZOPHAR: Maybe it was ordered from L. L. Bean.

The others look at him incredulously.

ZOPHAR: They have a lot of nature-oriented stuff in their catalog.

BILDAD: (offstage) If God were truly just, it would have been ordered from ‘Victoria’s Secret.’

JOB: That’s not the point!

ZOPHAR gets up, strolls around or does whatever during the following exchange.

ZOPHAR: Look. I’ll offer you proof of the non-existence of God. (dramatic pause) Polyester leisure suits. No truly loving God could have allowed that to be created.ELIPHAZ mulls this over approvingly.

JOB: Okay … okay … (thinking) Well, here’s proof of the existence of God. Chocolate Chip Cookie Dough Ice Cream.ELIPHAZ mumbles his approval, then looks back at ZOPHAR.

ZOPHAR: All right … how about against God … parking tickets?

JOB: How about for God … snow days?

ZOPHAR: Against …. alcohol-free beer.

JOB: For …. Back rubs.

In the background, BILDAD, disheveled, flings his briefcase onstage and begins jumping up and down on it.

ZOPHAR: Against … Wedgies.

JOB: For … The Beatles.

ZOPHAR: Impacted wisdom teeth.

JOB: Reruns of ‘Taxi.’

ZOPHAR: Stomach flu.

JOB: The New York Observer.

ZOPHAR: Long Island Newsday.

JOB: Cool Whip.

ZOPHAR: Sales tax.

JOB: Smelly magic markers.

ZOPHAR: New Jersey.

JOB: Emma Thompson.

ZOPHAR: The show ‘Mama’s Family.’

JOB: ‘Star Wars’ movies.

ZOPHAR: Cramps.

JOB: Dogs.

ZOPHAR: The “Achy-Breaky.”

JOB: Etch-A-Sketches.

ZOPHAR: That kid from the ‘Encyclopedia Brittanica’ commercials.

JOB: Slow dances.

BILDAD gives up, returning to the group with his still-closed briefcase.

ZOPHAR: NASCAR.

ELIPHAZ and BILDAD: Ooh. Good one.

Continue to Part Four

Odd Job: Part 2

SATAN: Actually, we’re very different. I’m much more human and emotional than God … and, as you’ve probably noticed, I’m also much better-looking.

JOB: So why are you here?

SATAN: To give you a chance to win fabulous prizes!

JOB: Really?

SATAN: Ha ha, no, no, I just love saying that. I’m here to tell you you’re getting screwed. (pause) Figuratively speaking.

JOB: By you?

SATAN: Is everything about blame to you? (beat) Well, look, partly, yeah. But, hey, it’s my job.

JOB: Why do you do it?

SATAN: I have a very nice office, two secretaries and my own fax machine. It’s not such a bad job. (pause) Look, that’s not why I’m here. I’m here to tell you there’s a way out.

JOB: If it involves switching to “MCI Friends & Family,” I’m not interested.

SATAN: No, no … Look, you’re being tested by me and … you know … to test your faith in Him.

JOB: What ever happened to the old “fill-in-the-blank-multiple-choice” way?

SATAN: Listen … the way to end this is, you just get out. Convert to Buddhism or soemthing.

JOB: But that won’t be invented for another 3000 years.

SATAN: So you’ll get a head start. That’s not the point. Be a deist or an existentialist or a French teacher or something. Invent a religion all about Taco Bell. Go around waving signs saying ‘The Atacolypse is Coming.’ Whatever. We’re testing your faith in Him. If you just stop believing in Him … or me … the question is invalidated. Then we’ll just have to find someone else to play with.

JOB: Sounds like a pretty rotten play to me.JOB and SATAN turn their heads slowly and look at the audience, then return to the scene.

SATAN: No, no, I didn’t mean it like that. But do you see? Just stop believing in God or me or any of this, and it’s finished.

JOB: But … I can’t. I can’t. I really believe in God. That’s reality. I can’t just stop believing, without meaning it. And this isn’t some 20th century angst-ridden “Can-I-reconcile-my-belief-in-God-with-the-fact-I-work-at-Blockbuster?” thing. It’s God we’re talking about. The Creator of the Universe. I mean, have you seen his resume?

SATAN: Okay, okay. I just thought that before this went any further, we should sit down and chat … you know, Princess of Darkness to Prince of Dork-ness. (sighs) I was just trying to help. (pause) In my own way. See ya.SATAN exits, either walking off, or in a cloud of smoke if you have the budget

JOB: I am having one of the strangest days.

WIFE walks onstage as JOB leaves. She is in solo spotlight … as with the other monologues in the play, it becomes obvious we have stepped ‘outside’ the normal action of the play for this. She speaks directly to the audience.

WIFE: Just between you and me, Job is the one who really believes in God. I’ve never really told him. I haven’t really talked to God since my Bat Mitzvah … for those of you Christians in the audience, that’s like a debutante ball, but without the sex in the parking lot.Pause.

My mother strongly believes in God. She’s a lot like Job. I don’t think she’s ever really asked many questions about religion. But it helps her. I remember when I was in college, and my mother asked me if I believed in God. I’ve never really needed religion. I was always too happy with the things in life I was sure were real. Myself … my children … my husband. So I don’t believe in it.

The obvious answer to the question was to tell my mother some “not-very-often-but-yes-of-course” story. Long pause.

But every good Israelite is supposed to be able to stand up for what they believe. I was an intellectual … a woman of the world … I watched movies with subtitles … why should I have lied? 

The truth will set you free, right? Right?A long, reflective pause.

“No, mom. (pause) I mean, it’s because…”

And so we argued … around and around … and, finally, I … won. My mother ran up the white flag of surrender when she finished the discussion by saying “Then just don’t tell your grandmother.”A pause, painful now.

I saw a glimmer of my mother’s doubt. Having religion gives you something. It gives you something to be secure about, to feel like you have the answer, like you have a little piece of the puzzle of life and how to live it. Losing your religion takes that away, and replaces it with this feeling like you’re smarter than everybody else … but afterwards, when nobody else is around, you ask yourself, “Okay, smart-ass, so what is the answer?” And you don’t know. 

I finally realized that making the world a smarter place does not necessarily make it a happier place. 

So … if belief is what makes Job happy … that’s something I won’t challenge. We lost everything … but we didn’t lose everyone. Our children. Each other. And maybe that’s enough.JOB comes back onstage just as the MESSENGER arrives.

MESSENGER: I have a message for Mr. and Mrs. Job.

WIFE: Is it good news or bad news?

MESSENGER: Have you ever seen ‘Waterworld?’

JOB and WIFE: No.

MESSENGER: Of course you haven’t. Nobody has. Never mind. Anyway, it’s not good.

JOB: What do you mean?

MESSENGER: Your children were all together … having dinner, catching up, being joyous and having a good time.

JOB: Yes?

MESSENGER: The roof caved in on them. And only I am escaped alone to tell thee.

WIFE: But…

JOB: I don’t understand…

MESSENGER: I know what you’re thinking. That damn cheap aluminum siding.

JOB: But what about our children?

MESSENGER: Oh, them. They’re dead.

Both JOB and his WIFE are in shock.

MESSENGER: But one of your daughters was not there.

WIFE: (hopeful) No?

MESSENGER: She was getting married.

JOB: (joyful) Really?

MESSENGER: She got married to Pauly Shore.

JOB: (falls on his knees, screams) Oh, GOD! WHY HAVE YOU DONE THIS TO ME?

MESSENGER: I suppose a tip is out of the question.

Both JOB and WIFE are heartbroken, on the verge of tears, but still too shocked.

MESSENGER: Remember the words from the Good Book. (flips open the book on the table, which has heretofore been the Bible) ‘Skokie, Illinois. 80455.’

JOB: That’s the ZIP Code Directory.

MESSENGER: Yeah, it didn’t sound real inspiring.

WIFE: Why? Why did this happen? Why us? Why?

JOB: (painfully) It must have been God’s will.

WIFE: I don’t want to hear about God!

MESSENGER: Look … if you’re curious … why not just call God and ask him?

WIFE: Call Him … on the telephone?

MESSENGER: Sure. Look him up in the Bible.

JOB: (barely believing) Where do I find how to contact him?

MESSENGER: It’s in the Book of Numbers.

Pause while everyone lets this sink in.

MESSENGER: Get it? Book of Numbers? HA HA HEE HEEE HA HA!The MESSENGER doubles over in laughter while JOB and WIFE are still griefstricken and dumbfounded.

MESSENGER: (recovering) Get it? Book of Numbers? (pause) You don’t get it. (pause, sighs, changing back to serious tone) It’s there. It’ll get edited out in a later version … and the Kabbalists will go nuts for 1500 years trying to figure it out. But it’s in there. Just call Him and ask. MESSENGER exits. JOB and WIFE look at each other silently for a moment.

WIFE: It’s all over.

JOB: It’s not over. The program says there’s about another 25 minutes.

WIFE: NO! Our lives … they’re over. We’ve lost everything.

JOB: (going to wife, trying to comfort her) It’s not over. Life goes on.

WIFE: I don’t want to live. I don’t see why we should live … if life is this.

JOB: No … no … God has a plan.

WIFE: God’s plan sucks! (almost to herself) My life is worth nothing. Why should I want to be alive?

JOB: (thinks) Did I tell you I used to smoke when I was in college?

WIFE: No.

JOB is up, walking around, addressing his wife from time to time, but really talking to the audience.

JOB: Yeah. Until I quit. You know why?

It wasn’t all those anti-smoking campaigns — ‘Smoker’s lungs: Congested. Black. Different.’ … or all of the warnings on the back of cigarette cartons — you know, ‘The Surgeon General has determined that if you’re going to smoke these, you can kiss your ass goodbye right now.’ It wasn’t that an ex-girlfriend told me it made me taste like dirty Q-Tips. (pause, reflects) You know, we broke up right after I found out she knew what dirty Q-Tips tasted like.

WIFE: (sarcasm) I’d really love to hear more about your ex-girlfriends.

JOB: (realizing he’s off-track and coming back to her) I quit because a friend of mine died. He didn’t die from smoking six packs of Luckies a day, he didn’t die after drinking three gallons of Rumple-Minze and driving off a cliff or anything. He was just sick for a long time from some stupid disease nobody had ever heard of, and then he became finally terminally deceased to death.Contemplative pause.

Death is a terribly unromantic thing. It’s not dramatic, it’s not glorious, it’s just … not. Not anything. 

So why did this make me stop?

You see, at my ripe old age of 21, I had a hard time conceptualizing all those things that would happen to me eventually: Getting married, having kids… 

JOB moves over to WIFE, touches her shoulder and her stomach.

You know, buying a station wagon, having a mid-life crisis and trying to trade the kids in for a new Suzuki, and finally while I’m on my deathbed telling everyone that I buried all this gold right over in … aaaarggggh and dying before the last word so they go crazy looking for it. 

WIFE: (reproving) Job!

JOB: (laughs to himself thoughtfully) I sorta expected it to happen, but I never really believed any of it would. Especially the “dead” part. I’d be young forever.

But time really does pass. And life is too precious to waste. 

So I quit. Aside from the obvious side effects — for three weeks, I tried to smoke my term papers — it wasn’t too bad. 

But the point is … being alive is a gift. We have to be grateful for what we’ve got. And just being alive is enough to be grateful for.

WIFE: (very earnest) Is it?They look at each other. WIFE moves to JOB, and he holds her tightly.

JOB: We just have to believe it will be all right.

WIFE: I don’t know if I believe in anything anymore.WIFE pulls slowly away from JOB, and walks offstage. JOB is left alone, addressing the audience.

JOB: If only I had some sign.

A stagehand throws an envelope onto the stage from above.

JOB: (opening it greedily, then dejectedly) Apparently, I’ve been pre-approved for a VISA Gold Card.JOB, looking none too sane at this point, walks dejectedly offstage. SATAN walks back on, with a microphone, followed by NEIBUHR and LARDBALL, who sit at the chairs away from the table, as on a talk show panel. NIEBUHR is prim, scholarly and proper with a badly-stuck-on goatee; LARDBALL should be as vile as possible.

SATAN: Hi! Today on ‘Talking with Satan,’ we’ll examine the problem of Job, and is he just a loser or what? On our distinguished panel, we have Dr. Reinhold Neibuhr, a respected theologian who’s been dead for many years so he can’t sue us (NEIBUHR waves to the audience) … and Bart Lardball, a wino we just picked up off the street. (LARDBALL makes as if to wave, then takes the can of fake string and, hiding it behind his mouth, appears to vomit on NEIBUHR)

LARDBALL: Eurrgh. Sorry there, your majesty.

SATAN: Now, Dr. Neibuhr, how would you explain the theological issues at stake here?

NEIBUHR: Well, the issue is essentially whether God is always right, or whether he’s only right sometimes, or whether it just depends if he’s got a good night’s sleep. Job is this good guy, and God decides to make his life become like poo-poo, through no fault of his own. Is it within God’s right to do this? If so, who’s going to tell him to quit it? Is it within Job’s rights to resist? Since his life is now so screwed up, could he, for example, ask God for a refund? Or can we, as humans, ever understand God? If not, are there Cliffs’ Notes available? And, finally, is this really anybody’s fault? If so — and this is the major theological question — who does Job’s insurance company have to pay? And will his premiums go up?

SATAN: Mr. Lardball, how do you respond?

LARDBALL: (pointing to girl in audience) Yeah, you in the fourth row. Hey, baby.

SATAN: Well, Dr. Neibuhr, how do would you define this struggle in ontological terms?

NEIBUHR: Well, it’s rooted in the intrusion of the theological reality into the empirical and the quantifiable. It raises many burning questions — or should I say, ‘Oxidizing?’ ha ha, funny little joke there for the lads in physics. It projects the unknowable and ineffable into the space of the material plane … thereby negating much of the Kantian positivist questions, and making Sartre look absolutely like a big idiot.

SATAN: Mr. Lardball, how do you feel about the anti-Hegelianism the doctor is expounding?

LARDBALL: Have you got any spare change? I’m down to my last bottle of ‘Night Train.’

NEIBUHR: Umm … not really.

LARDBALL: Well, this is just a guess, but I’d say a Hegelian belief in absolute spirit or Aristotelian forms negate a theological empiricism? (pause) Euurghh. (vomits on NEIBUHR)

SATAN: Well, let’s take some questions from the audience. (walks to AUDIENCE MEMBER, and points the microphone at them) What do you think?

AUDIENCE MEMBER #1: (stands) Are any of you transvestites?

NEIBUHR: No!

LARDBAG: No, but I vomit a lot.

AUDIENCE MEMBER #1: This is a talk show? With no transvestites?

SATAN: No.

AUDIENCE MEMBER #1: This sucks. I’m outta here. (leaves the theater)

SATAN: Well, (points the microphone at another AUDIENCE MEMBER) what do you think?

AUDIENCE MEMBER #2: (stands) Why aren’t there any singing cats in this? I heard there was singing cats in this play.

NEIBUHR: No.

AUDIENCE MEMBER #2: This sucks. I’m outta here. (leaves the theater)SATAN heads back onto stage and addresses the audience.

SATAN: Well, that’s all the time for this week. Join us next time when Elvis and three singing cats join us to discuss the Road to Hell, and the best ways to get there from I-95. 

SATAN, NEIBUHR and LARDBALL exit, with LARDBALL vomiting constantly on NEIBUHR. JOB strides quickly back onstage; he appears to be losing it. JOB thinks for a moment, then hesitatingly walks over to the table, and picks up the Bible and the phone. He pages through the Bible, then apparently finds what he is looking for. JOB picks up the phone, takes a breath as if he is taking a great dive into water, and quickly dials the number. He listens intently, looking as if he has just had a revelation. Then he puts the phone down.

JOB: God?

Pause.

JOB: Busy signal.After some anguished internal debate, JOB reaches into a drawer of the table and pulls out a pack of cigarettes. 

JOB: I knew our kids were hiding some of theirs around here.

He lights the cigarette. It is, of course, made of flash paper and erupts into flame and disintegrates out of his hands. JOB looks up toward heaven, then down below him.

JOB: I can’t even tell which of you did that.JOB sinks to his knees and appears ready to cry. His WIFE returns to the stage, looking grim. 

WIFE: We have to talk.

Both compose themselves for what they know will be a very serious talk.

JOB: Yes?

WIFE: I…

A DANCER, costumed in a wild parody of biblical garb, rushes on and slides into the middle of the stage.

DANCER: (sings) Oh, Jooo-seeephhhhh! Jo-Jo-Jo-Joseph with the groovy coat/Your evil brothers threw you down a moat! They took you to Pharaoh / They shaved all your hair-O…

JOB and WIFE: (simultaneously) Next door!Long pause.

DANCER: Oops. (exits)Long pause.

WIFE: I’m scared. Our lives have been … just cancelled. Like everything we ever did or worked for has vanished, it never happened. And we’re left in the ruins. We were good people … no, Job, you were perfect. You always did everything God wanted. (pause) How could this happen?

JOB: It’s God’s will.

He moves toward her, tries to kiss her comfortingly, she pulls away.

WIFE: Oh, shut up! Shut up! Don’t you hear what I’m saying? I don’t care if it’s God’s will! It’s wrong! It’s all wrong! If … if God did do this, then he’s wrong and he’s horrible and…

JOB: No, no, don’t say that.

WIFE: No, it’s awful and there can’t be a God, because if there is one and he allowed this to happen, then he’s evil! Look what He did to us! And … and you keep defending Him! Against me! Against your children! How could you do this? Dost thou retain thy integrity? Curse God and die!

JOB: No! Don’t you see, I have faith … it’s all I have. I can’t give it up now.Long pause. WIFE looks as if she has made some terrible, final decision.

WIFE: I have to go.

JOB: You can’t. The bathroom blew up.

WIFE: No. I mean I have to go. I can’t stay with you anymore. I’m so sorry. Goodbye.WIFE, overcome, turns and exits hurriedly. JOB stares after her for a moment, then sinks to his knees in despair. After a long moment, he begins to speak, addressing the audience, in solo spoltlight.

Continue to Part Three