Archive for the ‘Meet the devs’ Category

Meet Francis Lacoste

Wednesday, October 28th, 2009

Francis LacosteFrancis Lacoste recently started on a six-month stint of running the Canonical Launchpad team. It seemed like a good time to find out a little more about him.

Matthew: How did you get into free software?

Francis: It was 1996, with a few friends at university, we started an online cinema magazine and) I developed the first generation of the content management system for the site. I was looking to develop this as a “free for non-commercial use” software. Since my Mac at the time kept crashing (Internet and Apple didn’t worked well), I looked into mklinux which was a Linux variant for Powermac. And then I stumbled upon the GNU Manifesto. This made so much sense to me, that I ditched the “free for non-commercial use” and became a GNU head.

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

Francis: What is more important, water or air? This is a false dichotomy. You need principles because otherwise your actions are meaningless, at the same time if your principles cannot be applied, cannot drive to action, then your principles are just wishful thinking. The beauty of this interrelation is that you can start anywhere and find the whole. Start at action, ask yourself what are the principles behind it and then you discover more actions you could make to be more effective. Or you can start at principles and then ask yourself how to apply them which will bring more insights as to some way to improve your principles.

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

Francis: Not much since joining Canonical (and having a kid). I still receive emails for perl (sic) modules I developed eons ago. I also worked for a few years on the LogReport project. I also met future-Canonical-colleague Martin Pool on the first implementation of what was to become the Apache Java project. Specifically, I updated the mod_jserv implementation to support the Java 1.1 Servlet specification.

Of course, now that Launchpad is open-source, I do daily contributions to open-source :-p (actually, that’s not even true as my responsibilities don’t leave me a lot of time to code — but contributions is more than just code).

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

Francis: Launchpad Answers is a really easy way to build community support around your project. (Full disclosure, that was the app I was responsible for when I joined the Launchpad project.)

Matthew: In the Principia Discordia, Malaclypse the Younger states that all things happen in fives. What five things are coming soon in Launchpad that you’re most excited about?

Francis: 1. In September, we defined a strategic vision for Launchpad around “bridging the gap between upstreams and the Ubuntu distribution”. This will help us to develop a much more focused application.

The current set of features related to the strategic focus you can expect are:

2. Forwarding of triaged bugs from Ubuntu to the upstream bug tracker.

3. Daily Ubuntu packages of upstream tip.

4. Sharing of translations between upstreams tip and the Ubuntu source packages.

5. Zero OOPS Policy. This means rooting out all time outs and errors.

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

Francis: Ordering books on amazon.ca. Although by now, I don’t need to reach for my wallet for this.

Matthew: Thanks Francis!

Photo of Francis Lacoste by Simon Law, CC-BY-SA, published on Flickr.

Meet Matthew Revell

Wednesday, October 21st, 2009

Matt Revell
Our intrepid communications expert, the venerable Matthew Revell, has been quite busy interviewing the Launchpad developers of late. I thought I’d turn the tables on him and ask a few questions!

So, here goes:

Julian: Mr Revell, I’ve heard your name pronounced in different ways. Can you please slay this dragon once and for all, is it RE-vell or re-VELL?

Matt: I pronounce it with the emphasis on the second syllable, to rhyme with
“bell”. But I’m not precious about it :)

Julian: Ok excellent, I’m glad we got that sorted out. So, tell us about your role in Launchpad. What are your day-to-day tasks, and do you have any special duties on top of that?

Matt: I work in the new Launchpad Strategy team, with Karl Fogel and Jonathan Lange. My main responsibility is communication with the people who use Launchpad: documentation, blogging, in-line help, the Launchpad tour, announcements, that sort of thing. So, you should speak to me (mrevell on Freenode) if you have ideas or suggestions for that sort of thing.

With Karl and Jonathan I’m also talking to lots of people who use Launchpad to find out how we can improve what we offer. So, at November’s Ubuntu Developer Summit in Dallas we’ll be organising lots of meetings to talk to people who work on Ubuntu to find out how Launchpad can better connect them with upstream projects.

Something else I’m interested in is usability and I’m now one of Launchpad’s trainee UI reviewers, which can be fun and daunting.

As for day-to-day tasks, most days are pretty different for me but I do have the fun job of weeding out the spam sent to our feedback@launchpad.net address each day. With such a huge volume of spam, even those few messages that slip through the filter still add up to a hundred or more a day.

Julian: Where do you work?

Matt: Right now, I’ve converted a corner of our dining room into an office and work there mostly. I live in the city of Wolverhampton, which is about 40 miles east of the England/Wales border and around 130 miles north-west of London. From time to time I pop up to an arts centre in the city, as they have free wifi in their cafe, for a change of scene.

We’re moving to a village a few miles from here soon, though.

Julian: What can you see from your office window? Having been to your office, I can appreciate you might want to make up an answer here.

Matt: Heh, I can see other houses in my street and that’s about it :)

Julian: What did you do before working at Canonical?

Matt: I did a similar job at an ISP/web host. I spent most of my time writing articles about how to set up a dedicated server’s DNS and that sort of thing.

Julian: Apparently you used to do stuff with LUG radio! Tell us more about that.

Matt: Yeah, I was a presenter on the LugRadio podcast from the first show until May 2007, when I left to do a politics show on a local station in Wolverhampton. Although the LugRadio podcast is now over, the LugRadio Live event continues and is taking place this Saturday in Wolverhampton.

Julian: How did you get into Free software?

Matt: I got my first computer when I was six. It was a Sinclair ZX81 and was a great introduction to computing. A couple of Sinclair Spectrums, a Commodore Amiga (many hours spent in writing bad code in Amos) and several Amstrad PCWs later, my dad got a PC. I had always enjoyed trying to get my machines to do something different so we ended up putting IBM’s OS/2 on it.

From there I ran a Fidonet BBS and then got into the internet, where free software was pretty hard to avoid :) It wasn’t until 2001, though, that I first installed SuSe Linux on my PC, and from there went through various versions of Red Hat, with a Gentoo pit-stop, until I settled on Debian. When the Ubuntu Warty beta became available, I tried that out and have run Ubuntu since then.

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

Matt: I think the pragmatic answer is that it’s important to find a route between the two :) I believe in Free software both as a matter of principle and because of the practical benefits it offers me.

I think the only non-Free software I use right now is Skype but that’s because it’s the only way to speak to certain people free of charge and I think that benefit outweighs the relatively minor risks of a VOIP app being proprietary. I also use SIP quite a bit but even then it’s through a hardware adapter so, while it’s an open standard, it’s actually using proprietary firmware.

More generally, I think it’s important to have principles that guide you but none of us is ever right all the time and so it’s important to re-think from time to time.

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

Matt: Yes, Launchpad :) I used to do a lot for Ubuntu’s Fridge news site and the Ubuntu marketing team. I’ve also worked on some documentation for Bazaar.

My wife and I have two small children so any time I’m not doing paid work is rarely mine :) I keep hoping I’ll find some time to get stuck into the Gnome Documentation Project and to take my Python skills beyond less-than-rudimentary; I’m not holding my breath, though.

Julian: There is a vicious rumour circulating that you like to talk like a Leprechaun when drunk. Can you confirm or deny this rumour?

Matt: I don’t have to be drunk.

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

Matt: Usually buying something I don’t have time to use. I bought a Bluetooth remote control a few weeks ago with intention of turning an old laptop into a Boxee machine. The remote is still in its packaging.

Thanks very much Matt! And now, I return you to your regularly scheduled programming.

Meet Deryck Hodge

Thursday, September 10th, 2009

Deryck Hodge and a hatRecently, Deryck Hodge took over from Bjorn Tillenius as the leader of Canonical’s Launchpad Bug Tracker team. That seemed like a good chance to catch up with Deryck. I’ll post an updated interview with Bjorn soon covering his new role as Launchpad Technical Architect.

Matthew: What do you do on the Launchpad team?

Deryck: I work on the bugs application in Launchpad and am also, as of two weeks ago, the bugs team lead.

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

Deryck: I’ve been doing Ajax work on the bug page mostly. All of the inline bug subscription work is by me, and the inline description editing as well.

Matthew: Where do you work?

Deryck: I’m in Dadeville, Alabama, a very small town no one has everheard of. It’s not far from Auburn, a university town in Alabama. It’s a nice rural community around Alabama’s largest man-made lake.

Matthew: What can you see from your office window?

Deryck: The short answer is my drive way. The longer, more accurate, answer is a Barbie go-kart and two little tyke
four wheelers (of which none of them run), a pile of old lumber, some cardboard to take to recyle, and my dog, lying under the steps of my porch. I’m hesistant to tell all this as it makes me so much of a Southern cliche here in the U.S.

Matthew: What did you do before working at Canonical?

Deryck: I worked for several media companies. I worked for a company in Las Vegas called Greenspun Media most recently. And before that, I worked for the Washington Post Company and Scripps. I worked on all manner of web apps, but I had particular experiences in social applications — Facebook Platform, Open Social, iPhone, etc. I was even Emmy nominated as a developer if you can believe it (along with two colleagues) for a project I did while at the Post.

Matthew: How did you get into free software?

Deryck: Initially, a friend of mine gave me a RedHat CD. He was a Samba dev and was constanly talking with me about FOSS, so I knew a bit just from conversations with him. I was interested in learning to code and really getting into the
personal freedom FOSS granted. I tried RedHat for a while, then left it. Then, I came back to Linux as I was learning more about coding, spent some time on Suse and then settled on Ubuntu early on after it appeared.

Really, my interest in coding and FOSS are intertwined. I wouldn’t have learned to code had I not had access to free software and friends in FOSS who mentored me.

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

Deryck: I’m pragmatic in my pursuit of principal. :) Seriously, though, principal drives everything for me, but I think you have to be pragmatic in achieving the goals that are derived from your principals. Some things are possible now, some in the future, and I try to be realistic about what can be achieved in the pursuit of my principals.

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

Deryck: I have been a Samba Team member for a little over 5 years now. I don’t work on Samba itself, but I have done a fair amount of work in supporting the project through maintaining its web sites, web apps, and related servers. I have some
minor, older contributions to Samba itself for SWAT and a couple of the VFS modules. I also have done some small contributions to Django in the past. I wish I could get back to helping on Django more. It’s one of those projects that’s just close to my heart.

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

Deryck: It’s open source! Okay, so maybe some people have heard of that, but we should say it again. Launchpad is open source! Come hack on it with us!

Matthew: One of your favourite bands is Marillion. They’re about to release a stripped-back accoustic album. Are you ever tempted to take a stripped-back, simpler, almost “accoustic” approach to your code?

Deryck: I would love to be simpler, more “accoustic” as you say. But I wonder if my code isn’t more like Marillion’s Brave — a bit winding with some personal digressions, but (hopefully) a satisfying piece of work all the same.

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

Deryck: I’m addicted to buying online. I’m an easy sell for digital work — music, books, art. Anything I can carry on my phone, ebook reader, or laptop. I’m a bit of a virtual worlds addict, too. So I probably spend too much on Second Life. I’m the poster boy for funding the web via micro payments. :)

Matthew: Thanks Deryck!

Meet Gavin Panella

Tuesday, April 7th, 2009

We’re back on the Meet the devs trail and this time we’re heading for Launchpad’s most easterly UK-based developer! Let’s meet Gavin Panella.

Matthew: What do you do on the Launchpad team?

Gavin: I work on the Bugs team, adding useful new features and improving existing features in the bug tracker.

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

Gavin: I’ve been working with Graham and Björn on the bug activity log recently, which also included a lot of behind-the-scenes work to sort out bug notification emails. We have a long term goal to drive notifications from the activity log, but until recently the code was too fragmented to even contemplate that. There are two obvious changes that a Launchpad user will notice from our work so far: a far more
detailed bug activity log, and the interleaving of bug activity with comments on each bug page.

Matthew: Where do you work?

Gavin: In Norwich, UK, about a 5 minute walk from from the centre. I like it here, but it’s a little too remote; there is an airport, Norwich International, but it only seems to fly to Schipol, Alicante, and the rigs.

Matthew: What can you see from your office window?

Gavin: Another house and a car park. Not picturesque at all. But of course I’m always looking at my monitor, working on Launchpad :)

Matthew: What did you do before working at Canonical?

Gavin: I was self-employed in Luxembourg for a few years, doing consulting with FOSS, and worked (very indirectly) for Sir Chunky “Beard” Sweater before that at Virgin Money, working on database and web apps, and some system administration.

Matthew: How did you get into free software?

Gavin: I bought my first PC when I started uni, and spent half of the first term reinstalling Windows again and again, the excitement of which faded rapidly. Someone gave me a CDR of Red Hat, 4.2 I think, which was the first I’d heard of an alternative to DOS and Windows for PCs. Unfortunately the CD was broken, but I asked around and eventually someone (thank you, David Mansell!) took pity and helped me get Debian running.

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

Gavin: In the past I tended to get incredibly hot under the collar about trying to do things The Right Way, but working on the Launchpad team has helped me learn to be more pragmatic.

But it’s not really either/or. Principles help being pragmatic work long-term, and actually doing things helps inform your principles.

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

Gavin: Not many, and not much; children take up most of my non-work time. I have contributed a little to Bazaar, and I’ve published some of my own projects in the past. Most recently I’ve contributed stuff to galleryuploader, python-macports, and storm on Launchpad.

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

Gavin: The API. Early adopters are using it now, but when it gets out of beta I think it will be huge, but in ways I can’t imagine yet. That’s the coolest thing; that users can get creative with Launchpad.

Matthew: Your son is named Marlow. Have you made in any Faustian pacts in your time?

Gavin: Three or four; good looks, wit, and intelligence, obviously. However, when it’s discovered that my soul is mortgaged out to multiple lenders, there will be hell to pay.

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

Gavin: Lending my credit card to my wife. Yep.

Matthew: Thanks Gavin!

Meet Jeroen Vermeulen

Friday, February 27th, 2009

Jeroen Vermeulen gives us our first Asian stop-off in the Meet the devs series.

Matthew: What do you do on the Launchpad team?

Jeroen: I work on the Translations application. That’s where we translate software (including all of Ubuntu’s “main” section!) from English into just about any language I’ve ever heard of. Many people still know it by its original name, Rosetta.

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

Jeroen: It’s a funny thing: that question makes me realize how little really “visible” stuff I’ve written. I’ve been working with the database a lot and of course fixed bugs. You could say there’s mostly things that you can’t see in Launchpad that I worked on.

Recently though I’ve been working on something you should see show up in more places soon: the inline text editor. If you have javascript enabled in your browser, you can already use the existing version when you edit a bug title. No need to click through to an editing form: you just click the “edit” icon and the title becomes editable in-place.

The version I’ve been working on together with Danilo Šegan (I found out how to type that weird letter by accident: -c S) also works for multi-line text. And of course it resizes to fit your text as you type. I had hours of fun resizing my browser window and seeing that it reacted properly.

It’s been both fun and a nuisance, since JavaScript lets you do very powerful stuff very quickly… and then it lets you spend days debugging the silliest little things. It’s a far cry from the C++ work I’ve been doing in my spare time. There, all your weak typing happens at compile time. At run time it’s all strong typing with a tiny bit of polymorphism. So it’s usually the compiler that spots the bugs, not your tests per se. As the language matured we grew habits and practices to reinforce this. Nowadays I barely even use polymorphism anymore in C++: only in a handful of isolated patterns, and more often than not purely at compile time. As my friend Kirit Sælensminde puts it, it’s great to have a compiler as a theorem prover for your code’s correctness!

Matthew: Where do you work?

Jeroen: Mostly in Bangkok, Thailand. I like to poke fun at my colleagues in places that are 40°C colder.

Matthew: What can you see from your office window?

Jeroen: One of the reasons why I picked the place: some green, unused land! It’s got grass, trees, birds, and not a whole lot of noise. That’s pretty rare in this city. What there is is usually hidden behind walls.

Right under my window there’s a dirt road with a volleyball net strung across it. Sometimes the children have to stop playing and lift the net to let a car pass underneath.

Matthew: What did you do before working at Canonical?

Jeroen: I worked for a Thai government department set up to promote open-source software in the country. It was a good chance to learn, both about technology and about cultures.

Nothing shows how the two can interact as well as the questions I got at trade shows. For instance, many people believed that software you give away cannot possibly have any value. To those people I had to explain how the software made money for the companies behind them, or they just wouldn’t consider using it. This in a country where pirated proprietary software is the norm, and price-competitive with free downloads.

Other people thought that “open source” and “linux” were the same thing, and were very sceptical when you showed them free software running on Windows. Those who do work on free software, and we have some very enthusiastic people doing that, tend to be a bit too shy for the process. They are often reluctant to badger authors about accepting patches or translations. Translating Ubuntu in Launchpad is a great way for them to get around that.

Matthew: How did you get into free software?

Jeroen: Mainly by not staying out of it. When I started programming for fun in the early 1980s, the only reasons my friends and I ever saw not to share our code were embarrassment (if the code was ugly) or fear of someone passing it off as their own (if the code was pretty). But most of the credit goes to some great people I met in and after university, and a company called Cistron that got me working with 100% free software professionally.

I did work a few jobs involving proprietary software, and some of those left a very bad taste in my mouth. At Cistron we sometimes had to patch the software we used, because it wasn’t always mature. But at least we could, and we’d be helping the software mature in the process. We didn’t need to ask for permission, or wait for someone who already had our money to decide whether our problem was a priority. In the proprietary world you always had to beg or wait for permission to solve some problem or other.

Surprisingly often, it’s easier and cheaper to deal with a problem yourself than to go through the process of getting proprietary software licenses for it. That’s even before you start handing over money. If you do make it past that, you come to the stage where you start seeing the little gaps between what you bought and what you needed. And then you end up coding your own in-house glue anyway.

There was a lot of the code as well, under the glitzy surface. Oh, the code! Some examples I’ve seen:

  • A button in a user interface switches the application between two modes. The button changes its label and its colour between modes. The business logic decides which mode it’s in by looking up the button’s current colour. Yes, you read that right. This is in a large-scale financial application. The code was then given to cheaper foreign engineers for maintenance, despite all the comments, identifiers etc. being in the local language and unreadable to the engineers. The maintenance was necessary because the application relied on some proprietary commercial infrastructure that was being end-of-lifed by its vendor.
  • A database table has three consecutive rows for every logical item it describes. A loop searches them linearly instead of using SQL’s WHERE clause. Instead of using a meaningful marker, the loop computes what row #i represents by taking i % 3. The switch statement has cases for 0, 1, 2, and “default.” It’s been a while but I seem to remember there was a case for 3 as well.
  • A database object cache looks if the object you requested is already in memory. It does so by taking the numeric id for the object you want and comparing it to each of the cached objects’ addresses. It never finds a match because in-memory addresses simply have nothing to do with identifiers in the database. The problem goes unnoticed for years (causing memory leaks and data loss) because the compiler, also proprietary, takes until version 5.0 to start noticing that this is a very basic type error.

It’s not like we don’t make those mistakes in free software. But we let people catch us at it, and it’s better for everyone. In fact I’m convinced that projects like Linux and MySQL became so popular in part because there were enough things for beginning contributors to fix.

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

Jeroen: You’re eating soup. The bowl breaks. (Not likely, but work with me here). Now tell me which was more important: the bowl or the soup?

I know a lot of people get very worked up about this. But principle and pragmatism are on a two-way street. Going one way, principle is where you look when deciding what you should do. Or, and this is usually what gets people worked up, what everyone should do. But going the other way, you look at pragmatic reality and discern all sorts of principles. That, I think, is the real attractor to the whole debate &mash; free software has basically revived classical philosophy. What you learn there, what catches your imagination, what patterns you see and choose to explore, is all very personal.

There are people like Eric Raymond who will say that everyone just does what’s in their best interest, and nothing else will decide the course of events. The big epiphany they take from the free/open-source development is game theory and how it applies to markets. Then there are people like Richard Stallman who see how the given incentives in the market pit us against each other, and decide that it’s a bad thing. They derive a field-specific model of morality. Personally I’m fascinated by both.

But enough weaseling: I’m more on the “principle” side, because I don’t think principles are inherently non-practical. One of the smartest people I’ve known once said that morality evolves. It grows and adapts to help us survive as a group, just like perspective vision or opposable thumbs. Software licensing is at a point where different people try different things and we’re seeing what works. If I “sell” you software, it has to be like a piece of property, except copying is free and unlimited. So should we pretend that the program is still “my property” after the sale, only I’m also letting you use it? Or is it now yours, except I can sell it to others as well? It’s a lot like the old particle-or-wave debate about the nature of light.

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

Jeroen: In all sorts of ways, usually to scratch an itch: a patch here, some documentation there. My main project is libpqxx, the C++ client API to PostgreSQL. I worked with the old API back in 2000, and it was as if the right approach just jumped at me, shouting “code me, code me!” I get a lot of positive feedback about how it blends in with the language and its standard library.

Sometimes you can do more good by documenting than by coding. We engineers are all the same: once you understand something, it’s “obvious” and suddenly you’re unable to explain it. I thought D-Bus was a great development when I first saw it, but the documentation was thin on concepts and too detailed. Since I had to figure out the concepts anyway, I made a list and pretty soon I had a decent introduction written up. It even sparked some debate between developers about unresolved design questions. Funny how a contribution like that is easier to make when you’re new to the project. Much the same happened with fcgi, a nice “persistent CGI handler” similar to FastCGI but much simpler.

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

Jeroen: My personal favourite is a very basic one that we’ve had for ages: because Launchpad mirrors subversion and CVS repositories, you can play with the code of some project and still have full revision control.

When I wanted to mess around with a piece of code I got from the internet, I used to download a tarball, unpack, work on the code, then diff against a freshly-unpacked copy. Or I’d check out the repository and never commit. But now I can just branch off Launchpad’s copy of the source tree, and commit changes locally to my own branch.

Matthew: What’s your favourite TLA?

Jeroen: Hard one, since I have over 23,000 to choose from! I keep them here.

It started out as a joke about TLA-space pollution, but some people actually use it as a reference. I do, too.

What’s my favourite TLA? I like the name of the list itself, which is a meta-TLA. GTF stands for GPL’ed TLA FAQ. If you send me a new entry you become part of the GTF Contributor Program or GCP, and you get a little logo you can show on your home page.

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

Jeroen:Probably checking for a 10-Baht coin so I can get a motorcycle ride back to the main road. The dogs get a little frisky sometimes, so the wild ride may be marginally safer. The coin looks just like a worn 2-euro coin at about 1/10th the price. They’re similar enough that many coin slot machines had to be recalibrated.

Matthew: Thanks Jeroen!

Meet Tim Penhey

Wednesday, February 25th, 2009

Tim PenheyWe’re back in New Zealand for today’s Launchpad developer interview with Tim Penhey.

Matthew: What do you do on the Launchpad team?

Tim: I lead the team that works on the Bazaar code-hosting side of Launchpad. This includes all the pages that are under the “Code” tab, the linking of branches to other parts of the Launchpad system, the services and scripts behind the scenes that allow the hosting of branches, and the branch browser (Loggerhead).

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

Tim: I’ve touched probably every page visible under the “Code” tab. A large amount of work is going into the work flows around code reviews, and that is where I’ve been spending a lot of time recently.

Matthew: Where do you work?

Tim: I work from home, and home for me is currently Dunedin, New Zealand. I turned one of the bedrooms in the house into an office, which contains my desk, a nice comfortable leather chair, and too much computer equipment.

Matthew: What can you see from your office window?

Tim: Our deck, and beyond that our back yard which is mostly grass with a trampoline for the girls and part of the garden which currently has several pumpkin plants doing extremely well.

Matthew: What did you do before working at Canonical?

Tim: I worked as a contract developer in London, UK. I primarily worked at investment banks working on their back office risk systems. I had worked for Lehman Brothers (RIP), Royal Bank of Scotland, Barclays Capital, and Cantor Fitzgerald. Prior to that I had a stint at Reuters working on their stock exchange connectivity software.

Matthew: How did you get into free software?

Tim: Sometimes I wonder if I am “into” free software. As far as using free software, I’ve had an aversion to paying for Microsoft software when perfectly good free alternatives were around for a while. I toyed with Linux a couple of times back with Red Had 7.1, and some SUSE version shortly after that, but I didn’t make the switch until I came across the Hoary Hedgehog release candidate. I’ve been using Ubuntu since then.

I’ve been meaning to get into actually contributing to free software for so long. Every time I looked into it I got put off by the massive leaps into a group’s culture and code base. I use KDE and have it as my main desktop almost exclusively, and I’d love to contribute to KDE, but it seems that there are always the “KDE” or “QT” ways of doing things. I had a background in C++, but they don’t use what I’d consider “pure” C++, so there is always a huge learning curve, and I don’t have the time right now to invest in that. I have a three girls, 8, 6, and 3 and a half (don’t forget the half), and they take up a lot of my non-work time. I’ve had the opportunity to contribute a few small patches to Bazaar, and I’d still like to contribute to other projects.

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

Tim: That’s like saying: What is more important? Food or water? They are both important. Particularly when developing code if you don’t have one tempered
with the other you end up unreadable spaghetti or gold plated code. I lean towards more principle as it tends to give cleaner code, but sometimes pragmatism wins out to actually get code out and useful. Code that isn’t used might as well not be written.

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

Tim: I’ve got a couple of small patches into Bazaar. I use aliases a lot with bash, and also with Bazaar, but didn’t like that I had to edit the configuration file to add aliases, so scratching my own itch, I added the ‘alias’ command to Bazaar. I’ve also done some work on the PQM project, but most of my work is on Launchpad.

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

Tim: Code reviews. We are actively working to make them better, but the coolest thing about code reviews in Launchpad, is that you can do them entirely through email. Not only can you go to the web page and add a comment, and that comment gets emailed out to all interested parties, but you can reply to the emails using your mail client, and those replies are parsed, added to the review, and emailed out to the interested parties just as if you had entered them through the web interface.

A lot of work has also gone in recently to expose the code review functionality through launchpadlib as well. This will allow people to integrate Launchpad’s review functionality into other tools.

Matthew: Is the film Eagle v Shark an accurate picture of life in New Zealand?

Tim: To be honest, I have no idea as I haven’t seen the film. It has been on my list of something to get on DVD at some stage, but I don’t have it yet.

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

Tim: Getting my credit card to pay for books from Amazon. Books are very expensive in NZ. On my coffee scale, it is almost twice as expensive as the UK. Three coffees in the UK for a paperback, whereas it is closer to five or six coffees in NZ.

Matthew: Thanks Tim!

Meet Brad Crittenden

Tuesday, February 24th, 2009

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!

Meet Michael Hudson

Monday, February 23rd, 2009

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!

Meet Martin Albisetti

Friday, February 20th, 2009

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!

Meet Jonathan Lange!

Monday, December 15th, 2008

Jonathan Lange’s the next subject in our series of Launchpad developer interviews!

Matthew: What do you do on the Launchpad team?

Jonathan: I’m on the Launchpad Code team. Most of the time I work on the SSH server and the systems that live behind it. I don’t often do stuff with the website proper.

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

Jonathan: Sure! Every time you go “bzr branch lp:some-project“, you are touching three or four subsystems that I’ve worked on. The biggest thing that I’ve worked on recently is stacked branch support for Launchpad. Finally, Launchpad can host Bazaar branches for large projects!

Matthew: Where do you work?

Jonathan: I work in a flat on the North Shore of Sydney.

Matthew: What can you see from your office window?

Jonathan: I can see a petrol station, the oxymoronically named Pacific Highway, joggers near-dying from heat exhaustion and Jacaranda trees.

Matthew: What did you do before working at Canonical?

Jonathan: Directly before, I worked at Divmod on their webmail software, Quotient. They were great people.

Matthew: How did you get into free software?

Jonathan: During a quest to rescue the true king from the sorcerous clutches of an evil duke, I ingested an ancient Tibetan philtre that granted me the ability to walk through walls, and compelled me to give away Python code every so often.

Actually, what happened is that a company I used to work for seconded me to the Australian Federal government. The work was so dull that at the end of each day I found myself with stacks of mental energy. For some reason, I channeled this energy into writing a unit testing framework for Twisted.

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

Jonathan: Principle. It comes first, giving scope, boundaries and purpose to pragmatism.

That said, one of my most deeply held principles is that things that you do a lot of should be really, really convenient. This often takes shape as a kind of pragmatism.

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

Jonathan: Yes!

I work on Twisted, although less now that Launchpad keeps me so busy. I also work occasionally on bzr-loom, and dabble with a bunch of projects that enhance unit testing in Python — see https://launchpad.net/pyunit-friends

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

Jonathan: If you are working on a Bazaar branch, and do “bzr commit --fixes lp:12345” and then push that branch up to Launchpad, Launchpad will make a link between that branch and bug 12345.

This could be a lot cooler. Martin A and I have some ideas about how we can integrate this more tightly with the code review system, for example.

Matthew: Have you ever seen Harold Bishop in the flesh?

Jonathan: I don’t know who he is. Oh wait is he that guy from Neighbours?

I haven’t seen him, but once I got served at a bar by Will from Home and Away — does that count?

Matthew: Yes. Yes it does.

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

Jonathan: Most recently, it’s been because I signed up to EC2 so I could run tests without buying another computer. Normally though, I’m buying books. Generally non fiction ones, because I’d hate to deprive myself of the pleasure of walking around a bookstore for hours.