Random Hacks Site Design
Posted by Eric Fri, 12 Apr 2002 00:00:00 GMT
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.
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
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.
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?