![[LCA]](/images/conf/lca2005/lca.png)
linux.conf.au might appear, at first glance, to be an event condemned to amateurish
disorganization. This conference moves to a different city every year, where
it is organized by a fresh crowd of volunteers with little or no previous
experience in putting together this sort of event. Under the guidance of
Linux Australia, a working formula
appears to have been found. By bringing in previous years' organizers to
give advice and oversight to the current event's team, linux.conf.au
manages to benefit from its past experience while simultaneously giving
each set of organizers an opportunity to experiment and bring in new
ideas. The result is, arguably, the best set of Linux conferences offered
anywhere on the planet.
linux.conf.au 2005 was no exception. A few weblog entries hint at a bit of
behind-the-scenes turbulence, but, to an attendee (or a speaker), this
conference was flawlessly organized. The facility worked well, the talks
were (mostly) great, the wireless network was ubiquitous and highly
reliable, and, yes, the coffee was good. The technical content was solid,
but the event was also filled with a uniquely Australian sense of humor and
fun. This year's organizers, led by Steven Hanley (picture at right) did
an outstanding job.
Some of the talks have been covered in other LWN articles. Here are some
quick notes on a few other talks that your editor was able to attend.
The GNOME miniconf covered many themes, but seemed to be dominated
by two in particular: marketing the project and future development
directions. The GNOME developers look, with a certain degree of envy, at
the amount of publicity that Firefox has received, and wonder how they can
get some of it for themselves. Part of the problem, as they see it, is
that GNOME is not a nice, simple download like Firefox; it's more like a
big, sprawling mess. The GNOME live CD project could help in this regard;
it got some attention at
LinuxWorld, but it needs some work and nobody has taken it on.
The other issue on the GNOME developers' minds is the GNOME 3.0 project. A
3.0 release gives the project the opportunity to break API compatibility,
something it has carefully avoided doing across 2.x. The only problem is
that the project does not really seem to have any idea of what it wants to
accomplish in 3.0. The developers had a clear vision of usability which
(whether you like their approach or not) carried them through a successful
set of 2.x releases. An upgraded vision for 3.0 does not yet exist.
Perhaps the most interesting idea came from Jeff Waugh. There is much
potential for network-enabled collaborative technologies - especially if
you resist the temptation to call them "groupware." Some cool ideas are
likely to see implementations in the next few months. The massive nature of
OpenOffice.org makes it a difficult platform for this sort of
experimentation, however, so much of the interesting work is happening with
tools like AbiWord and gnumeric. We may soon see a time when
OpenOffice.org, while remaining good at what it does, has been surpassed by
its competitors, which make better platforms for playing with new ideas.
Andrew Tridgell's keynote covered more than the simple cloning of
BitKeeper; the bulk of it related, instead, to the increasing use of
advanced software development techniques in the free software community.
The community is now at the forefront in many areas.
One example is the increased use of static analysis tools. For years,
lint was the state of the art; now the gcc suite itself
incorporates a wide variety of static checks beyond the standard warnings.
Tools like "sparse" have helped the kernel developers to find many problems
before users are bitten by them. The most notable thing, though, is that
the development projects are actually using these tools. Runtime
analysis has also come a long way; Tridge singled out valgrind as being one of the most important
advances in a long time.
Automatic code generation is coming into its own; something like half of
the Samba 4 code is created in this way. The trouble here is that it
is difficult to create general-purpose code generation tools which produce
what various projects really need. Samba ended up creating its own IDL
compiler to generate much of its protocol code, and other projects may well
end up doing the same. The effort paid off quickly: the resulting code is
more robust, more correct, easier to instrument and debug, and easier to
change.
Some time went into the "asynchronous server" problem: how does one write a
server which deals with asynchronous requests from the outside world? None
of the alternatives appeal: threads are evil, processes are ugly, and state
machines "send you mad." For Samba 4, all of these techniques have
been combined in a user-configurable way. Embedded users can collapse
the whole system into a single process, while a multi-process, multi-thread
configuration can be used on monster servers. The Samba hackers have
managed to reduce the single user connection overhead to less than 20KB, a
massive improvement from previous versions. State machines have been tamed
with "composite functions," which take much of the hard-to-debug
indirection out of the code.
Memory management is another area which has seen improvements; Tridge was
especially pleased with the version of talloc() used in
Samba 4. This memory allocation library allows dynamic memory
allocations to be organized in a hierarchy; an entire subtree of the
hierarchy can be freed (calling optional destructors) with one call. This
scheme gives most of the advantages of a fully garbage-collected language
without the associated overhead.
Finally, Tridge noted that projects are actually starting to use test
coverage tools. The combination of static analysis, runtime analysis, and
test coverage can be very effective in completely eliminating certain
classes of errors (such as leaking data by writing uninitialized data to
the net).
Keith Packard and Carl Worth talked about work in desktop graphics.
Keith's discussion of the reworking of the X Window system has been
covered on LWN before. Carl gave a good overview of the Cairo vector graphics
library. Cairo, he notes, is being used in upcoming or test versions of
dia, evince, gtk+, mozilla, scribus, and more. Most of these projects are
still not using Cairo by default; it's too slow, still, for comfortable
use. Cairo is headed toward a 1.0 release with a final API shakeup and the
beginnings of the necessary performance work.
What audiences will likely remember from these talks, however, are the
demonstrations. This year's eye candy is the rubbery window which distorts
realistically when dragged across the screen. These windows can also be
spun around and literally thrown three virtual desktops away. Anybody who
has seen one of Keith's talks can imagine how much fun he was having
flinging windows around. The funnest Cairo demonstration may well be roadster, a free map
generation utility.
Elizabeth Garbee discussed her experiences in avoiding homework by
designing tuxracer courses; she then proceeded to create a brutal new
course in front of the audience. Not everybody can get away with creating
a talk around playing games in front of a crowd.
Her talk complemented an issue
raised by Rusty Russell: he has apparently lost much time recently playing
The Battle For Wesnoth, and was well impressed by the accompanying artwork
and music. To continue to progress, our community will have to do better
at attracting other sorts of contributors: artists, musicians, and so on.
That means we will need to think about how we can create good tools for
these contributors, and help them gently when they run into trouble.
Other stuff. Two other themes resonated through the conference.
One is that everybody is concerned about the BitKeeper episode, and amused
to learn how little was involved in the infamous "reverse engineering" of
its network protocol. The other is that a large number of attendees were running
Ubuntu. Even when the Canonical employees are factored out (the company
seems to have moved its offices to Canberra for the conference), Ubuntu has
clearly claimed a significant part of the distribution "market" among Linux
developers.
Your editor gave two talks at the conference; the slides are available
online for both: A Linux
Kernel Roadmap and Kobjects, ksets, and
ktypes. The kernel talk was covered in ComputerWorld,
and, subsequently, The
Inquirer. It is interesting to compare what was reported against the
original slides.
linux.conf.au 2006 will be held in Dunedin, New Zealand, starting
January 23, 2006. Your editor hopes to be there.
(
Log in to post comments)