Ubuntu Down Under

I went to Ubuntu Down Under more to experience these mysterious events that Andrew flies off to every four months more than anything else. I wasn’t entirely sure what I expected from the day, but I wouldn’t recommend them to people who do not have a pretty developed interest in Ubuntu or something else Canonical is working on.

Yesterday, the ANZAC public holiday in Australia, was conceived as “Ubuntu Down Under Love Day” originally. I’m not quite sure whether I picked up the wrong message or whether I picked up the right message and the concept didn’t work out. The message I got was that it was going to be the most outsider-friendly day, and a chance to reach out to Sydney Linux users and Free Software developers.

What this amounted to, aside from SLUG’s small installfest, was that the Monday (like every other day of the conference) is open to drop-ins. It didn’t mean though that there were many sessions that had much need or interest for people not already, at the very least, following the Ubuntu development mailing lists. This conference is one week long, apparently because the two week conferences were burning people out too much to work during the second week, but the way that’s been achieved is to roughly double the output expected from the single week. The schedule, which is now sufficiently complicated that making it must be approaching the complexity level of the high school timetabling problem, was completely changed the night before the conference, leaving me with a pretty unfamiliar set of sessions I could attend.

And at a really basic level, the mindset just wasn’t about “let’s take outsiders and draw them in.” Very few BoFs started with an overview of what the session was set to accomplish and most were limited to conversations between two or three people while others listened in. All of them have a very formal aim, which is an edited write up including a set of goals for implementation.

I sat in on a couple of Launchpad sessions as a kind of observer with a professional interest in software engineering techniques, but it was pretty opaque to people not following development (the code is in-house and completely proprietary, so that essentially means Canonical employees).

Carlos was interested in talking to me as a representative of the documentation people, but unfortunately I don’t know the translation work-flow at all.

The Membership and Maintainership BoF Mako ran was the most interesting I went to, partly because the topic is community participation, which is easy to understand, and partly because the goal is moderately interesting. The idea is to separate the two things that Debian combines in the New Maintainer process: that is, power to help make decisions (by voting, usually), and the power to upload software into the distribution. In the Ubuntu community, the idea is that people shouldn’t have to jump through all the ‘can we trust your software skills?’ hoops if their contributions are, for example, helping out on the mailing list. However, they should be able to vote. Hence, the Member/Maintainer distinction.

I would have had a better day if a few more documentation team members had been there I think. At the moment I’m trying to do some facilitation for them (facilitation is relatively newly discovered talent of mine, and since I prefer editing technical documentation to writing it, I think it’s the main thing I’m going to offer those docs) and there are going to be some very pressing issues shortly surrounding two things: communication with the development team; and whether contributions should be tightened up and funnelled through the doc team (which would mean, among other things, bringing the wiki under tighter control). These could have used some nutting out with the developers in person.

As it was, I didn’t get a lot out of it for the most part. It’s not a marvellous ‘networking’ (read: meeting cool people) event, because the Canonical people are working 14–20 hour days, and the meals are in-house and expensive (breakfast and lunch were each $22 buffets, I don’t know how much dinner was). I doubt I would have met anyone much if it wasn’t for knowing several of the Canonical employees already. (It would be possible to, but you’d have to be a bit more outgoing than me, and also confident of making a good impression on very busy people.) I’m not familiar enough with distribution development to help write specifications for that; ditto Launchpad (and I gather they don’t want outside help anyway); and I’m way behind the eight-ball on distributed version control.

Assuming that the conference pattern follows this one, I wouldn’t recommend people without a really pressing need to get involved or existing involvement go along to these things in future. Assuming that this is a problem (it need not be, not all conferences are suitable for casual observers) I think the solution would have been to really pull SLUG into it and push a lot of the reach-out work onto SLUG. I would have enjoyed, say, a codefest with some token Canonical participation or some ‘donated’ talks from them, more than I enjoyed their development conference.

Stuff that I could fix myself

Some thoughts on usability from experiences of the last few days include: yum vs apt; and Arch with more grabability.

I tried to use yum to upgrade from Fedora Core 1 to 3 rather than walk ten metres to ask our operations staff where the CDs were. This didn’t completely break my system as I was informed it would, although I did end up trying to upgrade packages in sets of 10. I gave up because I broke X so badly that starting it caused the machine to reboot. But at least it was booting in the first place, which is better luck than James had going from Fedora Core 2 to 3. (My story ends with the CD upgrade by the way, which went fine.)

So, why was I doing this? First I’m used to Debian-like systems which are more fussy about having good upgrade paths (to be fair, they don’t usually support skipping a release like I was trying to do). And second, I’m used to apt.

Two things that apt does that I wish yum did too:

  1. When asked to upgrade some enormous number of packages, and two of the upgrades are set to fail due to dependency issues, apt will install the enormous number of packages, minus the broken ones, thereby avoiding you having to manually construct a list of packages which don’t appear to be broken.
  2. apt does not re-index the repositories every time you invoke it, it needs a special command. Very useful when you need to walk it through several steps (and I have to say, I’ve never had to do as much of that as I have over the last day, but that’s partly because the office mirror of FC3 is incomplete) and don’t want to waste thirty seconds on each step waiting for it to rebuild its meta-data.

I’ve also been messing with Arch. Well, I branched Planet again and I’m going to put my old changes in by hand, I can’t face walking it though 60 revisions while it tries to merge my old old old changes in. While I was messing with doing this, I felt clicky urges. I’m not a hugely spatial user normally, but I had a sudden desire to have a big screen full of colourful blocks representing Arch branches, and I would merge code between them by grabbing branches with the mouse and dragging them to the right place. I don’t have a good system yet for maintaining a mental model of what branches come from and should be merged into what points in the parent branch.

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.

Jeff’s and Pia’s wedding

If anyone would like a lift to Jeff’s and Pia’s wedding next weekend that fits into the following schedule, let Andrew or myself know (if we get full-up, I’ll update the entry appropriately):

  • Saturday 16th: Leave Sydney mid-morning and travel to Canberra. I think we’ll stay in the City Walk Hotel if they have room, but could drop you off elsewhere.
  • Sunday 17th: Leave Canberra mid-morning to travel to Yass in time for the ceremony (going straight to the venue).
  • Sunday 17th: Leave Yass in the early evening to travel back to Sydney (we’re not going to lca and thus will not be returning to Canberra). This will either be straight after the reception, or very soon after the start of the party.

If you only want a lift one way, that’s fine too.

Note especially that Andrew is driving the entire way. He’s currently on his learner’s permit, and needs to accrue more hours in his logbook before his driving test. This has a couple of effects on our passengers aside from his driving (he’s pretty good, btw, and the Hume Highway will be no problem for him after the Bells Line of Road over the Blue Mountains). The trips will be slow because learners are speed restricted to 80km/h. You get not one, but two designated drivers, since I must be under 0.05 to supervise him. (Andrew won’t be able to drink during the entire weekend, because he, as a learner, must have a 0.00 reading.) But if you’re happy with a completely sober advanced learner driving you about, get in touch.

Twisted sprint

I, like a lot of people, don’t have the art of taking photos of people hacking and making them interesting to look at. But, hey, photos!

It’s been a good weekend so far. Chris, Andrew, Andy and Tim really have been working on a virtual firesystem abstraction, although without the April 1st insanity. Last I heard the aim was to have a demonstration server which allows (virtual!) files to be uploaded and viewed over SFTP and FTP and viewed through Twisted Web at the same time. Andrew has been buried in the guts of FTP: the man has a long burn out time but he’s back in the game. I asked him for some attention about two hours ago and I’m still in the queue.

I added a few tests to bugs yesterday in an attempt to learn some trial, and converted a few demonstration code bits to automated tests. Today I’ve been much more idle than everyone else, but I did make a start on a documentation writing style guide that could keep me busy for years if I make the ropes tight enough.

Twisted sprint; Google spam, round 3

Twisted sprint

Andrew and I are flying to Hobart this evening for the inaugural Australian Twisted sprint. Sprinting will be competing with tourism a bit, but I’m looking forward to both, despite this being another weekend in which I am not sponging around on my beanbag.

Google spam, round 3

Seems Google’s business development people (or their cyborg stand ins — the mail has a reference number, so it’s possible it’s all handled by The Machine) were concerned I didn’t reply to their last mail. So, they sent a followup.

I sent the following in reply:

 On Wed, Mar 30, 2005, Google Crawl Coverage wrote: > Greetings, > > I just wanted to follow up with you to confirm that you had received my > previous email. If you are not the right person for this, perhaps you > could forward it to the appropriate person within your firm. > > Thanks. I look forward to hearing from you.  I received it. I've deliberately chosen to have a number of domains I run, including this, excluded from Google's index (and from many other robot crawls). It's not a site designed to be useful to casual viewers, and it isn't a commercial site so attracting extra visitors has no commercial advantage to me.  I'm concerned about this particular business development scheme of Google's -- what if every search engine sent me repeated queries about my robots.txt file? That would be very time consuming to deal with. I know the implications of its contents and deliberately chose them.  -Mary 

And hopefully that’s the first and last time I’ll reply to spam. Invoking the categorical imperative in that reply was silly anyway: much of the idea of a business plan is to do something that no one else is doing and hope that it doesn’t become a universal law.

Twisted 2.0; More on conferences

Twisted 2.0

It was released. And that‘s exactly what I would have said about it too. So handy to have people to take care of these things.

More on conferences

The revival of the "why do you/don’t you go to tech conferences?" discussion on LinuxChix reminded me of my response last time: an article on making your conference website accessible to the conference-naïve (who aren’t necessarily undesirable speakers). If you’re interested in attracting proposals from any group that isn’t currently represented (be they women or QA people or whatever) your conference does need to make a special effort to aim its website and all other publicity at outsiders. Insiders just need the conference dates and the closing date for the Call For Papers. Outsiders need everything spelt out: what’s a ‘paper’ in this context? how long is a talk? what’s the selection process?

Attending conferences

Since there’s nothing better than a topic which allows me to be both on-topic and narcissistic, I thought I’d explain my perspective on conferences in the light of the "women at tech conferences" weblog-thread:

After all that lead up, I’m sorry to have to confess to say that my complete failure to attend a technical conference over the last year has nothing to do with their gender balance at all. The most I can contribute is to say that all other things being equal (which they never are), I’d probably have a better time at a conference approaching a 50-50 balance than I would at one approaching either extreme. As it is though, if I want mixed gender or female dominated spaces I know where to find ’em.

There’s two tech conferences I would have been tempted to attend this last year: linux.conf.au and PyCon. (linux.conf.au is, um, 3% female in attendance and around 5-10% in speakers I think. PyCon I don’t know about.)

The biggest single reason I’m not at these two conferences is holiday time. If I want to attend either of them, I need to take annual leave. Back in the days where I was unemployed and/or a student, a week at a conference did not automatically mean spending one week less by the sea that year: now it does. (My employer, like many, does not have its employees attend only peripherally relevant conferences on company time. Fair enough.)

This makes me a big cowardly custard in Free Software terms. (I know a bunch of people who would never consider having a holiday that didn’t involve a tech conference.) But there we have it. If I have to trade my beloved time-by-the-sea time off against a conference, it has to be a bloody good conference.

There are a few specific points that stop each conference qualifying as a ‘bloody good conference’. In PyCon’s case, it’s almost entirely the location. It’s an expensive trip from here: in addition to ‘spending’ holiday time on it, I need to spend thousands of dollars on the airfare. In linux.conf.au’s case it’s two things: I don’t drink heavily enough to find the after hours stuff all that appealing and I didn’t enjoy many of last year’s talks. (I don’t want to lean on that point heavily: I think it’s a sign of a mismatch between my interests and those of the program committee, rather than the committee’s choices being bad.)

What of women at conferences then? Well, some of the absent women are just stingy with their holiday time and their finances, just like, I presume, the absent men. There probably are some factors that specifically stop women attending and presenting, but I don’t think they’re anything compared to two things: women who are professional techies are less likely to have it as a hobby too (shades of my time-by-the-beach rationale here I admit); and there’s a huge starting gender imbalance in techies. I’m therefore not finding this particular issue very stirring.

Note to self

<spiv> Ok, another upgrade, this time for universe. This should be the last net connection-choking thing I do today.
<spiv> Uh, weird. It self-aborted mid-download.
* spiv lets aptitude just do whatever.
<spiv> Ah, fuck.
<hypatia> ???
<hypatia> *suspense*
<hypatia> ???
<spiv> dpkg segfaulted, and now the machine has hung.
<spiv> *sigh*
* spiv sysrq reboots.
<hypatia> Ew, suck
<hypatia> Maybe you should have done the whole thing at once??
<spiv> Possibly, but I wouldn't think so. Anyway, I'm fscking to make sure it's not like the weird error I saw on trogdor.
<spiv> Anyway, file this one away for next time you feel like computers only hate you 🙂
<spiv> They hate everyone 🙂

Consider it noted.

Later:

<spiv> Ah, kernel BUG during fsck.
<spiv> I'll try without the proprietary NVidia module, then I'll try vanilla 686.

Just for reference, he’s trying to upgrade an underclocked (long story) Athelon machine with a August 2004-ish snapshot of Debian sid to Ubuntu Hoary (as of today). Um, don’t try this at home… ?