7 ms·
The Unix-Haters Handbook (1994) [pdf]
- tomhow 1y agoDiscussed a little, previously... The Unix-Haters Handbook (1994) [pdf] - https://news.ycombinator.com/item?id=40110729 https://news.ycombinator.com/item?id=40110729 - April 2024 (87 comments) The Unix-Haters Handbook (1994) [pdf] - https://news.ycombinator.com/item?id=38464715 https://news.ycombinator.com/item?id=38464715 - Nov 2023 (139 comments) The Unix-Haters Handbook (1994) [pdf] - https://news.ycombinator.com/item?id=31417690 https://news.ycombinator.com/item?id=31417690 - May 2022 (86 comments) The Unix-Haters Handbook (1994) [pdf] - https://news.ycombinator.com/item?id=19416485 https://news.ycombinator.com/item?id=19416485 - March 2019 (157 comments) The Unix-Haters Handbook (1994) [pdf] - https://news.ycombinator.com/item?id=13781815 https://news.ycombinator.com/item?id=13781815 - March 2017 (307 comments) The Unix-Haters Handbook (1994) [pdf] - https://news.ycombinator.com/item?id=9976694 https://news.ycombinator.com/item?id=9976694 - July 2015 (5 comments) The Unix Haters Handbook (1994) [pdf] - https://news.ycombinator.com/item?id=7726115 https://news.ycombinator.com/item?id=7726115 - May 2014 (50 comments) Anti-foreword to the Unix haters handbook by dmr - https://news.ycombinator.com/item?id=3106271 https://news.ycombinator.com/item?id=3106271 - Oct 2011 (31 comments) The Unix Haters Handbook - https://news.ycombinator.com/item?id=1272975 https://news.ycombinator.com/item?id=1272975 - April 2010 (28 comments) The Unix Hater’s Handbook, Reconsidered - https://news.ycombinator.com/item?id=319773 https://news.ycombinator.com/item?id=319773 - Sept 2008 (5 comments)
- microtonal 1y agoAs an aside: Hacker News is getting old, the 2008 discussion is closer to the book’s year (1994) than it is to now.
- cperciva 1y agoI just realized that my most famous comment on HN is the same age as I was when I won the Putnam.
- assimpleaspossi 1y agoA sobering thought is that, when Mozart was my age, he had been dead for two years.--Tom Lehrer
- tptacek 1y agoSmooth, Colin. :)
- dang 1y agohttps://news.ycombinator.com/item?id=45045535 https://news.ycombinator.com/item?id=45045535
- cm2187 1y agoAnd for the millennials: compare the distance between your birth and ww2 vs your birth and now!
- gunnihinn 1y agoThanks, I hate it.
- darkwater 1y agoI was exactly thinking this the other day while running and seeing an old, rusted lamp post in a rural street: "this was probably put there over 50 years ago, in the early seventies", and then thought at things from "over 50 years ago" when I was a child and well, WW2 was in its making. I don't know while I thought that but that's probably also a sign of our age: WW2 was the biggest thing "from the past" that our families lived or were touched more or less directly.
- cm2187 1y agoBut also ww2 is this black and white thing from our history books. As we get older we get to know more about how recent and relevant it is, we met people who lived it and told us about their actual experience. But it still feels like something that belongs to history rather than a recent event. That's kind of the "anything that happened before my birth I don't care" attitude of today's teenagers.
- simonh 1y agoI'm a Brit born in 66, and growing up I felt that WW2 was recent history. War films were a dominant genre in my early life, we visited the German defences on the French coast while camping as a teenager along with my Grandfather, who served there and visited some locations he remembered. Some buildings still had war damage. In many ways the world of the 70s felt closer to the war era than to nowadays. It was still the cold war, and that was just an extension of the post-war stalemate.
- 1y ago
- JdeBP 1y agoAnyone who thinks that that is a lot should see how much it, and of course the mailing list, were brought up on Usenet in the 1990s. (-:
- floren 1y agoI've always liked the end of the anti-foreword: > Here is my metaphor: your book is a pudding stuffed with apposite observations, many well-conceived. Like excrement, it contains enough undigested nuggets of nutrition to sustain life for some. But it is not a tasty pie: it reeks too much of contempt and of envy.
- EarlKing 1y agoYou forgot the last bit: "Bon appetite!" Definitely the politest way anyone has ever been told to eat shit in human history.
- B1FF_PSUVM 1y agoProps for the inclusion of that in the book. "Mighty white of them", as they used to say in Bechuanaland.
- echelon_musk 1y agoMy first instinct was that this phrase is racist, especially with you saying it was used in an ex-British southern African colony. This was the best I could find as to its origins: https://boards.straightdope.com/t/where-did-thats-mighty-white-of-you-come-from-and-what-does-it-mean/145841/3 https://boards.straightdope.com/t/where-did-thats-mighty-whi...
- B1FF_PSUVM 1y agoRelax, the past is a foreign country, they do things differently there. And so's the future - probably next century we'll be looked down upon as sad sacks of shit who didn't have the decency to get our weights into clean silicon.
- cyberax 1y agoI want to write a systemd haters handbook. Like: 1. You start and stop services with 'systemctl start/stop nginx'. But logs for that service can be read through an easy-to-remember 'journalctl -xeu nginx.service'. Why not 'systemctl logs nginx'? Nobody knows. 2. If you look at the built-in help for systemctl, the top-level options list things like `--firmware-setup` and `--image-policy`. 3. systemd unifies devices, mounts, and services into unit files with consistent syntax. Except where it doesn't. For example, there's a way to specify a retry policy for a regular service, but not for mount units. Why? Nobody knows. (To be clear, I _like_ systemd. But it definitely follows the true Unix philosophy of being wildly internally inconsistent.)
- bionsystem 1y agoSystemd got better with time and I got better with it over time, which makes it acceptable for me now. I still miss SMF from Solaris years later though. I'm sure there are better systems out there but when the ubiquity is not there it's really hard to adopt them especially in corporate environments. And then you have to learn 2 things if you want to use something else at home, which is already too much for me...
- Bluecobra 1y agoI also liked SMF as well, but I do admit I “cheated” by using a website to make the XML service manifests.
- dotancohen 1y agoI would like to subscribe to your newsletter... no but really if you ever do get around to writing that I want to read it. Ping me somehow, my Gmail username is the same as my HN username. Happy writing!
- kloud 1y ago+1 I think such writing would find its audience. What I would like to see is something that is to systemd what PipeWire is to PulseAudio. Before PulseAudio getting audio to work properly was a struggle. PA introduced useful abstractions, but when it was rolled out it was a buggy mess. Eventually it got good over time. Then PipeWire comes in, and it does more with less. The transition was so smooth, I did not even realize it I had been running it for a while, just one day I noticed it in the update logs. systemd now works well enough, but it would be nice to get rid of that accumulated cruft.
- epilys 1y agoThe only book I have that came with a barf bag. More books should do this.
- coreyh14444 1y agoAs someone in the midst of transitioning to Linux for the first time ever, the thing is: I still kinda hate Unix, but my AI friends (Claude Code / Codex) are very good at Unix/Linux and the everything is a file nature of it is amenable to AI helping me make my OS do what I want in a way that Windows definitely isn't.
- pjmlp 1y agoOn UNIX the "everything is a file" quickly breaks down, when networking, or features added post UNIX System V get used, but the meme still holds apparently. If you want really everything is a file, that was fixed by UNIX authors in Plan 9 and Inferno.
- dark-star 1y agoYeah, I was really confused when I learned that every device was simply a file in /dev, except the network interfaces. I never understood why there is no /dev/eth0 ... That was back in the mid-90s but even today I still don't understand why network interfaces are treated differently than other devices
- simonh 1y agoIt's probably because ethernet and early versions of what became TCP/IP were not originally developed on Unix, and weren't tied to it's paradigms, they were ported to it.
- MisterTea 1y agoPlan 9 does exactly this but all networking protocols live in /net - ethernet, tcp, udp, tls, icmp, etc. The dial string in the form of "net!address!service" abstracts the protocol from the application. A program can dial tcp!1.2.3.4!7788 or maybe udp!1.2.3.4!7788. How about raw Ethernet? /net/ether1!aabbccddeeff!12345. The dial(2) routine takes a dial string and returns an fd you read() and write(). Very simple networking API.
- mixmastamyk 1y ago
- swatson741 1y agoThey certainly came up with a lot of good one-liners for this book. I wonder why Dennis Ritchie was so infuriated though. He criticizes them for wanting simple functionality, but it's not because language is a powerful tool for solving problems it's because it limits the potential of the platform to it's functionality (which has been simplified and in of itself limited). So this is confusing to me. Using language to solve problems is the advantage that Unix offers. But, neither the authors nor Dennis care about this? Or they do care in limited ways, but ultimately it's about something else?
- awesome_dude 1y agoThous shalt not write criticisms of a demigod!
- swatson741 1y agoHe's more like a juggernaut talking thru people than a demigod leading mortals imo.
- justin66 1y agodr wasn't infuriated. He would not have written a funny forward for them if he were.
- ChrisMarshallNY 1y agoHuh. I forgot Don Norman wrote the foreword.
- modeless 1y agoAnd "Worse is Better" was published here too? I don't know how anyone decided it was a good idea to make this, but I'm glad they did.
- ferguess_k 1y agoAs a side point, I believe David Cutler, the venerable OS engineer who programmed and designed three OSes, did not like Unix very much back in the 90s. I wonder what was the reason, and did he change his mind later?
- JdeBP 1y agoIt was because adding one to each of the letters in UNIX yields gibberish, but adding one to each of the letters in VMS gets WNT. Era-appropriate joking aside: There's no actual evidence that Cutler held the views on Unix, or even on DEC's Eunice, that have been ascribed to xem from anecdotes by Armando Stettner and edits to Wikipedia and writing by G. Pascal Zachary. I and others went into more detail on this years ago: https://news.ycombinator.com/item?id=22814012 https://news.ycombinator.com/item?id=22814012
- unwind 1y agoReally? VOJY could easily be a modern company, couldn't it? The .dot was parked though ... :)
- gonzopancho 1y agoDidn’t Cutler design Mach?
- JdeBP 1y agoNo. * https://cs.cmu.edu/afs/cs/project/mach/public/www/people-former.html https://cs.cmu.edu/afs/cs/project/mach/public/www/people-for...
- ferguess_k 1y agoThanks. Maybe I should change the question to "Which part of Unix design did D.C. think is less appropriate/desirable" to prevent fanning flames...
- lizknope 1y agoThe only thing I remember is from the book Showstopper https://retrocomputing.stackexchange.com/questions/14150/how-should-we-interpret-dave-cutlers-criticism-of-unix https://retrocomputing.stackexchange.com/questions/14150/how... [Cutler] expressed his low opinion of the Unix process input/output model by reciting "Get a byte, get a byte, get a byte byte byte" to the tune of the finale of Rossini's William Tell Overture.
- anthk 1y agoWe need, OTOH, the other side of the coin: The EMACS hater handbook. Under a GFDL license, of course. No multithreading, I/O locks under GNUs/eww, glacial slow email header parsing under GNUs, huge badass file for RMAIL if you don't like GNUs (instead of parsing MailDir) and so on.
- tgv 1y agoTrue, we don't need a vi(m) haters handbook. That's just natural.
- skydhash 1y agoI have no real experience with mbox and pop3 (maildir is what I’ve always used). But I still think you would need to partition mbox files because that’s what you would do with physical mail (which is the basis of the protocol and everything around it). I kinda like rmail.
- flavio81 1y ago>No multithreading, I/O locks under GNUs/eww, glacial slow All this would not happen if RMS had chosen Common Lisp to implement it...
- anthk 1y agoRMS hates Common Lisp because it's a bit bloated (tons) and the closes to GNU Emacs written in CL it's Lem and it feels far slower than Emacs.
- moomin 1y agoI have a hard copy of this from back in the day. It’s a great read and a mixture of historical artefact and still relevant criticism. e.g. It’s really interesting reading about LISP machines but no-one’s building a new one. Equally, all the criticism of sendmail and csh is valid but no-one uses them anymore either. Most of the reliability criticisms have been addressed over the years but people are still trying to address the design of C, usually by replacing it. Equally, sh remains a problematic scripting language but at least it’s reliably there, unlike many of its many alternatives.
- kragen 1y agoYeah, I learned an enormous amount from it when I encountered it (in hard copy of course) in 01996, and some of what I learned is now no longer relevant. There are some people building new Lisp machines: https://opencores.org/projects/igor https://opencores.org/projects/igor https://github.com/lisper/cpus-caddr https://github.com/lisper/cpus-caddr https://interlisp.org/ https://interlisp.org/ http://pt.withington.org/publications/LispM.html http://pt.withington.org/publications/LispM.html http://pt.withington.org/publications/VLM.html http://pt.withington.org/publications/VLM.html https://github.com/dseagrav/ld https://github.com/dseagrav/ld http://www.aviduratas.de/lisp/lispmfpga/ http://www.aviduratas.de/lisp/lispmfpga/ https://groups.google.com/g/comp.lang.lisp/c/36_qKNErHAg https://groups.google.com/g/comp.lang.lisp/c/36_qKNErHAg https://frank-buss.de/lispcpu/ https://frank-buss.de/lispcpu/ Also, Morello includes some Lisp-machine-like features. In my view knowing about the history of hardware architectures is far more important for designing new ones than for reproducing old ones.
- smarks 1y agoYou encountered this book in 01996? Is that around the time of the Norman Conquest? I'm assuming you're using octal here. Myself, I haven't used octal since 03677. :-) I see you mentioned https://interlisp.org/ https://interlisp.org/ ; while it's not a Lisp machine, the Medley Interlisp Project aims to recreate the Interlisp environment that ran on Xerox D-machines up through the 1980s or so. Still very interesting.
- 1y ago
- salvesefu 1y agoThat Ken Pier quote in the preface is still nasty work.
- nickpsecurity 1y agoThe good news is that we now have alternative UI's in web/mobile, microkernel-based systems, and unikernels in high-level languages... all in production use.
- lalabert 1y agoI have the edition that came with the ‘Unix Barf Bag’. All very unfair really as those humble beginnings have kept many of us gainfully employed!!
- rconti 1y ago> Unix was not designed for the Mac. What kind of challenge is there when you have that much RAM?
- paulnpace 1y agoAlways a good one for internet point farming.
- whartung 1y agoI love Unix. It's my favorite OS. And I like it for its fundamental process model. That combined with stdin/out and pipes. All stitched together with a process aware shell. Lots (most) OSes had a process concept. But in Unix, they not only existed, they were everywhere, they were dynamic, and they were "cheap". They were user accessible. A process with its ubiquitous stdin/out interface gave us great composablilty. We can click the processes together like legos. For example, VMS had processes. But after 4 years of using it, I never tossed processes around using it like I did on Unix. I never "shelled out" of an editor. I never & something into the background. Just never came up. One terminal, one process. On Unix, however, oh yea. Pipe construct on the command line, bang out of the editor, :r! in vi. And the eco-system the was created out of this simple concept. The "Unix Way(tm)". And anything was a process. A C program. A shell script. At this level, everything was a "system language". Then, They (those Unix wizard folks) made networking a well behaved citizen in this process stdin/out world. `inetd` could turn ANYTHING (because everything had stdin/out) into a network server. This command is magic: `ls | cpio -ov | rsh otherhost cat > /dev/tape` Does `ls` know anything about file archives? No. Does `cpio` know anything about networking, or tape drives? No. Heck, `cat` doesn't know anything about tape drives. You just could not, back in the day, plumb processes and computers together trivially like you could with Unix. Humans could do this. They didn't need to be wizard status, "admins", guys in white coats locked in the raised floor rooms, huffing Halon on the side. Assuming you could grok the arcane syntaxes (which, absolutely, were legion), you could make Unix do amazing things. This flexibility allowed me to make all sorts of Rube-Goldbergian constructs of data flows and processes. Unix has always been empowering, and not constraining, once you accept it for what it is.
- RichardCA 1y agoOK I have a question. I've been trying to track down a Unix book that was similar from that time period, covering command-line tools and shell programming. It had some funny cartoons in between the text. One particular cartoon featured a man who had spent too much time at the command line and was using single-word commands for everything, e.g. when he needed to send a letter he would point to it and say "MAIL" and when someone knocked on his door he would point to it and say "ENTER". Does anyone else remember that one?
- ferguess_k 1y agoAsked ChatGPT and it told me the book might be "The Unix Programming Environment". It happens that the second link on Google is a pdf so I took a brief look, but did not find any cartoon. I asked it a second time and it said "UNIX for the Impatient", which does look like the one but I didn't find any pdf. Hopefully it helps.
- RichardCA 1y agoThanks but no, everyone who came up in that era knew about K&P (K&R was the C book). The main publishers back then were O'Reilly, SAMS, QUE and a few others. I think it was a SAMS book but I'm not sure. A more likely candidate is the Kochan book but the original 1985 first edition. It had the scrappy sense of humor that characterized the Unix culture in the 80's. https://www.goodreads.com/book/show/293206.UNIX_Shell_Programming https://www.goodreads.com/book/show/293206.UNIX_Shell_Progra...