Why I hate reverse order documents
Greg's rants
Greg's home page
Greg's diary
Greg's photos
Greg's links

A large number of documents on the web are written in “reverse chronological” order. Typical things are “blogs”, resumes and other logs. I hate the idea!

The very term “reverse” gives it away: it's the wrong way round. Complete reversal is unintelligible, so every reverse chronological document must decide the granularity of the reversal. For example, consider the following entries in the FreeBSD UPDATING file, which contains a log of changes to the source base:

    Auto-loading of ancillary wlan modules such as wlan_wep has
    been temporarily disabled; you need to statically configure
    the modules you need into your kernel or explicitly load them
    prior to use.  Specifically, if you intend to use WEP encryption
    with an 802.11 device load/configure wlan_wep; if you want to
    use WPA with the ath driver load/configure wlan_tkip, wlan_ccmp,
    and wlan_xauth as required.

    The wlan support has been updated to split the crypto support
    into separate modules.  For static WEP you must configure the
    wlan_wep module in your system or build and install the module
    in place where it can be loaded (the kernel will auto-load
    the module when a wep key is configured).

    The ath driver has been updated to split the tx rate control
    algorithm into a separate module.  You need to include either
    ath_rate_onoe or ath_rate_amrr when configuring the kernel.

Here we have three entries relating to wireless LAN support. The document format places a new entry above the previous entries; but they're entries. Clearly reversing the text at a smaller level would be unintelligible. For example, the last entry reversed at a character level is:

.lenrek eht gnirugifnoc nehw rrma_etar_hta ro eono_etar_hta
rehtie edulcni ot deen uoY  .eludom etarapes a otni mhtirogla
lortnoc etar xt eht tilps ot detadpu neeb sah revird hta ehT
At a word level it's almost equally unintelligible:
.kernel the configuring when_amrr_rate ath or_onoe_rate ath either include to need
    You.  module separate a into algorithm control rate tx the split to updated been has
    driver ath: The 20041201

It gradually becomes more intelligible if only the sentences are transposed:

  You need to include either ath_rate_onoe or ath_rate_amrr when configuring the
  kernel.  The ath driver has been updated to split the tx rate control algorithm into a
  separate module.

So what makes the separation at a paragraph level ideal? Nothing, I contend. The obvious intention of such a document is to present the most recent information first, and older information later. But what's the advantage? You still lose the continuity that a document in natural order would have. At the very least, this implies that the older information is less important. I contend that you can't understand something properly by looking at what has happened recently.

In the example above, the first of the original entries above refers to modules, but they're not defined until the following entries: it's a forward reference. Yes, you could easily guess. But you have to guess, and the more such references there are, the more confusing the document becomes.

There are more mainstream examples, of course. Like all others, my bank (ANZ) sends me statements of account, in my case monthly. They follow the time-honoured tradition of chronological listing. ANZ also offers a web-based “Internet Banking” service. Here the same information is presented in reverse chronological order—only. Sure, there are enough afficionados of reverse chronological listings that it's reasonable to cater for them. But why offer only a format that contradicts the standard format that the bank uses elsewhere?

These are only two examples. In almost every case, you'll find something similar. You'd be surprised to read a book or a magazine which presents the material in this sequence. Why do people do it in web pages? My guess is because the tools at their disposal are inadequate for reading a normally sequenced document. That's not the document's fault, though; the tools need fixing, not the documents.

Reverse order mail

One place where you'll frequently see reverse order is in email; for almost as long as I can remember, some people have put the reply before the question. This is clearly at least in part laziness, and it shows: messages grow to ridiculous proportions, including multiple disclaimers, so that people can't find anything in them. Keeping the reply separate from the original also makes it difficult to ensure that you've addressed all points, especially since people who use this method seem to do it because they have difficulty with their display software. I've come to the point where I no longer expect such people to give me a reply to more than one topic in any single email message; they forget the second one. On occasion I see cases where they haven't even addressed the first one. Years ago I wrote a separate page on this subject, but possibly it's time for a rant.

Mandated nonsense: ls sort order

On 24 January 2009 I discovered a good example of why reverse order is nonsense: ls -lt lists directory contents by time—reverse, of course. But when it finds two files with the same time stamp, it sorts them by name—in alphabetical order, of course. So if you list a directory containing files from a digital camera, where the names consist of a prefix and a number, you can end up with nonsense like this:

=== grog@dereel (/dev/ttyp2) ~/Photos/20061223/orig 74 -> ls -lrTt img_5518.jpg img_5519.jpg img_5520.jpg img_5521.jpg img_5522.jpg
-rwxr-xr-x  1 grog  home  1721011 Dec 23 19:29:00 2006 img_5518.jpg
-rwxr-xr-x  1 grog  home  1805204 Dec 23 19:30:00 2006 img_5521.jpg
-rwxr-xr-x  1 grog  home  1658823 Dec 23 19:30:00 2006 img_5520.jpg
-rwxr-xr-x  1 grog  home  1801580 Dec 23 19:30:00 2006 img_5519.jpg
-rwxr-xr-x  1 grog  home  1808653 Dec 23 19:31:00 2006 img_5522.jpg

You'd think that that would be easy enough to fix—but the standards mandate this nonsense!

Greg's home page Greg's diary Greg's photos Copyright

Valid XHTML 1.0!

$Id: reverse-horror.php,v 1.9 2009/09/21 01:43:42 grog Exp $