manley.org in 1996, when you still had to send a particularly-formatted, plain-text email form to a single company, and then sent your fee in as a check via the postal service, in order to register a domain name. I remember the first year you could pay for another year’s registration by sending your credit card information via email.
Since then, I’ve used nearly every content management system in fashion at any given time. I used most of the usual suspects – Movable Type, pre-Google Blogger, Textpattern, Tumblr, Wordpress, CityDesk, and any number of PHP-powered projects, including one or two I wrote myself.
I’d known for a long time that there was no reason at all for this site to be generated by a script’s execution on every pageview. Eventually, I started looking into the new wave of static site generators. I’m amused by the current fashionability of generating “static” content for CDN distribution, as that was how we did everything back in the late nineties, pulling content that only changed monthly from a simple database using Perl and Text::Template and then distributing it across the Akamai network.
For a while, I used Hugo, which I find to be the most complete of all the generators out there, as well as the fastest to generate output. I generated the content locally and pushed it to Github Pages. As an experiment, the penunitimate version of this site was generated with RapidWeaver, in an attempt to recapture some of the “just type” publishing I’d had with CityDesk and later with Wordpress and the MacOS program MarsEdit.
However, I recently divested myself from the Apple ecosystem and wanted to go back to publishing tools that matched up more with the tools I use in my daily work – VS Code, Git and GitHub, Docker, etc. I started to rebuild the Hugo version of the site, integrating with GitHub Pages again, using Forestry as a CMS when I was away from my laptop, and GitHub actions to handle things like social media syndication. And while I enjoyed those tools individually, as an ensemble they felt more like a Rube Goldberg machine than I expected.
In 2017, I backed a project called micro.blog by a programmer named Manton Reece that embraced a lot of the IndieWeb concepts that I wanted to incorporate into my own site. Manton and the crew he has working on the micro.blog product are genuinely nice people cultivating a small, gentle, friendly community backed by good software. And the product uses Hugo under the hood, which is a decision I support.
For the first couple of years of being on micro.blog, I only used it for short updates that syndicated to Twitter . I realized recently that what was keeping me from writing more in my blog was that I’ve spent far too long bikeshedding the problem of running a web site rather than actually writing. My thought process had been: I develop web-based software for a living; I should be able to run all of this stuff myself.
In reality, I just don’t have that kind of time. I barely maintain the discipline to write and post regularly, though I’m working on that. I believe in the paid web application business model and I’m happy to give Manton and company the $10 each month to not worry about the kinds of things I would normally ask people to pay me to worry about. So, this site is now completely hosted on micro.blog. I’m slowly working on a custom theme, and I am incorporating other functions that are specific to my needs by way of GitHub actions and serverless functions. For example, I run a little GitHub Action that I wrote, twitclean, that deletes anything I’ve syndicated to that site after 28 days, because I don’t really want that history sitting around.
I am not, at the moment, using Micro.blog’s feed syndication service. Manton explained in a help forum thread that syndicating a single posting to multiple services based on their category was not currently possible. Syndication through Micro.blog is a simpler implementation of POSSE than I need. Certain posts can go to Twitter, others to LinkedIn, others (maybe) to Medium or Tumblr. I don’t want everything going to every syndication outlet. Luckily, Micro.blog comes with category-specific feeds, and each of those I can push to indvidual functions at Zaper that then syndicate the content as needed.