Paul's opinion page

Talk is cheap.  You can have mine for free.
Miscellaneous thoughts on installing Debian
Mon Jun 28 19:55:47 EST 2004

I'm a long-term Red Hat user (since version 4.2), but i've been testing Debian on a couple of my machines recently, with a view to switching from Red Hat Linux 9 and Fedora Core 1 to Debian.  I've asked myself why a few times.  The answer usually comes back: the huge quantity of available software, and because i like their style (particularly their social contract).

I've tested the Debian sarge TC1 (from the 110 Mb netinst ISO) with kernel 2.6 almost exclusively, as testing is the only distribution that has the particular versions of software i want to run (OpenOffice.org 1.1, jpilot 0.99.7, among others).  The hardware i've tested on so far is:
  1. My main workstation: Athlon 2400+, Gigabye 7N400Pro motherboard (nForce chipset), 512 Mb RAM, 80 Gb Seagate Barracuda HD, GeForce4 MX-440 8x AGP graphics card, 19" Auriga monitor, PCI RTL-8139B NIC.
  2. My crash & burn box: Celeron 400, PC Chips M741LMRT motherboard (SiS 5595 chipset), 192 Mb RAM, 4.3 Gb Samsung/40 Gb IBM Deskstar (a.k.a. "Death Star" - why do you think it's in my test box?) HD, onboard SiS 620 video and Davicom DM9102 NIC, 14" Samsung SyncMaster 3Ne monitor.
So here are my thoughts:
  • The installer console comes up with accented characters in place of line-drawing characters.  This looks bad.  The framebuffer console in the first part of the install is fine, but the standard VGA one after the first boot isn't.
  • The framebuffer console also seems rather sluggish on both video cards.
  • The initial phases of the install went very smoothly, including partitioning.  Using an existing drive with data on it was no problem.  I've erased just the install directories (my data was in /backup and /spare on the partition) and reinstalled probably 4 times with no dramas.
  • The Debian practice of putting the kernel in / instead of /boot is a pain for partitioning because it prevents use of LVM on the critical areas of the system.  This and the fact that it doesn't seem able to defer mirror sync on new multi-disk devices is the main reason why i gave up trying to install it on my Dell PowerEdge 750 at work.
  • The endless sequence of messages like this:
    Preparing to replace ncurses-base 5.4-3 (using .../ncurses-base_5.4-4_all.deb) ...
    Unpacking replacement ncurses-base ...
    Setting up ncurses-base (4.4-4) ...
    is noisy and seems pointless.  There was no package which required my interaction, so it all could have been replaced with a simple progress window stating the name of each package as it was processed.  The different methods of reporting package names and versions are irritating as well.
  • Debian has a rockin mirror site here in Australia: planetmirror.com.  Well done Debian and PM.  I'd really like to be able to use my premium account, though.  :-)
  • The installer did not select an architecture-optimised kernel like Red Hat/Fedora does.  However, selecting it manually via apt-get worked perfectly.
  • The X server did not let me make full use of the capabilities my monitor.  I elected to set the horizontal and vertical refreshes manually, since my monitor's sense data has a double-quote in it and i've seen this cause problems on Red Hat, and even with them it would only let me select 75 Hz @ 1400 x 1050, whereas the Red Hat Linux 9 X server was able to push it to 85 Hz, which is the highest refresh rate at that resolution within the specs of my monitor.
  • Icewm has sensible keystrokes enabled out of the box, like the Windows (Meta4) key used for switching workspaces.
  • The icewm menus seem to be completely separate from the GNOME menu system, and contain different apps.  This is confusing.
  • Icewm shares GNOME's workspaces.  This is a great improvement over most previous versions of Red Hat, where icewm was a 3rd-party add-on and didn't integrate well.
  • The GNOME menu doesn't appear to be dynamic.  Packages installed with apt-get do not show up in the menu until next login.
  • You can't use GNOME themes without metacity installed.  However, it tells you this clearly.
  • Selecting left-handed mouse usage when using a Genius NetScroll+ Eye PS/2 just plain doesn't work.  The button assignments must be mucked up under the hood.  I didn't bother trying to set this manually yet.  If i can't get it to work, this will certainly be a killer blow for my conversion to Debian.
  • It goes without saying, but the list of packages available in Debian is overwhelming.  My machine spent the better part of 24 hours just sitting in the package selection screen before a friend told me i was wasting my time and should just do a base install and install what i wanted with apt-get after bootup.  Good advice, although working out which packages are necessary is a time-consuming process.
  • Aptitude spits out statistics at the end of every run and requires you to press enter to acknowledge them.  This is pointless and makes the installation more painful.
  • The debian configuration process is really nice if you're installing individual packages, but it's just annoying when you're doing a first install.
  • OpenSSH is not installed by default - what decade are we in?
  • Exim requires mail for root to be read on the local system.  This is a painful limitation.
  • When one of the canned configs is picked, the networking code doesn't pick up the DHCP-served DNS server, and the firewall blocks outgoing named requests.
Rant: Mac OS 10.3 GUI design faults
Wed Jun 9 21:43:38 EST 2004

I hate Mac OS X's GUI.  My credentials to rant about this are: over the last 15 years, i have used the following desktop OSes at home, school/uni, or work (in alphabetical order):

  • AIX 3.1, under X11
  • HP-UX 7.x-11.x; X11, CDE GUIs
  • Linux (kernel 0.97 - 2.4); X11, KDE, and GNOME GUIs
  • MS-DOS 2.11 - 6.22
  • Mac OS 7.x - 10.3
  • Minix, no GUI
  • OS/2 1.3-2.1
  • SunOS 4.x - 5.9; Sunview, Open Look, and CDE GUIs
  • Windows 3.x, 9x, 200x, XP
My current desktop is Red Hat Linux 9, with GNOME 2.2 GUI, and icewm as my window manager.

In the last 18 months, i've been working in a new job and i've had to support Mac OS 10.2 and 10.3 at work.  Here are some of the observations i've made about the GUI design:

  • Esc and Enter do not reliably map to Cancel and OK in dialogs.
  • Maximise and Zoom (under 10.2) are not logically named (Maximise gives you a window smaller than the maximum, and Zoom doesn't actually zoom in or out.)
  • Worse yet, true maximise functionality has been completely removed from Finder and Safari in 10.3.  In order to make full use of your screen (except for the dock), you have to manually move the window up to the top left of the screen and manually resize it to the maximum extent.  Most people (at least, most males) like to work on one thing at once, and it's only a rare occasion when we want to see more than one window.  (And even if we do, we probably want it to behave more like Windows' "Tile horizontally" or "Tile vertically" functions.)
  • Dialogs do not layer on top of each other (instead they roll down and roll up), so there is no way to see the context when you have multiple levels of dialogs open.  Mozilla's preferences dialog is an excellent example of this.  (Some may argue that that's not the best way to arrange dialogs, and that may be so, but the point remains that if you open multiple dialogs, they should pop up on top of one another, not completely replace one another.)
  • For those of us who like quiet to be able to concentrate, the above-mentioned roll down and roll up is visual noise.  At the end of a long day, it induces mild nausea (at least in me it does).  There should at least be an option to turn it off.
  • The horizontal line pattern (just about everywhere in 10.2, reduced in frequency in 10.3) causes eye strain after just a few minutes.  After a couple of hours, you feel like you've got permanent stripes in front of your eyes.
  • Some applications (notably anything running in the Classic box) don't know about the dock, and some do, so maximise behaviour (when it works) is not consistent.  Those applications that don't know about the dock overlap it, causing part of the application not to work.  Windows' task bar behaves much more sensibly: if you want it to auto show/hide, it sends maximised applications a resize event to make them fit maximally; if you don't, it stops applications from overlapping it (at least when it's at the bottom of the screen; if it's at the top sometimes this doesn't work flawlessly).
  • The dock performs two functions: starting new programs and switching between running programs.  This is error prone because if you miss the icon you're aiming at slightly, you end up starting a new program instead of switching to one you had open already.  This is especially annoying on slower machines (e.g. 400 MHz PowerBook G3).  Windows' separation of the task bar and the start menu is much easier to use.

Mac users, please don't be offended by all this - it's not your fault.  I just think that Apple made some fundamental GUI design blunders, and when folks rave about the interface, they're being bamboozled by the flashing lights and bright colours, and not paying attention to certain issues that have a marked effect on productivity.  Nearly every one of the above GUI facets is much better on Windows than Mac OS X (not that i recommend it, since it's much less reliable than OS X).  Even Mac OS 9 had a better interface than OS X.

For the record, here are the things i like about Mac OS X:

  • Stability: it crashes an order of magnitude less often than Windows
  • Security: get a good virus scanner (i've found Sophos Antivirus to be quite good) and update it regularly, and enable your firewall, and you can just about forget about having your system compromised by rogue code
  • Multiple monitors: they are a piece of cake to set up and very easy to use.
  • Modem dialling: the ability to dial from a little icon in the menu bar is great.
  • Network preferences: having multiple profiles is nice, although it could still be improved (for example, by remembering the addresses last given out on various sites, and automatically selecting a profile based upon which one matches).
The first two of the above are critical for me, and are a good reason for most people to switch from Windows, in my opinion.  However, modern distributions of Linux have a more usable interface for prolonged use by experienced computer users, and are just as strong on the stability and security front.  Thus, you might hear me refer to Mac OS X sometimes as "poor man's Linux".  ;-)
Rant: spaces vs. tabs in source code
Fri Jun 4 21:54:52 EST 2004

It seems that not everyone knows that the problem of spaces vs. tabs in source code was solved at least 15 years ago.  Get with the nineties, folks!  :-)   "There can be only one!" method of source code indentation, which consists of the following maxims:

  1. tabs are always 8 characters
  2. indents are not tabs
  3. set your indents to whatever pleases you (Linus likes 8 chars, i like 4)
  4. use indents when you write code, not tabs

Good source code editors already do this by providing indent (Ctrl-T), undent (Ctrl-D), shift left (<) and shift right (>) commands, and making up indents using the correct number of tabs and spaces.

From what i can tell, this doesn't differ that greatly from jwz's view, except that he's famous and i'm not, and therefore he's been sent a lot more badly-formatted code than i have, and he got sick of rejecting the patches on that basis.  Maybe if i'm ever famous i'll care more.  Until then, i'll just refuse to look at code from people who think that a tab is not 8 chars.


Copyright (c) 2004 Paul D. Gear.  This document is free content.  You can redistribute it and/or modify it under the terms of the OpenContent License (OPL) version 1.0, or (at your option) any later version.