0

Meet Brad Crittenden

Published by Matthew Revell February 24, 2009 in Meet the devs

Today it’s Brad Crittenden‘s turn in Meet the devs.

Matthew: What do you do on the Launchpad team?

Brad: I work on the Registry team. We handle everything to do with people and teams, projects, series, milestones, and user communications, such as mailing lists.

Matthew: Can we see something in Launchpad that you’ve worked on?

Brad: I do a lot of behind-the-scenes work. The most prominent new feature I did, with my colleagues Edwin Grubbs and Elliot Murphy, was implement the Atom feeds. Trivially, I also set up the launchpadbugs account on Twitter which a lot of folks have found very handy.

Matthew: Where do you work?

Brad: I work from my home near Chapel Hill, North Carolina.

Matthew: What can you see from your office window?

Brad: I have a nice office on the second floor of my house and have my desk in front of a large window looking out onto the woods. I rigged up a pulley system so I have a large bird feeder in a tree about 25 feet off the ground where I get a lot of gold finches and other small birds. Lately a pileated woodpecker has been visiting almost daily. A while back I was surprised to see this guy lurking near the feeder.

Matthew: What did you do before working at Canonical?

Brad: I worked for a company that made a cryptography acceleration chip for doing crazy fast random number generation and making SSL and IPSec negotiations and bulk encryption speedy. I spent a lot of my time deep in the OpenSSL code, which is a dark, twisty place.

Matthew: How did you get into free software?

Brad: All of my previous work has depended on Linux, open source libraries, and the GNU toolchain so I knew a lot about it and was able to move into the world quite easily when I started with Canonical.

Matthew: What’s more important? Principle or pragmatism?

Brad: It’s not an either/or question for me. You’ve got to get the job done (pragmatism) but within a reasonable framework that will best serve yourself and your users in the long run (principle). In some situations the stakes are so high you can’t afford to compromise on the principles even slightly.

Matthew: Do you/have you contribute(d) to any free software projects?

Brad: I’ve contributed through the years to various projects I use by sending in code patches, filing bugs, and doing some documentation work. I have not yet gotten directly involved in any major projects but hope to do so soon.

Matthew: Tell us something really cool about Launchpad that not enough people know about.

Brad: Launchpad was built to support the development of Ubuntu and the open source ecosystem — everyone knows that. What a lot of people don’t know is that commercial or closed source projects can also use Launchpad. Since they aren’t directly giving back to the open source world we do ask they contribute to our operating costs by purchasing an annual commercial-use subscription. People can email me if they have questions or need help getting started.

Matthew: Which lens would you save from a house fire?

Brad: Of all of my lenses my favorite is actually the least expensive — a Nikkor 50mm/f1.4 — it’s incredibly sharp and produces an amazing bokeh. But in the event of a fire I’d ignore the equipment, it’s all insured and replaceable, and grab my 2Tb RAID drive that has my photos. (This reminds me I need to flesh out my off-site backup solution…)

Matthew: Okay, Kiko‘s special question! You’re at your computer, you reach for your wallet: what are you most likely to be doing?

Paying to run our test suite on ec2, of course!

Matthew: Ah, of course 🙂 Thanks Brad!


0

Meet Michael Hudson

Published by Matthew Revell February 23, 2009 in Meet the devs

Michael HudsonMichael Hudson is the latest member of the Launchpad team to face a friendly grilling.

Matthew: What do you do on the Launchpad team?

Michael: I work on the Launchpad Code team, which means I work on the side of Launchpad to do with hosting, finding, viewing, importing and reviewing source code. What I do personally seems to mostly involve backend stuff — I did a lot of work on the infrastructure around the code import system that allows importing CVS and Subversion branches to Bazaar, and if you’ve used stacked branches on Launchpad, you’ll have used some of my code.

I also help maintain Loggerhead, the web viewer for Bazaar branches, which we run on Launchpad but also try to keep easy to install and use for every user of Bazaar.

Matthew: Can we see something in Launchpad that you’ve worked on?

Michael: Actually seeing something I’ve done is a little hard, for reasons I’ve explained above 🙂 Loggerhead is a counter-example, and if you’ve used codehosting in any way you will have “seen” my code 🙂

Matthew: Where do you work?

Michael: Palmerston North, New Zealand.

Matthew: What can you see from your office window?

Michael: The back of the garage. It’s not a very exciting view. I can see the Tararua mountains from the end of my drive on a clear day though.

Matthew: What did you do before working at Canonical?

Michael: I worked for the Heinrich Heine Universität Düsseldorf as part of the EU project on PyPy, the Python implementation of Python.

Matthew: How did you get into free software?

Michael: A fairly standard way, I think… I was always interested in computersand programming as a kid, and then when I got to uni and found the internet and all this activity, I also found that bugs were pretty easy both to find and (sometimes) to fix 🙂 After getting over the nervousness of sending my first patch off and having it gratefully received, it just grew from there.

Matthew: What’s more important? Principle or pragmatism?

Michael: Well… probably pragmatism, but… way back in 1999 Eric Raymond said “I want to live in a world where software doesn’t suck”, and for all that I don’t agree with much else ESR says, I think this is a good rallying cry. But I also think the free software approach has the best chance of producing software that doesn’t suck, so I don’t know that the question is really fair 🙂

Matthew: Do you/have you contribute(d) to any free software projects?

Michael: I was pretty heavily involved in CPython development from around 2000 to 2004, where I did a bit of everything, reviewing and applying patches,
fixing bugs, keeping an eye on the state of trunk, being a release manager, editing bits of the website etc.

These days, aside from maintaining Loggerhead on work time, I contribute the occasional fix to Bazaar and try to do contribute a bit to Twisted — usually code reviews of late.

Matthew: Tell us something really cool about Launchpad that not enough people know about.

Michael: I think the display of unmerged revisions on the branch merge proposal page is pretty cool — it gives you a feel for what’s been going on in the branch that you’re about to review.

Matthew: What’s been most unexpected about your move from the UK to New Zealand?

Michael: Superlatives like “most” always scare me, so here’s two answers:

1) I was surprised by how much of New Zealand has been affected by human occupation, mostly farming and forestry, but also

2) I knew New Zealand had many famously beautiful sights, but I’ve been surprised by how much beauty there is to be found down random side roads. Kaitoke Park, Mount Damper falls, the Mount Messenger pass, Whanganui Bay — these aren’t famous places, but they’re almost as amazing as the places that are.

Matthew: Okay, Kiko’s special question! You’re at your computer, you reach for your wallet: what are you most likely to be doing?

Michael: Trying to find the card I need to get past my bank’s challenge-response log in system.

Matthew: Thanks Michael!


0

Translation import notifications for Ubuntu

Published by Данило Шеган in Coming changes, Notifications, Translations

A few days ago a fix for bug #286359 landed: provide translation import notifications to Ubuntu packagers. This means that all packagers will start getting emails about translation files (basically, *.pot and *.po files) from their packages as soon as they are imported (or the import fails).

This should help packagers detect and fix l10n-related problems more easily, since they’ll have most of the debugging information they need right inside their inboxes. If you want to filter these emails, look for a sender of rosetta@launchpad.net.

The grey area of where to send notifications for automatically synced package uploads from Debian remains. I am planning on solving that with a public mailing list where anyone interested can go in and check for problems, and also fix them if they want to. Alternative is to rely on the recent improvement by Jeroen which keeps any failure messages inside the import queue itself, and simply drop all of these messages altogether.


7

Why Launchpad for Mailman?

Published by barry February 20, 2009 in General

Over the last 18 months, I’ve moved GNU Mailman development from SourceForge to Launchpad.  The reasons are varied.

Mailman was one of the first projects hosted on SourceForge ages ago.  I think our project id is a pride-inducing low 103, and we were even highlighted as its Project of the Month at one point.  Of course SF itself uses Mailman to serve its own mailing lists.  While the SF guys have always been great (including providing assistance during the migration to LP), I just became increasingly roadblocked by it.

The first major motivation for moving was Bazaar. This is of course the GPL’d distributed version control system developed by Canonical and used for code hosting on Launchpad.  Having come from decades of SCCS/RCS/CVS/SVN use, distributed version control systems in general and Bazaar in particular have been an enlightenment on the order of learning Python.  I mean, who’d have thunk a version control system could be fun?

After we moved code hosting to Bazaar on LP, evaluating the other benefits of Launchpad became easier.  Truth be told, there was (and still is) some resistance in the community to moving to LP because Mailman is a GNU project but LP is not open source.  That’s being fixed. The next service to migrate was the tracker, and thanks to the excellent assistance of my colleague Graham Binns, we were able to migrate the SF issues to LP.  For years, even before I joined Canonical, I let the Mailman tracker languish because I found it so difficult to use.  The simplicity and power of Launchpad’s tracker really shines for me here, especially with its ability to link across projects and artifacts (e.g. branches linked to bugs).

The next major service to consider is translations.  While being one of the first Python applicatons to be internationalized and translated, we really have a pretty crufty process for updating translations.  Some language champions have commit privileges, but others have to email or upload po-file diffs, or even entire po-files.  This really sucks for a number of reasons, probably most of which is that the code developers are too tightly coupled with the translators.  Our releases are held up for quite a while as we gather updates to more than two dozen languages.

Currently Mailman has an experimental Pootle service.  Despite the gallant efforts of its maintainer, I don’t think it’s working out too well, mostly because it’s not well known and not well integrated with the rest of Mailman’s processes.  Again, here’s where Launchpad integration would really shine for us, but until Launchpad is open sourced we won’t be moving translations here.


0

Meet Martin Albisetti

Published by Matthew Revell in Meet the devs

Martin AlbisettiNext in the chair for our Meet the devs series is Martin Albisetti, also know as beuno.

Matthew: What do you do on the Launchpad team?

Martin: I’m in charge of the user interface, making sure that new (and existing!) features and pages are easy to use and slick. I have been on board for about six months, so I haven’t managed to fully sink my teeth into everything yet, but we’re getting there, and the next few months will be an amazing succession of roll outs of AJAX enhancements everywhere, which should improve the overall experience dramatically.

Matthew: Can we see something in Launchpad that you’ve worked on?

Martin: Well, if you use Launchpad for a few minutes, you will inevitably encouter pages that have gone through me before landing. I don’t get to actually do much coding, although I have recently done a few improvements to the Launchpad home page, and gave shape to the in-line text editing that’s already in the wild (although it was a team work effort with Mark).

Matthew: Where do you work?

Martin: From my office in sunny Buenos Aires.

Matthew: What can you see from your office window?

Martin: A nice garden with very green grass, flowers and palm trees.

Matthew: What did you do before working at Canonical?

Martin: I have a web development company (Pentacorp), so I’ve been doing almost everything related to web development (php, mysql, design, server admin) for the past 6 or 7 years. The web fascinates me 🙂

Matthew: How did you get into free software?

Martin: Free software just had better tools for web development, and was a much nicer and saner enviroment to work in, so I started moving over until one day I woke up with no proprietary software on my laptop.

Matthew: What’s more important? Principle or pragmatism?

Martin: Oh, you and your hard questions… I’m inclined towards pragmatism, I like to get things done more than I like being right!

Matthew: Do you/have you contribute(d) to any free software projects?

Martin: I have, it’s almost impossible not to once you start using it. I’ve done some work on Bazaar, I’ve been co-maintaining Loggerhead for 8 or 9 months, done some bzr-gtk, and have spread around patches on dozen of projects out there. You have to love the “scratch your own itches” properties of free software.

Matthew: Tell us something really cool about Launchpad that not enough people know about.

Martin: Launchpad developers really care deeply about users and user experience, I was amazed as to how much when I joined Canonical.

Also, merge proposals for code branches. They’re like the best thing ever.

Matthew: Is Argentine steak really the best in the world?

Martin: Yes, and probably in the known universe.

Matthew: Okay, Kiko‘s special question! You’re at your computer, you reach for your wallet: what are you most likely to be doing?

Martin: Moving it to my front pocket, my leg gets numb if I sit down for too long with my wallet in my back pocket.

Matthew: Thanks very much Martin!


4

AJAX in Launchpad

Published by Martin Albisetti in Coming changes, Cool new stuff

After a few months of working on all the infrastructure changes needed to start deploying AJAX on Launchpad, we are now ready to start developing the mockups we’ve been working on for the past months in the User Experience team.
To make sure we coordinated the work of 35 distributed developers, and really get the ball rolling 10 of us gathered for a sprint in Berlin and went into full ninja-hacking mode for a week, while defining standards and best practices as we went along.
The outcome of the sprint has been amazing (it’s actually still going on!), and we’re very well prepared to roll out all kind of AJAX goodies like “in-line status editing”, “multi-line editing” and “person pickers” in the next few months. It’s going to be awesome  😉
We have decided on YUI3 as our javascript library, and while it is still not a final version, we are very happy with our decision and it has allowed us to do some really cutting edge work, while maintaining clean and re-usable code.

I’m also very excited about in-line text editing having landed last week in Launchpad’s edge version (used by beta testers), enabling in-line editing of bug titles and project names, which landed thanks to the amazing work of Māris Fogels and Francis Lacoste. For all you non-beta testers, you will see it rolled out late next week.

Since it got rolled out, every time I edit a bug title I get the greatest feeling when presented with this:

A lot more coming soon, so stay tuned!


0

Broken link in translation import failure emails

Published by Данило Шеган February 17, 2009 in General, Translations

Due to some caching problems between our machines, some large translations have failed to import, generating strange errors such as:

You’d see the error message in import failure emails. Retrying (sometimes a few times) would push the file through.

This morning we’ve disabled caching between the importing and file storing servers, and it seems to have fixed all the problems. However, the fix we used means that everyone will now get a broken URL in translation import failure emails. If the email mentions a URL like

http://mizuho.canonical.com:8000/SOME-NUMBER/filename

replace mizuho.canonical.com with launchpadlibrarian.net and the link should work.

If you still see one of the above errors on your imports, and you are sure it’s not a msgfmt syntax error (or bug #88831), please add a comment to the bug.


4

Performance week in Translations land

Published by Данило Шеган February 13, 2009 in Launchpad Performance Week, Translations

The week of February 2nd – 6th has been the inaugural Launchpad Performance Week: a week where we concentrate on the most pressing performance issues and do anything we can to improve them. During that week, we also establish a hard goal that we enforce by lowering the timeout limit by 5 seconds.

The Launchpad Translations team has been concentrating on improving performance of two most problematic pages we are in charge of: POFile +translate pages (where translators do most of their work) and Person +translations pages, which display history for a person’s translation contributions inside Launchpad.

Jeroen has done a very good job improving Person:+translations pages (pages like Yannick’s translation history which used to timeout occasionally). We have since seen no timeouts on that page.

Henning has spent some time on writing a script to remove obsolete Ubuntu translations (translations for Warthy, Hoary, Breezy, Edgy and Feisty) from the database, before joining Ubuntu guys for the Jaunty sprint in Berlin. This should remove around one third of our entire data set, which should help with rendering of POFile:+translate pages. Unfortunately, he was unable to complete that — due to not being around 🙂 — so I picked it up and have completed and tested it this week. We should have this done by the end of the month, and that should bring large improvements to the rendering of +translate page.

Additionally, I’ve disabled global suggestions on edge (translations coming from different PO templates in Launchpad for the same English string) to confirm this is indeed our biggest problem. Edge has practically been flawless since, and we’ve discovered more areas for improvement. We are getting some new hardware to help with competition for resources between different jobs on the server as well (should be in by the end of the month), and as soon as we do, we’ll re-enable global suggestions (which are one of Launchpad’s essential features).

Just as the week was ending, we started getting a bunch of timeouts on DistroSeriesLanguage pages like the Brazilian Portuguese one for Jaunty: anonymous users started getting it frequently using a script, along with a large batch size of 300, and that started putting a lot of load on the server. Jeroen already has an idea how to improve the situation significantly, but that will have to wait until a later date.

I am looking forward to February release of Launchpad which should bring performance improvements for everyone to notice.


1

Ubuntu LoCo website kit

Published by Matthew Revell in Projects

If you’ve had much contact with the Ubuntu community you’ll most likely have come across loco teams: local groups who promote, support and socialise around Ubuntu.

Two loco teams — South Dakota and Quebec — have combined the Launchpad Drupal modules with a customisable Drupal theme to produce the LoCo Drupal kit.

So, if you run a LoCo team and want to set up a website, the kit gives you:

The kit works with Drupal 5.x and 6.x, with support for Drupal 7.x on the way. They’re also promising fast, friendly support.

Take a look at the project’s Launchpad page for more.


0

Launchpod 17: performance week update and IntraHealth

Published by Matthew Revell February 12, 2009 in Podcast

Launchpod: the Launchpad team podcast!

Host: Matthew Revell.
Theme: Obscurity by Barry Warsaw.

Download ogg vorbis file.

Podcast feed.


Previous Entries
Next Entries