![]() |
version seven.   http://demongin.org |
DemonGin.org Version Six
Rats' Nest Edition
Monday, 2008-05-12 | demongin.org
So, as I may or may not have mentioned in the "About" section, this sixth iteration of ye olde dg.org is a massive cgi program written in python that uses a MySQL database.
And it's a mess.
Here are the two ways in which it's a mess:
1.) I didn't have a real clear idea from the get-go about how I wanted it to work or what I wanted it to do. As a direct consequence of this, I took my relatively unambitious and sound original program and proceeded to add thousands of tiny hacks in order to get things "just-so". As a direct consequence of that, I've got a really messy, nearly un-manageable codebase in which my logic and my presentation are frequently mixed. Call it "death by a thousand hacks".
2.) MySQL is deprecated. Even though MySQL's new owners, Sun, are going back and forth on whether or not they're going to start "selling" a commercial edition of MySQL and close the project's source, I think the die has been cast: the fact that they're even thinking about closing parts of it mean that it's more-or-less dead to me.
And so I'm already planning the seventh iteration even though this one hasn't even gone live yet. In dg.org I7, the following changes are going to be made:
1.) I like the idea of a cgi program as a blog. But I need a templating language or else the back end becomes a rats' nest. I didn't want to use one originally--having spent some time working with smarty soured me on the whole experience--but I think I've found the compromise: it's an (I think) abandoned project called "cgi_app" that lives here: http://thraxil.org/code/cgi_app/. There's templating and it plays nicely with mod python.
2.) Postgres. For life. Once you've been using pgsql for a little while, going back to MySQL is like being Dan Ackroyd in Trading Places. You feel (and are quantifiably) impoverished.
I don't plan on making any moves until this site's been around for a while: it'll make developing I7 much easier if I've got a real clear use-case in my head when I start the design.
Nevertheless, it's worth noting that I've already got daydreams and vague plans for making the change. Because I'm just manic like that.
