About this site

This is my personal website, which I use for blogging and publishing various things I feel people might want to see. It has a long history, and derives distantly from my first-ever Web project; I'd consider it undeniably my longest-running project.


Administrative information about this site, including domain policies, can be found on the Administrative page.


A webring is a loop of Web sites connected together, so that people can find other sites that share a theme. This site is a member of these rings:


Version 4.1, current

While my XSite static site generator initially relied on a custom templating language, I found that limiting, so I ended up redesigning it to be based entirely on XSLT; at the same time, I increased the IndieWeb level with more microformats2 markup.

I made a blog post for the rollout of 4.1.

Version 4.0

It was only relatively recently that I converted this site into a proper IndieWeb-style personal site, with information about myself and a personal blog. This was a relatively extensive project that involved developing a lot of additional tooling, mostly around blogging.

There are several blog posts discussing the development and publication of the 4.0 version:

Version 3.1

While Jekyll worked perfectly fine, I have a programmer instinct to write my own software for things. The result was me writing my own static site generator, which I called XSite. I had to heavily rewrite the site to fit into XSite's model, but the end result is similar enough that I considered it version 3.1 instead of 4.0.

There is a blog post for the rollout of 3.1.

Version 3.0

Following some reevaluation of priorities with Web design, I threw out Bootstrap and wrote my own CSS. The result was a much lighter site. This was what I'd call my first good Web thing, though it was still sorely lacking in content and had a shortfall of semantic value. This was the first version on the www.alm.website domain. There were a number of unnumbered revisions of 3.0, including dropping several questionable features and sections carried over from earlier versions.

There is a blog post for the "launch" of 3.0.

Version 2.1

After a few months of working with the un-templated static version of the site, I decided that templating was needed. To satisfy this, I switched to the Jekyll static site generator and used its Liquid-based templating system. As a bonus, I used Jekyll's blogging support to staticify what was then the site blog and eliminate Wordpress from the site. This was the last version to use the domain programmingwave.com, since it was what I'd gotten ahold of long ago thanks to the Google Wave excitement. Partway through its life, I failed to renew the domain and moved it to a free-tier Azure Web App at programmingwave.azurewebsites.net; that copy actually stayed up until significantly after I published 3.1, when I finally realized I'd forgotten to cancel the Azure subscription because I noticed one of the many $0.00 invoices in my email inbox.

There is a blog post for the "launch" of 2.1.

Version 2.0

For multiple years, version 2.0 was in limbo as a "plan," awaiting first a software license, then an upgrade to server-side software, then me to figure out how to make Joomla! work. It never panned out, and I scrapped my initial plan for it.

The actual 2.0 was a Bootstrap-based largely static site, with some (now properly used) PHP remaining, and a bolted-on Wordpress blog added in the belief I needed to update people on what I was doing with the site. I'd consider it my first decently-built Web thing.

There is a blog post for the "launch" of 2.0.

Version 1.x

The 1.x versions of the site were written in an abused version of PHP/HTML, with an actual navbar (in eye-scarring default CSS blue and green) at the top and bottom of pages. There was a small amount of content, but little of it was of any quality. They were, however, at least reached via their own domain, though not their own server. This was the first of the versions to use the programmingwave.com domain.

Version 0.x

What I now call the 0.x versions were the result of my very first forays into web development. They consisted of two or three pages linked by a single "page list" page, which was a simple <ul> of links, and were hosted as an orphan subdirectory on somebody else's convenient site. The quality was exceptionally poor, but it was my first project and I wasn't exactly forcing anybody to look at it.