Skip to content

Comment on The Unix-Haters Handbook (1994) [pdf]parent

Comments

I'm not sure I've everyone been on the user side of true "enterprise software" since I don't do business side work, but basically all the commercial-inspirex stuff is made with the same idea.

Feature rich, high level languages, high integration, opinionated workflow. Krita, FreeCAD, LibreOffice, Ardour, browsers, and VSCode mostly all seem to fully ignore anything UNIXy, and are amazing.

I don't really see software doing significant amounts of sucking these days. When I do, it's usually because it's subscription or cloud dependent, or because they left out something important for simplicity's sake.

Software basically runs the entire modern world. The expectations of computers are no longer to just "Compute". Everything is interactive, embedded systems are everywhere, and the stuff that really is "Computing" is often GPU accelerated or distributed.

Computers were their own separate thing in the UNIX era. They weren't fully replacements for any other device yet, outside of research. People used real filing cabinets and records or cassettes.

Large complex software enables huge classes of applications that would otherwise have enough friction that nobody would want them, you'd juat get a pen and paper rather than reading a man page to do what should be a 4 second task.

And when you have dozens or hundreds of them, not many people are going to want to learn them all, and actively go out of their way to stay current with them.

People complained CONSTANTLY about computers into the early 2000s. Somehow it was always a challenge, you always had to spend time figuring out how to get the computer to do what you wanted, and you might often wonder if it was worth using them at all.

UNIX users have a very different perspective from average users. They spend a lot of time dealing with text and processing data, and mostly like computers for academic reasons or for tasks that are completely impractical by hand. Not many of them seem to actually want an ubiquitous IoT type future with an app for anything.

With an appreciation of simplicity seems to come a love of the analog, because that's the ultimate UNIX philosophy, not using a computer at all.

What you are saying is true, however:

1. It's been the case for many, many decades; nothing new there, and

2. All your examples are end-user applications, not operating systems.

Operating systems - and perhaps frameworks in general - are different, in that complexity is much more of a problem. Operating system is not just another application, it's the foundation of the entire thing. All this text processing stuff you've mentioned: this is just a part of Unix, the "icing". What matters lies below.

Computers were their own separate thing in the UNIX era.

Back when computers were their own separate thing, Unix was just one of a bunch of vastly different systems. Very large market share - perhaps even bigger than Unix - was VMS, and MVS was a thing too; then you had a bunch of less common ones, like Pr1me.

Now, however, literally every phone runs Unix.

With an appreciation of simplicity seems to come a love of the analog, because that's the ultimate UNIX philosophy, not using a computer at all.

Or mechanical :-) Again, this is very true, but it is like this for a reason: it's because we understand the complexity involved and its consequences.

Linux really blurs the lines with what is part of the OS, and what is part of the application, since there's now a common set of middleware daemons that are used in most mainstream distros.

It used to be much more loose and modular, and also much more unpredictable with no real stable platform.

Now it's more like GNU/Linux/systemd/DBus/xdg, and most of what I love about Linux comes from the fact we've eventually evolved a real "platform" that is vaguely standard between popular distros, with just enough modularity to make devuan and void possible so we don't get rioting.

Android is even more like that. In practice it's inseparable from all the other stuff on top, and you never interact with UNIXy concepts. They don't really even want you to directly deal with files.

And.... it all works fine. Android is a bit of a developer nightmare, but it's wonderful for users, and Ubuntu-likes are great for both users and developers(As long as they don't want to customize stuff under the hood too much).

I rarely meet a techie who doesn't have quite the fondness for the mechanical though, and they all seem to be very smart, and very capable, so there must be some sort of reason.

I've rarely had trouble with the more complex things, either at home or at work, so I suspect some of it comes down to how much you value a sense of control and understanding.

You're probably gonna have a bad time with a mega-ultra-framework if you want to design an architecture to fit the task, and your own vision of Good Code, and then implement that.

But you'll probably have a great time if you enjoy finding ways to fit the application into The One True Way the framework is built for.

It seems like a lot of people who enjoy analog and especially paper notetaking specifically really like the lack of any predetermined structure.

Simple things always claim to be very logical and consistent and built from a small set of concepts, but it seems like the real result, and probably why people like them, is that they invite you to build more yourself, so you have in practice a near infinite set of features with a different subset in every project.

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.