FYI: The Unix philosophy - the rest of the story

Jon 'maddog' Hall maddog at li.org
Tue Feb 10 08:42:11 EST 2009


>From _The UNIX Philosophy_ by Mike Gancarz (a member of original X
>window system team):

Two stories about Mike:

Story 1:

Mike was a young engineer, new to Digital's X programming group.  We had
shipped a version of the X Window system in ULTRIX based on X Version
10.3, and were now gearing up for the version based on X Version 11.

He designed and coded the "uwm(1)" window manager for X11.  It followed
the "xwm(1)" window manager that came from MIT.  One of the things that
Mike wanted to do with uwm was to make it easy for people to tailor the
actions through a start-up file.

He thought about hand-coding a lexical analyzer and parser by hand, but
instead decided to see if using lex(1) and yacc(1) might produce code
that was faster and more maintainable in the long run.  He went the
second route, and we all believed (and believe to this day) that while
Mike might have been able to code a start-up file parser that would be
faster, the lex and yacc version was "fast enough" (even on a 1 MIPS
CPU) that the maintainability won out.

>From that point on people started listening to this quiet young man.

Story 2:

It was a couple of years later, late in 1991, and DECUS (Digital
Equipment Corporation User's Society) was having its meeting in Anaheim,
California.  One of the highlights of having the meeting in Anaheim was
going to Disneyland at night, after the park had closed for regular
customers.  Even though it was winter, and a lot of the rides and
concessions were closed, the fact that a park designed for 100,000 to
200,000 people a day was now handling 15,000 people meant there were no
lines anywhere.

A group of people called the ULTRIX Partners (later to be re-named the
UNIX Partners) were made up of support people from the field.  Pre-sales
and post-sales technical people who had decided that this interesting
operating system call "UNIX" was something they wanted to work on,
rather than VMS, RSTS, RT11, RSX or any of the plethora of operating
systems that Digital supported.

During the night we had gotten tired of going to Tomorrow Land and
(Later) riding the Pirate ship, and we sat down in Frontierland.  I
remember that a friend of mine, Fred Avolio, had purchased a Davey
Crocket Hat.  While we sat there and talked, I asked the question:

"Why do you like UNIX?"

It struck people as a little strange, because I was very well known as
being a UNIX advocate, so why was I asking the question?  I explained
that I wanted people to THINK about why they liked UNIX.

One by one they started talking about pipes and filters, how they all
went together, the fact there were many small programs that did things
they really wanted to do, and many other factors.

We went back to work the next week, and we continued this talk by email.
Eventually it got turned into a talk at the next DECUS called:

"Creating Programs for the Unix Environment: Or 'The Banker's Son and
the Breakdancer'" by Fred Avolio, Jon Hall, Roger Masse and Marcus Ranum
I have a paper copy of this talk in front of me, written and produced
using troff(1), complete with penciled "addendums".

The slides were titled:

o Let's Get Small
o Keep It Simple
o Use and Build (New) Tools
o Terse Commands
o Consistancy of Command-Line Arguments  [O.K., we did not have
real-time spell checkers then]
o fork(2) and exec(2) to Create Parallelism
o Use Flat ASCII Files
o STDIN/STDOUT/STDERR
o Error Handling
o Avoid Interactive Commands and Captive Human Interfaces
o Keep Normally Uninformative Files Hidden
o Allow User to Tailor their Environment
o Write In a Portable Language
o Write In Layers
o Use Engines [lex, yacc, awk(1), pic(1), eqn(1), tbl(1)]
o Notable Thoughts

The last slide had three main bullets:

o If you want it to go faster, you get a bigger (faster) CPU
o "I have seen to miracles in my life: nuclear fusion and compound
interest." - Albert Einstein
o "Good programmers write good code; great programmers 'steal' good
code" - Mike Gancarz

To illustrate this last point, there was one more person at DECUS that
December night as the ULTRIX Partners talked about why we liked UNIX.
It was the same engineer who had written the uwm window manager, and he
did not contribute a lot of ideas to that discussion that night because
he was too busy scribbling down notes on a piece of paper.

Later, when Mike had written and published his book "The UNIX
Philospophy", he gave me an autographed copy.

And now you know the REST of the story.

md
-- 
Jon "maddog" Hall
Executive Director           Linux International(R)
email: maddog at li.org         80 Amherst St. 
Voice: +1.603.672.4557       Amherst, N.H. 03031-3032 U.S.A.
WWW: http://www.li.org

Board Member: Uniforum Association
Board Member Emeritus: USENIX Association (2000-2006)

(R)Linux is a registered trademark of Linus Torvalds in several
countries.
(R)Linux International is a registered trademark in the USA used
pursuant
   to a license from Linux Mark Institute, authorized licensor of Linus
   Torvalds, owner of the Linux trademark on a worldwide basis
(R)UNIX is a registered trademark of The Open Group in the USA and other
   countries.




More information about the gnhlug-discuss mailing list