More on tabs

The one thing that changing hard tabstops allows is for the same file tocome out different for different people. This may explain its enduringpopularity, because in theory you can use it to view source files inyour favorite indentation level while letting me view them in mine. Ifyou like two-space indents and I'm a mutant who likes 8-space ones, wecan both be happy.

Of course this is only an illusion; it breaks down explosively any timeyou need sub-tab indentation (and


On tabs

I rarely have violent visceral reactions to things. But I have a few hotbuttons, and here's one of them. Quoting from Joel Spolsky's summary :

Nick Gravgaard : "Ratherthan saying that a tab character (a "hard tab") will move the cursoruntil the cursor's position is a multiple of N characters, we shouldsay that a tab character is a delimiter between table cells..."

Wrong. Wrong wrong wrong. The core wrongness is visible in a singleline


A surprise with using object() instances

A while back I wrote about emulating C structs in Python using (instance) objects to createnamespaces, and wrote:

(Avoid the temptation to just use ' ms = object() ', because ithurts your ability to tell different types of structs apart viaintrospection.)

It turns out that there is another reason to avoid this: it doesn'twork. Somewhat to my surprise, instances of object() can't have newattributes put on them. (Instances of Python subclasses of object(


Why Solaris is not my favorite operating system

Sun killed one of my systems the other day. It was very simple: Iinstalled the latest patches (that had passed testing on my testsystem), rebooted, and the ssh daemon failed to come up. Bang. Dead inthe water due to:

ld.so.1: sshd: fatal: libxfn.so.2: open failed: No such fileor directory

Since this machine is accessed only via ssh, that's all shewrote. (For extra fun, outgoing ssh from the


Weekly spam summary on July 1st, 2006

This week, we:

  • got 14,343 messages from 220 different IP addresses.
  • handled 18,078 sessions from 864 different IP addresses.
  • received 140,437 connections from at least 48,849 different IPaddresses.
  • hit a highwater of 50 connections being checked at once (hit onTuesday).

Unlike last week , we don't seem to havebeen hit with any particular spam fireworks for this Canada Day;volume


Link: The virtual furniture police

The Virtual Furniture Police is ultimately an unflattering view of how IT departments too oftenattempt to have a great deal of control over user desktops. The openingparagraph summarizes things nicely:

This is a review, of sorts, of the book Peopleware: ProductiveProjects and Teams by Tom DeMarco and Timothy Lister. Then a segueto explain how typical corporate IT policies contravene some of theexcellent advice in this book.

And the title is lovely; I think I have a new catchphrase.

(From a comment here .)


Another annoying RSS feed trick

Following up my previous entry on this subject , I've run across another clever way to dopartial feeds: include only the first paragraph of every entry withoutany indication that there's more . This works especially well if yourfirst paragraphs are pretty much self-contained, so that they're easy tomistake for full entries.

If people haven't browsed your blog directly (perhaps because they'rereading you through an aggregator), you may be able to fool them forsome time. Won


Some thoughts on the Fedora Core 5 Gnome desktop

I am still testing things on my new machine , soI haven't bothered trying to build my usual highly custom X Windowsenvironment on it. Since I've still been poking around with it, I'vebeen getting a reasonable amount of exposure to the default Gnomedesktop in Fedora Core 5.

To my surprise, it's turned out to be a surprisingly usable and livableenvironment. To a fairly large extent a lot of things just work, withoutfuss or muss. When they don't


screen -x

I have an confession: I don't really like screen . I never have; it'salways struck me as an poor substitute for a real windowing system,something you only resort to when you can't get the real thing for onereason or another.

(What really boggles me is the people who aggressively use screeninside X, winding up with one terminal window with everything insidea screen session.)

One of the most painful limitations of screen for me has been that youcan't see


The problem with cool URLs

Back around 1999, Tim Berners-Lee wrote Cool URIs don't change , which is about how your URLsshouldn't change (and he gave advice on how to manage it). People havebeen nodding sagely every since (I hope, since it's a good idea). Butthere's a problem.

The problem with cool URLs not changing is that it means that yourURLs are forever. This means that you either have to get the URL rightbefore you publish it