Django, or, Why I upgraded my Linux server
I forgot to mention why I upgraded my Linux server...
I want to try out Django, a new Python-based web development framework. Unfortunately, getting its dependencies installed on Mac OS X is a massive pain... so much so I decided to install it on Ubuntu instead and forego the convenience of having it on my laptop. The software Django depends on is better in the latest version of Ubuntu. So, there's the Linux upgrade use case.
Django's installed, and now I can move forward again.
"Why not use Rails then, it's easy to install?"
Yes, I tried Rails first, only because it was relatively easy to get running on my PowerBook. I bought two books to help me learn it faster. After reading hundreds of pages from them and coding a personal project with it, I no longer feel Rails is right for me.
I'm a perfectionist, with deadlines.
From what I can tell, with Rails, once you've got your (data) model set up, you might as well be doing PHP development. Rails' template/component systems are pure torture. Actually, just attributing the words "component" or "template system" to Rails makes me feel light-headed. PHP-style development is a non-starter for me, so until Rails stops mimicking PHP/JSP/ASP, it's a non-starter too.
I have it on good authority that Django should suit my tastes better, and I hope that's the case! Worst case, my Linux server is now up to date and I now know how to build deb packages from source.
To my friends:
I realize some of you do, and even enjoy, Rails development. And yes, I realize you may be insulted by my comments, but I have to speak my mind on this, and I don't think sugar-coating helps any. Rails doesn't get a free pass from criticism just because it's "the in thing" right now.
My real friends are used to me being "blunt" (to a fault), so I shouldn't think this post will be a problem. If it is, let me know, preferably with a persuasive argument for accepting Rails' shortcomings that has nothing to do with popularity.
Zero to Hero in 3 hours
Last night I decided to upgrade my Linux server from Ubuntu 6.06.1 LTS Dapper Drake to 6.10 Efty Edge. It should just work, right?
Just about!
The installation failed because it couldn't stop lighttpd. I don't remember installing that, I think a friend of mine who I've let use my server did that. No big deal, I killed it, removed it, and resumed the installation.
Restarted, but my machine was thrashing fiercely. Turns out it upgraded my mail server (Cyrus IMAPd) packages to a version that flat out does not work. Of course, the primary reason for this server to exist is to run my mail server, so that left me not very happy!
Long story short, the current Cyrus 2.2 packages for Edgy are broken, I had to install the deb from source after patching it to remove every trace of references to db-4.4, db4.4 and db44 (so that it properly uses Berkeley DB 4.3 instead of 4.4).
I got it working, and now my mail server is back up and running.
I'm a little upset that Cyrus would be left broken for 4 months since the release of Ubuntu Edgy Eft, but there is recent progress being made on getting a new version of the packages out with this fix. Considering the people maintaining it are likely volunteers, I'll give them some slack, but fact is, Ubuntu's QA failed here. From the look of it, this problem is already addressed for the next version of Ubuntu, so hopefully some other problem doesn't bite me in the ass once I upgrade to that version.


