xx Preface
Deficient by Design
The original Unix solved a problem and solved it well, as did the Roman
numeral system, the mercury treatment for syphilis, and carbon paper. And
like those technologies, Unix, too, rightfully belongs to history. It was
developed for a machine with little memory, tiny disks, no graphics, no
networking, and no power. In those days it was mandatory to adopt an atti-
tude that said:
- “Being small and simple is more important than being complete and
correct.” - “You only have to solve 90% of the problem.”
- “Everything is a stream of bytes.”
These attitudes are no longer appropriate for an operating system that hosts
complex and important applications. They can even be deadly when Unix
is used by untrained operators for safety-critical tasks.
Ironically, the very attributes and design goals that made Unix a success
when computers were much smaller, and were expected to do far less, now
impede its utility and usability. Each graft of a new subsystem onto the
underlying core has resulted in either rejection or graft vs. host disease with
its concomitant proliferation of incapacitating scar tissue. The Unix net-
working model is a cacophonous Babel of Unreliability that quadrupled the
size of Unix’s famed compact kernel. Its window system inherited the
cryptic unfriendliness of its character-based interface, while at the same
time realized new ways to bring fast computers to a crawl. Its new system
administration tools take more time to use than they save. Its mailer makes
the U.S. Postal Service look positively stellar.
The passing years only magnify the flaws. Using Unix remains an unpleas-
ant experience for beginners and experts alike. Despite a plethora of fine
books on the subject, Unix security remains an elusive goal at best. Despite
increasingly fast, intelligent peripherals, high-performance asynchronous I/
O is a pipe dream. Even though manufacturers spend millions developing
“easy-to-use” graphical user interfaces, few versions of Unix allow you to
do anything but trivial system administration without having to resort to
the 1970s-style teletype interface. Indeed, as Unix is pushed to be more and
more, it instead becomes less and less. Unix cannot be fixed from the
inside. It must be discarded.