Skip to content. | Skip to navigation

Personal tools
You are here: Home Teaching advanced-python-nbn-2006 Thoughts

Thoughts

Some reflections and idea upon the completion of the course.

"Free" software

NBN favours of policy of using open source and free software, a policy I approve of in these times of shrinking research grants and making do. Using open source also - as I have often said in project pitches - "puts you in control of your software". You don't have to worry about a company going out of business or stopping support for your configuration or software. You don't have to worry about numbers of licenses . You don't have to worry whether your users or colleagues have the same software as you - send them a copy. If there are bugs, you can fix them yourself (theoretically).

Conversely, the phrase "it's free but it isn't cheap" got repeated often during the course.

I commented above on software that is great is you are prepared to devote your life to it, and MPL seems to be an example.

A lot of students had projects surrounding the constructing databases, visualisation and presenting data on the web. This was slightly problematic, given that any one of those subjects is a hefty course in itself. Despite this I covered what I could:

Databases turned out to be the easiest of these, surprisingly. I covered the use of the Python Database API - which is a Good Thing in making all flavours of db conform to the same basic interface - and the absolute bare minimum of SQL. Nonetheless, I was struck by the divide that has been erected between database expertise and the rest of IT. People who know about databases often don't know much about programming and vice versa. I was also struck in how much effort has been put into teaching bioinformaticists how to use databases as opposed to how to design and build them. The first is just a matter of interface and not really a transferable skill - UIs flux and change and are different across dbs. The second is something that we have worked out, is consistent and is transferable.

I managed a few lectures on the use of the Python Imaging Library and Matplotlib. Despite some struggles and disagreements I've had with PIL before, it is well designed, well documented and works properly, which is more than you can say for most other free libraries.

MPL suffers by comparison. Admittedly, it does rely on a number of other libraries which makes the install procedure (cough) a bit fragile but getting MPL up and working is still more of a task than it should be. And following that, the documentation, although full of examples, is still lacking. There were several simple tasks that I never quite worked out how to do. Unfortunately, even looking at the source code isn't helpful. A lot of MPLs functions take most of their arguments in the form **kwargs, i.e. they are almost all optional keyword arguments that

Document Actions
Visitors
Locations of visitors to this page
Ads
 
Sections