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. :)
May 22nd, 2007 at 15:03
You really should read django-users and django-dev, or at least subscribe to the Yahoo Pipe for BackwardsIncompatibleChanges.
March 6th, 2010 at 21:34
Thanks for your article. I am new at python and this is a big help.