News for hackers. Stuff that matters.
Re:The Unix-Haters Handbook (1994) [pdf] by mtraven on Sunday March 17, 2019 @09:42PM (#19418084)
I founded the mailing list the book was based on. These days I say, Unix went from being the worst operating system available, to being the best operating system available, without getting appreciably better. (which may not be entirely accurate, but don't flame me).

And still miss my Lisp Machine. It's not that Unix is really that bad, it's that it has a certain model of computer use which has crowded out the more ambitious visions which were still alive in the 70s and 80s.

Much as the web (the Unix of hypertext) crowded out the more ambitious visions of what computational media for intellectual work could be (see the work of Doug Engelbart and Ted Nelson). That's a bigger tragedy IMO. Unix, eh, it's good enough, but the shittiness of the web makes humanity stupider than we should be, at a time when we can ill afford it.

Re:The Unix-Haters Handbook (1994) [pdf] by ken on Monday March 18, 2019 @12:09AM (#19418634)
I'm slightly too young to have lived through it myself, but from what my dad told me, pre-GNU Unix and post-GNU Unix are almost completely different in their user experience. Prior to GNU, Unix (the tools and the kernel) used to simply crash a lot, or drop data. It was not an especially good system in any regard.

As the GNU coding standards say:

> Avoid arbitrary limits on the length or number of any data structure, including file names, lines, files, and symbols, by allocating all data structures dynamically. In most Unix utilities, “long lines are silently truncated”. This is not acceptable in a GNU utility.

This never really clicked with me because I didn't live through a time when my primary Unix utilities weren't robust. The closest I got was using old (1990's) HP/UX and Solaris and AIX systems where the sysadmins had installed the GNU tools already. All I knew is that I shouldn't use the system tools, because they were worse.

Personally, I think what helped Unix succeed is that the implementations were bad but the architecture made it (mostly) possible to improve the implementations piecemeal. Accordingly, the parts that have had the most trouble improving (like X11, and C) are those where the design doesn't allow this.

Re:The Unix-Haters Handbook (1994) [pdf] by pjmlp on Monday March 18, 2019 @04:28AM (#19419457)
Yes, using standard POSIX tools wasn't the best experience of the world.

What helped Unix succeed was that originally Bell Labs wasn't allowed to sell it, so they gave it to universities for what was a symbolic price in comparisasion what a standard OS used to cost, alongside its source code.

So naturally many stundents from those universities went out and started businesses based on UNIX, like Sun for example.

One of the reasons behing the BSD lawsuit was that AT&T got the license to charge for UNIX after Bell Labs was broken down into smaller units and they were trying to kill off those free branches.

People have a tendency to gravitate towards free stuff regarless how bad the quality happens to be.

Re:The Unix-Haters Handbook (1994) [pdf] by x122 on Monday March 18, 2019 @04:57AM (#19419547)
Eh, what? At the time (1994) the handbook was written reasonably priced alternatives were MacOS and Windows, both of which froze all the time and had horrible programming environments.

AIX, non-free, was notoriously horrible, too.

And the Wirth systems that you promote here were actually free.

So what exactly is the great stable commercial alternative in the 90s?

Re:The Unix-Haters Handbook (1994) [pdf] by TheOtherHobbes on Monday March 18, 2019 @06:18AM (#19419907)
Digital Research produced some nice usable systems in the early 80s. MP/M was a multitasking version of CP/M available by 1981.

In the mainframe world, TOPS-10/20 and VMS were both exemplary. From the user POV, the former was one of the best command-line systems ever created, with none of the insane user-hostility built into UNIX command naming. Dave "VMS -> NT" Cutler absolutely hated Unix, and it shows.

But we're really comparing cinder blocks and potatoes. UNIX was designed as a hobby/student hacker tool, not as a general user OS. Many of the design choices are bizarre and frankly stupid, as the book delights in pointing out. But hackers love UNIX because using it just it feels just like hacking code, and that's considered a good thing.

It wouldn't be impossible to design an OS with powerful command line options but a sensible command naming system, much more intelligent and reliable security, a modern filesystem, and so on - and perhaps add some of the user configurability and extendability of the Lisp/Smalltalk/Hypercard(?) world.

But UNIX is so embedded now it would be a purely academic exercise.

Re:The Unix-Haters Handbook (1994) [pdf] by AnIdiotOnTheNet on Monday March 18, 2019 @09:09AM (#19420702)
> But UNIX is so embedded now it would be a purely academic exercise

I guess I'm less pessimistic, because I don't think that's true. I think there are quite a few people like me who are fed up with the shit that exists today and really want a good alternative. I think we'd be willing to make quite a few sacrifices for something with a whole lot of potential.

What seems to be true is that there are very few people both capable of making that happen and bold enough to try to make it something people can actually use instead of just a toy academic project.

Re:The Unix-Haters Handbook (1994) [pdf] by incog-neato on Monday March 18, 2019 @09:55AM (#19420989)
Do you blog much? I've been lurking here a lot and have seen your posts. Would be interested in long-form essays or the like on what you would like to see.
Re:The Unix-Haters Handbook (1994) [pdf] by AnIdiotOnTheNet on Monday March 18, 2019 @07:27PM (#19426390)
I blog a little under my actual name, but I'd rather not tie that to this identity lest it make me less willing to express my stupidest and least popular opinions here, which I feel need to be exposed to criticism so I can better judge their merit. There's a reason my handle is what it is.
Re:The Unix-Haters Handbook (1994) [pdf] by taffer on Monday March 18, 2019 @07:56AM (#19420341)
OS/400 was also a very interesting and well designed system.
Re:The Unix-Haters Handbook (1994) [pdf] by einr on Monday March 18, 2019 @05:50AM (#19419768)
So what exactly is the great stable commercial alternative in the 90s?

OS/2 was pretty solid...

Re:The Unix-Haters Handbook (1994) [pdf] by adestefan on Monday March 18, 2019 @09:05AM (#19420673)
The OS/2 part was, the DOS/Win comparability later not so much.

Workplace Shell was so cool though.

Re:The Unix-Haters Handbook (1994) [pdf] by einr on Monday March 18, 2019 @11:19AM (#19421773)
Not sure what was bad about the DOS and Windows compatibility? OS/2 was frequently touted as "better DOS than DOS, better Windows than Windows" and it was generally true. You could multitask DOS apps (lots of people used this for running multi-line BBSes and so forth) and Win16 apps could crash without bringing down the whole system.

Of course OS/2 was later severely hampered by its inability to run Win32 apps, but that's another story.

Re:The Unix-Haters Handbook (1994) [pdf] by pjmlp on Monday March 18, 2019 @09:30AM (#19420820)
Besides what others already replied, universities were "free"[1] to use AT&T UNIX V source code and BSD derived code until AT&T was allowed to go commercial with UNIX, and suing Berkeley university in the process.

In fact, GCC only got traction after Sun introduced the idea in the UNIX world of selling the developer tools instead of bundling them wiht the OS.

Back in 1994 the Wirth systems were mostly only available at ETHZ.

Had Linux not come up into the scene, with the ongoing BSD lawsuit, and the UNIX landscape would have looked much different nowadays.

[1] - "free" here meaning several factors cheaper than buying a VMS or OS/360 timesharing system for the university campus.

Re:The Unix-Haters Handbook (1994) [pdf] by TeMPOraL on Monday March 18, 2019 @05:15AM (#19419644)
From reading it I recall it was less about contemporary alternatives (which all sucked), and more about how UNIX displaced better environments in the 70s/80s.
Re:The Unix-Haters Handbook (1994) [pdf] by cafard on Monday March 18, 2019 @08:41AM (#19420546)
There were a number of Multics descendants in the minicomputer world. Data General had AOS/VS, and Prime had PrimeOS. They were commercial and they were stable. However, they were tied to proprietary, expensive hardware.
Re:The Unix-Haters Handbook (1994) [pdf] by dotancohen on Monday March 18, 2019 @09:14AM (#19420726)
> People have a tendency to gravitate towards free stuff regarless how bad the quality happens to be.

Where does the MS operating system fit in here? Arguably the worst general-computing OS, but by far the most popular. For purpose of discussion, do you consider it free due to being widely pirated?

I'll say that the developer experience on Windows was excellent around the 1995-2005 timeframe. But the user experience was horrible, yet it remained an almost monopoly on the desktop.

Re:The Unix-Haters Handbook (1994) [pdf] by mcguire on Monday March 18, 2019 @10:50AM (#19421490)
It's "free" because the cost is built into the hardware---MS had licensing terms that made selling hardware without a license a poor choice. As a result, it was preinstalled and no one looked at any alternatives.
Re:The Unix-Haters Handbook (1994) [pdf] by dotancohen on Monday March 18, 2019 @11:11AM (#19421696)
In the context of the GP's post, that is free. The user did not have to outlay any more money to acquire it.
Re:The Unix-Haters Handbook (1994) [pdf] by nickpsecurity on Monday March 18, 2019 @03:33PM (#19424354)
It wasn't free: the user was forced to pay for it built-in to cost of the machine even if they intended to use a different OS. That's much worse than free.
Re:The Unix-Haters Handbook (1994) [pdf] by nradov on Monday March 18, 2019 @10:13AM (#19421115)
Worst compared to what? Microsoft gained its original OS dominance with MS-DOS when the primary competitor was CP/M.
Re:The Unix-Haters Handbook (1994) [pdf] by chronogram on Monday March 18, 2019 @11:45AM (#19422041)
And for the post 2005 timeframe, I don’t see any alternatives for general purpose desktop operating systems. Can’t install macOS on a device, and while I use Linux systems a lot, I don’t think anyone really develops it for desktop usage. I did hear you can have variable refresh rate monitors in the next Ubuntu release, but no idea about power management and hardware video decoding and all that..

Obviously it’s great in a VM!

Re:The Unix-Haters Handbook (1994) [pdf] by pjmlp on Monday March 18, 2019 @09:32AM (#19420833)
It was the OS for PCs, only geeks and some IT departments ever bothered updating their OSes.

Regular consumers just handle their computers like appliances, getting a new one with whatever OS it gets bundled with.

The monopoly worked both ways, any OEM was free to ditch Microsoft agreements, they just cared to improve their profits by getting into bed with Microsoft.

Re:The Unix-Haters Handbook (1994) [pdf] by linguae on Sunday March 17, 2019 @11:46PM (#19418561)
When I discovered Linux and FreeBSD as a 15 year old, I was absolutely amazed by what I saw, coming from the world of Windows with some elementary school memories of the classic Mac OS sprinkled in. My exploring these *nix variants and learning about their development and history led to my decision to major in computer science and pursue a career in systems software research. I still have a high level of respect for people like Ken Thompson, Dennis Ritchie, Bill Joy, and Marshall Kirk McKusick. I had a dream of working for Sun before the Oracle acquisition and working on projects like ZFS.

But lately I’ve been studying systems that for whatever reason ended up losing out in the marketplace despite having really interesting design decisions and features that would be welcome today. Although I like the classic Mac OS, NeXT, and the modern macOS, I wish Steve Jobs would have “copied” all of Smalltalk and then added Mac-like touches to it. I also wish that Genera were open-sourced instead of the current situation where it’s difficult to obtain legally and inexpensively. I have a dream of writing a modern OS inspired by Genera, Smalltalk, and Apple’s OpenDoc, but writing a new OS is a major undertaking.

Maybe it’s my inner romantic speaking, or maybe I’m just drawn to beautiful things, but I’ve always been attracted to “what could have been” things. Hopefully one day we’ll have a “right thing” OS again, and maybe one day we’ll have an alternative to the Web that isn’t as much of a technology hodgepodge.

Re:The Unix-Haters Handbook (1994) [pdf] by pjmlp on Monday March 18, 2019 @04:32AM (#19419471)
I had a similar path, from MS-DOS 5 / Amiga OS point of view, something like SGI seemed great and I dived into Linux zealotry a couple of years later.

But then a rich library at university campus opened my mind to other models of computing and sundenly pure old UNIX wasn't that interesting any longer, only NeXT, which used UNIX compatibility more for winning over Sun's customers than anything else.

Re:The Unix-Haters Handbook (1994) [pdf] by mpweiher on Monday March 18, 2019 @05:33AM (#19419710)
Funny, for me NeXT pretty much was Smalltalk + Mac + Unix.

And there were mechanisms for an OpenDoc-like system of embedded content (maybe more like OLE). While the rough idea of OpenDoc was and is appealing, I don't think that version of the idea is actually tenable.

Alas, since it was killed, it sort of lives on and occupies that space as an ideal version of the rough idea, rather than as an artefact that can be criticised and improved upon.

Re:The Unix-Haters Handbook (1994) [pdf] by pryce on Monday March 18, 2019 @12:13AM (#19418650)
It's probably been a long while since you've gone back to it, but The "Worse is Better" chapter in this book seems to show rather amazing foresight; it basically predicts the situation you describe regarding Unix being "the best operating system available without getting appreciably better" and offers compelling reasons why that was likely.

25 years ago. Who the hell does that?

Re:The Unix-Haters Handbook (1994) [pdf] by mpweiher on Monday March 18, 2019 @05:28AM (#19419684)
Richard Gabriel, that's who ;-)

I heartily recommend his other writings. In fact, he considers "Worse is Better" some of the worst of his writings, and it is the most successful. ¯\_(ツ)_/¯

Just one that I've gotten a lot of mileage out of is "Habitability and Piecemeal Growth" in Patterns of Software. Lots of other gems in there: Reuse vs. Compression, The Quality Without a Name, etc.

EDIT: Forgot the link

https://www.dreamsongs.com/Files/PatternsOfSoftware.pdf

Re:The Unix-Haters Handbook (1994) [pdf] by avar on Monday March 18, 2019 @04:26AM (#19419448)
> And still miss my Lisp Machine[...]

This all happened before my time, but having read a lot about the Lisp Machine I'm as interested in the what-ifs of history if it had won out as the next guy.

I wonder though how much of the legitimate sentiment in this book is simply raging against a machine that's successful and installed in production.

Given widespread commercial use a system where you could modify the running Lisp code of any program down to the kernel would have had its own nightmare stories of sysadmins monkeypatching things in production, and e.g. the perceived shittyness of NFS being replaced by some Lisp-native system where you sent serialized Lisp objects for your program over the wire, with corresponding upgrade hassles if you needed to upgrade a client/server pair.

Re:The Unix-Haters Handbook (1994) [pdf] by tabtab on Monday March 18, 2019 @03:01PM (#19424030)
I really like the concept of Lisp, but just plain find it too hard to read. Part of the problem is that small-scale groupings too closely resemble large-scale groupings. In most production languages, "big blocks" are visually different than "small blocks" (or groupings). For example, in C, parameter statements are grouped within parenthesis. Large scale groupings are done with curly braces. This provides visual cues about scope and intention without first reading each token.

Plus it's too easy to "reinvent the language" in Lisp. In C-based languages, the block structures (if, while, try, etc.) are pretty much hard-wired into the language so they stay consistent. In Lisp, one can roll their own. It's great if you are the lone reader: you can customize it to fit your head. But, other readers may not agree with your head's ideal model, or learning it adds to the learning curve of a new shop.

Re:The Unix-Haters Handbook (1994) [pdf] by lispm on Tuesday March 19, 2019 @03:36AM (#19428821)
> This provides visual cues about scope and intention without first reading each token.

There isn't even a token to read in C. You have to infer what it is by parsing the thing in your head. Well, our visual systems have no problems doing this.

The C function definition doesn't have an operator which would help me to identify what it actually is.

  float square ( float x )
  {
    float p ;
    p = x * x ;
    return ( p ) ;
  }
Where in Lisp we have this operator based prefix syntax:

  (defun square (x)
    (* x x))
Oh, DEFUN, short for DEFine FUNction, it's a global definition and it defines a global function.

Or with types/classes:

   (defmethod square ((x float))
     (the float (* x x)))
Oh, DEFMETHOD, DEFine METHOD, so it's a global definition of a method (kind of a function).

The names and lists may not tell you much, but to a Lisp programmer it signals the operation and the structure of the code, based on typical code patterns.

Once we learned basic Lisp syntax this is the usual pattern for definitions:

  <definition operator> <name of the thing to be defined> <parameters>
    <body of definition>
Most definitions in Lisp follow that pattern. Function definitions extend/refine this:

  <define function> <name of function> <parameter list>
    <declarations>
    <documentation>
    <body of definition>

Code then has a layout which is always similar - since the layout is hardwired/ supported in editors and Lisp itself (via the pretty printer, which prints code to the terminal according to layout rules).

> block structures (if, while, try, etc.) are pretty much hard-wired into the language so they stay consistent

These are also hardwired in something like Common Lisp. But the general language is differently designed. Common Lisp has relatively few built-in basic syntactic forms (around 30) and the other syntax is implemented as macros.

> It's great if you are the lone reader: you can customize it to fit your head

Over the decades of Lisp usage a bunch of conventions and some language support for common syntactic patterns have emerged. It is considered good style to follow those patterns.

> But, other readers may not agree with your head's ideal model, or learning it adds to the learning curve of a new shop.

That's the same problem everywhere: the new control structure implemented as a Lisp macro is the new control structure in any other language implemented by a bunch of different tools (macros, preprocessor macros, embedded languages, external languages, a web of classes/methods, a C++ template, ...).

If you add a new abstraction, there is always a price to pay. In Lisp the new language abstraction often gets implemented as a new macro and may hide the the implementation behind a more convenient form.

Re:The Unix-Haters Handbook (1994) [pdf] by tabtab on Tuesday March 19, 2019 @11:53AM (#19431992)
C itself is not the pinnacle of programming languages in my opinion. JavaScript does require a "function" keyword (although it should be shortened to "func" in my opinion.)

It still stands that "}" indicates larger-scale structures than ")" in C-like languages. Lisp has nothing equivalent, and I find a visual way to identify forests versus trees without first reading text is quite helpful. Your eyes may vary; everyone's head works differently.

But as evidence people agree with me, lisp had roughly 60 years to try to catch on as mainstream. It didn't. Nothing had more opportunities. If you don't win any beauty contests after 60 years, it's time to admit you are probably ugly to the average judge.

Re:The Unix-Haters Handbook (1994) [pdf] by lispm on Tuesday March 19, 2019 @12:16PM (#19432235)
> Lisp has nothing equivalent

prog, let, defun all indicate block structures.

> Your eyes may vary; everyone's head works differently

No, it's just training. You are just unfamiliar with Lisp code. After a few days training, you should have little problem reading Lisp code. It's like bicycle riding: people can't believe that it is possible to balance it, but after a few lessons it's no problem.

That's an old saying:

'Anyone could learn Lisp in one day, except that if they already knew Fortran, it would take three days.' (Marvin Minsky)

Re:The Unix-Haters Handbook (1994) [pdf] by tabtab on Thursday March 21, 2019 @08:58PM (#19458810)
I tried to get used to it, I couldn't.
Re:The Unix-Haters Handbook (1994) [pdf] by chrismaeda on Monday March 18, 2019 @01:49AM (#19418950)
MT-

Here we are 25 years later and now UNIX is the "good" OS.

The horror.

-Chris

Re:The Unix-Haters Handbook (1994) [pdf] by kickingvegas on Sunday March 17, 2019 @11:47PM (#19418567)
Mary Shaw (http://spoke.compose.cs.cmu.edu/shaweb/) had a backhanded reference to Unix/AT&T Bell Labs as the "New Jersey School of Computing." The misery of it is that it was good enough to get to where computing is now. The downside is that is also what is holding computing back.
Re:The Unix-Haters Handbook (1994) [pdf] by marmshallow on Monday March 18, 2019 @02:01AM (#19418991)
Do you have any suggested reading to learn more about the more ambitious visions from the 70s and 80s, and why they didn't pan out?
Re:The Unix-Haters Handbook (1994) [pdf] by KineticLensman on Monday March 18, 2019 @10:21AM (#19421202)
Well in some cases it was because conventional hardware caught up. When I arrived at my first job in 1998 we were using Symbolics Lisp machines. Two years later we were using TI microexplorer Lisp cards that were hosted in a Mac IIFx (something like [0]). When I left, two years after that, we were running Procyon Common Lisp on the IIFx itself, with no Lisp co-processor. The old Symbolics machine was booted up occasionally, and in fact had the best diagnostics for the climate conditions in the server room. If the air con failed, the Symbolics would send temperature reports to a remote console before gracefully shutting down while the Sun workstations would just overheat and randomly fail.

[0] https://imgur.com/gallery/Vw5agg5

Re:The Unix-Haters Handbook (1994) [pdf] by lispm on Tuesday March 19, 2019 @05:12AM (#19429208)
Lots of people used Macintosh Common Lisp on Macintosh IIFX machines and later. The 68030 in the FX also enabled a better garbage collector for MCL.
Re:The Unix-Haters Handbook (1994) [pdf] by KineticLensman on Tuesday March 19, 2019 @02:25PM (#19433892)
We used Procyon Common Lisp because it was very nicely integrated with the Macintosh - especially for graphics - and had a great CLOS implementation. I used it to reimplement a clunky VAX-based FORTRAN modelling environment that had been developed in-house into a smooth Macintosh app with a graphical node-graph editor. In all of the system development I've done, this had the biggest 'awesome gosh wow' reaction I've ever received from the users.
Re:The Unix-Haters Handbook (1994) [pdf] by lispm on Tuesday March 19, 2019 @02:28PM (#19433941)
I have used it, too - but not for long. Usually I thought MCL then was better - Apple also bought it and then released it via their developer channel.

Unfortunately Procyon Common Lisp was taken off the market, when it was bought by Franz, Inc. They used the Windows version of Procyon CL as kind of a starting point for their Windows offering of Allegro CL, IIRC.

Re:The Unix-Haters Handbook (1994) [pdf] by KineticLensman on Monday March 18, 2019 @05:41PM (#19425625)
Too late to edit - 1998 should be 1988.
Re:The Unix-Haters Handbook (1994) [pdf] by lispm on Tuesday March 19, 2019 @03:55AM (#19428886)
Book: The Architecture of Symbolic Computers. Peter M. Kogge.

From Symbolics (Overview + Technical Summary):

http://bitsavers.informatik.uni-stuttgart.de/pdf/symbolics/h...

http://bitsavers.informatik.uni-stuttgart.de/pdf/symbolics/3...

Texas Instruments, Technical Summary

http://bitsavers.informatik.uni-stuttgart.de/pdf/ti/explorer...

Xerox Interlisp-D Friendly Primer

http://bitsavers.informatik.uni-stuttgart.de/pdf/xerox/inter...

Re:The Unix-Haters Handbook (1994) [pdf] by mtraven on Monday March 18, 2019 @05:03PM (#19425283)
There hasn't been much written on the Lisp Machines that I know of. Alan Kay's History of Smalltalk might be a good place to start, the LispM owed a lot to earlier work done at PARC: http://worrydream.com/EarlyHistoryOfSmalltalk/
Re:The Unix-Haters Handbook (1994) [pdf] by jayalpha on Monday March 18, 2019 @03:35AM (#19419271)
Probably likely with the WWW and the very complex competing version.

Too complex and takes too long to deliver.In the end, the winner takes it all.

Re:The Unix-Haters Handbook (1994) [pdf] by coldtea on Monday March 18, 2019 @08:44AM (#19420565)
So, unix is like kudzu, if you also could somewhat eat kudzu.
Re:The Unix-Haters Handbook (1994) [pdf] by syn0byte on Monday March 18, 2019 @11:00AM (#19421591)
Re:The Unix-Haters Handbook (1994) [pdf] by hyperpallium on Monday March 18, 2019 @02:18AM (#19419040)
the meek (=cowards=euniques=unix) shall inherit the earth