This year Canonical were kind enough to send me to Linux Conf Australia. The last time I attended that conference was nine years ago (2006, in my home-town of Dunedin). What follows is a short trip report - I won't mention everything I saw, but rather highlight the most interesting parts of the conference.
My time on Monday was mostly taken up with the Debian mini-conference. As someone who works on Ubuntu full-time, attending a Debian mini-conf gives me an interesting perspective. There were two sessions that stood out for me:
Supporting Debian machines for friends and family : Francois Marier
I don't think I've ever seen Francois give a bad talk. This year he spoke about various strategies to support family members running Debian who live on the other side of the world. While not being debian-specific, it gave me a few good ideas for the systems I maintain at home.
Panel: Getting packages into Debian
This panel-style talk consisted of three Debian Maintainers & Developers (DMs and DDs), answering questions about how to get packages into Debian. It was interesting to see that there's very little understanding amongst the established Debian developers about what the challenges for newcomers are. I'm a reasonably competant technical user, and yet I find the whole Debian development experience to be immensely frustrating. I didn't want to be "that guy from canonical saying bad things about Debian", so I kept my opinions to myself during the panel, but spoke with several Debian Developers about them throughout the rest of the week. My chief struggles with the Debian project include:
- A bug tracker that requires you to use email to submit bugs. Yes, it's somewhat usable, but it's extremely user un-friendly, especially when you're working from an Ubuntu system where several of the bug-reporting tools aren't configured out of the box. For what it's worth, I think that almost all bug-tracking systems are terrible, but Debian's is one of the worst.
- Terrible documentation around packaging source code for Debian. The standard reply to this is "there's loads of documentation", to which I'd reply with "yes, but it's inconsistent, hard to find, and even harder to understand". There are... how many build systems for python source code now? 3? 4? which one do I use, and when?
It seems to me that most Debian developers would be perfectly happy if Debian remained a niche distro that others built on top of. There's nothing wrong with that at all, but it does mean that they will likely only get contributions from people who have the patience to climb up the rather steep on-ramp.
Rest of the day
The rest of the day I spent flitting between tracks and speaking to people in hallways. As in most conferences, the "hallway track" is often one of the most valuable parts of the whole experience.
Keynote: Eben Moglen
Eben's keynote was the highlight of the conference for me. His oratorical skills are superb, and he gave a challenging talk outlining where we are today, how we got here, and what the new challenges are in the future. If you watch only one talk from LCA, make sure it's this one.
The rest of my day I spent in the testing mini-conf. There were many excellent talks, but the few that stood out for me were:
Subunit2SQL: Tracking Individual Test Results in OpenStack's CI System : Matthew Treinish
Matthew Treinish is using the excellent subunit v2 protocol, but storing test results in a database, which is very similar to what we're planning on doing with the Canonical CI system. The main idea is that there's useful information that can be extracted from a database of test results (avergae test run time & test failure rate for example). It's always gratifying to see others take the same approach. (There's no video link at the time of writing, but the talk link is here).
Juju Deployments at Canonical : Brad Marshall
Our own Brad Marshall talks about how we use juju to do all (or almost all) of our deployments at Canonical. Juju is awesome, and has saved me a whole lot of work already.
Wednesday marks the start of the "real" conference (as opposed to mini-confs). There were so many excellent talks to see, often at competing times. I have a long list of talk videos that I need to go back and watch. Listed below are the highlights from the first day of the main conference:
The Imperfect Penguin by Marco Ostini
A review of the high-profile security vulnerabilities in the last year. An excellent talk, although thoroghly depressing.
What Should a Systems Administration Student's Homework Look Like? by Tom Clark
My friend and fellow Dunedinite reveals the awesome things he's putting his students through. I only wish someone was taking this approach while teaching programming.
Checking Your Privilege: A How-To for Hard Things by Leslie Hawthorn
An excellent talk that should be compulsory viewing for everyone who works with other people (so, everyone, in all industries, ever). This talk, as well as several conversations over the course of the conference convinced me to ask the question I did in the Friday keynote (see below).
The future of Python packaging by Richard Jones
A look at the past, and future of python packages. There are very real issues that still need to be addressed here, and I hope to be able to help out in the future.
Crypto Won't Save You Either by Peter Gutmann
Another depressing security-related talk, this time pointing out that in the vast majority of cases, systems are broken not by breaking crypto, but by breaking all the layers around it. I needed a stiff drink after this talk.
Programming Considered Harmful by Dave Chinner
An interesting philisophical talk about the nature of 'Programming', 'software engineering', and the art of creating complicated systems. The take-away message for me was that building software is a group activity - no one person can learn and internalise any system of sufficient complexity, so we need to do a better job of communicating better, both with the code that we write (making sure our code expresses our intent), and with the communications around the code (patch notes, documentation etc).
Hacking 3D Printers by Vik Olliver
Vik Olliver shows us some of the more interesting possibilities around 3D printing. I really wanted to win the 3D printer being raffled at the conference, but sadly it wasn't to be.
Why can't we be friends? Integrating Security into an Existing Agile SDLC by Laura Bell
A security talk that didn't leave me wanting to drown my sorrows at the nearest bar! Laura spoke about the things everyone can do to improve the security of the software that we write. I look forward to putting her advice into practise in the following year.
The Friday plenary was a Q&A session. Answering questions were Bdale Garbee, Linus Torvalds, Andrew Tridgell, and Rusty Russell.
In the last year I've become increasingly concerned with the state of the Linux and open source community. I see an increase in unpleasantness in our online spaces, a decrease in diversity, and a mixed response from our community leaders to lift a finger to help solve the problem. Some people have started making positive steps: Guido van Rossum for example, decided to only take questions from women at the last PyCon US. I strongly believe that we need more positive discrimination of this sort, but I'd settle for an acknowledgement that there's even a problem.
As the Q&A session started, I'd convinced myself to ask the awkward question that I didn't think anyone else would ask. However, Matthew Garret beat me to the microphone, and asked:
Over the years, various people including myself have either reduced their involvement in the kernel community or stepped away from it entirely due to the tone on LKML and especially your contribution to that. Why do you continue to argue that being really unpleasant to people is a good leadership strategy?
What an excellent question! Watch Matthew's question, and Linus's response here. Linus's reponse was essentially that he doesn't see a problem - he's an "unpleasant person, and he doesn't care about you". I then asked my question, which sadly is much too long to transcribe - the main point though was the last sentence:
The four of you have a huge amount of influence in our online communities - do you have any plans to spend some of that influence to improve them?
The response I got, sadly was "we don't think there's a problem". That's understandable - the gentlemen answering questions are all well-established, venerated hackers. None of them have to deal with the periphery of the community, and obviously aren't aware of some of the issues the rest of us see on a regular basis. My sincere hope is that, from now on, every time there's a Q&A session at a technical conference, someone asks "what are you doing to improve our community?". Perhaps if enough people ask the question, we'll slowly be able to change things for the better.
LCA is exhausting. I got home early on Saturday, and slept for most of the day, and again on Sunday. It's a wild conference filled with people from all walks of life, and was hugely rewarding. I'd like to thank everyone who helped make the conference what it was: the organisers, volunteers, speakers, mini-conf organisers and delegates - you've made one of the best conferences I've had the pleasure of attending in recent years.