Over the past few years, and as part of my perennial personal quest for a nicer computing experience, I keep finding myself going down a small set of technological rabbit holes, which I’m listing here in an attempt to remind future me that I might already done so too many times.
The list is in rough chronological order, and was actually written on one of these in a lazy Saturday afternoon. I won’t spoil it by telling you which one right away.
FreeBSD/OpenBSD
Promises:
- A more efficient UNIX that was somehow “purer” and more efficient than Linux, a topic that has been on my mind ever since I read The Design and Implementation of the FreeBSD Operating System as a freshman. I still have the book on my shelves.
- No
systemd
-like nonsense.
Facts:
- Even when you know where to find the docs, there are zero affordances for setting up even commonplace hardware.
- Some language runtimes and common libraries have to be compiled from scratch, whereas they are readily available on Linux.
- Docker pretty much made the base OS irrelevant.
I’ve only hosted my stuff on FreeBSD twice so far, and it was rock solid but took forever to setup.
Cloud-ready images and absurdly easy bootstrapping of everything Linux has made it so time-intensive in comparison that I haven’t touched it in five years or so. I probably won’t, ever again, but sometimes I wish it had “won”.
Haiku
Promises:
- Simple, lightweight desktop OS with the wondrous power of multi-tasking and (allegedly, today) a usable browser.
- BeOS compatibility (I ran BeOS 4 for a while, in the pre-DSL days, so this is a minor thing for me).
Facts:
- They never even bothered with the Raspberry Pi, where it would have been amazing.
- No modern RDP client or good enough browser I could use to work on other machines.
- E-mail client was unusable (and I use Mail.app daily, so it’s not about fancy features).
I still keep an eye out for Haiku because I think it would make for a brilliant Raspberry Pi desktop OS, but I just don’t see that happening.
GNUStep
Promises:
- The last chance to go back to a couple of happy years sitting in front of a NeXTCube.
- Lightweight, no frills desktop environment with just barely enough window management to not be a nuisance.
- Objective-C development environment close enough to the Mac to be useful.
Facts:
- The Linux window manager/desktop environment approach cannot faithfully reproduce the NeXT experience I once enjoyed.
- No single unified packaging of the whole thing on modern Linux distributions (just a pastiche of packages strewn unevenly across several states of readiness).
- Unevenly updated Live CD, last tweaked in 2017 with (now outdated) Raspberry Pi support.
- Only one of these where I could ever actually work in, but
Mail.app
just wasn’t up to scratch and most standard applications were broadly unmaintained.
I carried a torch for this one until Elementary came along. Still wish it worked, though.
Plan 9
Promises:
- Lightweight, extremely fast OS that was an arguably better UNIX than UNIX and implemented many concepts and protocols we still use today (like P9).
- Efficient development environment.
- Transparent clustering.
Facts:
- Boots instantly on a Raspberry Pi, to the point where “ludicrous speed” comes to mind.
- Legacy UX conventions make it impossible to use properly without a three button mouse.
rio
, its window manager, is obtuse to the point of uselessness by modern standards.acme
is a work of art, but the mouse thing makes it really hard to use on a modern machine.- No browser. No way even to build one that comes within a foot of modern standards, since most of the browser stack simply can’t be ported without porting the compilers.
I fooled around with Plan9 for long enough to be familiar (had a Raspberry Pi that acted as a network console), as well as its very neat, very self-contained offshoot, Inferno, that I really, really wish had taken off as an embedded OS.
To be honest, there’s a lot about Go that most people won’t ever get if they haven’t experienced Plan9 or Inferno’s Limbo.
emacs
Promises:
- You never need to leave
emacs
for anything, and I actually used it during college for coding, e-mail, NNTP, etc.
Facts:
- You never need to leave
emacs
, but I’ve never been able to go back to it even during my frequent forays into LISP-based languages, becausevim
took over my fingers.
And no, I am not completely off my rocker by including emacs
as an operating system. To many people, even today, it is the only thing they touch in a computer, but using it to write this in an iPad (using iSH) was just weird.
Anyway, the main point I would like to make is that yes, there is so much better stuff to use these days.
But somehow, I don’t think we’re that much better off, and still wish we had a simpler approach to computing–I just need to remember to start looking elsewhere every time I start musing about any of these (maybe Illumos would be more in keeping with the times, for instance).