linux.conf.au 2007: Thursday 18th Jan

This morning was a quiet morning: the morning with neither a welcome nor a keynote. So when I arrived I went straight to Akkana Peck’s tutorial on GIMP Uncovered: Understanding Images and Image Editing. The first half of the tutorial was a discussion of things I more or less already knew: file type choice, cropping and rotation, but even in this I learned a few new things. First thing: never enter a photograph in a landscape competition if the horizon isn’t level. It isn’t cool and you will be picked on. Second thing: when doing arbitrary rotations, you can turn on grid lines to do things like match them with the horizon. Third thing: there is a mode where you can add to the current selection, rather than replace it. (There’s also a mode where you can intersect them, which Peck thinks is a programmer thing and a YAGNI — you aren’t gonna need it — but I can kind of see myself using it…)

Moving into the second half, the first trick was the quick mask: tiny button on the bottom left of the image editing window. This is the quick mask. If you click it, it will turn all unselected parts of the image a different colour, by default a dark pink, so that you can see what is selected very easily.

The second half of the tutorial was about layers, masks and channels and I actually need to watch the video when I can to make sure that I get it together finally. The GIMP is rather like shells and editors: you really need access to a friendly hint or two every so often.

Chris Blizzard’s tutorial on the OLPC Sugar UI was a bit disappointing for me: I expected it to be a programming tutorial, but it literally was an overview of the UI: here’s what it looks like, here’s why it looks like that, rather like a long talk. I do want to play around with graphical UIs after this conference and I had hoped for some code from this one.

I hadn’t been to a ‘stretch’ talk all conference and didn’t want to miss out, so I went to the CFQ IO Scheduler talk by Jens Axboe. And then I had trouble paying attention and had to check my understanding with Andrew afterwards, but I was right, so that was something. Anyway, the problem is that disk reads are, of course, horribly slow compared to almost anything else a computer does. They get even slower when program A reads a bit from one side of the disk, program B asks for data that requires a disk seek to the other side of the disk, and then program A wants to return to the first part of the disk. So the CFQ scheduler assumes that a process that has blocked a lot on I/O recently (where ‘recently’ is in the order of tens of milliseconds) will likely want to do some more I/O in roughly the same disk area and that it might be faster to wait a moment and see if that is the case before seeking to somewhere else on the disk for some other process. The various benchmarks were fairly impressive in terms of the throughput being both large and fairly fair to all programs.

I didn’t know that Sulamita Garcia was organising a LinuxChix stand at Open Day until Tuesday, which was a shame as I could possibly have organised some local content to go with hers. As it was I joined her for a couple of hours there, and also wandered around, scoring a stuffed SuSE gecko and Enterprise CD. I also spoke to some Australian Linuxchix about what to do with Linuxchix in Australia; hopefully that can go somewhere in the next few months.

linux.conf.au 2007: LinuxChix women’s mini-conference

The Chix miniconf was a six session mini-conference on the 16th of January. I originally proposed it as a way for women to find out what other women hack on, essentially. I sort of missed the point as it turns out; women geeks just want to see other women, more or less. At least at this kind of conference. A lot of women come reluctantly to LinuxChix thinking that they don’t actually like other women. Val Henson usually tells them that that’s because they haven’t met geeky women yet, and once they have, they will identify less fully as a geeky man in an inappropriate body.

Another thing I learned: always bring powerboards to events you organise.

We had a fifty person room and I was expecting about thirty people, but we had about fifty five for most sessions. We weren’t as crowded as some other miniconfs though, so we didn’t get a new room. The audience was about 10–20% male (can men come? questions were still coming in during the conference), except in Kristen’s talk, where it was probably more than 50% male.

Unfortunately, the smaller miniconfs didn’t have video recording. Some of the same speakers are appearing in the main conference, and those should be taped.

I gave an five minute introduction talk (PDF slides) describing LinuxChix and mentioning a few things of interest; for example the Blue Mountains trip on Sunday and the SydneyChix meeting on Monday.

The rest of the first talk slot was Sulamita Garcia on Is Free Software a Macho thing? Women and FOSS, which she has given at various places several times, although usually in Portuguese. It’s a good first talk for any event like this, to set the scene.

Akkana Peck gave the second talk, Bug Fixing for Non-Programmers (HTML slides), which was actually (sssh, don’t tell anyone) introductory programming, in a way. Not so much the this is an if statement style of introductory programming, more in the sense of finding bits of the code that have caused the bug you’re fixing, and changing them without fully understanding them, which is actually very programmerly… but also accessible. I didn’t know about lxr and the lxr sites (eg Mozilla Cross-reference), which is hyperlinked code browsing and searching.

Kristen Carlson Accardi gave the third talk, De-mystifying PCI. This actually worried the organisers a bit, because it was up against Show and Tell in the very popular Kernel miniconf and they were worried about a migration. However, the room did not overflow, and Kristen showed us her name in the MAINTAINERS file and talks about poking around for PCI information in userspace. I didn’t know that lspci takes a -v flag, let alone a -vvvv flag, and likewise -xxxx.

The fourth session was lightning talks:

  1. Valerie Henson on the Stupid Linux Rater;
  2. Lucy Lee on writing malware signatures for ClamAV;
  3. Donna Benjamin on linux.conf.au 2008 in Melbourne and FOSS-VELS;
  4. Alice Boxhall and Leslie Hawthorn on Open Source Software at Google, and by Google; and
  5. Pia Waugh on getting girls into IT and prejudice in IT.

The fifth session had two talks. The first was Jacinta Richardson on Social Networking for Fun and Profit, essentially, about how to meet people you don’t want to be friends with. Like the following talk, I was kind of sad that we squeezed this into twenty minutes, because discussion would have been interesting.

The second talk in the fifth session was Valerie Henson on Closing the Gender Pay Gap One Salary at a Time. She asked the audience to describe reasons they don’t negotiate, or don’t get, pay rises, and then discussed each one. Linda Babcock and Sara Laschever’s book Women Don’t Ask, and Val’s own guide to HOWTO negotiate your salary and benefits ― for women are a good guide to this.

In the sixth session we headed out to the grass to break into small groups to talk about women and negotiation and similar issues. I asked men beforehand to keep in mind that in mixed groups, even in mixed groups where both men and women think wow this is a woman friendly discussion, how equal and wonderful! that men utter about 90% of the words. And I asked them not to do this. As expected, this had mixed success (I wasn’t the Mary running Paul Way’s group though); I’m also told that Paul Fenwick was seen with his lips moving a lot… but even so, it was, I think, very successful. I wasn’t part of the groups, since I wanted to keep them flowing along. I wish I had felt able to.

Some thank yous:

  • linux.conf.au 2007 for our venue, website, equipment, schedule and transport and accommodation for many of our speakers;
  • Sara Falamaki, who did a substantial part of the organisation, including all the shirt printing, helped with talk selection and is organising the Blue Mountains trip on Sunday;
  • Stephanie Miller, who helped with organisation and talk selection and lots of enthusiasm, and who did the initial flyers that I adapted for the shirt design later;
  • Lindsay Holmwood, who did further work on the flyers;
  • the subscribers to the wlca list, who helped with initial planning in particular;
  • the speakers and lightning speakers;
  • the discussion leaders: Val, Jacinta, Sulamita, Lucy, Leslie, Suzy Hodge, Anne Cregan and Mary Cudmore; and
  • the attendees.

linux.conf.au 2007: Tuesday 16th Jan

FAQ of the conference so far: my desktop background, which you can see through my terminal, is this image. It is a lotus seed head: a dried lotus flower. I took the photo myself, with a point-n-shoot, although a high end one: my Canon IXUS 65.

Yesterday’s linux.conf.au was almost entirely LinuxChix miniconf focused for me, unsurprisingly, since I organised a chunk of it (Sara Falamaki in particular also did a lot of work) and chaired the whole thing. I was in Chris Blizzard’s keynote in the morning, but I’d hit the network and was processing images for my gallery of LinuxChix, which didn’t get as much air time as I’d hoped, and which will be public in some form at some time, once someone has a good idea about how. The bits I saw were a reasonable talk, but not one of those once-in-five-year keynotes that make everyone think hrm and then go out and change the way they see things for a day or two. (Daniel Marcu’s invited talk at ACL last year was a bit like that; or at least was for people who do statistical work with language and want it to appear in ACL in the second half of this decade.)

I spent a bunch of time projector-minding in the LinuxChix room, which was a dim tutorial room. Oh for the beautiful pavilions. There was a reason I decided to hold the last Chix session on the UNSW library lawn. In fact, the library lawn, which is partly shaded by huge plane trees, is such a perfect place to eat and think and admire the sun on people’s faces that I’m half sorry and half glad that the conference wireless doesn’t extend that far. Sorry because it’s awesome, glad because no one would see it if they could use their laptops.

The miniconf room wasn’t hooked into the conference network until halfway through the day, because the relevant people hadn’t known until the last minute that tutorial rooms were being used on the first two days. This was one of those sad little moments where you think Huh, the organisers did something imperfectly and it’s like a soft belling tolling in the pavilion or something. They’ve based this year’s conference organisation on linux.conf.au 2004 in Adelaide, which was also a very well-organised conference.

Yesterday had a dramatic break with lca tradition on the part of the attendees: the GNOME and Debian miniconfs had to be swapped into smaller rooms, and others moved around, because the Gaming and Kernel miniconfs were much bigger than expected. This is most interesting on the part of Gaming, because it sounds like they attracted a lot of people due to the quality of their programme, rather than relying on being about gaming in the way, I think, that the Debian conference has relied on being the Debian one (this may not have been a choice on the part of the Debian organisers, it just happens that they didn’t get enough talks in time to actually announce a full two day programme, and thus, I suppose, have had to rely on being Debian). Andrew told me the room switch didn’t actually help all that much with Gaming, because demand grew with supply. Rusty Russell apparently spoke right after the first break, which can’t have helped.

Last night was the conference party, which was Google funded. It was based on the digital arts mini-parties of the past, but I don’t think it worked out quite the way that the organisers intended. The Roundhouse was very hot and stuffy inside, and people, given the choice (which they often aren’t at a pub) chose as a herd to go outside and talk rather than listen to the bands. I ran into Anthony Baxter, who was the chosen one who went to the speakers’ dinner to tell them how to speak. If the rest of the conference consists of people using peppy short slides and hitting piñatas, you know who helped them revise their talk. And unfortunately, there were reports of creepiness. I can’t believe I have to say this. Actually, forget that, yes I can: sexism and harassment can be funny. That doesn’t mean they aren’t sexism and harrassment.

Get it together, people! C’mon. Jeez.

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.

Logging into the OSDC wireless network

I have a wireless login script for attendees of OSDC who use Ubuntu, Debian, or anything else that can run scripts on connecting to a network and has essentially the same iwconfig output:

 eth1      IEEE 802.11g  ESSID:"Monash-Conference-Net" Mode:Managed  Frequency:2.437 GHz  Access Point: 00:13:7F:9D:36:C0 

To save some tiny amount of time when connecting to the wireless, stick my osdc-login script in your /etc/network/if-up.d directory or equivalent and give it similar permissions to what’s already in there. You can get the latest version of the script at https://gitlab.com/puzzlement/osdc-2006-monash-wireless-login/raw/master/osdc-login, or through Bazaar git, with the repository at https://gitlab.com/puzzlement/osdc-2006-monash-wireless-login/tree/master. It’s very small, but feel free to send me improvements (although if using Bazaar git, please don’t check in a version containing the real username and password).

You need to replace INSERTCONFERENCELOGINHERE with the appropriate username and INSERTCONFERENCEPWHERE with the password. By running the script you will be agreeing to Monash’s terms of service, which are here.