2004–2014 Justin B Rye
(Non‐Geek Escape Route)


[Devonian] [Windows84] [GNURD]
This page puts on the record my position in a number of acrimonious and long‐running “holy wars”, handling the issues in the time‐honoured fashion – that is to say, it attempts to pass off personal value choices and cultural attachments as objective technical evaluations.  So please bear in mind that none of this matters, it's all just a peculiar tribal ritual.
[HUN] [HatRed] [BSE]
I originally published this in May 2004, and then rather than giving it rolling updates for all the latest software releases I left it alone for the next decade.  After all, it's not as if I'd changed my mind about any of my listed preferences.  However, for its tenth birthday it's finally getting a wave of addenda.  Don't forget to come back in 2024 for another exciting instalment!
[Uvavu] [Rhomboid] [Junkee]

Table of Contents

(You Are Here)
Operating Systems
bigotry rating: ••••
bigotry rating: ••••••
bigotry rating: •••
Web Browsers
bigotry rating: ••••••
Mail User Agents
bigotry rating: ••••••
Text Editors
bigotry rating: •••••••••
bigotry rating: ••

Operating Systems

If you've found this page you've probably already guessed my taste in operating systems – not that I'm a total Linux‐weenie; Mac OS always struck me as having real style even before it started converging on the One True Way.  But given that I'm running aged Intel‐compatible PC hardware (and given that PlayStations make better games/media platforms!) I have no use for anything but GNU/Linux.

And yes, I tend to prefer the label GNU/Linux rather than plain Linux to describe the OS as a whole.  If the underlying Linux kernel was outlawed, I could reluctantly switch over to a BSD kernel, and I'm not sure my non‐geek flatmates would even notice much of a difference.  But if the GNU Project's entire toolbox of basic UNIX‐compatible system utilities was declared illegal I'd have to give up obeying the law.

[These days as it happens all those flatmates own Linux‐powered mobile devices, while I'm happy with a dumb phone that just does phone stuff.  Oh, and camera/clock/calendar/calculator stuff, and it has ten times the file storage capacity of the PC I was using in 2004.  But it doesn't need to pretend to be a computer, because I already own more of those than I can find uses for.]


Those in the know may also already have deduced that the specific distribution I favour is Debian – huzzah!  Death to all unbelievers!  Et cetera.  But I'm not displaying the zeal of a convert; unlike the many Linux‐users I hear of who began with some commercial vendor like Red Hat or [the late] Mandrakeiva and then drifted into Debian's uncharted gravity‐well later on, I started out on this distro from the beginning – indeed, I'd already been employed as a Debian GNU/Linux systems administrator before I encountered any other form of Linux!

But having since had the opportunity to compare a few alternative distros (and unices) I've developed a considerable attachment to Debian's three greatest features:

  1. It's militantly free – as in “free speech”, though it also tends to cost little or nothing.  Debian isn't an “OS vendor”, doesn't have a “business model”, and will never make a profit!  Instead it has a strong user/developer community.
  2. It's built around well‐thought‐out package management and general admin policies, which make it immensely reliable, secure, and easy to maintain.
  3. It's huge, with getting on for twenty forty thousand conveniently downloadable software packages for all sorts of hardware architectures (from palmtops to PowerMacs to mainframes).  It's not even limited to using a particular kernel – there are FreeBSD, NetBSD, and GNU/Hurd versions under development too.  [The GNU/kFreeBSD port has even made it into the last couple of stable releases.]

I should admit in the interests of fairness that it does have its drawbacks:

  1. Its old initial installation system was a decidedly ugly welcome for newbies (but that's being fixed).
  2. It's conservative – late in a release cycle “stability” can feel like a euphemism for “thermodynamic equilibrium” unless you're in a position to track the Testing branch.
  3. If there's some piece of proprietary software you can't survive without, Debian won't make things easy for you.

For me the advantages outweigh the disadvantages; for you things may be different – so use what you like.  “Market share”?  What market?


This is one of those religious debates I've never had the energy for.  There are plenty of good Window Managers; the one I use by preference these days is FVWM*, a distinctly old‐fashioned and low‐end package, but one I've got configured absolutely the way I want it.  Other window managers such as Windowmaker* are flashier “out of the box”, but all seem strangely inflexible.

I prefer not to go over to an entirely GNOME*‐based environment, partly because it's sluggish on my hardware and partly because it strikes me as too bossy and monolithic.  (Likewise KDE*, now that it has got its licensing issues sorted out and made it into Debian.)  Still, as long as it's possible to cherrypick items out of GNOME's catalogue it isn't much of a problem.  And the same goes for “office suites” like OpenLibreOffice*: obviously, I don't need to produce org‐charts, PR slideshows, or project schedules anyway, but if I did, wouldn't I want the best independent application of each type, rather than a “suite”?  I know why commercial software houses need to lock me into a single system, but I'm bemused by the idea that the free world should copy their limitations.

Maybe this is “distrocentrism” on my part?  As a Debian sysadmin I naturally prefer to see packages “seamlessly integrated” by means of open standards and coherent underlying systems policy rather than by sets of applications forming private clubs!

[GNOME is getting more and more deeply unattractive, but fortunately Fvwm works as well as ever.]

Web Browsers

Believe it or not, Microsoft Internet Explorer has always seemed to me like a perfectly decent web browser.  Sure, it took some serious brain damage in the browser wars, but Bill Gates wasn't the first to deploy non‐standard HTML‐tags.  Unfortunately MSIE makes a truly disastrous message‐formatter, personal security manager, desktop wallpaperer, and so on – the only supplementary role it's proved fit for is as a back‐end for the Microsoft Virus Transfer Protocol.

When it comes to graphical web browsers on Debian, Mozilla* is the sole well established option… so it's a pity that its designers are only now beginning to realise what a bloaty accumulation of misfeatures it is.  Even Galeon* seems an immense improvement, despite being the same basic engine with a GNOMEy front end; and alternatives such as Dillo* are so much faster it's ridiculous.  Fortunately the relaunch as Mozilla Phoenix Firebird Firefox* means I can finally get a version without the chrome tailfins.

[And now inevitably Firefox Iceweasel Firefox has gone the same way.  Speaking of Chrome, I'm still amazed that Google decided to market their browser as flashy but brittle and insidiously toxic.]

(Opera?  A throwback to the bad old days of crippleware.  No thanks.)

But meanwhile I'm not all that concerned, because there's already a whole other category of web browsers available that I haven't mentioned yet – the text‐mode browsers.  Yes, I mean the ones like Lynx*, and no, they aren't fossils from the days before graphical windowing systems; I for one still use them much of the time today.  They work when your login is a remote shell on an antique in another country; they fit neatly into command‐lines like “grep FOO urls.txt | xargs -rl lynx -dump | mail jbr”; and they get pages downloaded faster, bypassing an awful lot of pointless banner graphics, JavaScript popups, and the like – an important consideration for those in low‐bandwidth backwaters.

However, I don't use Lynx itself much these days.  Instead my favourite character‐mode web browser is W3m*, which proves once you get past its Japlish documentation to be a lot more powerful and configurable.  Unlike Lynx it handles frames and tables nicely; it knows what's supposed to happen when you mouse‐click on a link; it can be set to display inline graphics (yes, in an X terminal window!); and it supports tabbed browsing (a feature MSIE might possibly get in about 2007).  But its handiest feature is that once W3m has threaded its way past the empty pyrotechnics of a site's splash pages to the actual content, you can press a button to launch your choice of fancy‐schmancy graphical browser pointing at that URL!

[The big downside of these alternative browsers is that most of them can't handle modern cascading stylesheets.  But meanwhile, MSIE versions so antique they don't support either those stylesheets or indeed tabbed browsing still make up a much bigger percentage of web traffic.]

Mail User Agents

Now, this is an easy one – there are plenty of usable email packages, but only one is worth writing home about, and that's Mutt*.  It's a perfect example of an application that does one thing and does it well: it doesn't parse HTML; it doesn't maintain LDAP addressbooks; it doesn't even have a built‐in message composer.  But why should it?  You've probably already got a favourite web browser, database, text editor, and so on – you just need a dedicated mail user agent that can politely call on their specialised assistance when appropriate.  Meanwhile it gets on with excelling in its own field, offering immensely powerful message handling options.  My own setup does things like automatically setting various headers to suit the mailinglist I'm posting to, and that's really the least of its powers.

Oddly enough, though, back in the days when I was marooned in an MS‐Windows environment I was always happy with Netscape.  The Navigator part of the package may have been a so‐so web browser, but Communicator makes a fine IMAP client.  At least when the competition includes anything as chunk‐hurlingly awful as Mucuswaft Outbreak Expose.

Text Editors

Vi* vs. Emacs*?  A plague on both your houses!

Vi in particular needs to be stamped out, since its grotesque teletype‐era command interface is almost perfectly designed to trick unsuspecting users into mangling MagnumOpus.txt when they accidentally open it in the wrong editor.  The proof of this, and the single Vi command I urge everybody to learn, is the exit sequence needed to get out safely – :q! (that's COLON-QUEUE-BANG).  Apologists for Vi argue that it's important to be familiar with it because it's ubiquitous as the basic editor on servers where a minimum of software is installed.  Well, this might be true on legacy UNIX systems, but that's dinosaurs for you – Debian GNU/Linux as usual offers a saner solution.

Now, if Vi is the hagfish of the text‐editing world, Emacs is the whale – supposedly a friendly and intelligent creature, but in reality just a smug blubbery shipping hazard.  Its basic problem is that it wants to swallow the entire desktop – an understandable ambition twenty thirty years ago when there were no decent window managers, but a liability nowadays when I'm trying to get it to launch quickly on an overloaded system.  And if I really want a Mayan date calculator (to take an example that I do in fact use occasionally), it's easier to pull up a command‐line and run one there than it is to hunt down the Emacs “alternate calendar” functions, which are invoked by a long rambling string of keystrokes starting with ESC-x

The trouble in both cases seems to be that the programmers working on these text editors are working in text editors, and inevitably start by building into them all the features essential for programming, followed by enough feeping creatures that they never need to venture outside their “Integrated Development Environment”.  Features that would be useful for mundane tasks such as editing ordinary English prose are only fitted in as an afterthought; thus the “open-line” function (which mystifyingly inserts a RETURN after the cursor position) gets to hog CTRL-o, whereas the “spellcheck” function ends up requiring the relatively obscure key‐sequence META-$, and automatic paragraph wrapping is nowhere to be found.  Then of course when you discover the “help” menu, it asks for the internal name of the Lisp function you're inquiring about…

[Apparently Emacs can now be persuaded to do automatic paragraph wrapping, as long as you know the right incantation – but that part of the manual is missing from the Debian package, because it has a non‐free license.]

Fortunately there are a few text editors available that don't suffer from this IDEification Syndrome.  Perhaps the best known is still Pico, which comes along with the Pine mail‐client; but while it's very user‐friendly, it's not (by Debian's standards) properly free software.  That impediment has been overcome by the creation of Nano*, its GNUified clone (with improvements) [and meanwhile Pine has been relicensed as Alpine*].  At last, an editor that I can reasonably set up as the default on a multi‐user system!  And the bonsai variant Nano-tiny* makes a perfect editor for servers and rescue‐disks, so bye‐bye Vi.

However, even though Nano is the text editor I advocate for normal text editing, it isn't the one I'm using now!  That's Jed*, a slimline Emacs‐clone which clearly shows all the symptoms of advanced IDEification Syndrome – for instance:

It took me many, many hours of fighting with config‐files written in raw S‑Lang to get Jed more or less domesticated.  The main reason I bothered was that at the time Nano lacked a --backup option, leaving me concerned that I might trash my only working copy of some critical file; and recent versions of Nano don't have that problem, so don't do as I do, do as I say!

Note incidentally that Microsoft Word simply isn't in the running here, since its output is a proprietary‐format binary file full of desktop‐publishing control‐codes, not text.  If I wanted my words “processed” I'd use a real typesetting app such as LyX* – or more likely, write in some markup‐enriched text format under Jed (like I'm doing now), and then convert that to PDF.


*) Freely Distributable Software
These items are available to be downloaded (e.g. from Debian) either in convenient pre‐packaged binary form or as modifiable uncompiled code under a free (“open source”) license.
†) Restrictively Licensed Software
Binaries and sourcecode for these items are downloadable without charge but come under a somewhat “unfree” license which prohibits users from (for instance) producing and selling improved versions.
‡) Unavailable Software
It may in some cases be legal to download copies of the binaries, covered by onerous EULAs, but not the source – so they can't legally be recompiled to run right on GNU/Linux anyway.