I've been lucky enough to work and hang out with some of the co-founders of very impactful projects, such as OpenStack and Cloud Foundry, and there are so many stories I've heard that I'm sure would be insightful and valuable lessons for whomever is embarking on new ideas. And yet, we all move so fast, that there is no time to stop and write them down.
I'm glad BK did. UNIX is foundational to essentially all software-driven technology today, in one way or another. His book (along with Dennis Ritchie) on the C Programming Language made a huge impact for me as a CompSci student in the 80s, as did UNIX itself (Ultrix and DG/OS were my fist UNIX variants).
I look forward to read his book.
https://multicians.org/myths.html
> 1. Myth: Multics failed in 1969. Bell Labs quit, Multics survived.
Now that we can use Multics about as easily as we can use Ancient Unix versions under emulation, you can spin up a perfectly functional 1980s-era Multics and see that, no, really, Multics evolved into something you can do stuff on.
That's the problem with narratives: They're both inevitable and inevitably limiting, narrowing the focus to what makes a comprehensible story as opposed to a day-by-day list of what happened. Humans create narratives as naturally, and as unavoidably, as breathing, but we have to be aware of what they do to our comprehension of history.
Since history belongs to winners, if it wasn't for the accessibility of old conference papers and computer manuals, that would be indeed the only one we had to believe on.
[0] https://en.wikipedia.org/wiki/Wollongong [1] https://en.wikipedia.org/wiki/Royal_National_Park
They have an excellent YouTube channel with thousands of hours of interviews with important people in the industry. They posted an interview with Brian Kernighan last week.
I try and keep the following in mind (even when my ego fights it).
(A) I am very unlikely to be the smartest person who's ever thought about a problem. (B) Even if their technology differed, some parts of their approach are useful. (C) Clues and references pop up in the oddest places, so ears open and notepad ready. (D) Accept references graciously, in the spirit of a gift. (E) Name dropping historical references without providing actual context is always in poor taste.
Why do you feel this way? ACM has had a History of Programming Languages conference since the late 70s where the well known History of Lisp paper was presented. All sorts of popular accounts are, well, popular. Soul of A New Machine was published in '81, Hackers in '84, Accidental Empires in '92, just as a few examples off the top of my head.
I see it from the perspective of someone working at a fast-moving, Silicon Valley-based software vendor. In that context, I don't see a lot of appreciation for history, in the day-to-day basis.
But it's not because people intrinsically don't care about it. It's more about our daily lives. We not only have to do what we all have to do, but we also have to keep up with the latest if we want to survive here. That line of thinking constantly pushes us forward, and doesn't reward looking at the past.
If history exists, but nobody reads it, then are we not still lost?
Glad it has finally arrived!
FWIW Chris Harrison (https://www.researchgate.net/profile/Chris_Harrison2) taught a compulsory history of computing class at UMIST in the UK when I was there in 1999-2003. This seems pretty unusual, especially now that I live in the US and understand more about how universities work here.
If you'd care to learn some real history, I suggest you read The UNIX-HATERS Handbook: http://web.mit.edu/%7Esimsong/www/ugh.pdf
With this book, you'll learn that UNIX and C are nothing admirable and have actually been responsible for successfully destroying much better systems and languages in the popular eye; languages including Lisp, APL, Simula, ALGOL, Smalltalk, and Forth all existed before C; systems such as ITS and Multics addressed concerns UNIX users still suffer under today.
Make no mistake, for all of RMS' admirable qualities, he's basically responsible for UNIX proliferating by copying it for GNU. You also shouldn't look at your modern BSD or GNU system and think this is what UNIX users used decades ago, because for all of their faults, GNU and BSD actually try to produce programs which work correctly and GNU goes much farther than several of the BSDs in this respect. The UNIX attitude is one of getting half the job done and leaving it at that.
In closing, UNIX has no philosophy. The UNIX philosophy is simply brand-named simplicity. The ideas of modularity and simplicity predate automatic computing and recorded history, and yet people will claim you're following UNIX if you write a program which adheres to these basic ideals. Further, those other qualities of this philosophy result in programs that aren't modular, simple, nor beautiful.
Blaming (or crediting, however you want to think about it) GNU for proliferation of Unix is anachronistic. RMS has repeatedly said he doesn't care for the design of Unix, but he chose it for the ease of implementation. GNU wasn't even bootable as a stand-alone OS before 1990s and certainly not production ready until Linux was. Using GNU utilities in proprietary Unices was popular, at least since the 90s, but I never heard anyone consider them a "killer app" for Unix.
Computing is absolutely full of widely deployed working technologies that enable people to get work done all day but that have rough edges. For every one of these, there is somebody saying that you should use <pet technology> instead. Usually with missionary levels of zeal. And yet at no point do they seriously address why people might have good reasons for adopting the allegedly inferior solution.
RMS worked on EmacsLisp.
I agree. At the same time, unless you immerse yourself in oral tradition and try to assemble a picture of the diversity of what was going on from it, it's hard to get a sense of what has happened on a scale larger than a particular community, and sometimes not even then.
I occasionally think about trying to write a one volume history of computing.
> UNIX is foundational to essentially all software-driven technology today, in one way or another.
Except Windows, which comes from VMS, which predates Unix. And SQL, which comes from IBM mainframe land. I could probably come up with a few more, but it's late and I'm tired.
Unix was in development in 1969, had a manual released inside AT&T in 1971 and was announced publicly in 1973. The first source license was sold in 1975.
VMS was released in 1977 as VAX/VMS on the VAX series of computers. Before VMS the DEC hardware ran various other operating systems such as RSX-11, TOPS-10, and optionally AT&T Unix (which was developed on the PDP series, first the PDP-7).
We appreciate history far too much. Unix is holding computing back, and it needs to go. It served its purpose, but it's done. It represent very few of the things that are important to computers in 2019, and it actively hinders many of them.
Unix needs be respectfully let to go into retirement, and new things given a chance to replace it finally.
That is British-grade understatement right there. :)
If we take ENIAC [0] as the first computer (1945), then our industry is 74 years old. Let’s compare this with another tech industry – the aviation industry. The Wright brothers flew in 1903 [1]. 1903 + 74 = 1977.
I was a kid in the 1970s, fascinated by aerospace and aviation. There was a massive amount of aviation history around (I still have some of the aviation history books I bought then). So I think there has been plenty of time for the history of computing to appear. Even if we added another 15 years to shift the start of the history of computing (software engineering) at the development of COBOL [2] (approx the same as FORTRAN or LISP), there has still been a lot of time.
So I don’t think it’s industry youth / age alone.
[0] https://en.wikipedia.org/wiki/ENIAC
Recently I discovered the AT&T history channel, with this gem: https://www.youtube.com/watch?v=tc4ROCJYbm0
There is a massive difference in appearance and clarity between him and the other people appearing in that video, even the "presenter"...
I go back to this video every once in a while ever since I discovered it a few years ago. I just think it is super relaxing. When I first watched it, I was beginning to use Linux and, when I opened my terminal emulator, I was like: "It's a Unix system, I know this!" The pipelines explanation was incredibly clear.
I also love the Computerphile episodes with professor Kernighan.
-----Original Message----- From: Brian Kernighan <bwk@cs.princeton.edu> To: Mike Russo <mike@papersolve.com> Subject: Re: please publish ebook of Unix memoir!! Date: Mon, 28 Oct 2019 11:12:48 -0400
Mike --
I have just uploaded a Kindle version, but it has to go through Amazon's approval, which could take a day. I also can't see a preview on a physical device, so I have no idea whether it will actually look right. If it doesn't, I'll have to pull it and figure out an alternative.
Brian K
On Mon, 28 Oct 2019, Mike Russo wrote:
if you get an ebook of it out there it will sell even more!! and thanks for writing it!
--
Michael Russo, Systems Engineer PaperSolve, Inc. 268 Watchogue Road Staten Island, NY 10314 Your random quote for today: ..you could spend all day customizing the title bar. Believe me. I speak from experience. -- Matt Welsh
Australia: A$11.99 [my local site] https://www.amazon.com.au/dp/B07ZQHX3R1/
or US$8.20 https://www.amazon.com/dp/B07ZQHX3R1/
vs printed book US$18 https://www.amazon.com/dp/1695978552
I own and have read his following books and they were all superb!
The Go Programming Language
The Practice of Programming
The C Programming Language
The AWK Programming LanguageBrian Kernighan mentions in the book that awk provides "the most bang for the programming buck of any language--one can learn much of it in 5 or 10 minutes, and typical programs are only a few lines long" [p. 116, UNIX: A History and Memoir]. Also keep in mind Larry Wall's (inventor of Perl) famous quote/signature line: "I still say awk '{print $1}' a lot."
More background on awk from Brian Kernighan in a 2015 talk on language design: https://youtu.be/Sg4U4r_AgJU?t=19m45s
In a way, awk, like sed, cut(1), paste(1), comm(1) is closer to the original Unix design philosophy of pipeline composition of simple, single function tools. cut, paste, and comm are simple, single function. sed is programmable, and awk even more so, but they're still optimized for being used in pipelines. Perl still has lots of options designed for pipeline usage (-p, -n, -a, -0, -F), but was always capable of doing general purpose programming, and python is primarily general purpose programming.
Personally, I've never learned sed, cut, paste, or comm; the only traditional text processing tools I use are sort & uniq. I know awk, but the one time I wanted to use it in the last 5 years in an official script, I was shouted down by confused youngsters. I use perl for one liners, and python for any nontrivial scripting.
I once wrote code with curl, awk, sed, jq, xargs and in less than 30 lines implemented something that would have taken about 200 lines of go code. I did it too in less than an hour when I was told it would take a day. It was urgent and I needed the result fast.
There are different kind of hammers, different kind of nails and screws. Know your tools, use them when it's called for. You can use a wrench as a hammer, doesn't make it a great one.
For a long while I maintained a program that took the compiler output (intermediate form) from one toolchain, and converted it to another (intermediate form).
Why awk? It was faster, and more readable, than any of the alternatives, whilst being much much shorter.
Youtube-dl and awk to grep out of a YouTube channel.
If I were doing it again I would use youtube-dl -o to just print the base64, instead of "manually" renaming it to that with ls>awk:mv>sh.
Database Internals, Snowden book, Algorithms book, BPF Performance tools, Your Linux Toolbox, The Go Programming Language, The Pragmatic Programmer, Quantum Computing, A Programmer's Introduction to Mathematics, An Elegant Puzzle
I had to go up to page 14 of the items list to find all of the items you listed and to find the wire-type soldering iron tip cleaner.
Edit: Took out unneeded snark. It seems I fell prey to Amazon algorithms.
I only see these items plus another cooler and a Macbook stand.
It's basically a fancy version of those metal pot scourers for cleaning the burnt bits off, but without damaging the metal plating on the tip.
Amusingly, Alexa notified me when it arrived, and the notification was "Your purchase UNIX has arrived."
Source: A friend of mine who has been trying to get onto the NYT best seller list.
I can’t remember a single mainstream title that hasn’t had an ebook version for preorder and first day sales. This includes “Bad Blood”, “Super Pumped”, and “Catch and Kill”.
I have stopped buying paper books over past several years as they simply accumulate moisture and mould in the climate I live in and make rooms smell musty. It is incomprehensible to me why primarily textual books would be published without and ebook version these days.
I highly recommend hitting up a Vintage Computer Festival if you've got the opportunity (http://vcfed.org/wp/festivals/). Not only did Kernighan and Thompson speak, but also Joe Decuir of Atari & Amiga fame.
On that note, this post reminds me of another great book (eye-opener of sorts) that I read a while ago that takes the reader through the history of some important milestones in hardware and software https://www.amazon.com/Computer-Book-Artificial-Intelligence...
After I read this, I was surprised to learn that the concept/ideas which seem very recent because of the interest/research around it have actually been around for a long time. For instance, I learnt that "Secure Multi Party Communication" has been around since 1982, Verilog since 1984, AI Medical diagnosis since 1975.
While the story/writing is interesting, like most self-published titles this book needs some professional layout/editing help. The second and sixth pages of chapter 1 are full page Google Maps of central NJ and Google Satellite view of Bell Labs. Eeek.
This may also be why there is no Kindle version yet. Many pages have full-color images and would need significant changes for a decent Kindle reading experience.
like, that's all books on Amazon US
The book is a great read otherwise!