Another hero gone. Dennis and I spoke a few times, did a lot more in email,
and none of that was because he knew me or who I was (I wasn't anyone except
someone who liked Unix).
Rather go on and on about what little interaction I had with Dennis, I'll
give you my Unix "aha" moment. You'll probably think it is stupid but it
was an epiphany for me.
A long time ago, I was ...!uwvax!lm and the University of Wisconsin had
a VAX 11/750 called slovax. slovax had the 4.x BSD source code on it and
somehow I wangled an account there. I spent a _lot_ of hours reading
the source.
One day I was reading libc source and got to popen(). Holy shit, popen()
forks a sub process! What a cool way to do it (not that I had in mind
any other way to do it, it just never occurred to me that you'd create
a new process in a library routine). I was expecting some magic that
I just wouldn't understand (having spent a bunch of time looking at
context switch assembly, I was just prepared for something like that).
The simplicity of popen() was an aha moment for me, there have been a
bunch of others, that was the first.
Thank you Dennis and Brian and Ken and Joe and Doug and all the others
who not only built this stuff but also took the time to document it so
well.
And thanks for the smallness:
work:/home/unix/v7 find . -name '*.[chly]' | xargs cat | wc -l
168881
168K lines of code for a kernel, a compiler, assembler, debugger,
profiler, awk, make, cron, roff (I love roff), diff, grep, ed, f77, lex,
lint, yacc, m4, tar, even uucp.
Are you kidding me? All that in 168K lines? We make a source management
system, a good one, but it's bigger than that. The Unix guys kick our
butts.
RIP, Dennis, a very nice man as well as gifted.
--
---
Larry McVoy lm at
bitmover.com http://www.bitkeeper.com