Dark Light

Originally, Aquarionics was straight HTML written in EditPlus on my non-internetted computer (ah, the year 2000), transfered to zip disk, brought to University and uploaded. My first hosts – Pennyhost – ran windows-based servers which supported server side includes, which was as advanced as I had any clue about. Within a short while I’d found Blogger, which would do all the complicated bits at its end and then FTP the files over (the Blogspot hosting service would come later).

I could code Visual Basic 4, 5 & 6 and was learning Java and C at uni, but I didn’t start learning PHP really until I got quite heavily into a game called “Solar Empire” which was written in it. This meant finding a host with PHP, and as it happened I had a conversation with fellow AFPerson Caomhin in the line for a Neil Gaiman signing, and soon I was moving everything over to his Beehost service.

At the time, there were a lot of CMS systems, but not many blogging ones. I didn’t (and don’t) get on with Movable Type, which was the gorilla at the time, so I built my own. It was called “Klide“, it stood for “Klide Links In Diary Entries” and was really quite simple. The only really advanced bit was some of the archive interogation:

The other bit is behind the scenes. Klide now can display seperate entries (http://www.aquarionics.com/?id=200, for example, goes to entry number 200); it can display all the entries *since* a date (for example, http://www.aquarionics.com/?since=2001-09-11 is everything since Sept 11th) and *also* the last x entries (http://www.aquarionics.com/?limit=3 is the last 3, for example) complete with comments. The ability to turn off comments is coming. Promise :-). Also, the system now has a text-mode (http://www.aquarionics.com?style=text) for those in Non-CSS compliant browsers. So Comment. Have Fun. Speak 🙂

Later, this also gained the ability to do “?on=*-12-25”, which would display all the entries written on christmas day. I like this feature. It took ages for me to get it into Klide’s replacement, and then I moved over to WordPress soon after. I should build a plugin to make that work again.

Klide existed alongside Klind (Klind Links In Node Data) and Kewl (Kewl’s excessively wonderful links). The former was a pre-wiki wiki modelled along the lines of Everything2 with a tenth the featureset and none of the charm, the latter a fairly basic start-page/portal thing mostly for my own use.

In Q3 2002, I did the One Thing you’re not supposed to do with established code-bases, and dumped it. Then I did the One Thing you’re not supposed to do with established websites, and took it offline, rewriting the entire thing as Epistula (in the open). This is my primary basis for the belief that you should actually tear down and write from scratch occasionally. Epistula was a second system, and in some instances it showed, but it was more of a framework than a full CMS. At some point I’ll sit down and write what it did that other things didn’t, but mostly I’m quite pleased that something I wrote in 2002 was still able to handle everything I wanted to do with it until 2008.

AqCom’s technology base stayed quite stable between 2002 and 2009. Various modules were added to Epistula to support fledgling new standards (WoX, which became necho, which became atom) new obsessions (delicious, flickr, twitter) and new things I just wanted to do. I moved hosts to another friend’s server – Pol’s Geekstuff, but the technological basis remained the same.

When I wrote Epistula, PHP’s OO functionality was quite limited, and I wasn’t really an OO person anyway. I knew all the basic theory, and would use Objects for data in circumstances, but I hadn’t really lined this up with my web development coding or PHP.

Between 2002 and 2007 I became a better programmer, but I was still working very Functionally. When I moved over to Trutap in January 2007, I had to get up to speed very quickly on more formal Model-View-Controller systems and, once we moved over to a Zend-framework based system with a very formal OO structure on top of it, the switch in my brain flipped properly and I got to grips with how it all worked.

After that, working on Epistula became harder. Coding new stuff for it in the old style was distressing, and coding in the new style was bending the internal APIs until they whined. I built a new central routing interface, and was in the process of rewriting modules to work with it, when I broke Admin.

Admin’s always been a weak point of Epistula. Not being public facing, it’s never been pretty, and when the site had been down for a month and I needed to get back up and running, it was Admin that got hacked into shape worst. Specifically, the bit that broke was the code that worked out the differences between applied categories and current categories to update the linking table with the new information. It became impossible to edit categories on posts and then, when I’d worked on it a bit, to post things at all.

I could go back though SVN, but the functionality that broke Admin fixed too many other things. I put it to one side, I meant to get back to it later, and I never did.

In April, I bit the bullet and installed WordPress on Aquarionics. I’d already been using it for other sites, so I knew how it worked. I got all the content in without losing the metadata, which took a while. That I failed to make any diary entries of worth between January and April is probably for the best, all things considered.

I’ve been meaning to update more ever since then, to be honest, but it’s mostly a matter of establishing a habit. So, this is a new attempt to do so, and keep the site running for another ten years.

I still need to add missing functionality. The URLs don’t match up with the old ones completely yet, the articles are still mixed in with the diary entries, the search interface sucks, the 404 is boring again, but I can post (to the future, even) and I can update, and maybe I can get some people reading it again.

Though that (popularity) is a discussion for another day.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Related Posts