liam_on_linux: (Default)
[Another recycled mailing list post]

I was asked what options there were for blind people who wish to use Linux.

The answer is simple but fairly depressing: basically every blind person I know personally or via friends of friends who is a computer user, uses Windows or Mac. There is a significant move from Windows to Mac.

Younger computer users -- by which I mean people who started using computers since the 1990s and widespread internet usage, i.e. most of them -- tend to expect graphical user interfaces, menus and so on, and not to be happy with command-line-driven programs.

This applies every bit as much to blind users.

Linux can work very well for blind users if they use the terminal. The Linux shell is the richest and most powerful command-line environment there is or ever has been, and one can accomplish almost anything one wants to do using it.

But it's still a command line, and a notably unfriendly and unhelpful one at that.

In my experience, for a lot of GUI users, that is just too much.

For instance, a decade or so back, the Register ran some articles I wrote on switching to Linux. They were, completely intentionally, what is sometimes today called "opinionated" -- that is, I did not try to present balance or a spread of options. Instead I presented what was, IMHO, the best choices.


Multiple readers complained that I included a handful of commands to type in. "This is why Linux is not usable! This is why it is not ready for the real world! Ordinary people can't do this weird arcane stuff!" And so on.

Probably some of these remarks are still there in the comments pages.

In vain did some others try to reason with them.

But it was 10x quicker to copy-and-paste these commands!
-> No, it's too hard.

He could give GUI steps but it would take pages.
-> Then that's what he should have done, because we don't do this weird terminal nonsense.

But then the article would have been 10x longer and you wouldn't read it.
-> Well then the OS is not ready, it's not suitable for normal people.

If you just copy-and-paste, it's like 3 mouse clicks and you can't make a typing error.
-> But it's still weird and scary and I DON'T LIKE IT.

You can't win.

This is why Linux Mint succeeded -- partly because when Ubuntu introduced its non-Windows-like desktop after Microsoft threatened to sue, Mint hoovered up those users who wanted it Windows-like.

But also because Mint didn't make you install the optional extras. It bundled them, and so what if that makes it illegal to distribute in some countries? It Just Worked out of the box, and it looked familiar, and that won them millions of fans.

Mac OS X has done extremely well partly because users never ever need to go need a command line, for anything, ever. You can if you want, but you never, ever need to.

If that means you can't move your swap file to another drive, so be it. If that means that a tonne of the classic Unix configuration files are gone, replaced by a networked configuration database, so be it.

Apple is not afraid to break things in order to make something better.

The result has been to become the first trillion-dollar computer company, and hundreds of millions of happy customers.

Linux gives you choices, lets you pick what you want, work the way you want... and despite offering the results for free, the result has been about 1% of the desktop market and basically zero of the tablet and smartphone markets.

Ubuntu made a valiant effort to make a desktop of Mac-like simplicity, and it successfully went from a new entrant in a busy marketplace in 2004 to being the #1 desktop Linux within a decade. It has made virtually no dent on the non-Linux world, though.

After 20 years of this, Google (after *bitter* internal argument) introduced ChromeOS, a Linux which takes away all your choices. It only runs on Google hardware, has no apps, no desktop, no package management, no choices at all. It gives you a dead cheap, virus-proof computer that gets you on the Web.

In less time than Ubuntu took to win about 1% of the Windows market over to Linux, ChromeBooks persuaded about one third of the world laptop buying market to switch to Linux. More Chromebooks sell every year -- tens of millions -- than Ubuntu users in total since it lauched.

What effect has this had on desktop Linux? Zero. None at all. If that is the price of success, they are not willing to pay it. What Google has done is so unspeakable foul, so wrong, so blasphemous, they don't even talk about it.

What effect has it had on Microsoft? A lot. Cheaper Windows laptops than ever, new low-end editions of Windows, serious efforts to reduce the disk and memory usage...

And little success. The cheap editions lose what makes Windows desirable, and ultra-cheap Windows laptops make poorer slower Chromebooks than actual Chromebooks.

Apple isn't playing. It makes its money in the high-end.

Unfortunately a lot of people are very technologically conservative. Once they find something they like, they will stay with it at all costs.

This attitude is what has kept Microsoft immensely profitable.

A similar one is what has kept Linux as the most successful server OS in the world. It is just a modernised version of a quick and dirty hack of an OS from the 1960s, but it's capable and it's free. "Good enough" is the enemy of better.

There are hundreds of other operating systems out there. I listed 25 non-Linux FOSS OSes in this piece, and yes, FreeDOS was included.

There are dozens that are better in various ways than Unix and Linux.

  • Minix 3 is a better FOSS Unix than Linux: a true microkernel which can cope with parts of itself failing without crashing the computer.

  • Plan 9 is a better UNIX than Unix. Everything really is a file and the network is the computer.

  • Inferno is a better Plan 9 than Plan 9: the network is your computer, with full processor and OS-independence.

  • Plan 9's UI is based on Oberon: an entire mouse-driven OS in 10,000 lines of rigorous, type-safe code, including the compiler and IDE.

  • A2 is the modern descendant of Oberon: real-time capable, a full GUI, multiprocessor-aware, internet- and Web-capable.

(And before anyone snarks at me: they are all niche projects, direly lacking polish and not ready for the mass market. So was Linux until the 21st century. So was Windows until version 3. So was the Mac until at the very least the Mac Plus with a hard disk. None of this in any way invalidates their potential.)

But almost everyone is too invested in the way they know and like to be willing to start over.

So we are trapped, the monkey with its hand stuck in a coconut shell full of rice, even though it can see the grinning hunter coming to kill and eat it.

We are facing catastrophic climate change that will kill most of humanity and most species of life on Earth, this century. To find any solutions, we need better computers that can help us to think better and work out better ways to live, better cleaner technologies, better systems of employment and housing and everything else.

But we can't let go of the single lousy handful of rice that we are clutching. We can't let go of our broken political and economic and military-industrial systems. We can't even let go of our broken 1960s and 1970s computer operating systems.

And every day, the hunter gets closer and his smile gets bigger.
liam_on_linux: (Default)
A lot of my speculations concern the future of new, alternative operating systems which could escape from old-fashioned, sometimes ill-conceived models and languages.

But I do spend some time thinking about what is happening with Linux, with FOSS Unix in general, and especially with container technologies, something I deal with in my current and recent day-jobs more and more.

One answer to legacy nastiness for years now has been to virtualise it. Today, that's changing to "containerise it".

There is a ton of cruft in Linux and in the BSDs and so on which nobody is ever going to fix. It's too hard, it would break too much stuff... but most of all, there is no commercial pressure to do it, so it's not going to happen.

I can certainly see potentialities. There are parallels that run quite deep.

For instance, consider a few unrelated technologies:

- FreeBSD jails and Solaris Zones. Start here.

They indirectly evolved into LXC, the container mechanism in the Linux kernel which gets relatively little attention. (Docker has critical mass, systemd namespaces are trendier in some niches, CRIO is gaining a little bit of traction.)

Docker now means Linux containers are a known thing, already widely-used with money being poured into their R&D.

Joyent, a company with some vision, saw a chance here. It took Illumos, the FOSS fork of Solaris, and revived and modernised some long-dead Sun code: lxrun, the Linux runtime for Solaris. Joyent SmartOS is therefore a tiny Solaris derivative -- it runs entirely from RAM, booted off a USB stick, but can efficiently scale to hundreds of CPU cores and many terabytes of RAM -- which can natively run Docker Linux containers.

You don't need to run a hypervisor. (It is a hypervisor, if you want that.) You don't need to partition the machine. You don't even need a single copy of Linux on it. You have a rack of x86-64 boxes running SmartOS, and you can throw tens of thousands of Docker containers at them.

It gives capacities and scalability that only IBM mainframes can approach.

Now, if one small company can do this with some long-unmaintained code, then consider what else could be done with it.

 - Want more resilient hosts for long-lived containers? Put some work into Minix 3 until it can efficiently run Linux containers. A proper fully-modular-all-the-way-down microkernel which can detect when its constituent in-memory services fail and restart them. It can in principle even undergo binary version upgrades, piecemeal, on a running system. This is stuff Linux vendors can't even dream of. It would, for a start, make quite a lot of the Spectre and Meltdown vulnerabilities moot, because there's no shared kernel memory space.

Unlike Darwin and xnu, it's a proper microkernel -- no huge in-kernel servers for anything here. (Don't eve try to claim WinNT is a microkernel or I will slap you.) Unlike the GNU HURD, it's here, it works, it's being very widely used for real workloads. And it's 100% FOSS.

 - Want a flexible cluster host which can migrate containers around a globe-spanning virtual datacenter?

Put some work into Plan 9's APE, its Linux runtime. Again, make it capable of running Linux containers. To Plan 9 they'd just be processes and it was built to efficiently fling them around a network.

I have looked into container-hosting Linux distros for several different dayjobs. I can't give details, but they scare me. One I've tried has a min spec of 8GB of RAM and 40GB of disk per cluster node, and a minimum of 3-4 nodes.

This is not small efficient tech. But it could be; SmartOS shows that.

 - Hell, more down to earth -- many old Linux hands are deserting to FreeBSD in disgust over systemd. FreeBSD already has containers and a quite current Linux runtime, the Linuxulator. It would be relatively easy to put them together and have FreeBSD host Linux containers, but the sort of people who dislike systemd also dislike containers.

Not everything would run under containers, sure, no. But they're suitable for far bigger workloads than is generally expected. You can migrate a whole complex Linux server into a container -- P2V migration as was once common when moving to hypervisors. I've talked to people doing it.

Ubuntu LXD is specifically intended for this, because Ubuntu isn't certified for SAP, only SUSE is, so Ubuntu wants to be able to run SLE userlands. Ditto some RHEL-only stuff.

But what if it doesn't work with containers at all?

Well, as parallels...

[1] A lot of Win32 stuff got abandoned with the move to WinXP. People liked the new OS enough that stuff that didn't work got left behind.

[2] Apple formalised this with Carbon after the NeXT acquisition. The MacOS APIs were not clean and suitable for a pre-emptive multitasking OS. So Apple stripped them out and said "if you use this subset, your app can be ported. If you don't, it can't."

Over the next few years, the old OS was forcibly phased out -- there is a generation of late-era gigahertz-class G4 and G5 PowerMac that refuses to boot classic MacOS. Apple tweaked the firmware to prevent it. You _had_ to run OS X on them, and although versions >= 10.4 could run a Classic MacOS VM, not everything worked in a VM.

So the developers had to migrate. And they did, because although it was a lot of work, they wanted to keep selling software.

It worked so well that in the end the migration from PowerPC to Intel was less painful than the one from classic MacOS to OS X.

So maybe Linux workloads that won't work in containers will just go away, replaced by ones that will -- and apps that play nice in a container don't care what distro they're on, and that means that they will run on top of SmartOS and FreeBSD and maybe in time Minix 3 or Plan 9.

And so we'll get that newer, cleaner, reworked Unix after all, but not by any incremental process, by a quite dramatic big-bang approach.

And if there comes a point when it's desirable to run these alternative OSes for some users, because they provide useful features in nice handy easy ways, well, maybe they'll gain traction.

And if that happened, then maybe some people will investigate native ports instead of containerised Linux versions, and gain some edge, and suddenly the Unix world will be blown wide open again.

Might happen. Might not. It's not what I am really interested in, TBH. But it's possible -- existing products, shipping for a few years, show that.
liam_on_linux: (Default)

So, yesterday I presented my first conference talk since the Windows Show 1996 at Olympia, where I talked about choosing a network operating system — that is, a server OS — for PC Pro magazine.

(I probablystill have the speaker's notes and presentation for that somewere too. The intensely curious may ask and I maybe able share it too.)

It seemed to go OK, I had a whole bunch of people asking questions afterwards, commenting or thanking me.

[Edit] Video! https://youtu.be/jlERSVSDl7Y

I have to check out the video recording and make some editing marks before it will be published and I am not sure that the hotel wifi connection is fast or capacious enough for me to do that. However, I'll post it as soon as I can.

Meantime, here is some further reading.

I put together a slightly jokey deck of slides and was very pleasantly impressed at how good and easy LibreOffice Impress made it to create and to present them. You can download the 9MB ODP file here:

https://www.dropbox.com/s/xmmz5r5zfmnqyzm/The%20circuit%20less%20travelled.odp?dl=0

The notes are a 110 kB MS Word 2003 document. They may not always be terribly coherent -- some were extensively scripted, some are just bullet points. For best results, view in MS Word (or the free MS Word Viewer, which runs fine under WINE) in Outline mode. Other programs will not show the structure of the document, just the text.

https://www.dropbox.com/s/7b2e1xny53ckiei/The%20Circuit%20less%20travelled.doc?dl=0

I had to cut the talk fairly brutally to fit the time and did not get to discuss some of the operating systems I planned to. You can see some additional slides at the end of the presentation for stuff I had to skip.

Here's a particular chunk of the talk that I had to cut. It's called "Digging deeper" and you can see what I was goingto say about Taos, Plan 9, Inferno, QNX and Minix 3. This is what the slides on the end of the presentation refer to.

https://www.dropbox.com/s/hstqmjy3wu5h28n/Part%202%20%E2%80%94%20Digging%20deeper.doc?dl=0

Links I mentioned in the talk or slides

The Unix Haters' Handbook [PDF]: https://simson.net/ref/ugh.pdf

Stanislav Datskovskiy's Loper-OS:  http://www.loper-os.org/

Paul Graham's essays: http://www.paulgraham.com/

Notably his Lisp Quotes: http://www.paulgraham.com/quotes.html

Steve Jobs on the two big things he missedwhen he visited Xerox PARC:
http://www.mac-history.net/computer-history/2012-03-22/apple-and-xerox-parc/2

Alan Kay interview where he calls Lisp "the Maxwell's Equations of software": https://queue.acm.org/detail.cfm?id=1039523

And what that means: http://www.michaelnielsen.org/ddi/lisp-as-the-maxwells-equations-of-software/

"In the Beginning was the Command Line" by Neal Stephenson: http://cristal.inria.fr/~weis/info/commandline.html

Author's page: http://www.cryptonomicon.com/beginning.html


Symbolics OpenGenera: https://en.wikipedia.org/wiki/Genera_(operating_system)

How to run it on Linux (some of several such pages):
http://www.jachemich.de/vlm/genera.html
https://loomcom.com/genera/genera-install.html

A brief (13min) into to OpenGenera by Kalman Reti: https://www.youtube.com/watch?v=o4-YnLpLgtk&t=5s
A longer (1h9m) talk about it, also by him: https://www.youtube.com/watch?v=OBfB2MJw3qg

August 2025

S M T W T F S
     12
3456789
10111213141516
17181920212223
242526 27282930
31      

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Sep. 12th, 2025 08:26 pm
Powered by Dreamwidth Studios