Just before Christmas, we put together a holiday-fun quiz to find out what sort of techno-geeky diversions you’d like to lose yourself in, assuming that [a] you have some time off work and [b] you have some online time to spare.
There are three suggestions in the quiz:
- Install a non-mainstream operating system. Because you can.
- Fool around with software you used to love. No one will know.
- Rewrite a well-known algorithm from scratch. Prove you can still code.
But what about the answers?
We pre-selected three answers for each question, and we asked you to choose your favourite from our suggestions.
So we thought we’d review the questions over the course of this week to encourage you to take part in the quiz if you haven’t already. (Actually, given that it’s just for fun, please vote again if you change your mind – that’s fine with us.)
Today, we’re going to look at Q1:
You decide to install a non-mainstream operating system. Because you can. Which do you choose?
Plan 9 from Bell Labs
This question isn’t a joke – all the choices above are real operating systems you can download and try today.
They’re somewhat off the beaten track for most people, though.
Haiku describes itself as “an open-source operating system that specifically targets personal computing. Inspired by the BeOS, Haiku is fast, simple to use, easy to learn and yet very powerful.”
There’s hasn’t been an official version, however, since the Alpha 4 release on November 2012. (Even the apology about the age of the release is out of date, saying “Alpha 4 is now almost 5 years old.”)
So, we went for the latest nightly build, currently
haiku-nightly-hrev51712, and we went old-school with the 32-bit version on the grounds that it’s still binary compatible with the long-defunct 32-bit BeOS product from the 1990s.
I remember BeOS fondly, because it was, well, it was cool.
BeOS supported all sorts of multimedia stuff smoothly; you didn’t have to spend hours hacking around with X11 configuration files; there was no time-consuming cross-your-fingers-twice configure-and-make stage; and it had a consistent, clean, reliable window manager that looked superb.
But it was wacky, too: I once did a test intall and everything worked – my network card, the graphics card that was a science project to use under Linux, everything, except the keyboard. Go figure.
Well, no such trouble with the Haiku nightly build – in a VirtualBox VM, it took no more than a few seconds to get a live desktop booted and running with the Naked Security website loaded in the WebPositive browser:
Just like the 1990s, when BeOS was around, the speed was astonishing, lagginess was non-existent, the graphics rendering crisp, and the look surprisingly contemporary. (That’s one way of saying that BeOS was ahead of its time.)
We won’t make any recommendations beyond that, however: we couldn’t figure out how to view the TLS certificate of the website you just connected to, or to check the ciphers supported and used by the browser, so we have no idea how safe you’re likely to be using it.
Nevertheless, it’s worth trying out Haiku just to feel how fast software can be if it really tries.
Our next experiment was Minix, a venerable, free operating system that was not only the inspiration for Linux but also the starting point for Linus Torvalds to get a running system on which to begin development.
Linux, however, ended up very much unlike Minix, and much more like every other mainstream operating system on the market today.
In Linux, user programs run outside the kernel, in what’s known as userland, so they can be regulated pretty closely, but the kernel itself is a vast, sprawling underground edifice that houses all the low-level code – what’s known as a monolithic kernel.
Minix comes from a different starting point: it’s a microkernel, where the privileged code in the kernel itself is kept to a minimum and as much code as possible, including the low-level drivers that control the hardware itself, runs in userland.
The theory is simple: start with the goals of security and maintainability, and worry about performance later.
That makes Minix is a fantastic learning tool, and worth trying out if you haven’t done so already.
Like Haiku, Minix releases are something of a rarity, with the most recent official version being 3.3.0 from November 2014.
We wanted something more recent, so we used the
3.4.0rc6 snapshot from May 2017; this includes a basic X Window System so you can fire up a graphical interface right away.
twm, short for Tom’s Window Manager, with its default apps: three
xterms and an
Welcome to 1987, complete with X started as root and a bunch of root terminals open by default – for all the caution in its design, the Minix installer advises you to set everything up with a root login and then leaves you to get security right later on.
Ironically, the most recent Firefox file we could find in the official online package repository was 49.0, and that turned out to be the language files only, not the browser itself.
We decided to used the venerable text-mode browser
Lynx instead, but the version offered to us didn’t seem to speak a recent enough dialect of TLS, so we tried
links, another text-mode browser, as you can see above.
If you get any further than this (a recent Firefox would be nice to see), do let us know in the comments.
And that brings us to Plan 9 from Bell Labs.
Named after the cult 1950s science fiction movie Plan 9 from Outer Space – a strange namesake for a software product to choose, given than the movie’s fame comes from its reputation as the worst film ever made.
Amusingly, Plan 9’s mascot is Glenda, named after the movie Glen or Glenda, an early 1950s film about transvestism from the same director, Ed Woods. (By some accounts, Glen or Glenda was even worse than Plan 9 from Outer Space.)
Plan 9 was a research project at Bell Labs that can be considered decades ahead of its time: everything in the operating system is treated like a file, including devices, traditional files, processes, network connections and more.
Instead of different naming conventions and programming interfaces for local and remote commands, local and network-based files, local and distributed computing jobs…
…there was one input/output protocol to rule them all, 9P.
Where Unix has the
cat command to dump data out of files, but needs a completely different command called
netcat to shovel data across the network, Plan 9 doesn’t.
Whether a file is moving along a disk cable, across a network link or between two processes in memory (even two processes on different computers), in Plan 9 you can use the same command everywhere.
Plan 9 never really emerged from the research world into real life – the project didn’t survive the enforced breakup of US telecommunications provider AT&T, of which Bell Labs was a part.
Why not take our quiz now – it’s anonymous, and we think it’s fun.