From mboxrd@z Thu Jan 1 00:00:00 1970 From: lm@bitmover.com (Larry McVoy) Date: Mon, 27 Jun 2011 17:26:31 -0700 Subject: [TUHS] Ideas for a Unix paper I'm writing In-Reply-To: <20110628001140.GA23711@minnie.tuhs.org> References: <20110628001140.GA23711@minnie.tuhs.org> Message-ID: <20110628002631.GC26343@bitmover.com> On Tue, Jun 28, 2011 at 10:11:40AM +1000, Warren Toomey wrote: > Anyway, if you can think of good ideas/references about the elegance of > Unix, especially from the design perspective, I would much appreciate them. This may just be me getting old or something, but here's a story that lead to an aha! moment for me. Long winded, so let me go get a glass of wine... I was an undergrad and a grad student in CS at the University of Wisconsin- Madison, a school that contributed a bit to Unix dev, especially 4BSD series. It took me a while but eventually I got a login on an 11/750 named slovax which held the sources. As a nerd, I spent a lot of time just reading the sources. I really didn't know shit, I had read K&R so I could do hello world as good as the next guy but I was trying to move on. I had not yet read Rochkinds book, that would have helped but it came later (for me at least). I did not just read the kernel, I read libc, wandered through all of that stuff. Had some aha's when I say varargs, but the big one for me was popen(). I was so naive it just had never occurred to me that a library call would create a new process to do your bidding. I didn't have a mental model as to how it should work, I just knew popen() did something, but when I read the (small) amount of could I was stunned. To me it was really cool, it changed how I thought about programming. popen() is a pretty elegant combining of the kernel interfaces to make a very useful interface. I have to believe that others here had similar (and better) aha moments, maybe a series of those would make a nice appendix or something? Good luck with the paper, writing is hard, if you run out of reviewers I cna try and find some time to make comments if that helps. -- --- Larry McVoy lm at bitmover.com http://www.bitkeeper.com