Keeping up

As a user and developer of a range of open source applications and frameworks there are issues I and others have to face on daily basis. Badly designed GUI, bad exception handling, instability, a huge pile of dependencies, bugs that call them selfs features, slow and inaccurate operation, unreadable fonts, huge memory leaks, outdated documentation, etc.

And after 4 years of exclusively using Free and Open Source Software I’ve gotten used to the fact that there’s always something fundamentally wrong with each application I use. And I’ve gotten used to the fact, that there are often some thing one has to do to make a desired application work the way one wants. And that’s OK.

However, I’ve never experienced that the documentation, that I was using as a reference while programming, was to up to date. Until yesterday.

I was working on a web application for a friend and I was using Django, as usual. I was just about to finish writing data models and was trying to validate them. And the validation kept spitting this out:

'module' object has no attribute 'DecimalField'

Each time I’ve looked at the documentation I was increasingly sure I must be loosing my eyesight or something. I was sure the documentation says “DecimalField” and have checked the syntax a dozen times.

I was just about to quit and sleep on it (it was 4:00 in the morning after all) I figured that if there’s likely to be a bug in Django then someone had to experience it before me. I’ve headed to Djago-users Google Group and searched for the “DecimalField”. What came up was a post by my Google Summer of Code mentor Malcolm Tredinnick. Apparently there were some changes in how Django core handles floating point numbers - 24 hours ago!

And as it happens my Django-trunk checkout was 3 days old and did not yet include the already-documented feature of “DecimalField”. This has never happened to me before. Actually the opposite is more often true - the documentation being a few major versions old. “Keeping up with the development” has a whole new meaning for me now.

I just wanted to pay my respects to the devoted developers that make my job so painful on daily basis. :)

One Response to “Keeping up”

  1. Jure Says:

    You really should read django-users and django-dev, or at least subscribe to the Yahoo Pipe for BackwardsIncompatibleChanges.

Leave a Reply