Blog

  • Landing with tarmac

    I heard about Tarmac a few weeks ago when Shane mentioned it in one of his intern diary blog posts. At that point I didn’t actually look into it much since I thought it was something that’s internal to Canonical. Last week, Michael Hall told me about Tarmac again and how they use it to land branches. This time though, I could grasp what it was since it sounded to provide a functionality Launchpad’s PQM. Every time Tarmac is run, it checks for approved branches that are ready to land. If it finds that they satisfy the conditions (optional) that are defined in its config, it lands them. (It can do more, please read the documentation for that).

    I’m now running Tarmac for both Loco Team Portal project and the Summit project The really cool commitmessage plugin allowed me to define how each commit should look. I’ve formatted it in a way easy to figure out how did the review and who authored the change, and which bugs it fixed. If you want to see how it looks like, checkout the last few commits for summit. I did find a bug in tarmac documentation for which I now submitted a merge request 🙂

  • Cleaning up the Planet

    For a while I’ve noticed that Planet Ubuntu configurations are in a sort of mess. Officially, individuals who are Ubuntu members and some other organizations (more details) can post to the planet. But when someone’s membership expires, cleaning the config is a painful and tedious task. Additionally, there is also no way, other than manual, to verify if the folks with their feeds listed in the planet config file are people with Ubuntu membership. In this regard, I brought this matter up with the Community Council.

    Cleaning up the Mess

    The community council has decided that every feed would be ‘owned’ by an Ubuntu member whose launchpad ID should be in the nick field. This will help us run a script to check if all the ‘owners’ of the feeds are Ubuntu members. If there are team / organization feeds, an Ubuntu member should put their launchpad ID in the nick field and this individual would be responsible for the feeds of that team. Please note that its OK for an Ubuntu member to sponsor multiple feeds. That way a member of the community can be the sponsor for their own feed as well as an affiliated organisation or sub-project, like in the example below.

    [http://feeds.feedburner.com/nigel-ubuntu] name = Nigel Babu face = nigelbabu.png nick = nigel  [http://ubuntuclassroom.wordpress.com/feed/?mrss=off] name = Ubuntu Classroom face = ubuntuclassroom.png nick = ubuntuclassroom 

    In this example, I should be changing the nick for my feed to nick = nigelbabu since my Launchpad ID is nigelbabu. For the classroom feed, I should change nick = ubuntuclassroom to nick = nigelbabu since I’m an Ubuntu member part of the team and I’m willing to own that feed.

  • Cookies and hugs to Penny!

    Yesterday, I talked about summit and how we need help with its development. I’m happy today that Penelope Stowe has joined us in breaking fixing summit. Congrats for her first merge proposal.

    Here are your cookies 🙂

  • Blog moved and summit bitesize

    I’ve moved my blog from wordpress.com to nigelb.me. I originally planned to run wordpress here too and export my posts from the old blog here. Unfortunately, that ran into problems. My VPS wouldn’t run nginx + php-cgi + mysql at the same time. Every time I tried, I would run out of memory. My first instinct was to increase the RAM, which I did. But, I looked for a better solution. My friend suggested Jekyll. In Jekyll, basically, the posts are written in markup and then converted to HTML files. That got me interested, I could eleminate php and mysql out of the picture. That’s a lot of memory saved to do other things. It took me a fair few number of hours to set everything up. But I’m very happy with the security (no admin panel really) and I’ve used git hooks so I write a blog post on my computer and push to the repository, which updates the live site. Awesome and geeky. With a bit of effort, I’ve gotten RSS feeds and comments working too.

    Now, the other thing about summit. If you’ve ever participated in a UDS, you probably know summit. You’ve probably griped about it a couple of times, haven’t you? 😉 Well, you should also know that summit is open-source and built on Python/Django. Right now, we’re looking for fresh blood to come and join us. We’ve fixed a bunch of bugs post-UDS and we’re looking for more people to join us in the fun. I’ve tagged a few bugs as bitesize. They are quite easy and if you need help setting up the environment and actually going about fixing the bug, please feel free to ping me (nigelb), Michael Hall (mhall119), or Chris Johnston (cjohnston) in #ubuntu-website on irc.freenode.net. If you’re a web developer who wants to contribute to community projects other than summit, please take a look at the Community Web Projects. I believe we have enough for everyone 🙂

  • Fixing Launchpad Bugs

    At UDS, I met the Launchpad folks, who encouraged contributions to Launchpad itself in a couple of sessions. I’ve tried twice before and always get stuck with the getting a virtual machine set up stage. This time, I decided that I’m going to skip that step and go ahead and install it on my lucid laptop. As soon as I got back, I looked at getting the launchpad source code. rocketfuel-setup is a 400-line shell script that does the heavy lifting of the installation for the user. After having written such a script at work, I have huge respect for the author of this script 🙂

    After installing, I looked around for a simple bug to fix and picked [bug1][bug 645825]. The bug appeared easy enough to fix and I had a fix ready in a few minutes. I proposed a merge and was told that it needs work. It needs test cases! Another day I spend with poolie, jml, and gmband a few hours of learning to write test cases for Launchpad. Gmb and I used etherpad to collaboratively write the test and I’ll be honest, that was great fun and very productive. Multiple tries and we finally got it right and he landed it in ec2 for the entire set of tests to run. The tests failed.

    I quickly popped by #launchpad-dev and wgrant and mwhudson helped me fix and wgrant landed it into ec2 for me. It passed and I did a qa on qastaging.launchpad.net! I’ll be honest that it was an extremely proud moment. This kind of made me want to fix another bug and I found bug 203478. This was something that did irk me before UDS. This time, [deryck][deryck] helped me with writing the test cases correctly first, watching it fail, fixing the bug, and then watch the test succeed. Did something hugely silly this time. I was running the test in a new branch and writing code in the devel branch, which would lead to test not being found, fix not being effective and a bunch of problems. Lesson learned is to use only my branch never the devel branch.

    Overall, I liked fixing LP bugs though I’ve been told that its a brave move. The Launchpad developers have been extremely friendly and welcoming for new community developers. I think I’ll take more time to figure out the more complex bugs, but its fun helping fix the ones I can.

    Edit: I missed mentioning – Launchpad can’t take a patch until you’ve signed the contributor agreement.