Linux is Boring, or Saved by the Slack

I've always thought that Linux would be less popular with hard-core
geeks once it became mainstream - that the initial attraction was
Linux's unpolished installation and configuration, how it let you
get your "hands dirty". I started with Red Hat Linux back in 1995,
and spent many long nights configuring and tweaking to get a usable
system. The thrill was in the learning. I've recently found myself
bored with Linux, I think mainly for the reason that there is no
challenge anymore, no sense of accomplishment. Much of the user
experience is now hidden beneath layers of graphical abstraction. I
certainly do appreciate this, and use Ubuntu myself on my work
boxen, as there are times you just have to get stuff done. But I
still like to tweak and fiddle. There are also times when things go
wrong, and simplicity rules.

So I've been spending time with some less-than-mainstream operating
systems, like the various BSD's and Slackware Linux [0] in
particular. I recently installed Slackware 12.2 [1] on an old
laptop. I haven't used Slackware in quite some time, and I find
myself appreciating certain things about it. For example, the text-
based installer initially dumps you into a root shell, and
partitioning is done using cfdisk before the installation proper.
Makes perfect sense to me, cfdisk is a tool meant to partition
disks, and it does that one task quite well. Why re-invent the wheel
and add partitioning to the installer? That would make it more
complex and prone to error, as well as harder to maintain. It's the
one-tool-one-job philosophy Unix is known so well for.

The package management tools are another notable part of Slackware
for their deliberate lack of dependency tracking. This isn't as bad
as it sounds. The Slackware philosophy is that a basic installation
should give you everything you need to be productive with a desktop
or server system - the recommended full installation uses about 4GB
of disk space. This is in stark contrast with other operating
systems that give you a very minimal install which can be added to
as needed. Dependency tracking is pretty much a necessity in these
minimal systems. In any event, if you prefer minimalist window
managers like IceWM or fluxbox, and work in a shell more than not,
dependencies won't impact you much. You'll also have a degree of
control over your system that you won't have with the complex
package managers, at the expense of up-front configuration time.

The lack of Pluggable Authentication Modules (PAM) was another thing
about Slackware that surprised me - I assumed every Linux distro
used PAM nowadays. I've long disliked PAM - as a sysadmin, I have
found it complex, hard to administer, and prone to security problems
[2]. Kudos to Slackware for not caving to peer pressure and
switching to it (OpenBSD is another OS that forsakes PAM). This is
the relevant quote from Patrick Volkerding, Slackware's creator:

"If you see a security problem reported which depends on PAM, you
can be glad you run Slackware. I think a better name for PAM might
be SCAM, for Swiss Cheese Authentication Modules, and have never
felt that the small amount of convenience it provides is worth the
great loss of system security. We miss out on half a dozen security
problems a year by not using PAM, but you can always install it
yourself if you feel that you're missing out on the fun. (No, don't
do that)" [3].

Common sense dictates that simpler will be more secure, but also
more stable, and so far that seems to be true with Slackware. For
now, I can enjoy learning (or re-learning what I had forgotten) my
OS again.

[0] http://www.slackware.com
[1] http://www.slackware.com/announce/12.2.php
[2] http://lwn.net/Articles/3322/
[3] ftp://ftp.slackware.com/pub/slackware/slackware-8.1/ChangeLog.txt