Arachie says "Hi"   Advanced Features

This page describes features of interest to power Arachnophilia users -- how to exercise greater control over the FTP service, how to list and use Arachnophilia system commands, and some other things.

  1. Previewing Web pages that require server-side resources

  2. Arachnophilia Macro Architecture

  3. Advanced FTP Operations

  4. HTML Beautifier

    The HTML beautifier will indent your HTML page just as code beautifiers do, except there can be problems one does not see in code beautifiers. Most of the problems are caused by inconsistent HTML syntax -- some tags have closing partners, some do not. And some tags have closing partners sometimes, but not other times, both legally. Example:

    My paragraph<p> (legal)

    <p align=left>My paragraph</p> (also legal)

    Because both these forms are legal, and because there are many such legal examples, there is no meaningful way to write a reliable, robust HTML beautifier, something I discovered far too late. But the beautifier can be made to behave itself in most cases if the user avoids one or another form of ambiguous tags. This is accomplished by way of some user-editable configuration files located in this directory:

    (user home directory)/.Arachnophilia/HTMLBeautifyData

    The most important file in this directory is named "BeautifySoloTags.txt", which contains a list of tags that do not have closing partner tags. Each of the configuration files is self-documenting.

    To summarize, if you find the beautifier indenting in anticipation of a nonexistent closing tag, add that tag to the list. If you find the beautifier not indenting a tag that it should, remove that tag from the list. If you cannot bring yourself to follow consistent HTML coding practices, do not try to use the beautifier. And whatever you do, do not write to tell me that the HTML beautifier is broken. It is HTML that is broken, not the beautifier (see below).

  5. Editorial Comment

    The previous major version of Arachnophilia (4.0) had a much more ambitious beautifier that also tried to correct HTML syntax. This facility only reflected my naive optimism about HTML standards and committees. It turns out that the HTML standards committees will accept any imaginable thing that anyone says they want.

    Also, browser manufacturers sometimes simply introduce a new tag, or a variant on an old one, without bothering to consult the specification, probably hoping to break their competitor's browser. I think they secretly hope a Web page will display perfectly on their own browser, while an adjacent computer running the "brand X" browser will burst into flames.

    The fact that the above example of <p> and <p></p> can exist, both forms legal (there are many such examples in HTML), only shows that the standards committees are staffed by people who know next to nothing about computers and computer languages. These misguided souls think computer languages are like human languages. In fact, the only thing they have in common is the name.

    In human languages, you can have two seemingly distinct words -- like "flammable" and "inflammable" -- that actually mean the same thing, and no one raises an eyebrow. You can have a dictionary listing for "figuratively" that identifies it as a synonynm for "literally" (true!), and no one seems to mind. But these absurd properties of human language cannot be included in computer languages, because computers are not nearly smart enough to cope with such ambiguity.

    Nevertheless, HTML has embraced all the worst parts of human languages, to the degree that I am reminded of the parent who wailed, "I used to have six rules and no children, now I have six children and no rules." Standards committees need to learn a new word -- "No."

    But it is too late for HTML, which might as well be thrown out and replaced by something designed more strictly, like XML.