When I created my very first webpage back in 1995, there weren’t any WYSIWYG programs for composing in HTML. Sure, there were perl scripts for converting various formats (like FAQs and mail archives) to HTML, and probably some Emacs add-on for the ambidextrous supernerds, but mere liberal arts majors like myself were doing it all by hand. So, I downloaded a very official HTML specification from a server in Switzerland, banged out a couple of pages, and put them on a server so old-fashioned that the URLs had tildes in them. (Those first pages still exist in some form; my original homepage is now the FAQ for this blog.)
A war was already brewing back then; a war between people who thought the Web needed pages which used by-the-book HTML, and those who thought HTML just had to be good enough to render in popular browsers. I was firmly on the side of specifications, because the specifications emphasized structuring data for machine-processibility — if Web data was properly structured, the machines of the future would understand our content well enough to help us use it better. (Remember, we only had one search engine back then, and it depended entirely on user-structured metadata.)
I was stubborn about this for years, because I was a Man of Letters, damn it. The future deserved well-structured data! I made every webpage by hand, even as I developed a small empire of unrelated websites. (I had a lot of time on my hands then.) When I reached the point of needing script-generated HTML, I researched what scripting language pdroduced the best HTML, and taught myself enough perl to write the scripts I needed.
I was so stubborn, no blogging software was good enough for this site, so I started writing my own (in perl, because I thought it was was a better language than PHP). My blogging software didn’t do a lot, but it generated specification-compliant HTML, and every timestamp was in perfect ISO 8601 format. When WordPress started becoming popular, I refused to switch to it, because its HTML was ugly and it didn’t even understand time zones. (I don’t even respect people who don’t understand time zones.) Also, it still crashed a lot back then.
The problem, however, with perl is that webhosting companies are always doing things to sabotage it. The first act of sabotage at my current host was a surprise disabling of server-side includes for “security reasons,” then sending me an email complaining about all the errors that generated. Eventually, my little blogging app stopped working, and I stopped blogging. Not too long after that, I stopped updating my websites altogether, because writing content and maintaining the infrastructure wasn’t fun any more. Most of my websites have been static (and only semi-functional) for over a decade.
A few months ago, a stranger messaged me on Facebook about an old gaming webpage that wasn’t even online at the time. He had a PDF of it, though, and had tracked me down to ask for permission to reprint it in a gaming zine. I gave him my permission, and got on my with day. It began to bother me later, though. Here was something I wrote and basically abandoned, but total strangers found enough value it in to pass a PDF around. I should do a better job of shepherding my legacy than that.
By then, I was ready to admit my side had lost the Great HTML War. “Good enough” HTML is the lingua franca of the Internet, because there just weren’t enough people who cared about doing it perfectly, and they couldn’t keep up with the people who didn’t care at all. (By the way, that’s why all the people declaring boycotts over AI art are going to lose; they’re outnumbered by people who will never care that much.) I decided to join the masses, and go all in on WordPress. WordPress is popular enough to be future-proof: Webhosts don’t sabotage it, the data is transferrable between webhosts, and when the day comes that WordPress is obsolete, whatever replaces it will probably be able to import a WordPress database.
I converted my two smallest websites by cutting-and-pasting, then noticed WordPress can import entries from RSS. My blogging script used to generate perfect RSS. I reinstalled perl on my laptop, got my script running locally, and tweaked it to dump the entire blog into one RSS file. WordPress, of course, imported everything incorrectly, because my RSS was too perfect, and WordPress still doesn’t understand time zones. I got it right the third time.
So here I am, typing my first blog entry in thirty years, in a WYSIWYG editor I’m already resenting. I might try to backfill that missing three decades with some other writing I have lying around, but just in case, here’s the recap: I ended my Impoverished GeniusEra by stretching a temp job into a five-year gig, married a nice girl I’m slowly ruining, moved to Ypsilanti (which suits me better than Trenton), buried my parents, spent ten years doing customer service for three different tech companies, and then settled into a quiet job at an ebook factory where I never need talk to a member the American public. I still occassionally volunteer for the Democratic Party, and I still watch too much television. But at least I’m producing something now.