I founded the original unix-haters list that the book is based off of.
What I say these days: Unix went from the worst operating system around, to the best, without getting appreciably better.
Not entirely true. But the Unix model of computation has obviously won. The Lisp Machine model, well, nobody even understands what that means any more.
The list was great. I have the two partial archives that were once posted. Are there any real archives around? I know one of the concerns was redacting names (even with just initials and no mail paths it is obvious who most people are)
The Lisp Machine model is represented by Emacs these days (which still has a thriving community). It makes interacting with the Unix model bearable since it can subsume it.
If that wasn't possible and I had to make do with just Unix, I would have switched professions. There's only so much bullshit one can take.
Always a good read, but it needs an update with modern cultural references. Even I, nearly middle aged, have very little idea what it means to compare X.org to Iran-Contra and Regan's spending habits.
I believe the allegory (I was a kid at the time ), is that, just as Iran-Contra involved alliances of convenience between enemies and spending a lot of money, X.org (or the MIT X11 group) & all the Unix Vendors & DEC VMS, were trying to find a way to sort of standardize a Unix GUI, while also trying to siphon their competitors customers and lock them into their own proprietary systems.
Maybe FAAANG, they want to eat each others users, but also not have the government interfere, especially in avoiding taxes.
Here's American Dad giving a brief, basically factual < 2min, musical overview of Iran-Contra.
The Unix-Haters Handbook was published in 1994, two years before the Open Group was founded in 1996, three years before they took over the X-Window system in 1997, five years before the formation of X.org, and ten years after X-Windows was released in 1984. XFree86 was not very widely used in 1994, most people were running the original X server on non-x86 and RISC workstations at the time (Sun SPARC, SGI MIPS, DEC Microvax and Alpha, HP PA-RISC, NCD X-Terminal, etc). The Open Group had absolutely nothing to do with the design of the X11 protocol, the server implementation, or XLib.
I've quite frequently written about X11, NeWS, Wayland, window management, HyperCard, web browsers, and user interface toolkits on Hacker News:
DonHopkins on March 6, 2020 | root | parent | next [–]
(An excerpt from another longer reply I just posted):
From: npg@East (Neil Groundwater - Sun Consulting)
Date: Wed, Jun 27, 1990
Subject: Humor from Dennis Ritchie (at USENIX)
(Actually Dennis's latter remark was attributed by him to Rob Pike)
from Unix Today 6/25 page 5.
"..., Richie reminded the audience that Steve Jobs stood at the same podium
a few years back and announced that X was brain-dead and would soon die. "He
was half-right," Ritchie said. "Sometimes when you fill a vacuum, it still
sucks."
DonHopkins on March 6, 2020 | parent | context | favorite | on: The X-Windows Disaster (1994)
The window system needs to be displayed somehow too. What works for the window system works for the browser too. There's no need for an additional layer of widow system once you have a browser that can draw on the screen itself. A web browser can make a much better scriptable window manager / desktop environment all by itself, than anything that's possible with X-Windows.
code_duck on March 6, 2020 [–]
The comment I replied to said that X and Wayland were being overrun by web apps, which doesn't make any sense at all.
NB as this article reminds us, there is no system called X- Windows.
DonHopkins on March 6, 2020 | parent [–]
If you want to be pedantic, I didn't call it "X- Windows". I called it "X-Windows". Nobody ever puts a space between the "X-" and the "Windows". The title of the article we're discussing that I wrote and named uses the term "X-Windows" because I specifically told the editors of the book to spell the name that way on purpose, to annoy X fanatics. That fact was stated in the last sentence of the article.
So what is there about drawing on the screen and handling input events and handling network requests that a window system can do, but a web browser can't? Why does there need to be a window system, if you already have a web browser?
Does you phone have a web browser? Does it also have a window system too? How often do you open and close icons and move and resize windows around on your phone, compared to how often you browse the web on your phone? Name one thing a window system can do that a web browser can't these days.
For example, is this a web browser or a window system?
You should read up on the history of window management and alternative designs for window systems and interactive graphical user interfaces. Things weren't always the way they are now, and there are many different ways of doing things, that are a hell of a lot better than the status quo. Back before everybody blindly imitated Google and Facebook and Apple and Microsoft because they didn't know any better and never experienced anything different, there were a lot of interesting original ideas. But now everybody's into Cargo Cult programming and interface design, blindly imitating shallow surface appearances and over-reacting to the latest trendy craze (like flat design) that was an over-reaction to the previous trendy craze (like skeuomorphism), without ever looking deeper into the reasons, or god forbid scientific studies and research and user testing, or further back than a few months into the past, and never understanding why things are the way they are, or how and why they got to be that way.
To illustrate my point, and lead you to enlightenment (and I don't mean the Enlightenment window manager):
Here is one of Gosling's earlier papers about NeWS (originally called "SunDew"), published in 1985 at an Alvey Workshop, and the next year in an excellent Springer Verlag book called "Methodology of Window Management" that is now available online for free. [1]
Chapter 5: SunDew - A Distributed and Extensible Window System, by James Gosling [2]
Another interesting chapter is Warren Teitelman's "Ten Years of Window Systems - A Retrospective View". [3]
Also, the Architecture Working Group Discussion [4] and Final Report [5], and the API Task Group [6] have a treasure trove of interesting and prescient discussion between some amazing people.
F R A Hopgood, D A Duce, E V C Fielding, K Robinson, A S Williams
29 April 1985
This is the Proceedings of the Alvey Workshop at Cosener's House, Abingdon that took place from 29 April 1985 until 1 May 1985. It was input into the planning for the MMI part of the Alvey Programme.
The Proceedings were later published by Springer-Verlag in 1986.
5. SunDew - A Distributed and Extensible Window System
James Gosling
SunDew is a distributed, extensible window system that is currently being developed at SUN. It has arisen out of an effort to step back and examine various window system issues without the usual product development constraints. It should really be viewed as speculative research into the right way to build a window system. We started out by looking at a number of window systems and clients of window systems, and came up with a set of goals. From those goals, and a little bit of inspiration, we came up with a design.
sicnus on March 5, 2020 | root | parent | prev | next [–]
Oh, I wanna hop in on this train. tell that fool to man X yo. ;)
I've been getting pissed about people calling it "X Windows" since 1995 so there.
DonHopkins on March 6, 2020 | root | parent | next [–]
You made my day! I'm so delighted to hear you're pissed that people call it X-Windows. ;) Thank you for letting me know my long term project of always calling it X-Windows worked perfectly as planned. I've been systematically calling it X-Windows to piss people off since June 1988, when I read the article "Things That Happen When You Say ‘X Windows’" in my copy of Volume 1 Number 2 of the June 1988 of the “XNextEvent” newsletter, “The Official Newsletter of XUG, the X User’s Group” (which I quoted above):
>Don wrote the chapter on the X-Windows Disaster. (To annoy X fanatics, Don specifically asked that we include the hyphen after the letter "X,", as well as the plural of the word "Windows," in his chapter title.
Bill Joy referred to X-Windows as "Rasterop on Wheels".
I gave a NeWS/Pie Menus/HyperTies/Emacs demo to Steve Jobs once, on the trade show floor at the Educom conference, right after he finally released the NeXT Machine, in November of 1988.
Sun was letting me demo NeWS and the stuff we were developing at the UMD Human Computer Interaction Lab on a workstation at their booth, and NeXT's booth was right across the aisle, so Ben Shneiderman rope-a-doped him and dragged him over for a demo. He jumped up and down and yelled "That sucks! That sucks! Wow, that's neat. That sucks!"
I figure a 3:1 sucks:neat ratio was pretty good for him comparing something different than his newborn baby NeXT Step, which critics had taken to calling NeVR Step, since it had been vaporware for so long until then.
When I tried to explain to him how flexible NeWS was, he told me "I don't need flexibility -- I got my window system right the first time!"
Here's Ben's account (I love how he gently put it that "Jobs had little patience with the academic side of things" -- and by "engage" he meant "jump up and down and yell"):
Date: Tue, 1 Nov 88 07:55:48 EST
From: Ben Shneiderman <ben@mimsy.umd.edu>
To: hcil@tove.umd.edu
Subject: steve jobs visit
I just couldn't resist telling this story....
On Tuesday I was at the EDUCOM conference in DC and Steve Jobs was showing
NeXT...I was quite impressed...a nice step forward, improving, refining
and developing good ideas. I invited him to see our Hyperties SUN version
that we were showing at the SUN booth. The gang managed to get the new
NeWS version working and the Space Telescope looked great...Jobs spent
about a half hour with us going from positive comments such as "Great!"
to "That sucks"...he had a terrific sensitivity to the user interface
issues and could articulate his reasons wonderfully.
On Wednesday he came out to the lab and spent time looking at a few more
of our demos...the students (and me too) were delighted to have him as
a visitor.
What impresses me is that he took his ideas and really put them to work...
pushing back the frontier a bit further. His system really works and
has much attractive in the hardware and software domains. Jobs had little
patience with the academic side of things, but was very ready to engage
over interface issues.
Do check out NeXT...there are things to criticize, but I did come away
more impressed and pleased than ready to pick at the flaws.
-- Ben
>X Windows is the Israel-Palestine of graphical user interfaces: a tragedy of political compromises, entangled alliances, marketing hype, and just plain greed. X Windows is to memory as Donald Trump was to money.
>X has had its share of $5,000 toilet seats—like Sun’s Open Look clock
tool, which gobbles up 1.4 megabytes of real memory! If you sacrificed all
the RAM from 22 Commodore 64s to clock tool, it still wouldn’t have
enough to tell you the time. Even the vanilla X11R4 “xclock” utility consumes 656K to run. And X’s memory usage is increasing.
The Clock Tool : C64 memory usage numbers were accurate, but I'll admit that the $5,000 toilet seat reference was a slightly gratuitous (but ultimately prescient) 781.25% exaggeration about the time when US Government under the Reagan Administration spent $37 per screw, $7,622 per coffee maker, and $640 per toilet seat (and it wasn't even made of enough gold to support Trump's vainglorious ass and ego, or even certified for the theft, storage, sale, or disposal of classified documents!), but in 2018 the Air Force paid $10,000 each for three toilet covers.
But the comparison of the level of government waste of money to the level of X-Windows waste of memory has survived the test of time and is still apt.
$37 screws, a $7,622 coffee maker, $640 toilet seats; : suppliers to our military just won’t be oversold
[...] Remember when we found out that the government paid $640 each for plastic toilet seats for military airplanes? Now that was something I could feel that I personally paid for. I pay a good deal more than $640 in taxes every year, and I probably paid for several of those toilet seats. That is a concrete contribution that I can be proud of. [...]
Dept. of Hundred-Dollar Toilet Seats.
Special to the New York Times, Feb. 18, 1986.
Disclosures about the Defense Department paying hundreds of dollars for a hammer and hundreds more for a toilet seat have infuriated President Reagan, who has called the reports a ''constant drumbeat of propaganda'' and not typical of the way the Government operates.
But that ''propaganda,'' the President apparently forgot or did not know, originated with a commission on governmental efficiency for which he has been full of praise, the Grace Commission.
Gregg N. Lightbody, a spokesman for the commission, officially known as the President's Private Sector Survey on Cost Control, said the group's educational arm, Citizens Against Government Waste, would continue to use the example of the costly hammer in its messages identifying faults in Government spending and procurement, even though the example might be ''an isolated instance.''
Mr. Reagan has denied the accuracy of the accounts twice in the last week and placed his faith in another panel, the President's Commission on Defense Management, to help clear up what he considers to be misconceptions about the Government. The defense management commission is expected to issue a report Feb. 28 that ''will help us in trying to make the people understand,'' Mr. Reagan said.
But Herb Hetu, a spokesman for that commission, says its report will not address the hammers or the toilet seats, at least not directly. Instead, Mr. Hetu said, the statement on procurement will look at the broader issues of Defense Department organization and will recommend ways to streamline purchasing.
The hammers and the toilet seats, along with coffee makers alleged to have cost thousands of dollars, Mr. Hetu said, ''are just symptoms of problems in the system.''
''The commission didn't look at the symptoms so much as it did the larger problems,'' he said.
The larger problems, he continued, are the result of years of additional regulations and well-intentioned efforts to tinker with procurement procedures without addressing them wholesale. ''It just got out of hand,'' he said. The commission's recommendations, Mr. Hetu said, will try to restructure purchasing so as to eliminate the problems that produced the symptoms. In particular, he said, the commission will suggest that the Defense Department grant more control and responsibility to lower-level managers, enabling them to investigate and prevent outrageous expenditures instead of merely passing the approval of such expenditures along to their superiors. After releasing its report Feb. 28, the commission will work on complete recommendations for a broader re-structuring of other military programs. Its final work is scheduled to be released June 30.
The Air Force’s $10,000 toilet cover. By Aaron Gregg, July 14, 2018 at 8:57 p.m. EDT.
A latrine cover for a C-5 Galaxy cargo plane used by the Air Force, designed to protect the area from corrosion. The Air Force paid a contractor $10,000 for this item on three separate occasions, most recently in 2017, before the service started using 3-D printing to make the part. (U.S. Air Force)
Serially bankrupt casino operator and former reality television figure Donald Trump became US President after losing the popular vote by 2.1%, 2,868,686 votes, but winning the electoral vote. So, with what the U.S. government's intelligence agencies concluded was assistance from the Russian government, Trump was President.
Trump, whose father was arrested after participating in a Ku Klux Klan march, and who has a long history of racial discrimination, decorates his palace-like homes in the style of dictators Saddam Hussein and Muammar Gaddafi. Gold (or at least gilding), marble, and over-the-top kitsch.
Trump and his third wife, Slovenian nude model Melanija Knavs, who had Germanized her name to Melania Knauss before applying for permanent residency in the U.S., moved into the White House.
Earlier in 2016, the artist Maurizio Cattelan had returned from retirement with a special project at the Guggenheim Museum in New York. His America (2016) replaced a toilet in one of the museum's public restrooms with a fully functional toilet cast in solid 18-carat gold. This was his first project since his 2011 retrospective at the Guggenheim and planned retirement. It opened in late September, 2016, with plans to remain there indefinitely. From the museum's description of this piece:
Cattelan's toilet offers a wink to the excesses of the art market, but also evokes the American dream of opportunity for all, its utility ultimately reminding us of the inescapable physical realities of our shared humanity.
[...] Then, in September 2017, a White House spokesperson wrote to the Guggenheim Museum, asking if the Trumps could borrow Landscape With Snow, a Vincent van Gogh painting, to decorate the Presidential residence.
% rm meese-ethics
rm: meese-ethics nonexistent
% ar m God
ar: God does not exist
% "How would you rate Dan Quayle's incompetence?
Unmatched ".
% ^How did the sex change^ operation go?
Modifier failed.
% If I had a ( for every $ the Congress spent,
what would I have?
Too many ('s.
% make love
Make: Don't know how to make love. Stop.
% sleep with me
bad character
% got a light?
No match.
% man: why did you get a divorce?
man:: Too many arguments.
% ^What is saccharine?
Bad substitute.
%blow
%blow: No such job.
I knew of Don Norman from reading The Design of Everyday Things a few years ago; funny to see his name pop up here!
Searching around to make sure it's the same Norman, I came to find out that he wrote an article, The truth about Unix: The user interface is horrid, 7 years before DoET came out (which is confirmed in the Forward)! Had no idea he was on this scene.
From: npg@East (Neil Groundwater - Sun Consulting)
Date: Wed, Jun 27, 1990
Subject: Humor from Dennis Ritchie (at USENIX)
(Actually Dennis's latter remark was attributed by him to Rob Pike)
from Unix Today 6/25 page 5.
"..., Richie reminded the audience that Steve Jobs stood at the same podium
a few years back and announced that X was brain-dead and would soon die. "He
was half-right," Ritchie said. "Sometimes when you fill a vacuum, it still
sucks."
It's ironic that this 30-year-old book, that was produced at a time when UNIX was not the colossus that it and related OSs are today, has been superseded by the course of events.
(Same as BYTE Magazine's 1995 cover story "Is UNIX Dead?" presaged its own death by only a few years.)
Today, most computers (and phones, TVs, and household appliances also) run on UNIX or a related OS, while the Vaxes of 1994 have disappeared and the Windows Desktop is declining rapidly away.
Author's Note: I have never used Windows as my 'daily driver'. I have used a UNIX Desktop throughout the 1990s, and a Linux Desktop since 2001.
"Author's Note: I have never used Windows as my 'daily driver'."
What about Apple MacIntosh.
Depending on employer, it's not easy to have never used Windows or Mac. Must be one of the lucky ones. Even at university, I recall rooms of computers and printers set up for students' word processing use had DOS/Windows loaded on them. Labs had Macs. Above all the rest, I always preferred the room with the VAX and later the UNIX accounts we got.
To me, it's not that UNIX is objectively good, it's that the alternatives have all been inferior. To someone else, that might not be true. I am not fond of GUIs. Other people might love them.
Regardless of peoples' varied personal opinions, UNIX is still around and I'm using it every day by choice. No GUI.
Depending on employer, it's not easy to have never used Windows or Mac
True, but all I needed to use Windows at work was one dedicated app. (And actually that app was purely UCSD Pascal under the hood, but running as a guest under Windows.)
At home, I thankfully used my AT&T UNIX, then my Novell Unixware, and finally my Solaris I and II, before I switched to Linux in 2001.
In the mid-90s I thought I would look at this 'new-fangled, best thing since sliced bread' thing called Windows 3.1. I was disgusted at how primitive and useless it was compared to my normal Unixware desktop of the time.
I actually bought my wife a PowerBook in 2005. But I was horrified to discover that Apple is really no different to Microsoft.
I'm not sure about that. The Unixes that the book complains about have been completely out to pasture for a couple of decades. NeXT existed at the time and was specifically excluded.
You know, your PDF reader probably has a search function, and the book itself has an index, which has numerous references to NeXT and NeXTSTEP.
NeXT: 11, 14, 230, 296
NEXTSTEP: 11, 14, 54, 141
OpenStep: 14, 141
Page xxxi of The Unix-Haters Handbook mentions: "In fact, it was typeset using FrameMaker on a Macintosh, a Windows box, and a NeXTstation." (Affectionately called "PainMaker" by its victims.)
I wrote three long paragraphs about NeXTSTEP (however you choose to spell and capitalize it), comparing it to NeWS and Display PostScript, in the X-Windows chapter. I even gave Steve Jobs a NeWS demo and a "NeRD" button at EduCOM, the month NeXTSTEP was finally released in November of 1988 (until then it was considered vaporware, and derisively called "NeVRSTEP" -- the critics even made t-shirts):
>I gave a NeWS/Pie Menus/HyperTies/Emacs demo to Steve Jobs once, on the trade show floor at the Educom conference, right after he finally released the NeXT Machine, in November of 1988.
>Sun was letting me demo NeWS and the stuff we were developing at the UMD Human Computer Interaction Lab on a workstation at their booth, and NeXT's booth was right across the aisle, so Ben Shneiderman rope-a-doped him and dragged him over for a demo. He jumped up and down and yelled "That sucks! That sucks! Wow, that's neat. That sucks!"
>I figure a 3:1 sucks:neat ratio was pretty good for him comparing something different than his newborn baby NeXT Step, which critics had taken to calling NeVR Step, since it had been vaporware for so long until then.
>When I tried to explain to him how flexible NeWS was, he told me "I don't need flexibility -- I got my window system right the first time!"
And one of the editors, Simson Garfinkel <simsong@nextworld.com>, wrote a popular book about NeXTSTEP and was a senior editor at NeXTWORLD magazine.
p. 11:
Date: Wed, 20 Nov 91 09:37:23 PST
From: simsong@nextworld.com
To: UNIX-HATERS
Subject: Unix names
Perhaps keeping track of the different names for various versions
of Unix is not a problem for most people, but today the copy
editor here Standardizing Unconformity 11 at NeXTWORLD asked me
what the difference was between AIX and A/UX.
“AIX is Unix from IBM. A/UX is Unix from Apple.”
“What’s the difference?” he asked.
“I’m not sure. They’re both AT&T System V with gratuitous
changes. Then there’s HP-UX which is HP’s version of System V
with gratuitous changes. DEC calls its system ULTRIX. DGUX is
Data General’s. And don’t forget Xenix—that’s from SCO.”
NeXT, meanwhile, calls their version of Unix (which is really Mach
with brain-dead Unix wrapped around it) NEXTSTEP. But it’s
impossible to get a definition of NEXTSTEP: is it the window
system? Objective-C? The environment? Mach? What?
p. 13 (although the index says 14: blame PainMaker, which is riddled with features!):
Sun Microsystems recently announced that it was joining with NeXT to
promulgate OpenStep, a new standard for object-oriented user interfaces.
To achieve this openness, Sun would will wrap C++ and DOE around
Objective-C and NEXTSTEP. Can’t decide which standard you want to
follow? No problem: now you can follow them all.
p. 53 (although the index says 54, thanks PainMaker):
Silly us. NEXTSTEP’s /lib/cpp calls /lib/cpp-precomp. You won’t find
that documented on the man page either:
next% man cpp-precomp
No manual entry for cpp-precomp.
p. 140 (FrameMaker's index says 141):
X Graphics: Square Peg in a Round Hole
"Programming X Windows is like trying to find the square root of pi
using roman numerals." —Unknown
The PostScript imaging model, used by NeWS and Display PostScript,
solves all these horrible problems in a high-level, standard, device independent manner. NeWS has integrated extensions for input, lightweight processes, networking, and windows. It can draw and respond to input in the
same arbitrary coordinate system and define window shapes with PostScript paths. The Display PostScript extension for X is intended for output
only and doesn’t address any window system issues, which must be dealt
with through X. NEXTSTEP is a toolkit written in Objective-C, on top of
NeXT’s own window server. NEXTSTEP uses Display PostScript for
imaging, but not for input. It has an excellent imaging model and well designed toolkit, but the Display PostScript server is not designed to be
programmed with interactive code: instead all events are sent to the client
for processing, and the toolkit runs in the client, so it does not have the low
bandwidth, context-switching, and code-sharing advantages of NeWS.
Nevertheless, it is still superior to X, which lacks the device-independent
imaging model.
On the other hand, X’s spelling has remained constant over the years, while
NeXT has at various times spelled their flagship product “NextStep,”
“NeXTstep,” “NeXTStep,” “NeXTSTEP,” “NEXTSTEP,” and finally
“OpenStep.” A standardized, consistent spelling is certainly easier on the
marketing ’droids.
Unfortunately, NeWS and NEXTSTEP were political failures because they
suffer from the same two problems: oBNoXiOuS capitalization, and
Amiga Persecution Attitude[TM].
p. 230 (hey FrameMaker got one right!!!):
Footnote 2:
Indeed, there are so many problems with partitioning in Unix that at least one vendor (NeXT, Inc.) recommends that disks be equipped with only a single partition.
This is probably because NeXT’s Mach kernel can swap to the Unix file system,
rather than requiring a special preallocated space on the system’s hard disk.
p. 295 (FrameMaker guessed 296, two out of six ain't bad):
Date: Wed, 18 Sep 1991 02:16:03 GMT
From: meuer@roch.geom.umn.edu (Mark V. Meuer)
Organization: Minnesota Supercomputer Institute
Subject: Re: File find delay within Emacs on a NeXT
To: help-gnu-emacs@prep.ai.mit.edu
In article <1991Sep16.231808.9812@s1.msi.umn.edu>
meuer@roch.geom.umn.edu (Mark V. Meuer) writes:
I have a NeXT with version 2.1 of the system. We have Emacs
18.55 running. (Please don’t tell me to upgrade to version
18.57 unless you can also supply a pointer to diffs or at least s-
and m- files for the NeXT.) There are several machines in our
network and we are using yellow pages. The problem is that
whenever I try to find a file (either through “C-x C-f”, “emacs
file” or through a client talking to the server) Emacs freezes
completely for between 15 and 30 seconds. The file then loads
and everything works fine. In about 1 in 10 times the file loads
immediately with no delay at all.
Several people sent me suggestions (thank you!), but the obnoxious
delay was finally explained and corrected by Scott Bertilson, one of
the really smart people who works here at the Center.
For people who have had this problem, one quick hack to correct it is
to make /usr/lib/emacs/lock be a symbolic link to /tmp. The full
explanation follows.
I was able to track down that there was a file called !!!SuperLock!!!
in /usr/lib/emacs/lock, and when that file existed the delay would
occur. When that file wasn’t there, neither was the delay (usually).
We found the segment of code that was causing the problem. When
Emacs tries to open a file to edit, it tries to do an exclusive create on
the superlock file. If the exclusive create fails, it tries 19 more times
with a one second delay between each try. After 20 tries it just
ignores the lock file being there and opens the file the user wanted. If
it succeeds in creating the lock file, it opens the user’s file and then
immediately removes the lock file.
The problem we had was that /usr/lib/emacs/lock was mounted over
NFS, and apparently NFS doesn’t handle exclusive create as well as
one would hope. The command would create the file, but return an
error saying it didn’t. Since Emacs thinks it wasn't able to create the
lock file, it never removes it. But since it did create the file, all future
attempts to open files encounter this lock file and force Emacs to go
through a 20-second loop before proceeding. That was what was
causing the delay.
The hack we used to cure this problem was to make
/usr/lib/emacs/lock be a symbolic link to /tmp, so that it would
always point to a local directory and avoid the NFS exclusive create
bug. I know this is far from perfect, but so far it is working correctly.
Thanks to everyone who responded to my plea for help. It’s nice to
know that there are so many friendly people on the net.
> The PostScript imaging model, used by NeWS and Display PostScript, solves all these horrible problems in a high-level, standard, device independent manner.
We have evolved. Now we draw "surfaces" (to draw a cursor). /s
Unix has gotten better while everything else got worse.
We no longer have dinosaurs like LISP-M or TOPS-10 for the Unix-haters to get rose-colored nostalgia for.
And Windows NT proved how terrible the alternative could be. The NT api and Powershell is basically the "Monkey's-Paw" version of what the authors wanted. Be careful what you wish for.
Not at all: we all despise VMS, but are quite fond of ITS -- in fact ITS-LOVERS@AI was an alias for UNIX-HATERS@AI mailing list. Where AI is MIT-AI, a PDP-10 running ITS, whose 8 bit ARPANET address was 134.
The Darwin environment can be described as stagnant waters, where you need to bring in third-party FOSS package management in order not to be stuck with twenty-year-old forks of GNU utilities.
It's no longer positioned as a server OS, which on the surface just looks like a business move, but I suspect it's because the kernel and surrounding environment aren't very good. The writing was on the wall for years.
Well, the Unix Haters complained about it! Let's see, what did they write:
• “Being small and simple is more important than being complete and
correct.”
• “You only have to solve 90% of the problem.”
• “Everything is a stream of bytes.”
Well, everything is still a stream of bytes. The problems are maybe 95% solved, and things are no longer small or simple.
E.g. could no longer have your kernel on one floppy disc, and a rescue image with glibc + utilities on another.
There are no longer good operating systems to compare Unix-clones against, so those of us who’ve grown up in this millennium don’t even see the problems.
I was thinking the same thing; so many of their original complaints have been addressed.
However, one has not: unix still uses the NJ-style (vs the MIT style), which is, if you can't figure out how to handle an error -- then don't. Also, put the burden on the programmer. Lovely stuff like that, which is core to the "unix philosophy".
That was much less true by the end of the 1990s. Partly due to things like BSD’s improved signal handling. And partly due to the userland code quality improvements from the BSD and GNU rewrites.
Shell scripting is still a nightmare for error handling, but by the end of the 1990s there were better scripting languages available to use when that matters.
To be fair, the web as a whole is like that these days, in that HTTP explicitly includes the user as part of the error handling (404, 500, 503). How many times have you hit "Reload" today?
* Chapter 2: This is mostly still a problem, although many tools have gotten better about error messages, and there are a few footguns that have been removed. (A lot of this chapter, I presume, is basically about how something like VMS generally has a saner terminal interface than Unix does. But I've not used VMS enough to know for sure.)
* Chapter 3: The internet exists and is easily accessible. There is still often a lot of issues with documentation in, say, man pages or the tool's command line option (see how often I complain about git's help!), but if you search for your problem on the internet, you'll probably find a more coherent answer anyways, so it's not as relevant anymore.
* Chapter 4: Sendmail is no longer the dominant tool to send email on Unix systems, and for that matter, few sites run their own email servers anymore. Not really relevant anymore.
* Chapter 5: Usenet is even less relevant.
* Chapter 6: I've had some issues with terminal stuff in the past, but in general, most terminals just implement half of what xterm does, so it's often the case that programs emit the terminal escape codes directly.
* Chapter 7: X is still moderately painful. Windowing is usually done via a higher-level toolkit like GTK or QT (and Motif isn't big anymore), or else often rolled on top of GL (or Vulkan) buffers. Xauth doesn't come up in practice anymore, and a lot of the other issues mentioned here aren't as relevant. But I still like the dig at X getting server and client confused.
* Chapter 8: Shell proliferation has mostly gone away, largely down to either bash or POSIX-with-no-extensions sh. However, a lot of the criticism about shell as a programming language rings true.
* Chapter 9: Several of the tools mentioned here are just less relevant these days, especially because something like makefiles tends to be autogenerated rather than written directly.
* Chapter 10: C++11 is a pretty radical change to the language. And half of this chapter on C++ is somehow a rant on the C preprocessor, which is generally minimally tolerated by most C++ programmers, especially those on the committee.
* Chapter 11: Another chapter of mostly irrelevant tools.
* Chapter 12: This chapter is largely relevant, although nowadays, there are also ways you can set limits to avoid some of these problems.
* Chapter 13: A lot of kvetching about filesystems no one uses anymore. Although some of the complaints about how POSIX views files is still appropriate, but do note that all major OSes these days end up sharing the same deficiencies in their file semantics.
* Chapter 14: NFS is still around, although I think it's gotten a lot better in the past 30 years.
Overall, the high-level criticism of Unix as a worse-is-better approach still rings true, but this is largely a book that prefers to take cheap potshots over any serious analysis, and those potshots have often not aged well.
"But I still like the dig at X getting server and client confused."
A "server" is something that accepts requests and multiplexes some resource; a "client" makes requests. The X server is a server in that it multiplexes access to the UI hardware. Don't be fooled by the way a client gets event notifications from the server. (That's mostly just the tip of the iceberg of problems with the "client/server" idea.)
mcguire on Jan 11, 2021 | parent | context | favorite | on: XTerm: It's Better Than You Thought
Don, did you ever figure out the difference between a "client" and a "server"?
DonHopkins on Jan 12, 2021 [–]
Sure: xterm a client of your display and keyboard and mouse, remote input and output services that the X11 server provides over the network.
And at the same time, a web browser is the client of computing and data servers in the cloud, provided over the network.
In reality, there can be many different client/server relationships existing in different directions over the same full duplex network connection. It's really a bi-directional multiplexed messaging channel, not a pure strict hierarchical relationship, and many client/server dependencies can go both ways over the same connection, at the same time. You can even run an ssh that opens tunnels in both directions, then tunnel X and http connections over that.
Once a connection is established, it really don't matter which end initiated the connection (or how many links and proxies and tunnels there are along the way) -- you're just sending messages both ways.
"Client/Server" is an over-simplified way of describing what's possible.
ddingus on Jan 12, 2021 | parent [–]
Only the server, actually serves the graphics to the user.
Within the context of the X Window System, the server is the body of code responsible for delivering the display to the user viewing it.
bitwize on Jan 12, 2021 | root | parent | next [–]
> Only the server, actually serves the graphics to the user.
The server actually serves the user to the remote client.
It's like "you are not the customer, you are the product". The remote program needs to communicate graphically with you, and connects to the X server to do this; therefore, you are not the requester of a resource, you are the resource being served. :)
ddingus on Jan 12, 2021 | root | parent | next [–]
I like it. Clever, and current context relevant.
Cheers.
DonHopkins on Jan 12, 2021 | root | parent | prev | next [–]
Great analogy. Think of it like Amazon Mechanical Turk.
mcguire on Jan 13, 2021 | root | parent | prev [–]
Think of it in terms of a print server. It's a long-running process that other processes connect to, in order to request a service. It handles the "impedance mismatch" between the clients and the hardware it controls---in the case of a print server, it demultiplexes requests and translates them into something the printer can deal with; in the case of X, it displays the information as requested by the client and provides notifications of events as requested by the client.
Sendmail was installed by default on FreeBSD until last week, though. So it's true that it's no longer relevant if you're on FreeBSD 14 (which replaces it with the Dragonfly Mail Agent), but it's quite a recent change.
> Even if you can get an X program to compile, there’s no guarantee it’ll
work with your server. If an application requires an X extension that your
server doesn’t provide, then it fails.
Thankfully Wayland fixed this by locking down the protocol and banning extensions.
Which is why Wayland was a failure from the start, and still hasn't displaced X-Windows after all these years.
The fact that it didn't occur to the Wayland designers to make it extensible with an embedded scripting language like PostScript in NeWS or Lisp in Emacs or Python in Blender or Lua in Redis or JavaScript in web browsers means that it was obsolete from the start.
And that's why billions of more people use web browsers every day than Wayland.
Some critics argue that The Unix-Haters Handbook indulges in historical revisionism and presents non-constructive unactionable complaints, without suggesting improvements or alternatives. However, I stand by the accuracy and validity of the insights and suggestions in the X-Windows chapter, as evidenced by the development of web browsers and the ascendancy of JavaScript.
>[...] The transition from the now 30+ year old X Window System to the newer Wayland-based stack has been happening for the past 15 or so years.
>We found this statement amusing for two reasons. Firstly, the X window system is much closer to 40 than 30 – we celebrated its 38th birthday in the middle of last year. X tore through its first ten major releases in just a few years. The first version was in 1984, and the 11th – which is why it's called X11 for short – was in 1987.
>Secondly, as we noted when a GNOME developer proposed that Gtk5 drop X11 support, Wayland itself is getting old now. Work on it started in 2008; if RHEL 10 does ship in 2025, Wayland will be 17. So at the time when the biggest enterprise Linux goes Wayland-only, that protocol will in the same general ballpark age-wise that X11 was when Kristian Høgsberg started work on its replacement. At that time, X11 had been around for 21 years.
>The Reg FOSS desk remains somewhat skeptical about Wayland, but the critical mass is getting there. KDE 6 will be Wayland-only. As it happens, personally, this vulture isn't a big fan of either GNOME or KDE, so it reassures us that two of the most popular Wayland holdouts are both adjusting their attitudes. Mint is experimenting with support in Cinnamon, and so is the Xfce team. [...]
>This would be an epic task, and without a commercial backer, it doesn't seem likely to happen. Perhaps it really is time to just let X die. If that seems drastic, we advise reading chapter 7 of The Unix Hater's Handbook.
>Perhaps the more independent-minded Unixes could do an end run around Wayland and switch to Arcan instead. Or even start over. Don Hopkins, the author of that chapter, suggested to us that a better plan would be to reimplement something akin to NeWS using JavaScript instead of PostScript. That sounds fun. ®
See the "Hold my bong" essay I wrote in response to somebody asking for my opinion of Wayland and ideas about using extension languages like JavaScript:
>Hi DonHopkins! Would you mind to share your opinion on Wayland with us?
Thanks for asking! Hold my bong. ;)
I've never had any reason to use Wayland or desire to learn much about it, so I can't tell you anything technical or from first hand experience.
But I think we have X-Windows to thank for the fact that most Unix programmers use Macs now.
And it's way too late for Wayland to change that fact. Especially with the release of the M1 Max. That ship has sailed.
It didn't matter how much better NeWS was than X-Windows -- it still lost despite all its merits.
And I don't see Wayland as being any more better than X-Windows, than NeWS was better, decades ago.
So simply "being better than X" is not sufficient to displace it, and Wayland isn't even that much better than X, and is even worse in some ways.
The fact that it didn't occur to the Wayland designers to make it extensible with an embedded scripting language like PostScript in NeWS or Lisp in Emacs or Python in Blender or Lua in Redis or JavaScript in web browsers means that it was obsolete from the start, and its designers should have considered the design and architecture of NeWS and Emacs and Blender and Redis and web browsers before designing Yet-Another-X-Windows-Clone. It's not like those ideas were secret, or patented, or hard to find, or wrong.
The world moved up the stack a layer to the web browser, and that's where all the excitement's happening these days, not in the window system layer.
Why have X-Windows or Wayland at all, when you could just run the web browser itself directly on the hardware, as efficiently and flexibly as possible, and implement all your user interface, window management and desktop stuff with modern open standard JavaScript / WebAssembly / JSON / XML / HTML / SVG / CSS / Canvas / WebGL / WebGPU / HTTPS / WebRTC?
I've written about this numerous times before, but I'll transclude and reorganize some of it with checked and updated archive urls to save you the pointing and clicking:
And here is this more recent thread about window management, ICCCM, Wayland, extension languages, and all the walls that Simon Schneegan hit in his wonderful work on FlyPie, OpenPie, Gnome-Pie, Coral Menus, and Trace Menus:
I'm frustrated that Wayland doesn't support all the good ideas (and avoid all the bad ideas) of X-Windows or NeWS, and doesn't even have a built-in extension language like emacs and web browsers do. (What were they even thinking, not making it extensible at runtime? That everybody would want to compile their own server to customize it in C? Or that they'd solved all possible problems perfectly and there would be no need for customization?)
[...]
Some years ago, Simon discussed some of the problems with Wayland that made it impossible to implement all the features of Gnome-Pie. I don't know how much Wayland has progressed to address those problems since then, but he's moved onto developing cross platform pie menus with Kando - An Open Source, Cross-Platform Pie Menu, to reach the much wider audience of Windows and Mac users as well as Linux.
It baffles me that the Wayland compositor wasn't designed from the ground up in the first place around a scripting language like JavaScript (or PostScript even ;). It's not like the idea was a secret or patented, and it seems to work well for emacs and web browsers. Then it would have been much easier to address all those problems and implement much more flexible powerful and efficient window managers, pie menus, tabbed windows, etc. And then maybe Wayland wouldn't be so limited, and would have already fully taken over from X11 decades ago.
>Wayland – in it’s current state – makes applications such as Gnome-Pie hardly possible. Due to security concerns, applications are much more isolated. There is a good summary on the cairo-dock forums.
>No client side window placement: Application cannot position their windows. How shall we open the Pie beneath the cursor? The only way I can think of is to open a transparent full screen window and draw Gnome-Pie at the pointer location. Sadly, this is not possible either: Only as soon as the user moves the pointer over the window, we can get the pointer location. I see no chance in getting this information more early. That means that we simply do not know were the mouse is when we open the full screen window. Hence, Pies can be opened at the center of the screen only.
>No global input grabbing: Another reason for the full screen window is, that input capturing is impossible. This is the only possibility to close Gnome-Pie when the user clicks outside the activation radius. The full screen window makes the whole thing much slower and may lead to unwanted side effects such as auto-hiding panels.
>No global key bindings: Applications cannot intercept keyboard or mouse events anymore. While this seems reasonable in the context of security concerns, it limits the usefulness of Gnome-Pie drastically. The only possibility is to open Pies with the terminal command gnome-pie --open <ID of your Pie>. Of course, this command can be bound to global hot keys of your desktop shell (as can be seen in the screen shot above), assigned to hot corners, etc. However, there is no way to support the turbo mode and delayed activation mode Gnome-Pie features on X11.
>No mouse pointer warping: It is impossible for an application to manipulate the position of the mouse pointer. Therefore it is impossible to warp the pointer to the center of the Pie.
>No client side window management: This is something for the desktop shell. There is possibility for a client application to get a list of opened windows. Therefore something like the window list slice group (Alt-Tab) is not possible. Maybe there will be an interface in future? Gnome-Pie uses wnck which is specific to X11.
>No sending of fake keyboard events: This is a very useful action type for pie slices. In addition, this is required for deferred pie activation.
>The conclusion Hopefully this can be improved in future, however a lot of security decisions have been made during the development of Wayland which make applications like Gnome-Pie basically impossible. If there are no large scale changes in Wayland, I see bad future for Gnome-Pie.
>If someone knows solutions for some of these problems please help making Gnome-Pie useful on Wayland!
>Why have X-Windows or Wayland at all, when you could just run the web browser itself directly on the hardware, as efficiently and flexibly as possible
That's been tried by ChromeOS, and ChromeOS is retreating from that design decision and adding Wayland (as part of a many-years-long rearchitecting called LaCros).
Rather, Wayland was still a hobby project during ChromeOS' development and X11 always has been ridiculous security-wise. Also the decision allowed them to tightly tie Chrome into the graphics stack (compressed textures, color-space handling, hw plane accelerated compositing etc.), this has become viable on Wayland only recently.
Pretty much all of them, insofar they were even valid concerns to begin with because many are not, or are at least hugely simplified, and a number of others have nothing to do with "Unix" in the first place.
The entire book is basically "let's compare the worst of 10 Unix systems to the best of 10 other systems, and then come to the conclusion all of Unix sucks and all the others are brilliant". Well, anything "sucks" in that way. And that is assuming that "best of 10 other systems" is accurate and not hugely biased and viewed with rose-coloured glasses.
I think this sentence probably sums up the book quite nicely:
> Will journaling become prevalent in the Unix world at large? Probably not. After all, it’s non-standard.
Which probably tells you all you need to know about the mentality of the authors. Nothing in any standard prevented anyone from journaling. It's just FUD.
The first journaling filesystem was introduced in 1990, in AIX, and then in 1991 in HP-UX. Both are Unix. Windows followed in 1993, Apple in 1998. This book is from 1994. This was more or less cutting-edge(-ish) stuff back then.
"Storing files" reliably has always been hard, on any system. "Unix can lose files" – well, yeah, just like any other system mate. Unix lead the way on improving that with journaling, and the book even acknowledges that in the paragraph before the one I quoted, and it's still whinging and whining and spreading bullshit FUD.
I'm not saying Unix is perfect today and I'm sure as hell not saying Unix anno 1994 was perfect. but a careful thoughtful criticism this book is not. The best part is Dennis Ritchie's "anti-foreword".
A book refuting all the bullshit in this book, even from a 1994 perspective, would probably be longer than this book. It's a classic case of bullshit asymmetry where flinging some nonsense in to the world takes almost no effort at all, but refuting it takes a lot more effort.
I’m pretty sure that if Freud were present, he’d point out the rage you’re feeling right now isn’t really about the thirty year old nerd satire book you’re commenting on, it’s about your relationship with your father.
The problem is that it's historical revisionism. It keeps getting posted on HN and taken serious (it was never intended as satire in the first place) and people think it somehow represents an accurate view of ... anything. It doesn't.
But the less said about my father the better, so maybe shrug.
I took it to be a satirical mishmash of end-user complaints and generalized bitching and moaning, pulled largely from a mailing list archive. Regarding the question of whether it was intended as satire, I'd observe that the copy I read so many years ago had a Unix barf bag pasted inside the back cover and I'm pretty sure the front cover featured the guy from Edvard Munch's The Scream.
If it represents an accurate view of something, it represents the fact that Unix at the time had some really eminent end users who found the operating system to be a major pain in the ass. I mean, you can say "those guys should have loved it, they just didn't know what they were talking about," but I don't see the point of it. I guess what I'm saying is that nothing about the book demands to be taken too seriously, and if you see someone doing that, you aren't exactly obligated to also take it seriously (or take them seriously).
Say what you will, but I started my professional career with computers back in 1998 doing professional services for HP and its variant of UNIX, HP-UX, and I haven't looked back. As I kid I had played around with a number of personal computers that ran either MS-DOS, Windows or proprietary OS'es (such as the AmigaDOS).
To this day, I consider UNIX-Like systems to be a delight. Even Apple had to move to UNIX.
Big Tech would not exist without Linux (aka UNIX).
As someone who picked up C++ in the late 90s, the discussion on the language resonates with me:
"Other books can tell you how using any of dozens of object-oriented languages can make programmers more productive, make code more robust, and reduce maintenance costs. Don’t expect to see any of these advantages in C++..."
"That’s because C++ misses the point of what being object-oriented was all about. Instead of simplifying things, C++ sets a new world record for complexity. Like Unix, C++ was never designed, it mutated as one goofy mistake after another became obvious. It’s just one big mess of afterthoughts. There is no grammar specifying the language (something practically all other languages have), so you can’t even tell when a given line of code is legitimate or not."
I use C++ and Python every day. There are ways to make C++ pretty tidy but it is always some tidy stuff in a few files with the rest being a working, but, steaming pile of crap. I always laugh when people seem to jump on a code base and use a few new features.
That said, if, say my 15 year old crappy car has a hand built twin turbo, hand built multiple times, v8, that revs to 8500 with a custom built diff and suspension. Given a choice of one of those fancy new, clean lined, reliable cars and mine, I know which one I would take to out if I wanted to have fun and go fast.
c++'s growth was large projects building largescale apps on MSWindows (Microsoft Office et al), and that started just before "the internet/web".
unix grew in somewhat coincidentally the same timeframe, and the timeframe that the internet did because tcp/ip/servers/linux/everything's a stream; client-server was "the thing" and that gave http a place to stand.
unix and C are inextricably bound, and that gives C++ some free apron strings to tug, but C++ has never really associated itself with *nix per se. (MS window handles providing a cute place to put a link to the C++ class really cemented it as a "natural" way to interface to C++ OOP for handling UI events)
That is the urban myth that keeps saying Microsoft did it, forgetting how C++ was used everywhere else.
On UNIX powering CORBA and Motif projects, on Apple taking over Object Pascal, on OS/2 alongside Smalltalk, on BeOS, on Epoch (later Symbian), on IBM replacing PL.8, PL/S usage.
This. Unix/Linux are bound to C. Unix's API it's just libc. NT Objects and C++ was the natural binding as you say. Even ReactOS has an NT object viewer in their explorer.exe/shel32.dll reimplementation.
No, a lot of C++ and Motif as developed under Unix, but the giant for C++ software by a HUGE margin it's Windows and Win32 since forever.
Similar on how the web was born in a NeXTStep and then GNU/Linux servers (and lots of clients, libre sourced Mozilla and Konqueror's KHTML) ate nearly all the cake.
The original Windows NT kernel was written in C. Dave Cutler liked C and did not like C++. I believe the graphics (not GUI) portion of Windows NT may have been partially written in C++. Also, a lot of the Windows management code (message processing, RegisterWindowClassEx, CreateWindow, SendMessgae, PostMessage, GetMessage, etc.) probably came from Windows 3.x . This code was also written in C.
The "Illustrations" credit on the cover is covered up by the "Programmers Press" but it looks like it is John Klossner. The hand-drawn illustrations are great, definitely one of my favorite aspects of the book.
The first time I leraned about this book I giggled about the title. But in the modern world of the conformity and a learned helplessness it's a quiet reminder what you can't do better if nobody says you unpleasant things.
> But in the modern world of the conformity and a learned helplessness it's a quiet reminder what you can't do better if nobody says you unpleasant things.
But UNIX continues to dominate and have problems, so I don't see Unix-Haters Handbook being very good example of saying unpleasant things making anything better; its more of a counter-example, demonstrating how annoying rants get easily ignored
> But in the modern world of the conformity and a learned helplessness it's a quiet reminder what you can't do better if nobody says you unpleasant things.
I fight a lot against learned helplessness, trying to get people to actually report bugs, to complain about papercuts they encounter in tools that I can change. But because people are used to having their complaints fall on deaf ears, they don't, so I seek them out in places like here and some time back, Twitter. But that also brings up a dredge of non-constructive unactionable complaints that end up doing nothing more than make me shake my head and close the tab. There are ways of complaining without being nasty to the people doing the work. Being a dick is not a personality type.
It turns out passivity to shock is the default. Learned helplessness doesn't exist. It's less about saying unpleasant things and more about assisting others towards control. Of course, less is more, right :)
It's so strange that as far back as the 80s a lot of the criticism of unix is that it wasn't "graphical". Meanwhile in the year 2023 AD I've moved more and more of my workflow to the terminal to escape the rapidly changing, distracting, and visually bloated GUI landscape.
You have your causal arrows flipped around. It is because unix is not graphical that the graphical interfaces bolted onto it are poor and the only good way to interact with it is via the command line. If a system were designed to be graphical—and to be good at it—then there would be no problem.
macOS is a unix, is graphical and was it from the beginning. I still spend most of my working time in iTerm with fish+neovim. Because the alternatives are slower, bloated and uglier.
But, of course, technically I am still using a GUI, it is just that for some of my workflows GUI applications does not add much value. They also compose in a worse way.
If it is in the terminal (command line to be specific since GUI is possible inside a terminal too) then it is already ready for automation, containerisation, running on a server.
I don’t believe it is "the past" which is appealing.
We live in a very graphical society, with (moving) pictures everywhere, all the time. But to "think", you need words. As Neal Stephenson put it in "In the beginning was the command line", Words are the only technology available to encode thoughts. While images and sounds convey more emotions. It’s not a coincidence that we are here exchanging words.
Command-line, is a way to exchange words with a computer. It is way more precise, more efficient. But it takes learning and thinking. It’s harder the same way it is harder to read a book than to watch a movie. Especially if you never learned to read in the first place which, for the command-line, is approximately everyone but a few geeks.
If your goal is to "think" precisely and convey this thinking into something tangible on a computer, then you probably want the command line. But, as it needs a lot of learning, you don’t want it for temporary job. You don’t learn to read because you want to read Harry Potter. You learn to read because you want to spend your life reading books.
In "UNIX As Litterature", Scoville argued that UNIX is done by literary people for literary people. People which have a strong "book" culture. People who probably enjoy books more than the movies because "there’s a lot more, it’s more subtle, I can imagine it like I want".
Those people, (disclaimer: I count myself in those) may even have too much "graphics" in their daily lives. Too many pictures. Billboards, movies, ads, colored and graphical t-shirts everywhere, branding.
Retreating to the command-line feels good, calm, zen. (see Stephenson book again).
But, I admit, those people are a minority. Graphical interfaces have the advantage of being intuitive. Intuitive literally means "you don’t need to think" (that’s what intuition is). You click randomly and, by trial and error, you learn some arbitrary rules that the designers decided to use. (when I was teaching basic Windows XP computer use to elders, I once got a very simple question: "how do I know if I need to click once or double click?". I never could answer that. There are no real rule. You learn it and never think about it afterward).
So the GUI is really about removing the thinking from the process. Which is good when you don’t care about the process or when you are not really sure what you want. Or when you want something to be quickly done once and for all.
Command-line forces you to clarify your thoughts all the time. It is hard. It is energy consuming. But this forces you to take real decisions.
Scripting languages and a REPL give exactly the same experience, if not better, without pretending to be stuck in emulating a 1970's text terminal.
Another thing that looks like books is paper, maybe for the ultimate experience we could write programs on paper and have the computer scan them somehow.
Also, TUI and hybrid UI's. MC it's both a shell, file manager, editor, viewer, VFS explorer and remote FS manager. mcedit -b or mc -b, much better. No colors, no distractions, just raw info. That's how I read lots of fortune files, books, novels and documentation back in the day.
Even with GTK/Lucid Emacs+Geiser/SLIME is not that easy.
Also, on speed... GNU's looks glacially frozen compared to slrn. Heck, GNUs runs fast if it's being bound to slrnpull's spool.
GNU's on Email and IMAP it's the same. If you use mbsync+msmtp, again, the speed it's literally 1000x better. by pooling a maildir.
From hours parsing a remote folder, yes, hours, to seconds.
Also, compare elfeed vs sfeed. By the time elfeed renders a huge caché of news, I could write an elisp parser for the sfeed output and then display everything under Eww.
Emacs without Unix tools doing the hard job would be much slower even on fast machines. Yes, I know, the new JIT against libgccjit, blah... blah... still slow.
Fairly early, Bell Labs executives decided to mandate that Bell Labs organizations developing software for the Bell System use Unix, which was from the research organization.
This led to many inventive rationales as to why a non-DEC computer and a non-Unix OS where really essential for specific applications. Resistance lasted for some time, but was eventually futile.
This item has a fairly even periodicity of previous submissions here at HN. I'm not quibbling about resubmissions, just wondering what is the motivation re: this particular piece? EDIT: Replies and not downvotes would be appreciated.
Does it need one? There's a longish list of perennials. Mostly what they have in common is that they're interesting to first-timers and pithy enough to be worth a re-read for the rest of us. Someone comes across it for the first time, or are reminded of it, and bob's your uncle it pops up again as a submission.
Yup that's right - reposts are fine after a year or so (https://news.ycombinator.com/newsfaq.html), and it's good for newer cohorts of users to get access to the perennials:
A lot of people here put Unix on a pedestal, so finding a published book that so explicitly hates Unix is quite novel. Furthermore, the criticism doesn't come from the typical demographic, Microsoft Windows users.
The Unix-Haters Handbook (1994) [pdf] - https://news.ycombinator.com/item?id=31417690 - May 2022 (86 comments)
The Unix-Haters Handbook (1994) [pdf] - https://news.ycombinator.com/item?id=19416485 - March 2019 (157 comments)
The Unix-Haters Handbook (1994) - https://news.ycombinator.com/item?id=17614992 - July 2018 (1 comment)
The Unix-HATERS Handbook [pdf] - https://news.ycombinator.com/item?id=15403642 - Oct 2017 (2 comments)
The Unix-Haters Handbook (1994) [pdf] - https://news.ycombinator.com/item?id=13781815 - March 2017 (307 comments)
The Unix-Haters Handbook (1994) [pdf] - https://news.ycombinator.com/item?id=9976694 - July 2015 (5 comments)
The Unix Haters Handbook (1994) [pdf] - 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 - Oct 2011 (31 comments)
The Unix Haters Handbook - https://news.ycombinator.com/item?id=1272975 - April 2010 (28 comments)
The Unix Hater’s Handbook, Reconsidered - https://news.ycombinator.com/item?id=319773 - Sept 2008 (5 comments)