Walks  BackDrops  Views  Lego  Megabloks  Puzz3D  Compilers  MUDs

Complaints about Linux, GNU, etc.

Note that the information on this page is fairly out-of-date!

Personal Background

I'm a programmer, and I've been programming for a long time. I've used several different environments for programming, but nearly all of them have been pretty simple. I used Microsoft's Visual Studio at one job, but mostly used it as an editor/compiler/debugger. But that was my closest approach to using an IDE. For most of the last 15+ years, I've used GNU emacs on Linux as my "IDE".

I have a very bad memory, especially for things that are arbitrary. I have always been this way. It took me a fair while before I could reliably remember the PIN for my credit card, and I'm still not solid on my cell phone number. I once bought a self-help book for improving your memory - I was never able to complete the first introductory exercise. An example of how this affects my programming work: the "vi keys" have never worked for me - they are too arbitrary. As for the hundreds of key bindings in GNU emacs: skill with them is forever beyond my reach.

I am lazy. That, combined with my poor memory for arbitrary things, means that I am not anxious to try out new things - they are usually far too frustrating for me.

My eyesight is not bad, but it is slowly going. That means that microscopic fonts on small monitors don't work for me.

I have small hands. In particular, that means that I *must* be able to have a "control" key on my keyboard that is on the left end of the home row - I simply cannot reach one that is two rows down. I similarly prefer a large "return" key, although as long as it is on the home row and at least two normal keys wide, I'm OK.

I regularly sit in front of my computer monitor for long periods each day. I can no longer do that with straight high-contrast black and white text. I have set my "xterm" to have black text on a tan (colour #c09060) background - I find it much easier on my eyes.

Because I've been at this for so long, I started before there were any computer mice to use. So, I'm a pretty good touch typist, and expect to do everything I need to do with just the keyboard. Given my poor memory, this means that I use the same set of key bindings a lot, rather than take my hand off the "home position" to use the mouse.

I mostly stare at program text, debugger output, etc. So, I want the maximum amount of that that I can get on the screen. My 1280x1024 monitor is rotated to a portrait mode, and that gives me room for two 80-column text windows, with one Gnome toolbar to the right, and no other GUI stuff taking up space on my screen. Each of those two windows has 96 rows of text. The emacs one loses two for the status line and the prompt line - menus are turned off. If a system cannot allow me to come very close to this setup, then I will not be happy trying to use it.

My complaints


Many (most?) of the names of free software projects are essentially meaningless. That matters for people like me who have very poor memories. It also matters for people trying out Linux as an OS alternative. It matters because the user may know what they want to do, but cannot find the tool to do it, because the tools all have meaningless names. You just have to "know", which is the wrong way to encourage new users.

Junk Files

It used to be that a Unix user knew what all of the files in their home directory were, since they had put them there. The number of configuration files has grown, but is manageable when the user has to create and set them up manually. However, there are now a large number of configuration files and directories that the user has not setup, and has no idea of the purpose of. Some of those directories are quite large. This makes it more difficult for the user to make meaningful backups of their own stuff. Some of the configuration stuff does not need to be there at all - it is a copy of default configuration with perhaps a small number of actual changes made by the user. I eventually gave up on my home directory - everything I care about is in a single directory within my home directory, and that is what I back up and look at.

Ubuntu Packaging

Why does Ubuntu insist on having wrapper packages containing stuff that everyone needs along with stuff that ought to be completely optional? In the past I ran into this with Samba stuff, for example. I don't have a good example right now - its been a while since I got annoyed that something I will never use was being updated and I couldn't afterwards go and remove.

Backspace and Delete

Come on people! My keyboard, like virtually all of them, has both Backspace and Delete keys. They are both fairly easy to reach. The operations they do are very useful, very common and easy to understand. They are not confusing to beginners or anyone other than those who are used to the idiocy that GNU and Linux have tried to impose. Taking away one of these keys just because GNU emacs wants to use "control-H" as a help key is just stupid. It is things like this that will forever prevent Linux becoming mainstream. I have managed to make them work each time I've installed a new system for myself, but the last time required help from an emacs guru, plus xterm flags in a startup script and .Xresources settings.

Emacs and Colours

By default, even "emacs-nox" wants to use xterm colouring to display colours when doing various things. I don't have a really big problem with this, even though I'm not used to it. The problem is that with my tan background colour, some of the colours it uses are virtually invisible. I have the same problem with "ls colours", so don't use it. I pass a bunch of flags to "xterm" when I start it with an emacs in it, which manages to suppress everything except boldface. Boldface I like, but emacs seems to copy the tagging when you copy something from, e.g. a C buffer, to a buffer in another mode which doesn't do tagging.


In the past, I've used a quite simple X window manager, twm. When I moved to Ubuntu, with Gnome, I decided I should try to move into the modern world, and embrace GUI stuff. I'm OK with Gnome, after some fiddling. I tried to use one of the GUI tools for email. That experiment lasted a day at most. The problem is that the tools (Evolution and Thunderbird) work on the view that they are the only thing you are using. They have very large windows. They also do not let you use an external text editor (which would be awkward given their window size). When I do email, I often want to grab stuff from other files, and I want an editing environment that I am efficient and comfortable in. So, those GUI tools are not used for email - I use "pine" to read mail and "mail" to send it when I don't need attachments.

With this latest release of Ubuntu (10.04 Lucid Lynx), the simple "mail" program no longer works properly. Lines typed into it do not wrap correctly, and "control-C" requires a "return" to work. That simple program has worked correctly for decades - what have they done to break it, and why did no-one notice? (I have a 10,000 line window output history, and I like to see the emails I've been sending - using "mail" lets me do that.)

Monitor Power Save

I've got xscreensaver setup to put my monitor into powersave mode, since my monitor works fine with that. (I also have my monitor rotated to portrait mode, but that's another issue.) Since I've long held the belief that power cycling electronic things can shorten their lifespan, I wanted to avoid turning my monitor on and off. At some point I learned about "xset" (wow - a reasonable name!), and found "xset dpms force off". Great! I created a quick script that waited 10 seconds, then issued that command, and put a toolbar item for it into my Gnome toolbar. Then, when I was done with the computer for a while and wanted the monitor to go to sleep, I clicked on that, quickly moved my mouse pointer out of the way (actually, I hid the status bar first), and then the monitor would go to sleep. That got broken with this release of Ubuntu, and there seems no likelihood of it ever getting fixed. It's something about an interaction between what "xset" is doing and some lower-level laptop controlling thing that I'll never use here.

My Cellphone

I got a cellphone for emergency use about a year ago. Since I was getting one, I got one with a camera and a flip-open keyboard that I could use for notes, etc. It's an LG-9100. Supposedly I can plug it into my computer via USB and have it show up as a USB mass storage device. Nope, never works. USB sticks work, my PSP works, my Kindle works. I chased this on bug forums for a while, but there seems to be no fix - there is some timeout down in kernel USB-land. I've tried BitPim as well, but it won't recognize the phone directly. If I hunt through menus for settings, and force a manual phone detect, then lie about my carrier, I can make it work. But, as they say in the docs, transferring files via BitPim is quite slow. And, guess what, it crashes if I ever try to take a picture or movie off of the phone. It worked for wallpaper flash files on the phone's internal memory, but not for what I really wanted to get out of the phone. Luckily, when I bought the phone, the micro-SD card came with an adapter to turn it into standard SD, and I already had a standard SD-to-USB adapter from my digital camera. So, with a stack of two adapters, I can get stuff on and off my phone, but I sure hate stressing that little spring-driven connector in the phone all the time!

Linux Administration

I detest Linux system administration. This of course is partly because I'm lazy, but mostly because of my poor memory. Virtually nothing about administration makes sense to a beginner, and I will always remain a beginner, because I'm never going to remember all of the obscure things one needs to know. Some folks thrive on this stuff, but not me. An example I recall related to the ssh server daemon. I was going to be out of town, and wanted remote access so I could read email, work on stuff, etc. What I ran into is that after installing sshd, there was no way to stop it running! I would kill the process, and it would just start up again. There used to be a nice GUI admin tool for that stuff, but it is now gone, with no replacement that knows about sshd. This may relate to the partial implementation of "upstart", which has broken all my hard-won knowledge of dealing with system daemons and where the control files are - I no longer know.


Because I've been a computer geek for a long time, and run a nice Linux box with a good internet connection, I'm the logical person to run email and web setups for a local group I'm in. OK, so I have to take time to learn to work with Apache. Eventually, I was done, and it worked. Then they moved to Apache2, and most of what I knew was now wrong. My main issue is that they have made it quite hard for paranoid people like me to be fairly confident that the setup is safe, while still having the desired functionality. I want the absolute minimum number of Apache modules to be enabled. My websites are very low traffic, have no CGI, do not allow indexing, etc. I serve what is probably all HTML 1.0, with no scripting. A friend forced some ugly CSS stuff on one site, and I will forever hate it. But, I have to have a bunch of modules enabled to get even simple stuff like defaulting to "index.html" when a directory is visited, enabled. I had my dual-virtual-hosts config working, and it seems to still work, but about once a month I get an email complaining about a missing virtual host or something.


I got tired of my old Lexmark ink-jet printer/scanner always being out of ink (it dried out all the time, and their almost non-existant support for Linux meant that tools for unclogging weren't available), so I recently spent some money and bought an HP CM1415fnw multi-function colour laser printer/scanner. It is far overkill for what I need, but hopefully the ink won't dry out (I'm still running on the demo cartridges, and expect to have to get one set of regular ones). Prints OK, but a friend and I had some severe troubles getting the driver to properly put images full-sized on the paper. Whenever I log in, some HP requester pops up saying it couldn't find a "system tray". I have no idea what a "system tray" is, and I very much doubt I want one cluttering up my system. If it doesn't matter that there isn't one, why does it always complain? A big problem with the printer software chain is that if I print a PDF, using either "evince" or "acroread" (more "easy to understand" names), and the printer is set to colour, then 50% of the page is full of black bars. Switching to monochrome output fixes this. Also, the Lexmark scanner worked fine with the great "Simple Scan" program, but the new HP one doesn't work at all, and even fails sometimes with XSane.

USB issues seem to be a common thread here. I have a USB mouse (it came with an adapter for the mouse port, but that got zapped), the printer and an ACP UPS also hooked up.