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.