As the lead on the Launchpad Soyuz project, I have to deal with a lot of different tasks at the same time.Â I hate this as much as the next engineer, but burying my head in the sand and hoping things will just be all right simply won’t work.
At the end of the day I was feeling really unproductive and anxious about time wasted – I’d sit back and think, what did I do today?Â I felt really busy but I can’t remember what the heck I’ve been doing! Even worse, I’d leave my office at the end of the day in a bad mood and the 30 seconds it takes to get back into the house is not enough to ease the tensions, which made it hard to interact with my wife and kids.Â I want to reclaim that precious hour between finishing work and the kids going to bed!
So, what can I do about this?
1. I made a conscious effort to finish my major work items 30 minutes before leaving the office and to spend those 30 minutes doing all the simple tasks that you know you need to sort out but never get around to doing.Â This has had a dramatic affect on not only how I feel when I finish, but also I get the warm fuzzy feeling of having cleared out stuff that was niggling me at the back of my brain.
2. I have eschewed technology in favour of the classic pen and paper!Â I used to keep TODO lists electronically, but I found this hard to keep up with as they were always hidden by other windows on another virtual desktop somewhere.Â So now,Â each week I start on a fresh piece of paper and write down all the things I know I need to do, with a little box next to them.Â When I’ve done that task, I can put a great big satisfying tick next to it.Â At the end of each day I can see visible progress.Â This is very uplifting!Â I start a new sheet each week so that the TODO list is not cluttered, and it also forces me to think of anything I missed.
3. Take regular breaks.Â I know, this is easier said than done.Â Michael Nelson put me on to the Pomodoro Technique which while I don’t follow religiously, does give some effective tips on how to time-box your activities.
If you’ve got any more tips, or used mine and found them useful, I’d love to hear about it!Â Please leave a comment.
One of theÂ things that Launchpad is working on is the daily builds project, where we take a source branch, a recipe and turn it into a source package that can be built.
It turns out that this is quite hard because you need a secure environment to run the Bazaar recipe builder in.Â Fortunately we already have the Launchpad Build Farm!Â So, on January 11th the Soyuz and Codehosting teams, plus Launchpad Strategist Jono Lange and community contributor William Grant all met at the West Plaza Hotel in Wellington, New Zealand for a week-long coding sprint with the goal of getting a recipe build job through the build farm before the week was out.
The amount of work was pretty sizeable, but we’d already done quite a lot of preparatory work before leaving so that non-Soyuz developers could get involved from day one.
We split the task into a few areas:
Writing the code that runs on the build slave itself
Job candidate selection
Creating a generalised build infrastructure to make it easy to plug in new job types
The team split into coding pairs that mostly lasted the week and there were no bloodied noses!Â We had a strict rule that no pair could contain two people from the same Launchpad team, so that we could spread the knowledge around better.Â This worked out really well.
The local coffee shop certainly had plenty of custom that week!Â But by the end of it, on Friday afternoon at about 5:45pm, we finally got a recipe build job to run through a local Launchpad instance on William’s laptop and eventually turned into a binary package.Â Success!
We’ll be building on this work in the next couple of months so that it has a UI that will allow a user to click on a branch and get it built and uploaded to their PPA.Â It’s all very cool!
Finally, huge thanks to everyone involved, including the hotel.Â It was the best wifi/internet anyone had ever had at any hotel, ever.
Thanks to the hard work from everyone in the Soyuz team, the Soyuz effort to convert all our templates to the new 3.0 UI standard is all done!Â If you’re a beta tester, the new pages can be seen on on the edge service already.
Many of the changes were complete page re-designs based on better knowledge of use-cases that has been gathered over the years.Â There was certainly a lot of dust on some of them!
There are still some minor tweaks to be made, but all feedback is most welcome.
One of the things that’s frustrating about being a Launchpad Developer is waiting three hours for the test suite to complete.Â It’s always irked me that my quad-core sat there with three idle cores, and parallelising the tests would be tough, so I thought I’d try and partition the tests across some virtual machines.
I know pretty much nothing about VMs so I was pretty pleased to come across this JeOS VMBuilder resource!Â I got my first VM built pretty quick with it, but then, what next?Â The instructions don’t tell me how to actually run up my new VM.
So, I had a little chuckle to myself when I saw this blog post from Dustin Kirkland just appear!Â I’m going to try his suggestions out now and see how it works out, but it looks like just what I need.
`rescore` requires that you have buildd admin privileges.Â Â `retry` simply requires that you have permission to upload the source.
A more advanced example is to fetch all builds that are failed in a series:
>>> karmic = ubuntu.getSeries(name_or_version="karmic")
>>> failed_states = (
... 'Failed to build',
... 'Dependency wait',
... 'Chroot problem',
... 'Failed to upload',
>>> builds = 
>>> for build_state in failed_states:
This will potentially return builds that are superseded so they need to be filtered to see if the build’s source is published.Â This is something we’re going to fix soon, so that you can specify that you only want builds with published sources in the getBuildRecords() call.
Tech, Photography and Lyme Disease, from Brisbane.