linux.conf.au 2007: Wednesday 17th Jan

I think I’m experiencing some of the same lca disillusionment as I did in Adelaide, as good as Adelaide 2004 was and 2007 is. There’s still nothing like the magic of 2001, when I’d hardly heard about any of this stuff and it was still new and magical.

For the talks described below, I’ve linked video where available already, but it isn’t all encoded. They should all eventually (for values of ‘eventually’ that are something like ‘within the week’) be encoded and linked from the programme.

Andrew S. Tanenbaum’s keynote this morning was introduced by Linus Torvalds, I think possibly because this is lca and they can do that sort of thing, so why not? I liked this keynote a lot. It still wasn’t earth-shattering (perhaps Kathy Sierra on Friday will take it out with a bang?), but he threw around some interesting ideas.

The first half of the talk was a general discussion about computers and their instability. Tanenbaum claims lifetime failure counts of zero on his car, TV and stereo, and hundreds or thousands of lifetime failures of his PC. It was actually a bit unclear what was meant by lifetime failure here; program crashes? Complete system crashes? It’s also a bit too kind to the automotive industry: I do remember my father’s car computer losing the ability to change gears once, sticking him in first and leaving him there. The mechanic essentially flashed the computer. But the essential point is true.

Tanenbaum’s point from there is that cars, stereos and TVs all contain a fair bit of software these days, and, given typical industry figures of 10–70 bugs per thousand lines of code, why are they stable? Well, one answer is that they have nothing like the complexity of modern operating systems, especially those written to support thousands of potential devices. Another is that they, like mission critical software, are self-healing. Something vanishes or breaks, it gets restarted or reloaded.

This led into an introduction to Minix 3, which is, in part, an experiment in micro-kernels with self-healing layers on top. In Minix 3, if the kernel crashes, buh-bye, if the reincarnation process that’s doing the watching dies, buh-bye, and if a couple of key device drivers die you might have a hard time. But much of the rest, including a hell of a lot of functionality that would be in, say, the Linux kernel but that is in Minix user-space, can be restarted, and if you’re careful, can be done so seamlessly. The average performance hit is in the order of 6%, which is not impressive to my friends who work with extremely highly loaded network devices, but might be of interest to non-performance critical machines.

Andrew Tridgell asked about malicious or very badly written device drivers, and Tanenbaum replied that Minix 3 doesn’t protect against these. It also doesn’t protect against a cascade of failures. But Tanenbaum said that the majority of released bugs in operating systems are relatively isolated failures brought on by somewhat, but not extremely, rare corner cases. And so if you have a self-healing system that is capable of noticing a benign but buggy device driver go down and can restart it, that would suffice to survive an unspecified but presumably high number of potential crashes.

Personally, I just thought Minix 3 sounded like a good example of what the original apparently also was: a fairly small teaching example of a working operating system. I’m not predicting that I’ll become a Minix hacker, but it’s more likely than me suddenly deciding to start on Linux.

I went to Matthew Garrett on Fixing suspend for fun and profit (video, Ogg Theora, 46MB) after morning tea. There was an assortment of interesting pickings about the details of a device driver sleeping and waking up on suspend and resume, and a discussion of why suspend to disk is, sadly, usually less buggy than suspend to RAM. (When coming back from RAM, devices can be in an often underspecified and sometimes completely random state, but coming back from disk the computer has to do a normal boot as far as the boot manager goes, which puts devices into their known boot state.)

He noted a social factor in the improvements in suspend and resume: people finally have started expecting it to work. Until recently (2004 or so at the earliest), if you had a x86 Linux laptop you just assumed that it wouldn’t suspend, and therefore didn’t report bugs. A tipping point was reached, probably the point where all those damn people with IBM X40 laptops got working power management, and everyone got jealous and started whining. And so suspend and resume is much better now.

He then explained some new debugging, and how it came about. The new debugging is controlled by the CONFIG_PM_TRACE kernel compile option, and activates the TRACE_DEVICE and TRACE_RESUME macros. When activated, you can suspend and then try and resume your machine (which is presumably failing, since you’re doing this). When the resume fails, you can restart your machine and on boot it will report some information about in which bit of kernel code it last saw a TRACE_ macro (and you can put some more in to help you find the spot more exactly) and which device it was trying to wake up at the time. It stores this info in the one piece of non-volatile memory that’s really reliably addressable: the system clock. Since the clock will then contain complete garbage, conveniently the computer will not try and overwrite it, leaving you an indefinite period of time before you boot it up and grab this info. That isn’t good exactly, but you don’t have to do it all the time, just when you are trying to debug suspend and resume.

This has all been added, Garrett explained, because Linus [Torvalds] had a laptop he wanted to suspend and resume… and it didn’t work! Before that, fixing a bad driver involved a lot of voodoo, and beyond that, guesswork, about which of twenty different drivers was actually at fault.

After Garrett’s talk I went to Michael Carden on Digital Preservation – The National Archives of Australia, Open Standards and Open Source which was mostly about Xena, the National Archive’s digital preservation tool, already in testing by the University of Sydney library in conjunction with DSpace, and of course fully in production in the National Archives.

I went to Keith Packard’s X Monitor Hotplugging Sweetness at the end of the day. I didn’t really follow the whys and wherefores, which is a shame, but I think he was assuming more knowledge of the X protocol and X.org extensions than I have. (It would be impossible to assume less; I’ll never be in Daniel Stone’s posse.) The upshot is that soon, when Packard finishes up some things and merges his branch, mainline X.org X will have the ability to do things like realising that a monitor has different resolution potential and mode lines from the laptop screen, take advantage of that and then construct a giant virtual screen and be able to place the external monitor next to, above or below the laptop monitor as view ports into that virtual screen, which is something like what Xinerama does except more flexible. This will be the RandR extension, version 1.2. Things that are still to come are things like not letting the mouse escape the view ports, which is important for users, and adding support to a bunch of video card drivers (Intel is nearly there because Packard works for Intel, and Dave Airlie is on his way with Radeon) but it’s mostly there and if you like cutting edge X you can run the RandR v1.2 branch and see it in action.

I got a Professional registration as thanks for being on the programme committee. This means two things: I get my name in a big index of professional delegates, and I got to go to a networking session last night. It was a true networking session too, as in a bunch of drinks and nibblies were supplied, but very few chairs (and those probably by accident) so that people could bounce around and optimise their personal networks. I am not in an ideal position at this conference to do this (I am a computational linguistics student researcher, and this conference doesn’t contain my professional network) and also, my feet were horribly horribly sore. I chatted with some people I already know, met a few Sydneysiders I hadn’t spoken to, and went home, because sleep is important (we live an hour away from the conference by the most optimistic of public transport routes).

Mary and Andrew have an announcement

Mary and Andrew are very happy to announce…

Mary and Andrew

… a new and very welcome addition to their family…

Mary, Andrew and their Nintendo Wii

Hooray! Of course, we can’t seem to get a second controller, let alone a second nunchuk, for love, or even for money. But isn’t she beautiful? We’ve named her Gertrude (our computers are named for characters in the Gormenghast series.)

linux.conf.au 2007: Monday 15th Jan

The best thing about linux.conf.au so far was yesterday’s weather. It was mild with a slight breeze, and the venue has made the mode of it by using UNSW’s glass-walled Pavilion near the Clancy theatre for hack and chat space. (As with OSDC though, people can’t tell the difference between someone noodling on their laptop and someone doing work, and interrupt both sorts.)

Jeff gave the conference opening talk and forgot to introduce himself. It was a fun talk. About a week ago he called me to ask what he should say about the lca Woman Triumph. Over 10% of registrations were women, which doesn’t sound much until I remember that at linux.conf.au 2004 there were eight women — not eight percent, eight. I actually advised him not to dwell on behaviour too much; lest the men be insulted and the women think that they’d accidently signed up for Barbarian Finishing School (how to talk to girls, level 1). He did stick a don’t be creepy on the end of that section, with the result being that a couple of guys came up to me and joked about how they could be creepy but weren’t allowed to.

Guys: creepy is creepy, but meta-creepy is both stupid and irritating. Don’t do either of them, and don’t start on the meta-meta, thank you.

The first two days of the programme, yesterday and today, are mini-conferences (think workshops), organised by communities like Debian or GNOME, or by interest groups, like people interested in education. I am running a LinuxChix one today. The conference has decided to embrace them this year: rather than describing them as a sort of a pre-conference bonus, the mini-conference schedules went into the main schedule, and Chris Blizzard’s keynote is scheduled this morning to lure people to the mini-conferences afterwards.

Yesterday this seemed to be a bit of a mixed blessing, because the mini-conference organisation and programmes largely aren’t up to the standard of the main conference, which has a programme I just can’t stop drooling over. Two things! In every session! That I want to attend!

Andrew said yesterday that he should have stretched a bit and gone to the embedded miniconf rather than GNOME, and I sort of agree for myself too. I tried Education in the morning, but Pia had had to move her talk at the last minute, and in fact backed out of her slot later in the day too, leaving their programme in disarray for the casual attendee, because every session they’d announce a random talk.

I went to the GNOME talk on Avahi, which just didn’t grab me somehow, and then Jeff’s talk, entitled Connecting the dots, in which he mostly demonstrated the capabilities of his Wii. Now, actually this was kind of interesting for me, because Andrew and I didn’t set up our Wii until last night, so we’d never seen it in action. And James, who is well out of console-land, was fascinated. But by the conference’s core criteria — talk about Free Software, or Free Culture — it was a complete disaster, since the Wii while cute, is extremely proprietry.

Since I had my own mini-conference today to prepare for, I didn’t attend any more sessions after session 3 yesterday. Instead I sat in the nice open air pavilions and worked on slides, and then Andrew and I took off for a yoga class in the evening and went out to dinner afterwards.

Links to Women in Free Software groups

I gave a 5 minute lightning talk at OSDC entitled Women in FOSS groups (meaning groups for women involved in Free Software, rather than about women in Free Software groups, I could have done a better title I know). It was mostly an attempt to jam Adam Kennedy’s lightning talk about Acme::Playmate, which featured lingerie shots of women (and maybe topless shots, I didn’t want to watch it, being quite firmly and viscerally of the belief that there’s a very small amount of sexual desire I like at my open source conferences). So mine featured pictures of women, fully clothed, with labels like Linux user and AI researcher.

For more on Kennedy’s talk, see Richard Jones’ entry about it: Jones was the chair of the session that Kennedy gave his talk in.

I’m not putting my slides up for a few reasons: bits of them only make sense in the context of that particular jam; other bits only make sense if you hear me say the words that went along with them; and finally while I got permission to use them in the talk, I didn’t get permission from all the women whose pictures I used to stick said pictures on the ‘net.

However, the last couple of slides were a list of links to groups for women using and developing Free Software, and Paul asked if I could provide them in a place where people would have a chance to write them down. Fortunately, these were even prepared earlier:

  1. LinuxChix’s list of groups for women in computing generally; and
  2. LinuxChix’s list of groups for women developing Free Software (and Free Culture, in the case of WikiChix).

My talk at OSDC: the Planet Feed Reader

I gave a thirty minute presentation at the Open Source Developers’ Conference yesterday about the Planet software and the associated communities and conventions, focusing more on the latter since one of my reviewers suggested that the social aspects are more interesting than the code. My slides [PDF format, 2.1MB] are now available for the amusement of the wider public.

Much of the discussion of history was a recap of my Planet Free Software essay and the discussion of Planet conventions was a loose recap of accumulated wisdom, including:

  1. using bloggers’ real names, or at least the ones which they attach to email (usually real names) in addition to common IRC/IM handles is useful for putting faces to blog entries to contributions;
  2. once the convention of using real faces and real names is established, people get upset when the conventions are broken (quoth Luis Villa: I’m not sure who/what this ubuntu-demon is, but ‘random animated head without a name meandering about doing a lot of engineering work to fix a problem that should not exist’ was not what I was looking for when I was looking for information on planet ubuntu); and
  3. life blogging is of interest to an extent, many developers would actually like to feel that they’re friends with each other, but the John Fleck case on Planet GNOME shows that there are limits.

Much of the rest was due to Luis Villa’s essay on blogging in the corporate open source context, but as I wasn’t allowed to set assigned reading to the audience I was able to pad out by half an hour by including that content.

Mostly it was a fun experiment in doing slides in a format other than six bullet points per slide, six slides per section, six sections per talk format; incorporating badly rescaled images in various places; and using Beamer so I was surprised to end up hosting a Planet BoF (Birds of a Feather) session, discussing it from the point of view of someone running a Planet (the editor). Some of the topics that came up were:

  • trying to start communities via Planet sites, rather than enhancing them, by, say, starting a environmental politics Planet;
  • the possibility of introducing some of the newer blog ideas to the Free Software world (like carnivals);
  • allowing a community to edit a Planet, and editorial policies in general;
  • potential problems with aggregating libellous or illegal content (another reason some editors apparently insist on real names);
  • alternative aggregators;
  • banning RSS in favour of Atom;
  • whether it is possible or wise to filter people’s feeds without their consent;
  • moving to the Venus branch of Planet; and
  • making Venus trunk.

I may propose a blogging BoF at linux.conf.au and, if I do so, I’ll even plan some discussion points, which will make it less random.

linux.conf.au payments (attention earlybirds)

Just spreading the word, since neither Andrew nor I received an email invoice for our registration: credit card payments for linux.conf.au are now being accepted. (We did get the announcement, but previous conference experience—ACL, HCSNet—this year has unfortunately taught me that registration information is not sent out using titles like Countdown to linux.conf.au 2007: 48 DAYS TO GO, those kind of titles now indicate to me we’ve updated the website! and now we have a directory of attendees!, ie, not action items. So, I didn’t actually read it. Oops.)

People who got the earlybird price (which closed Nov 15) must pay by December 8. You can also still register now and get the regular price, although as the announcement (also) pointed out, if you want to stay on campus in the pre-arranged accommodation, or you want to go to the dinner, register soon. (It’s unpredictable how full they really are, until they start re-opening spots that people haven’t paid for. But 450 attendees who haven’t put down money yet is still a goodly number when I believe the aim is 800.)

In Melbourne Dec 5–10

Dear universe, Andrew and I are in Melbourne for OSDC from Tuesday December 5 to Sunday December 10 (in the morning, anyway). If any of you are in Melbourne that week and would like to meet us for breakfast/lunch/dinner/drinkies, get in touch.

Ubuntu code names

A relatively idle thought after doing Ubuntu support on LinuxChix lists for a while: are the code names really such a good idea? People have an enormous amount of trouble correctly identifying their Ubuntu version. I’ve seen the following problems:

  1. people not realising that the zeros are significant in the version number and asking for support with Ubuntu 6.1 (they probably mean 6.10/Edgy Eft) or 6.6 (they probably mean 6.06 LTS/Dapper Drake);
  2. at least half the time people quoting the Ubuntu version number and codename together quote a mismatched name and number (Ubuntu Breezy 6.06, Ubuntu Dapper 6.10 and that’s not even getting into Ubuntu Breezy 6.1 or Ubontoo/Urbanto/Obonto Dragon and so on), which means that you have no idea which version they actually mean; and
  3. the code names are memorable, but seemingly not memorable enough, there’s a lot of people out there talking about the Edgy Elf, which sounds like a bad drug pusher.

Ubuntu is far from the only software using well publicised release code names. I remember the good old days pre-Windows 95 (the good old days are always more than a decade ago), when you couldn’t talk computers without talking about ‘Chicago’. Debian’s release code names are also very commonly used; potato, woody, sarge, how well I remember thee, and I have no idea what thy version numbers were. In fact, the problem might perhaps be that the release code names and the version numbers are essentially equally well known when it comes to Ubuntu, so people feel the need to state both and aren’t clear on the mapping between them.

I suspect also the regular releases are hard on people: people know that there’s lots of Ubuntus and they have to identify their one, but there’s changes often enough that casual onlookers and users are more confused by the release names than they are aided by them. The release numbers map to the release date (4.10 was released in October—month 10—of 2004, 5.04 in April 2005 and so on) but most people, I believe, treat version numbers as Marketing Magic the like of which mortals do not ken and question no further. The six month release cycle means that the current system always has several easily confused releases too (you can confuse either the first number, mixing up 5.04 with 5.10, say, or the second one, mixing up 5.10 with 6.10).

I don’t have any particular suggestion about an alternative, and suspect that the developer community is wedded to their names even if the users are a bit puzzled. I suppose simpler would be better: Ubuntu 1, Ubuntu 2… but then the numbers get high quickly.