A New Dawn
This site has been in existence for a year now, and during that time it’s been a nice platform for me to flex my web development skills, and occasionally write something. And yet, in that one year, I’ve done at least one major overhaul, several minor overhauls, and have enough battle scars to prove it.
The Drupal Days
In the beginning, there was Drupal. I’d started working with Drupal even before this site went up, I went to all the trouble of installing LAMP, downloading the latest release, and I ran the thing. Since I’m simply unable to run something without poking around in the source code, it wasn’t very long before I had checked out the source code from CVS, and was running a copy of that as well. In fact, at one point I was running about 4 different versions of Drupal, all at once.
Note that at this point, although my HTML and CSS skills were quite good, I hadn’t a clue about PHP or databases, or any prior experiences with the Drupal codebase. So I stumbled on, confident that the knowledge I gained by working with Drupal would allow me to run my own site better. I studied the codebase, went through a transition between major versions (5 - 6), but most of all, I grappled with the horror that is PHP.
I chugged along, managed to get a few patches in, and even went so far as to submit a proposal for Google’s Summer of Code to work for Drupal, although that didn’t get very far. In the end, it was personal need that sealed the deal. Drupal was overkill for what I needed, and I was fed up trying to keep up with all the updates. I needed something simpler.
My original choice of Drupal had been at the expense of Wordpress. Wordpress was the undisputed king of blogging engines, while Drupal was ideal for anything even slightly more ambitious. Having been there and done that, I decided to try Wordpress.
Wordpress Woes
Like before, I was unable to simply use it, I also had to hack it. However this time, consciously or not, I stayed away from the core code, and stuck to the plugins and the themes. I did what the typical blogger does, downloaded plugins and themes from the net, installed them and used them. As time went on, I realized that my tastes were tending to a more minimalistic style, both in look and in functionality. I wanted something that displayed content, not much more.
Wordpress is an amazing piece of software, don’t get me wrong. And so is Drupal. They just weren’t for me, someone who couldn’t stop hacking it. The result? Write my own. And I sure as hell wasn’t going to attempt that in PHP.
The Django Joyride
It was at this time that I found Django. I was told about it on IRC, read about it on various python related blogs I read, and decided to try it out. Python is my language of choice after all, and it would be optimal if I could write a blogging engine in python.
After jumping in, I realized that not only was writing a blog application in Django easy, it was also quite common. In fact it is so common to write a blog in Django that it has been equated to the new hello world on stackoverflow.com (See first answer). So I wasn’t alone. Good.
From then on, it was easy and fun. I tried several approaches, and scrapped several more before I decided to stick with one, and actually made it more or less as feature complete as I wanted. The result is Djournal, a blog application for Django, written completely by me, but tying in to reusable applications written by a lot of other people.
In fact, this is the reason why working with Django is so easy. Because most of the work has already been done. You want to do tagging? Already done. You want to do aggregation of your various social network presences? Already done. You only need to do what functionality is specific to your own site, and if possible make it available for others to use.
Finding good hosting was the final hurdle; Hosting that supports python is rare, and those are expensive. Thankfully I found Webfaction, I haven’t heard anything but praise for them, and even after just a few weeks, I can see why.
So now you know how I got here. I expect that my blog will stay this way from here on, since I can’t get too much more hard-core than this. That and the fact that I’m tired of changing stuff around. I’m doing my posts now in ReStructured Text, so it’s much easier to maintain. I hate typing in a textarea in a browser. I need my editor.
I still have to migrate my old posts. How long that’ll take, I don’t know. Of course I’ve got database dumps, but there’s no ReST source for them, so I’ll have to figure something out.
Very soon I’ll be putting up a series of posts on how I wrote my blog application. I relied upon such posts myself, and hopefully my experiences can be useful to others, and provide a different perspective.




Very neat template! :)
Great work! Looking forward to “The making of” posts :)
No more ISEs!
Hopefully, you’re right