I’m back in London after a mammoth two weeks travelling the globe bringing [Launchpad](https://launchpad.net) joy to its four corners.
First up I went to Mooloolaba, Australia. If you’re Australian, you probably know how to pronounce it. If you aren’t, you’ll probably never get it. Sorry.
I was there with the Canonical Bazaar team and some other Launchpadders, talking about their next few months of development. They are going to be focusing on helping Launchpad and the Ubuntu platform team work on our daily build initiative. Hmm. I really need a place to link to for that last one, don’t I?
Mooloolaba is a beautiful place to be in November. If you are thinking of giving me something for Christmas, consider a holiday apartment there.
After Mooloolaba, I crossed the Pacific to reach Dallas, home of the twenty-eight lane highway. I didn’t really get into the city that much, but man, [UDS](https://wiki.ubuntu.com/UDS-L?action=show&redirect=UDS) was great.
Most of the people there are directly involved in Ubuntu development. It’s such a joy to see so many people from all over the world come together to work on Ubuntu, and an honour to think that I have a place in that work.
I spent most of the conference flitting from room to room, going to sessions about the Ubuntu development process, [daily builds](https://wiki.ubuntu.com/DailyBuilds) and the [Software Centre](https://wiki.ubuntu.com/SoftwareCenter). Occasionally, I cheated a bit and went to a random session that interested me. Mostly it was about [Quickly](https://launchpad.net/quickly).
As a Launchpad developer, one of the most exciting things about this UDS was seeing that Ubuntu developers have started building [their own tools around Launchpad using our API](https://help.launchpad.net/API/Uses). Many of these tools are things we’d love to integrate with the main web app, but many are things that are *so* Ubuntu policy specific that we’re happy to leave them outside. After all, this is exactly
what the API is about.
I did a short plenary session where I hacked up [an API script](https://code.edge.launchpad.net/~jml/+junk/bugstats) using [launchpadlib](https://help.launchpad.net/API/launchpadlib) and demonstrated it live. After the presentation, many people came up to me and started talking about their API-using programs and their experience making them. The amount of interest really surprised me.
I also ran a couple of workshop / discussions. The first was on improving Launchpad for API use, which was a bit disorganized, since I didn’t realize I was supposed to be running it. The second was on getting started with Launchpad hacking.
For the “Getting started with Launchpad hacking” session, I passed around a USB stick, and asked the audience for an API within Launchpad to expose. [mdz](http://mdzlog.alcor.net/) suggested “blueprints”, so I went to expose the ‘drafter’ element of a specification. In front of a room full of people. Sheesh.
If you think pair programming is hard (it is, and if you think it isn’t you are either doing it wrong or you have extremely helpful colleagues), programming in front of a room full of people is harder.
Still, we managed to actually expose the API and [propose the branch for merging](https://code.edge.launchpad.net/~jml/launchpad/expose-blueprints/+merge/15060) with only a little bit of evil.
The point of the session was to get people set up with Launchpad development environments, to show them how to even begin to expose a method over the API but even more than that, to give people a little push into just giving Launchpad development a try. By blundering my way into a valid patch, I think maybe we succeeded.
Now UDS is over and I’m back in London, jetlagged and exhausted to be sure, but genuinely happy about the plans we have for Launchpad development, and eager to begin to make them happen.