Last week was Ubuntu Developer Week, one week full of tutorials, workshops and presentations with the intention of explaining better what’s going on in the world of Ubuntu development, to ask, learn, get to know and enjoy. These weeks are always over much too quickly, but the good news is, 1) we have logs of all the sessions, their questions and answers (links below) and 2) there’s going to be another one next cycle!

This post got a bit longer, so grab a coffee, sit back and check out what happened last week. (Links go to the logs of the session in question.)

Monday, 11th July 2011

Getting Started with Ubuntu Development - It was my turn to hold the first session at UDW and luckily it was a double session. I just reviewed the log of the session and realised that I had answered 56 questions. We covered the big picture overview of Ubuntu, how it’s developed, what to pay attention to and managed to set up our development environments together. It was a bit hectic, but I had loads of fun!

Ubuntu Desktop Q&A - When we announced this, we said there would be “Ubuntu Desktop engineers” – well, it turned out that Sébastien “seb128? Bacher single-handedly ran the session and did a great job explaining what’s planned for the Oneiric Desktop, why and how the Desktop team works.

Packaging Mono for the greater good - Jo Shields was up next and talked us through Packaging Mono. I’m glad he took the time to talk everybody through the very basics of Debian/Ubuntu packaging first and then pointed out how packaging Mono is special. I hope a lot of people got interested and will help Jo and the Debian/Ubuntu Mono team moving forward.

Python packaging with dh7 and dh_python{2,3} - Barry Warsaw had the last session of the day and explained what state-of-the-art Python packaging looks like. Debhelper 7 and the new dh_python makes this a lot easier and there’s still a lot to be done to bring our existing packages up to the newest standard. (Talk to Barry to find out how to help!)

Tuesday, 12th July 2011

Getting started with merging packages from debian - Bhavani Shankar kicked off the day and chose a topic which is of interest for contributors to Ubuntu development: What do I do with changes in Ubuntu that are not immediately applicable in Debian? How do I still make sure we get code updates from Debian?

Porting from pygtk to gobject introspection - Martin Pitt gave a great session which explained how to port code that still uses PyGTK to PyGI to make full use of GObject Introspection. Very informative if you want to help out porting old code to the newest state-of-the-art.

Working with bugs reported by apport - Brian Murray was up next and explained how to get the most out of all the automatic information that gets added to bug reports. Bug patterns, duplicate detection, how to get package-specific data added to the bug report and much much more. Read this if you want to make more sense of the bug reports a package you’re interested is getting!

Fixing obvious bugs in Launchpad - Deryck Hodge has helped to see many Launchpad releases to the door and knows how to avoid common pitfalls when hacking on Launchpad. If you ever had small issues in Launchpad you wanted to fix, go and read this session log to make sure you get your fix through review quickly and integrated soon.

DEX – how cross-community collaboration works - Nathan Handler took the last session of the day and talked us through the DEX project, what its intention is and how to get involved to particularly get Debian and Ubuntu closer to each other. Patches, Debian Bug tracking system, future plans of DEX, everything included in the logs!

Wednesday, 13th July 2011

Getting Translations Quicker into Launchpad: Upstream Imports Sharing – David Planella kicked off day 3 by giving an interesting session about translations in Ubuntu, Launchpad and how upstream fits into the picture. He explained in detail what message sharing is, what the benefits are and how to enable it for a package/project you’re interested in. To get the latest translations goodness, make sure you check out the log.

Debugging the Kernel – John Johansen was up next and talked about the Ubuntu Kernel, how to build it, how to bisect, and the general work flow of the Ubuntu Kernel Team. What was particularly useful was not only to get a first-hand look on how it all works and which commands to run, but also to get all the links to additional information on the topic.

dotdee – break a flat file into dynamically assembled snippets – dotdee helps you switch flat configuration files or simple scripts to a more dynamic setup, where new bits can be put into separate files in a .d/ directory. Dustin Kirkland did a good job of explaining how it works and you can best make use of it. This will hopefully give everyone more flexibility and make management of tools and services much much easier.

Introduction to LAVA – Zygmunt Krynicki was up next and talked about the project he is currently working on: LAVA. It’s used within Linaro to organise and manage the huge efforts around QA and certification. In a world with lots of changing code and different configurations it’s important to maintain an overview, get clever reporting and understand what changed where. If you’re interested in using this for your project, go and have a chat with Zygmunt and read the log.

Introduction to Upstart – Mark Russel took the last slot of the day and talked with great energy about Upstart. How Upstart works, how to make use of it, and talked us in great detail through a live example. Well done, Mark!

Thursday, 14th July 2011

From idea to app in no time with QML – Olivier Tilloy started the day with an excellent session about how to use QML. He had written a small application from scratch and by going through the revisions of the code showed how small code changes immediately and very easily result in great new functionality.

Deploy your App to the cloud, Writing Ensemble formulas 101 – Next up was Ahmed Kamal who also picked a small but very powerful example to showcase the power of Ensemble. Just a few simple commands and you not only deploy Drupal but also keep it scalable very easily. Awesome!

Fixing common ARM build failures – Jani Monoses had the next slot and talked about compiling code on the ARM architecture. It was nice to see that it’s sometimes only small things in the code that need to change so you make the package not only build on i386 and amd64, but also on ARM. Way to go!

nux – visual rendering in UIs made easy – Graphics mastermind Jay Taoko talked us through nux and how it is used in Unity currently to very easily render graphics without having to dive too deep into OpenGL. It’s very elegant and a lot of fun. Jay was a lot of fun too and explained how Ubuntu worked for him having a Windows background.

Java library packaging with maven-debian-helper – James Page took the last slot of the day gave a very informative overview over Java library packaging. It’s clear from the session that it’s not really as daunting as you might think it is. Read the log and find out how you can help James with Java packages.

Friday, 15th July 2011

Fixing bugs in compiz – As Sam Spilsbury lives in Australia, he got up very very early for this session (or stayed up very long). This seemed to have no effect on his ability to give an interesting and fun session though. Apart from his love for vegetarian food we learned also learned about Compiz, how to debug it and how to get involved and fix bugs.

Helping develop the Ubuntu Websites – Michael Hall was up next and talked us through a selection of Ubuntu Websites that make use of Django and are maintained as a team effort. One example was the LoCo Directory which is very easy to get involved with.

Bug Triage Class – Carlos de-Avillez and Pedro Villavicencio are quite the double act. They’re not just fun to listen to, but they also did a great job explaining how to make sense of a huge mass of bug reports, how to stay productive and how to get in touch with the team.

Lubuntu Development – Phill Whiteside works with the Lubuntu team on bringing LXDE goodness to Ubuntu. Phill put together a quick presentation that should make it easy to understand what Lubuntu is doing, what the plans are and how to get involved.

Project Lightning Talks – Continuing our good tradition of Project Lightning Talks we had great fun again and had quick presentations of devscripts and ubuntu-dev-tools, Melia, tomboy-pastebinit and ibid. Also the idea of reverse lightning talks was discussed, so watch this space to find out what we’re going to come up with next time.

Dev developer devweek