0

Launchpod episode 12

Published by Matthew Revell November 13, 2008 in Podcast

Launchpod: the Launchpad team podcast!

Hosts: Matthew Revell and Joey Stanford.
Theme: Obscurity by Barry Warsaw.

Download ogg vorbis file.

Podcast feed.


0

Launchpad offline 19th November 22.00 UTC

Published by Matthew Revell in Notifications

Launchpad will be offline for up to two hours from 22.00 UTC on the 19th November. This down-time is for the roll-out of the latest version of Launchpad, 2.1.11.

Going offline: 22.00 UTC 19th November 2008
Expected back before: 23.59 UTC 19th November 2008


1

Meet Paul Hummer

Published by Matthew Revell in Meet the devs

Paul HummerNow it’s time to speak to Paul Hummer — the man known as rockstar — as he spills all about his life in the Launchpad team.

Matthew: What do you do on the Launchpad team?

Paul: I help integrate Bazaar into Launchpad. Basically, anything under code.launchpad.net is where I am.

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

Paul: Much of the layout for Launchpad 2.0 was work I did. I’m currently working on making the import system better and exposing much of Launchpad’s merge proposal functionality through the API.

Matthew: Where do you work?

Paul: In the basement office of my home in Fort Collins, CO, USA.

Matthew: What can you see from your office window?

Paul: There’s currently a squirrel looking down the window well, teasing Choco (my dog).

Matthew: What did you do before working at Canonical?

Paul: Early on, I helped write a social networking webapp in PHP for the Bakersfield Californian newspaper. After that, I did a lot of independent consulting for everything from managing virtual machines and mobile payment processing to RFID research and embedded Linux development.

Matthew: How did you get into free software?

Paul: In a nutshell, I would dig old computers out of the trash when the Colorado State University students would throw them away at the end of the school year. Usually, none of them had a ton of guts, so Windows wouldn’t run well on them. I discovered Red Hat 4, and it was just momentum after that.

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

Paul: I think it’s quite possible to have both. I’m very much against extremes in either direction, but I think it’s good to have a good set of pragmatic principles.

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

Paul: It depends on your definition of “contribute.” Advocacy? Too many apps to count. Bug reporting? Quite a few.

As far as actually writing code, I think my first contributions were when I was 16, to apps that apparently aren’t around anymore. Recently, my contributions include loggerhead, cscvs, many Django apps, and a pretty new media center application called Entertainer.

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

Paul: Ooh! Ooh! I have two things. First, merge proposals are AWESOME. We’ve been using them in Entertainer since very early on. They’ve come a long way, and I think they have an obvious role to play in increasing the quality of free software. I pity free software projects that don’t have a formal code review process.

The second is code imports. I feel like LP users have this wonderful opportunity to work on patches for other open source projects without having to do the “prove yourself” dance to get commit access. Hacka hacka on a bzr branch until your patch is ready, and then submit it to the core devs. This way, you get all your work versioned, instead of having a checkout of the svn or CVS from core, and just having one version of your patch (the one created with svn diff).

Matthew: Have you experimented with alternative keyboard layouts?

Paul: Yes. I’m a Dvorak user, although my netbook is still on Qwerty. One thing I’ve noticed is that more often than not, you get typo’d words that make other words. For instance, ‘r’ and ‘l’ are right next to each other, and so when I try to type ‘whole’ I often type something offensive by accident.

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

Paul: Let me just say that the most evilly genius thing Amazon.com does is SAVE my credit card number, so it’s too easy to spend money there. I buy A LOT of technical books, and recently, a lot of fiction books.


0

Meet Ursula Junque

Published by Matthew Revell November 12, 2008 in Meet the devs

Ursula JunqueNow it’s time to speak to Ursula Junque in the latest of our Launchpad developer interviews.

Matthew: What do you do on the Launchpad team?

Ursula: Well, my job title is QA Engineer. Each day I watch the OOPSes you sometimes see when using Launchpad, and try to find out what the problem is, then I open bugs, try to get people to fix them and the like. Besides that, I work on assuring that Launchpad versions will be well tested before released. Also, I love doing python scripts to enable my work. I love my job. 🙂

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

Ursula: Since I work with solving bugs in Launchpad, if everything went fine you won’t notice the object of my work. 😉

Matthew: Where do you work?

Ursula: I work from home, that is at the moment in Recife, Brazil.

Matthew: What can you see from your office window?

Ursula: I can see lots of other buildings, some windows already with Christmas decorations, and a school.

Matthew: What did you do before working at Canonical?

Ursula: Right before joining Canonical, I was in a Brazilian telecom company called AsGa, developing the embedded system of a network switch. Before that, I worked at IBM’s Linux Technology Center, in a project that was an overlay of Ubuntu.

Matthew: How did you get into free software?

Ursula: It was when I started my Computer Science graduation at UNICAMP. They had Windows and Linux in there, and also a free software enthusiasts group called GPSL (Pro-Free Software Group, in Portuguese). So, I had the opportunity to use Linux and learn about free software. Well, actually I tried to use Mandrake Linux before that (a really long time ago), but my PC was too slow at the time for KDE, and my family (the PC wasn’t only mine) needed a UI-clicky thing. 🙂

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

Ursula: Hmm, great question. I guess this is the point where Open Source and Free Software people disagree.

I’m more a pragmatic person than one that sticks to principles. I think we have to start somewhere, and having to follow a lot of “rules” sometimes stops you from starting something that would be really great – not perfect, but a start – and that could be “adjusted” with the time. I guess it’s important to have principles to help you to trace the path where you want to go, but being inflexible, in my point of view, is not such a good thing.

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

Ursula: Yes, but not with code. All code I produced were scripts to help me (and people around me) to make life easier. I should have created one project or two from them, but thought, at the time, that it was not worthy to do so. Shame on me, lost pieces of handy code! 🙂

I did translations in Turbogears project documentation to Brazilian Portuguese, and also for a related project called Kid, but I think the major contribution is to stay online on Freenode’s #ubuntu-br and #launchpad trying to help people to get along with stuff. 🙂

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

Ursula: Well, I think the whole of Launchpad is great, but to talk about something related to my job, I’d like to talk about dupefinder. It’s that small piece of Launchpad that is there when we’re about to file a bug. After you fill in the bug summary, it smartly tries to find the most similar bugs, giving us a list of them so we can be sure that we’re not filing a duplicate. It’s simple but extremely useful. 🙂

Matthew: How do you take your coffee?

Ursula: In the first mug I can find among the clean dishes in my kitchen. 🙂

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

Ursula: It’s been a while since I started buying things online, so I’m almost sure I’d be taking out my credit card. 🙂

I always buy things from online stores such as eBay, Mercado Livre (an Argentinian, but huge in Brazil, version of eBay), and local online department stores, where I buy books, CDs, DVDs, eletronics and stuff. Also I have an account on Dreamhost, where I host my blog, that is the only actual online service I pay for.


3

Meet Данило Шеган

Published by Matthew Revell November 9, 2008 in Meet the devs

Danilo Segan is ShredderIt’s the turn of Данило Шеган (Danilo Segan) in the second of our Launchpad developer interviews.

Matthew: What do you do on the Launchpad team?

Danilo: I am one of the Launchpad Translations (formerly known as Rosetta) developers. Launchpad Translations is a tool to help manage translations in free software projects. It’s usually considered Ubuntu-only, but that’s far from truth: Launchpad Translations is used by few tens of upstream projects as well.

Matthew: What can we see in Launchpad that you’ve worked on?

Danilo: I’ve worked on many bits of Launchpad Translations: notable things are large improvements on the suggest-review workflow, tracking of translations changed from upstream, native KDE 3 PO format support, and searching through translations in PO files. Basically, whenever you are on any page on translations.launchpad.net, you are bound to be on a page which I have almost surely worked on.

I also spent a lot of time working with rest of the team behind the scenes help make Launchpad Translations perform well enough to not be a bottleneck of translation efforts (anybody here remembers infamous timeouts on +translate pages?).

Matthew: Where do you work?

Danilo: I either work from home or from an office shared with a few of my friends in Belgrade, Serbia: a combination of designers and web developers who it’s always fun to chat with. In the future, I want to make better use of advantages working from home have, and that means exploring different parts of the world for longer periods of time.

Matthew: What can you see from your office window?

Danilo: Some sky, and a few buildings, along with the small park. When at home, I can see bigger part of New Belgrade and Zemun (parts of Belgrade) from my window on 11th floor. This makes for a wonderful view during night, so it’s always a good way to impress girls. 🙂

Matthew: What did you do before working at Canonical?

Danilo: I did a lot of free software development, especially in GNOME, where I provided lot of i18n and l10n infrastructure (like l10n.gnome.org, developing xml2po, and maintaining intltool).

Just before joining Canonical, I also did a short stint working for a mobile software development company and worked on kick-starting their VoIP software development for Linux mobile phones equipped with WiFi chips as well.

Matthew: How did you get into free software?

That’s a tricky question if I am to be completely honest. So I won’t be completely honest. 🙂 In short, I never got to like Windows, and kept developing DOS applications during Windows 3.1 and Windows 95 days. Terms like “extended” and “expanded” memory became too familiar concepts, and then suddenly I just stumbled upon a copy of Slackware 3 (or something) on floppy disks. After a few years of using it, I just wanted to contribute more, and in 2001 I started actively participating in free software communities.

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

Danilo: Most important are pragmatic principles. In essence, I feel principles are more important, but pragmatism is the shortest way to them (even if that sounds contradictory).

Matthew: Other than what you’ve already mentioned, do you contribute to any free software projects?

Danilo: Apart from the localization tools (gettext, intltool, xml2po, Serbian translations), I’ve also spent some time recently on OpenStreetMap which I readily recommend to anyone (OpenStreetMap is not a free software project per se, but it is in the same spirit 🙂 — and I even submitted a patch for JOSM to fix some login issues.

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

Danilo: Launchpad Translations is available as a translation collaboration tool, for every project, even upstream ones which have separate translation procedures. To properly set this up, we restrict access only to actual upstream translation teams who are aware that manual submission of translations is still necessary.

But, if you are willing to do some of the administrative work yourself (at least until we make that automatic), you can easily make use of the Launchpad Translations collaborative translation features today!

Matthew: What was the last song you listened to?

Danilo: Whatever thing a friend at the table next to mine is actually playing. It’s not too loud not to mess anyone’s concentration (so hard to figure out which song was it), but still provides some enjoyable ambient noise.

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

Danilo: Most likely, I am checking it’s still there (the wallet!).

I know my debit card number by heart since I’m regularly using it to buy different services and products online (I even pay for my Internet access with my debit card)—and I would be using it more if more web sites would ship to Serbia.


1

ElectionAudits

Published by Matthew Revell November 8, 2008 in Projects

Tick in a boxNeal McBurnett has been working on a new free software project — called ElectionAudits — to help audit election results.

With this week’s US elections, it seemed like a good time to ask Neal what the project is about.

Matthew: What problem(s) are you hoping to solve?

Neal: The underlying goal is improving confidence in elections and thus democracy. I know enough about computers and have done enough work and volunteering with elections to know that you just can’t trust the machines and systems (even if they are open source, as Thompson’s famous hack showed decades ago (see “Reflections on Trusting Trust“).

Rivest and Wack have written more recently about the need for “Software Independence” in elections. So good random audits of the actual results are a critical component of election integrity. We do serious audits of banks and casinos. Why don’t we really audit most elections? See my blog message for more detail.

There’s a long list of problems with existing “audits”. But the proverbial itch was seeing how frustrating it was for my county clerk to deal with the way the Hart InterCivic Tally system produces results, which need to be broken down by batch, and sometimes combined to protect the privacy of the voter. I saw several people totally worn out trying to do it in Excel, and said there must be a better way. And I saw a good use for Python and Django 🙂 and a way to play with fun statistics.

Matthew: Has the project seen any use as a result of this week’s US elections?

Neal: We’ll be using it to audit the Boulder County election, probably next week.

Matthew: Is there already proprietary software to do this job?

Neal: None that I’m aware of. The election system manufacturers only seem to produce precinct results, which don’t match the way the paper ballots are grouped in batches of mail-in ballots and in long rolls of voter verified paper records on “touch screen” computers used in Early Voting. So it is a pain to find the paper to back up the precinct reports. I list other software out there, like spreadsheets, to calculate the statistics, but nothing like ElectionAudits.

Matthew: How many of you are working on the project?

Neal: I’m packaging existing statistical code from Ron Rivest and getting input from a handful of testers and users. I’m the main coder so far. It is all based on the work of a much larger community of auditing experts who put together Principles and Best Practices for Post-Election Audits.

Matthew: Are you looking for more participants? If “yes”, what skills do you need?

Neal: I’ve focussed totally on the code, so the project could use a nicer logo, some good CSS and templates. Input on a wide variety of other ToDos would be welcome from folks versed in Django and Python.

Testers and packagers, for setuptools, Ubuntu, Windows, Mac OS X, etc would help a lot. I don’t have a Windows environment, but it is still used by lots of potential users, so more help there would be great. And help providing better documentation would be wonderful.

You can also just join the ElectionAudits team and lend some of your insights.

But most of all, we need folks to use it to improve our confidence in our elections, either as election officials, or by connecting with the folks who run their local elections. Even just sending us a copy of the election results that are used in your local elections would help since we want to be able to parse and publish lots of different common election data formats.

Matthew: What do you use Launchpad for?

Neal: Team mailing list, hosting releases, bzr repository, bugs, blueprints, and if there is interest, translations.

Matthew: Why did you choose Launchpad?

Neal: Because it will be open source next year, putting it in an elite category, and because I’m familiar with it from my Ubuntu involvement.

Matthew: What would you like to change about or add to Launchpad?

Neal: I’d like to see a wiki for project use (bug report).

New Launchpad projects would really benefit from a step-by-step HowTo on setting up each phase of a new project: defining bzr integration, releases, downloads, series, release files, teams, etc. I had to ask in #launchpad a number of times to figure out how to get a new part of the project working. Advice on when to define a new series and the implications of that, especially before the 1.0 release is out, would be helpful.

E.g. clarify how to provide download files. Based on the UI, I thought my only option was to point to my own external web server to host downloads. Finding the set of steps necessary to get the big Download button on the project page to be useful was frustrating even based on the documentation. If a project has no downloads yet, perhaps the Download button should lead to some sort of wizard for that, or at least lead to the appropriate documentation.

I’m looking forward to trying the Launchpad API for simplifying releases, as described in the recipe for uploading files via the API blog post.

Thanks for a great tool!


1

Meet Graham Binns

Published by Matthew Revell November 7, 2008 in Meet the devs

In the first of a series that I briefly considered calling Meet the meat, here’s an interview with Launchpad developer Graham Binns.

Over the next few weeks, I’ll probe each of the Launchpad team. If you’ve got any questions – whether for everyone or a specific individual – drop me a mail.

Matthew: What do you do on the Launchpad team?

Graham: I’m a developer and one of the five developers on the Launchpad Bugs team. We work almost exclusively on the Launchpad Bug Tracker.

Matthew: What can we go and look at that you’ve done on Launchpad?

Graham: The bugs pages :)!

Actually, a great deal of my work is work you don’t get to see. Although I do some UI work (I’m working on something pretty cool at the moment that should hopefully appear in either Launchpad 2.1.11 or 2.1.12) the majority of what I do is back-end. In particular, I’ve been responsible for developing the way Launchpad interacts with other bug trackers like Bugzilla and Trac.

I’m also the principal developer of the Distribution Upstream Bug Report, which allows you to track which bugs have been forwarded upstream (and which need to be forwarded) for packages in a distribution. You can see the Ubuntu version as an example.

Matthew: Where do you work?

Graham: From my home in Lancaster, UK, most of the time.

Matthew: What can you see from your office window?

Graham: Right now I can see a very damp and angry cock-pheasant and a field full of cows.

Matthew: What did you do before working at Canonical?

Graham: I spent a couple of years working for a (now defunct – nothing to do with me, squire) mobile content company, where I did web development work in PHP. Before that I worked for a local government authority doing .NET development.

Matthew: How did you get into free software?

Graham: It took a while for me to get into free software proper but I was first introduced to it, or to Linux at any rate, by a college lecturer who installed SUSE 4.something on one of the lab machines. It ran a very clunky version of KDE and I hated using most of the time but I was taken by the idea of people doing all this work for no other reason than that they wanted to.

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

Graham: That depends on the situation and the principle. I’d like to think that I’m pragmatic where I need to be.

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

Yes, though not nearly as much as I’d like. Actually I tend to develop my own little apps and shove them out into the world more often than I contribute to other projects, usually because of lack of time.

I’ve done a few small things in the not-too-distant past, though most of them are gathering dust at the moment:

Besides that I do my best to contribute by filing and triaging bugs where I can for the software I use, since I don’t have much programming time to lend to projects.

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

Graham: Not enough people, I think, are aware of Launchpad’s capability for syncing with other bug trackers. It’s something that we’re working on making better, and there are a lot of bug trackers there to sync with, but eventually we’re going to get to the point where a project’s users will be able to use Launchpad to file bugs against that project and Launchpad will automatically push those bugs to the project’s own bug tracker (say a Bugzilla or Trac instance).

That means that projects will no longer have to worry about people filing bugs in Launchpad that don’t then get forwarded upstream. In the same way, bugs on the remote tracker will be displayed through Launchpad, so users will be able to see bugs on a project without having to switch bug trackers all the time

We’ve got a couple of cool plugins that work with Bugzilla and Trac to make it possible for this bi-directional syncing to take place (we’re interested in expanding this to other bugtrackers, too).

If people are interested in installing these plugins they can file a question at http://answers.launchpad.net/malone and let us know so that we can point them in the right direction.

Matthew: What colour socks are you wearing?

Graham: Blue.

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

Graham: Interesting question. I’m most likely to be reaching for some form of government issue ID (though why I’d need it I couldn’t tell you) since I’ve memorised my credit card and bank account numbers (which should tell you something about how often I use them).


1

A cool bunch of individuals

Published by Matthew Revell October 24, 2008 in General

What do you get when you bring together a group of developers, QA engineers and other Launchpad team members? Cheesy photos, of course!

The Launchpad team in London

Photo: Graham Binns

We’ve come by air and by land to meet in London for a couple of weeks at what we’re calling the Launchpad EPIC. It’s a rare chance to get the full Launchpad team together for planning, training and, of course, unrepentantly bad dancing.

It also means we’re in town at the same time as the London Ubuntu 8.10 release party. If you’re planning to be there, come say “hello”.


1

Launchpad 2.1.10 – faster branch uploads

Published by Matthew Revell October 16, 2008 in General

The Launchpad team is excited to announce the October 16th 2008 release of Launchpad 2.1.10!

There’s great news if you use Launchpad to host Bazaar branches, plus there’s the usual smaller new features and bug fixes.

Slashing branch upload times

From now on, you may notice that uploading a branch to Launchpad is significantly quicker. With this release, we’ve introduced support for Bazaar’s new stacked branches feature.

Over to Launchpad Code developer, Jono Lange, for details:

Stacked branches work just like normal branches but hold only the history that differentiates them from the project’s mainline.

So, if you upload a branch to a project that already has its trunk branch in Launchpad, you’re uploading only the differences between your work and the trunk.

Stacked branches mean that uploading a large project’s code to Launchpad can now take just a couple of minutes. To use them, you need to upgrade your branches to Bazaar format 1.6 and run Bazaar 1.7 or later.

See Jono’s blog post for more detail.

This bug affects me too

If you’ve ever come to file a bug and found that it’s already been reported, you may have wanted to let the project know that you too have been affected.

Trouble is: many projects find “me too” comments unhelpful because they don’t add much to the discussion.

Launchpad’s new “This bug affects me too” feature lets you record just that but without the guilt! Give it a go in our staging environment.

We’ll use the “me too” data in future to help projects identify hot bugs.

Also in Launchpad 2.1.10

You can find the full details of this release on its milestone page.

Getting help with Launchpad

Each weekday, members of the Launchpad team are taking turns to offer help with Launchpad. Check the #launchpad channel topic or our wiki page to see who’s on duty.

And finally…

Launchpad 2.1.11 is due on the 19th November. In the mean time, join us in #launchpad on Freenode and on the launchpad-users mailing list.

If you come across any bugs in Launchpad, please report them!


3

Faster branch pushing

Published by Matthew Revell in Code, Cool new stuff

You can now push your branches to Launchpad much more quickly. That’s because Launchpad now supports stacked branches: Bazaar branches that have only a little bit of their history.

By pushing up a stacked branch to Launchpad, you push up only that little bit, rather than the full history of your project. For the code that we Launchpad developers work on – i.e. Launchpad itself – it now takes less than two minutes to push up a branch. It used to take an hour and a half.

Upgrade to Bazaar 1.7 or better

To start using stacked branches, you need to upgrade everything to Bazaar format 1.6. Upgrade your trunk, all of your branches, your local shared repositories — everything. To do this you’ll need Bazaar 1.7 or better. You can get this from the Bazaar website or from the Bazaar PPA.

Set your development focus

You’ll also need to set a development focus for your project. The development focus is the mainline branch, often called “trunk” or “devel”. You want to set it to a branch that people want to branch from a lot. If your project doesn’t have a development focus yet, there’ll be a prominent link to set it on the Code tab for that project.

Push your branch just like before and whooosh!

OK. You’ve got a dev focus and all your branches are in the new Bazaar format. All you need to do now to make a stacked branch is:

bzr push lp:~foo/bar/baz

That is, you just push the way you always do and then watch the speed.

What happens is that Launchpad hints to Bazaar that new branches should be stacked on the development focus. Bazaar follows that hint and stacks the new branch appropriately. It then only sends up the revisions that are in the new branch but not in trunk.

This is why you want to set your development focus to a branch that’s going to be branched from and merged to a lot: the time it takes to push up a new branch is proportional to how different that branch is from your development focus.

A lot of work has gone into this feature (particular thanks to Michael Hudson and basically all of the Bazaar core devs), I hope you enjoy it!


Previous Entries
Next Entries