I write ongoing in an XML dialect that is mostly HTML with a few little extras; I use Emacs to do the editing, but any old text editor would do.

The essay fragments that make up ongoing are organized by date into a directory tree (visible in the URIs), and each is filed into one or more hierarchical categories; you can navigate around both the date and category apparatus.

The paragraph font is FF Tisa Web Pro, delivered via Typekit; I wrote the process up.

Since I'm a hopeless geek, I couldn't possibly use any one of the excellent personal-web-site or blogging tools out there; it's all done with a Perl script imaginatively named ong.pl that maintains a Mysql database containing basic metadata for each essay. The Perl script runs over the source tree, figures out what needs to be updated, generates any new notes, and always regenerates the top-level page and RSS/Atom feeds. It's not rocket science, there are less than 3,000 lines of Perl representing weeks not months of effort.

Then there’s the comment system, which is under 1,000 lines of Ruby; its design is brutally minimal, involving no databases or framework code.

The little picture on the right that changes every so often involves some JavaScript voodoo.

A lot of the work is in handling the pictures, which are resized with ImageMagick. I used to add my own drop shadows, but modern CSS takes care of that.

The text is right-justified when displayed in a column that’s wide enough to make that look good, i.e. not on mobile screens. I used to pre-hyphenate but now leave that to CSS.

One virtue of the setup is that it works exactly the same on my Mac OS X laptop staging environment and the Debian box where ongoing lives. Getting the ImageMagick processing up and working both places used to be a serious pain in the butt until Homebrew made the world better.

The layout tries pretty hard to be good clean CSS; the original 2003 version, stolen from the best, namely Eric Costello and Tantek Çelik, survived until 2011; the current version is described in Reflowing. Well, except then I figured out how to expand pix into the left margin because size matters.

Also, there's a DOCTYPE declaration that claims the output is XHTML 1.1 and the W3C validator seems to agree, so to the extent that’s virtuous, so is ongoing. There are some complaints from the accessibility checkers because of all the little ... links at the end of the article summaries; it's bad practice to have links to multiple different places with the same anchor text. I wonder how serious a sin this is?

I've got it all terribly automated so I can start a new entry, proof an entry, and publish it to the website with single keystrokes in Emacs; I recognize lots of people wouldn't be OK with that.

On the "pro" side I can type in any HTML weirdness that strikes my fancy, which might be a "con" except for the XML processor in the pipeline helps keep me honest.

Header Graphics · Occasionally I get mail asking “what’s that picture behind the title?

Header graphic: Big Island sunset detail

Hawai’ian sunset from a Big Island mountainside.

Header graphic: Regina amaryllis detail

Detail of an amaryllis blossom in Regina, Saskatchewan’s city conservatory.

Header graphic: Toronto skyline from the     airport, spot the CN Tower

Toronto skyline from the airport; spot the CN Tower.

Header graphic: Sake bottle detail

Detail of a sake bottle.

Header graphic: leaves


Header graphic: Oxford English Dictionary plate        detail

Detail of one of the plates used to print the original 1928 version of the Oxford English Dictionary.

Header graphic: Koper-Capodistria door detail

Detail of a door in the old town in Koper-Capodistria.

Header graphic: English countryside detail

Wiltshire countryside under clouds.

Header graphic: Bodleian library courtyard           detail
Header graphic: Makuhari Prince hotel            detail

The side of the Makuhari Prince hotel, not far from the beach.

Header graphic: Moss on a tree

Close-up of springtime moss on a tree-side.

Header graphic: Brick storefront on Main Street           detail

Sunlit brick storefront on Vancouver’s Main Street.

Header graphic: seawater.

Ocean waves.

Header graphic: Vancouver sunset detail

Vancouver sunset.

Header graphic: Jellybean slide scan detail

Old scanned 35mm slide of some jellybeans.

Header graphic: Trans-Canada highway in Coquitlam          detail

Trans-Canada highway in Coquitlam, shot from moving car heading west and home.

Header graphic: Book binding detail

Binding of an old book.

Header graphic: Pansies at Murray’s detail

Pansies at Murray’s.

Header graphic: Rose shot with the then-new Canon S50 detail

Rose shot with the then-new Pentax S50.

Header graphic: Red sunset clouds detail

Detail, red sunset clouds.

Header graphic: Mom’s carpet detail

This is the first header graphic ongoing ever had. It’s a close-up of a piece of oriental carpet in my Mom’s collection. For the first couple of years after launch, it was tiled across the top, until I got tired of looking at the same thing all the time; and it’s still the basis of the little diamond-shaped ongoing icon that might be appearing right now in your browser’s address bar.

Header graphic: Fourth Ave. in Vancouver        detail

Shot through the windshield on Vancouver’s Fourth Avenue.

Header graphic: Fireworks at the ballpark       detail

Fireworks at the ballpark.

Header graphic: Shingles at #3 West 19th      Ave. detail

Shingles on the old house at #3 West 19th Ave., Vancouver, in a eulogy for the old Canon S50.

Header graphic: Vancouver slug detail

Extreme close-up of Vancouver wildlife, caught in motion.

author · Dad · software · colophon · rights
Random image, linked to its containing fragment

By .

The opinions expressed here
are my own, and no other party
necessarily agrees with them.

A full disclosure of my
professional interests is
on the author page.