Ubuntu 5.04; Smarter than your average stick

Ubuntu 5.04

Released today. I upgraded my servers this afternoon. (It’s a personal thing, I love watching aptitude run.)

I’ll be interested to see how long I resist the temptation of upgrading to the next development branch this time. (For Hoary, I waited until upstream version freeze I think.) For my uses, Hoary hasn’t seemed to be a significant improvement over six-month-old Warty, although I’m told under the hood that it’s much nicer. Perhaps on the next cycle I’ll wait until the actual release… unless suspend starts working, of course.

Smarter than your average stick

During the course of the Twisted Sprint, Mike made a very useful suggestion about our documentation: that it should begin by defining its target audience. I’m going to try and do this across the existing documents eventually. Failing to do this in the past have resulted in some spectacular misunderstandings of when you can use bits of Twisted (at least one person has appeared on IRC thinking that enterprise is usable without knowing how to write a SELECT statement).

Later on in the weekend I briefed Jonathan (read: ranted at him) about what we need to do about the Deferred documentation with regard to targeting it at users who have never encountered asynchrony before.

The original documentation seems to have been written revelation style: gather unto me my friends, and I will free you from the heavy chains we have all laboured under trying to manage our own callback sequences: I give you the Deferred. (Cue weary lifelong developers crying in relief.) The actual users of the documentation (at least, the ones who complain about the docs) seem to tend more towards the “callbacks? wtf?” audience than the “at last the scales have fallen from my eyes, lead me forth” audience.

The upshot of this is that we probably need extensive documentation on the fundamental concepts of asynchrony. So far so good.

And then, just this week, a post to Twisted Web threw me another curve ball (I don’t know what the equivalent term would be if I were making a cricket analogy, sorry Andrew): Twisted (or Twisted-ish things like Nevow at least) have people pottering around with them who don’t really know much about concurrency. Or, quite possibly, don’t know anything at all about it.

This can be reduced to a target audience problem eventually: at what point does the documentation take the smarter than this stick position?

This angst brought to you by one semester’s worth of memories from teaching second year concurrent programming and having people ask each other in the tenth week of the course, completely mystified, why their GUI was freezing. Do get in touch if you want to write a pre-pre-Deferred document (or was that post-post…?) that is willing to discuss threading in detail, since, yeah, people will have to know when to defer to thread at some point or other.