This week - iPhone vs a can of compressed air, and Django NewFormsAdmin

21 July 2008

This is my (not very) regular series about what I have read on the web since last time.

Jürgen has written a post asking whether in the age of mobile phones, the need for a wrist watch is diminished?

Are smartphones a complete waste of time? Bug looks into the pros and cons. K thinks the iPhone is a big con, I have to agree. However, Garrick loves his iPhone.

Justin has a cat fight over OS X 10.5 (Leopard) playing up. For my sins, I have had to use OS X a bit in my new job, and I actually found Leopard less annoying than Tiger, mainly because in each version, OS X becomes less like NextSTEP and more like Linux.

Brock tries out XMLStarlet, the command line toolset for XML processing. Daniel looks at Logical Volume Manager (LVM) on Ubuntu and Gentoo. Paul has started to set up a backup server.

Andrew W dug up a nice graphical guide to the system crontab file. I personally am very happy at whoever invented the /etc/cron.hourly and /etc/cron.daily folders which are good enough for me most of the time.

Mez reminds us of the virtues of compressed air. Danux has started a new site called Amarus, there is not much there at the moment, but we wish him well.

Andy L talks about an issue I have been thinking about before, namely, if he current world wide web gets taken over by narrow minded corporate interests, shall we start our own World Wide Web? I have a slightly different suggestion, lets re-invade the forerunner to WWW, gopher.

Recently, at a conference that shall remain nameless, some cynical but funny person made a joke about the great BDFL. He did an impression of a Guido Van Rossum doll with a pull-string in his back, when the string was pulled, the Guido doll would talk half a dozen phrases about Python 3000 (and nothing else). Interestly, Craig Balding managed to interview Guido on a different subject, Google App Engine Security, and true to the joke, Guido says almost nothing.

Django NewFormsAdmin

If you do use Django, then you will want to know that the Django NewFormsAdmin branch has been committed to SVN. Therefore, if you are running Django from the SVN version, then don't SVN up until you have changed your code.

Basically Admin functions are now not part of the models.py file but instead are in a separate new file called admin.py. So cut and paste your admin classes from models.py to admin.py as explained in this guide. This is the last major API change before Django becomes 1.0 in September.

This will presumably keep Christian Joergensen happy, as he recently had a moan about Django's release schedule, i.e. Django has not made packaged releases that often. I personally disagree with Joergensen. For this type of software, releases are somewhat arbitrary and over-rated marketing tools.

For open source software, the mainline trunk should always be in a releasable state. With distributed development (i.e. when branching is cheap and easy) then there is no need for an old fashioned cycle of plan-develop-freeze-test-release-plan-develop-freeze... The trunk should be constantly tested.

The author admits that web frameworks move faster than some other types of software:

"This is a very long time, when you're in the market of web frameworks."

So Django is not a GUI WYSIWYG web site creating program. You can't just casually pick it up and make a website, you have to put time into it. To get the most out of Django, you have to read a huge pile of (mostly well written) documentation. Even for a seasoned Python programmer who knows other MVC frameworks, it will take an evening or so.

After this initial investment, if you decide to make your web applications using Django, then you are already committing yourself to keep up with the developments and improvements in the framework, i.e. keeping up to date with what the Django developers are doing. Therefore, tracking SVN is not unreasonable if you already know what changes are coming. Almost everyone paying even scant attention to Django, would have known about the impending NewFormsAdmin, the documentation page about it that I linked to above was first published on the 14th January 2007.

I do accept however, that Django does seem more suited for teams maintaining the same websites over time, e.g. in-house programmers or contractors on long-term service agreements; rather than one-off, develop and leave type development. However, the former probably does produce better web sites.

1 Daniel Davies says...

With regards to your last paragraph, you are certainly correct. Right now Django is a nightmare to use across multiple sites... we have some sites running the newformsadmin branch, others using trunk and whenever there are changes we have to think long and hard about whats likely to break. Last week the uploads on some sites suddenly stopped working, but then a svn update fixed it again.

I'm not complaining, nor trying to slate Django, just give some insight into the experiences of a commercial company already using it. Besides, Django developers are refreshingly honest about what to expect when using the framework before v1.0. Question is, will our commitment to Django pay off in 1.0? I like to remain optimistic and say yes.

Posted at 6:22 a.m. on July 21, 2008


2 Garrick says...

I do love my iPhone. That being said, I would trade it in a heartbeat for a STABLE Openmoko FreeRunner.

Posted at 2:03 p.m. on July 21, 2008


What do you have to say?

Show Editing Help

About

Hello, my name is Zeth, I'll be your host here.

Command Line Warriors is about taking control of your own technology, it looks at our experiences of computing; especially using GNU/Linux, the Python programming language, the command-line and issues such as techno-ethics, best practices and whatever is cool now. If you take control of your technology then you are a Warrior too!

This site is your site too which means that you can contribute and get involved. You can leave comments using the facility provided. For me, the comments and discussions are by far the best part of the site. So please do have your say!

Latest Discussions

Zeth

November 29, 2009
Hi Jordan, yes that URL is gone now. I have a new contact form on this site.
Python CGI contact forms

Jordan

November 29, 2009
Zeth attention! Your form, http://zeth.me.uk/contact/, is not working The explorer says connecting ..but nothing happens Sorry for my poor English: I am Spanish Regards
Python CGI contact forms

Jordan

November 26, 2009
Sorry: tell me , not tellme (I'm spaniard) And http://zeth.me.uk/contact/ don't work
You got the touch, you got the power

David Jones

November 25, 2009
Your mad skillz are too l33t! for me. I specifically switched to Google Reader so that I could show people what blogs I read. But I couldn't work out how ...
How to find the fashionable blogs quickly

Brian R. Hickey

November 20, 2009
Symantec picked it up too.
How to bring down Internet Explorer with six words

Zeth

November 17, 2009
Thanks djm, I am the moose here. Christian, assuming one actually does Internationalise the countries, it should still work I guess, as the gettext stuff will happen before the list ...
Countries in Django

Phillip Temple

November 17, 2009
Good start, but: a) wouldn't I want None back rather than 'ZZ'? b) why not add a 'shortcut' boolean, then prepend flagged fields (plus usual '-----' separator) to the actual ...
Countries in Django

djm

November 17, 2009
Am I being a moose or did you mean: from whatever.countries import CountryField instead of from whatever.countries import CharField ? Good post though, cheers.
Countries in Django

Christian Joergensen

November 17, 2009
Wouldn't the ordering get messed up after i18n?
Countries in Django

Steve - Electronic Cigarettes Fan

November 17, 2009
Very well done. Is your blog just you writing? Nicely done, Steven.
Blogger vs Wordpress

vetetix

November 15, 2009
Sorry to bother you nearly two years after you wrote this blog article, but I can't manage to find how to modify an existing field. I am trying to change ...
Three Useful Python Bindings - ClamAV, Apt and Evolution

Manju

November 4, 2009
I am transferring some files using psftp to other device's FAT partition. But the filestamp of the file being transferred is modified to that of FAT device, after the transfer. ...
PuTTY Series: Using PSFTP

iki

November 2, 2009
or simpler: socket.gethostbyname_ex(socket.gethostname())[2]
How to find out your IP address in Python

iki

November 2, 2009
local_ip = set([ i[4][0] for i in socket.getaddrinfo(socket.gethostname(), None) if i[0] == 2 ])
How to find out your IP address in Python

Fred

November 2, 2009
testing rst ------------- - point 1
An Introduction to ReStructuredText

Ano

October 27, 2009
"You simply found the license of the StumbleUpon Toolbar for Internet Explorer." That's possible. I've got some more interesting information to add. Firstly, go to this page: https://addons.mozilla.org/en-US/firefox/addon/138 - this ...
Are your Firefox extensions proprietary software?

Ken

October 21, 2009
Stumbled in here at lunch. This is the best find of the week. Thanks.
Three classic command line tips

Jim

October 19, 2009
Thanks for the rtsp:// post - that's something that has been bugging me for a while!
Three classic command line tips

Zeth

October 18, 2009
Thanks for the comments guys. Great to see the all the gang are still here!
Three classic command line tips

Bubba

October 18, 2009
Is there any way psftp can return the true transfer rates oberved during the actual transfer?
PuTTY Series: Using PSFTP