Random Hacks is my personal news and diary website. The design of Random Hacks is heavily inspired by Dave Winer's Scripting News website, and by his Radio UserLand weblogging product. But although I'm heavily inspired by Dave's work, I've chosen to write my own software. My reasons: long-term compatibility and ease of updating.

Long-Term Compatibility

Over five years ago, I built a website using the ancestor of Radio UserLand: the website-building tools in UserLand Frontier. (Frontier is a high-end scripting system for the MacOS and Windows.) I was an enthusiastic Macintosh user, Frontier was free, and I'd just discovered (through painful experience) that only a fool would attempt to maintain a large website without a content management system.

Frontier was a cinch to use--it had a good scripting language, a built-in outliner, and a sweet template system. You could pre-render all your pages on your local computer, and upload them to a static web server--no CGIs or PHP required. My entire site lived in a Frontier object database.

Over time, however, Frontier and I drifted in different directions. I became an enthusiastic Linux user. Frontier became a moderately expensive, high-end website framework. My site, though, still lives in a Frontier database--all my scripts, my templates and my content are tied to a product I no longer use. My site has fallen way out of date, and I maintain it with grep and Emacs when I maintain it at all. Now, imagine what the situation will be like in 2017. I want website tools which will continue to run for decades.

Ease of Updating

Weblogs are a pain to maintain. Every time you want to post something, you need to open your weblogging software, type in some text, make some links, and upload the new pages to the web. If you want to have a nice weblog--and a private life--you need to streamline this process as much as possible.

For most people, Radio UserLand is a great solution. You can run it under Windows, you can edit your site in a web browser, and you don't need to know much about computers.

Unfortunately, I'm not a normal user. I use Linux more than Windows. The only programs I'm guaranteed to have running are Emacs and a web browser. So my website tools need to work seamlessly in this environment.

My Solution

For long-term compatibility, I need to store my data in formats which will still be around in 2017. This means plain, human-readable text formats with no special formatting. ASCII text or HTML would probably work fine, but a custom XML format would allow me to separate content from formatting, which is always a good long-term bet.

My scripts should be written in widely used, portable programming languages, using standard libraries. Either Perl or Python seems like a good bet. Insofar as my scripts require a specific operating system, they should rely on Linux, which should still be around in some form or another long after Win32 software seems impossibly archaic.

For ease of updating, it should be trivial to edit the site in Emacs and update the content. Again, XML (which is well-supported by Emacs) and Perl scripts seem like the best way to go.

The Big Question

Now, for how many years can I keep these tools running smoothly?