This page has taken a long time to exist.
The first few webpages that I created were written back in college, static HTML affairs that didn't have any real point. I
remember a quote I found a long time ago (Isaac Asimov?) that said, roughly, to write good fiction, you must first write piles
and piles of bad fiction. I suspect that a similar rule holds for web design. Let's just say that there were lens flares
involved, and leave the rest safely buried in that historic quagmire of Geocities and <table>s.
Some time after those attempts, I rented my first apartment, and despite following a strict policy of incremental hardware
upgrades, eventually accumulated enough parts to build my second computer and load Linux on it. I'd been reading George R. R.
Martin's A Song of Ice and Fire at the time, so the server was dubbed "winter". Its initial purpose in life was to act as
a router; inheriting a friend's spare NIC was a lot cheaper than dropping money on an actual one, especially while I was still
living on a college budget, and besides, it was cool. The ISP I was using at the time, speakeasy, was
friendly to static IPs and self-hosting end users, so it seemed like the next logical step was to host my page out of my
apartment.
After some brainstorming and nslookup queries, tigereyes and I settled on "azurefire" as a domain name. It doesn't really
mean anything, and it's a little hard to pronounce (for the record, I say "AZ-yer fire"); but for some inscrutable reason, I like the
way that the word looks, and I thought I could make a neat logo for it, so we've stuck with it.
I had grand ambitions for the next site I wanted to launch: aside from the blog, it was to be a whole suite of interoperable web
applications, with a forum and a bunch of other features that, frankly, would have been a lot more fun to build than they would
have ever been useful. If I've learned one thing over the course of writing this, it's that I have to peel the features out
of everything that I design until it's left with the barest core of defining functionality. Even setting aside principles of
elegant software construction, it's the only way I'll ever actually launch anything. In any case, I wrote the skeleton of it in
Rails, never put any content on it, and abandoned it when I finally realized that nobody would really have any reason to
participate even if I did finish it.
Several years later came the Seaside site, written in Smalltalk. A friend offered to host it on a server he
owned, so I patched together over a series of weekends. Seaside is great, but I quickly ran into a few problems: first, bothers me
when you can't have clean URLs, which you can do in Seaside but only with a lot of fighting the framework (at least at the time);
second, there are always configuration problems the first time you actually deploy software, and having to tunnel X to log in and fix
them via two ADSL lines was quite painful. I got a single post up, got a few comments, then lost data and gave up again. I did like
the design that I'd done, though, so that has been more or less unchanged ever since.
The current iteration of azurefire that you're looking at now runs on Sinatra, a Ruby microframework
for web applications, and a lot of direct filesystem access. The site design became much simpler when I realized that the only
two people who could produce site content both had the ability to log in to the server directly. All of the code that dealt with
logins and user accounts and live post previews can be replaced by writing with a text editor, uploading with git push, then
running a script to regenerate some data structures. It reduced the site's implementation to just a few entry points. A few
weekends of coding later and here we are.
The next step is to automate posting new content as a single script, then to set tigereyes up with the same so that she can post,
too.