Rob Collins joined the Launchpad team recently. Here’s a bit about him.
Matthew: What do you do on the Launchpad team?
Rob: I’m the Architect for Launchpad – I’m responsible for guiding the development and technology choices we make so that Launchpad can meet the needs of our stakeholders, users, developers and system administrators.
Practically speaking this means that I do a bit of everything: if I don’t, I can’t really feel what’s going on across the system, and being well informed is key to making good decisions / giving good advice.
Matthew: Can we see something that you’ve worked on in Launchpad?
Rob: A few recent examples of my personal code are: email list moderation pages are now batched, so should time out much less often if a list gets a lot of mail to moderate; I’ve been poking at bugs and bug API performance quite a bit, and the /attachments API is significantly faster now; the /messages API is going to be faster soon — and the main bugs page has had several seconds of overhead shaved off it for many bugs. I’ve set up a page with some of the things I think will help us with building and running Launchpad as we move forward.
Matthew: Where do you work?
Rob: I work from home like so many of us do; I recently moved to Rangiora, NZ. Yes, we were 40km or so from the epicentre.
Matthew: What can you see from your office window?
Rob: Grass, fence, roofs and sky; shorly to be grass, hedge and sky 😉
Matthew: What did you do before joining the Launchpad team?
Rob: Most recently I was one of the developers of Bazaar at Canonical, working mainly on the deep guts of the system.
Matthew: You’ve dedicated your Tuesdays to performance issues in Launchpad. Tell us about some of the improvements you’ve made.
Rob: So the ones I’ve listed above are pretty nice.
Here’s a list of specific timeout bug fixes I’ve done. More importantly though, we’ve been working on better diagnostics gathering for timeouts, and that work is making things easier and easier to analyse.
Matthew: What else are you working on right now?
Rob: Release features when they are done — this change to how we develop and rollout launchpad is a key change to speeding up the delivery of features. It’s not the full story, because we don’t (yet) have a plan for dealing with schema changes without downtime — that’s in the slightly longer term pipeline.
Matthew: What’s the next big thing you want to tackle in Launchpad?
Rob: Downtime-free schema changes; this should permit us to deliver new functionality much more rapidly.
Matthew: What experiences from your time in the Bazaar team will help with your new-ish role?
Rob: Ah! I spot a leading question. One of the interesting differences between Bazaar and Launchpad is that nearly every operation in Bazaar exercises an entire stack from scratch: there’s no active DB server with loaded caches ready and primed to go. That really got me thinking, continually, about the overheads involved in the entire stack : I think we need that same thought and consideration in Launchpad as we work on performance and deployment.
Matthew: How can community contributors help with what you’re working on?
Rob: Many, many ways!
Firstly, there’s the current timeout bugs. All of these can be fixed by patches … the exact patch and how hard it is to write will of course vary 🙂
Many timeouts are actually pretty shallow issues — but others will require schema changes and so forth. I’m delighted to help mentor folk working on any part of Launchpad.
The process and deployment changes we’re doing are mainly a sysadmin/deployment issue and not as amenable to contribution (by anyone not one of our sysadmins).
Matthew: How did you get into free software?
Rob: Thats a long story 🙂 Gradual love affair starting with demo code back on an Amiga A500.
Matthew: What’s more important? Principle or pragmatism?
Rob: Case by case basis 😉
Matthew: What free software projects do you contribute to?
Rob: Currently I’m still swimming for the surface in Launchpad 😉
Recently I’ve contributed to:
- Launchpad
- Bazaar
- A variety of python testing projects:
- testtools,testresources,testscenarios,fixtures,testrepository,
unittest in Python itself
- Storm
- Ubuntu and Debian
The list going way back is longer … but also mainly of historical interest.
Matthew: Tell us something really cool about Launchpad that not enough people know about.
Rob: Recipes. Recipes are cool.