Saturday, 25 July 2009

Wibble Wobble Gwibber

It happens to us all in the end. "No there is no point in being on FaceBook, Twitter is pointless", you know the drill. You are certain you do not need these things in your life but you sign up just "to be in touch with so and so". Before you know it you have about 20 accounts and no idea which one to check when, and little inclination to do so as time is so in short supply. Gah!

I have recently discovered Gwibber. A simple little desktop application which does all that checking for you and shoves all the interesting titbits in one box. Gwibber reads all your incoming updates and shoves them into a single personal timeline, even colour coding the entries so you can tell them apart. Want to reply to something just hit the reply icon and it sends the reply to the right place without you even needing to know which service they are from. What more could a minimalist want I ask you? Struggling with your feeds, give it a go.

Friday, 24 July 2009

Bookmark Knots

I have bookmark knots in my life. I have a laptop, a new netbook, oh another laptop, a media server on my TV. Err, plus my bookmarks are different on every single one of them. In fact I have given up cause I could never find the right one and deleted them from all but my day-to-day machine.

Gaining a new netbook has brought a new urgency to solving this problem. I want to be able to take my netbook away to conferences and yet I need that to be a workable environment. Bookmarks are key to my finding anything it seems, so I need to get those synchronised on both these boxes. As I am already owned by Google I started out evaluating the google task bar. It looks ok I guess but it adds a taskbar which on a netbook is like stealing half the screen, it also does not have sidebar support. On my netbook I have taken to removing all the taskbars and using the bookmarks side bar instead to gain some space, so whatever I found really needed to support those.

Enter GMarks. This Firefox extension basically replicates the Bookmarks menu and sidebar but synchronised with google bookmarks. It even seems to support a toolbar though I have yet to find out how one gets that to display. So far so good. I will let you know how I get on with it.

Playing with my Dell Mini 10v

I have been talking about getting myself a netbook so I do not have to lug my main laptop about when we visit family, or travelling to conferences. I have said I was going to order a Dell Mini 9 a few times. By the time I got round to ordering it the Dell Mini 10v had basically replaced it, sigh. Anyhow I really did order one. My 10v arrived a couple of days ago, and its prettier than I imagined. Say hello to Penfold.

So what is it like? Its very light and just that little bit bigger and more usable than the 9 I had seen. The keyboard is a decent size and the only keys which are not normal are the function keys which it seems I really do not use that much. A significant improvement over the 9's layout.

As a keen Ubuntu convert obviously I ordered the Ubuntu version which thankfully is still cheaper than the M$ loaded version, at least in the UK.
It had a Dell pre-install of Ubuntu based on Hardy. Although it seemed perfectly usable I wanted to see how well Karmic worked on this baby. A quick backup of the SSD and I was installing from a USB stick. Overall completely painless.

The only odd feature of this machine is the touchpad. The left and right clicks are activated by pushing down the corners of the touchpad. This has an odd effect as the buttons are in the active area of the touchpad and clicking tended to cause the mouse to jump, I will not even attempt to describe the gymnastics required to do a long drag.

I was resigned to getting a little travel mouse when using this thing but thought I would do a little googling first. This turned up a reference to an updates synaptics X driver from Alberto Milone. I have installed the xserver-xorg-input-synaptics package (only) from the PPA below:
That change seems to have sorted things out. The power of open source at work. Awsome.

Thursday, 16 July 2009

Karmic Kapers

I've been putting it off long enought, its time to upgrade to Karmic fully rather than woosing about running just the kernel. So today I bit the bullet and let update-manager move me up to Karmic. So far ... well I am able to post this so things aren't all bad. In fact so far things are pretty good. As I have an all Intel box here I have Kernel Mode Setting (KMS) goodness. Rather unexpectedly I have full compositing of opengl apps!?! What does that mean, well it means that I can move an glxgears window around without it making a mess, and even 'tilt' my compiz cube desktop and see those applications running on the surfaces of it. Most impressive.

On the negative side I have had a couple of odd moments. When quitting some full screen 3D games I have ended up with my main desktop resolution changed, in one case to 640x480 which was a challenge to sort out. Also my sensors config was dropped on the floor. Most oddly I had to remove my twitter and accounts from gwibber and readd them before they would do anything other than error on me.

Its probabally a bit early to recommend you come and join me in the wild-lands, but at least some of the wild animals out here are friendly!

Tuesday, 30 June 2009

Welcome to Whipper

It seems that we have a new member of the family. Whipper joined us today. Our new car! We have finally mini-sized our car portfolio, two for one. I hope she will enjoy playing with us :)

Karmic Kernel jumps to 2.6.31

So the 2.6.31 merge window has slammed shut, 2.6.31-rc1 has been tagged and released, and now the fun begins. I have just finished the job of rolling the Ubuntu kernel delta forward to the new kernel. So far my testing has been pretty positive for an -rc1 release:
$ cat /proc/version_signature
Ubuntu 2.6.31-1.13-generic
Now all I have to do is get the thing into the archive, expect this kernel shortly on a Karmic install near you. Be warned that KMS is enabled for both Intel and ATI radeon so if you have issues with X you might want to turn it off with i195.modeset=0 or radeon.modeset=0 as appropriate.

Tuesday, 23 June 2009

Meet your Upstream

Our desire to work with our upstream counterparts to bring new goodness to Ubuntu is often tempered by the sheer volume of change we are trying to bring to Ubuntu in a particular cycle. It is easy to focus on that work and forget that upstream is out there, and often better equiped to solve issues or provide advice. I have recently managed, indeed in places been forced by circumstance, to interact with upstream very directly on a couple of projects close to my heart, Kernel Mode Setting (KMS) and VFS union-mount.

At the recent UDS we had the opportunity to mix with a number of upstream developers, some involved in Ubuntu others simply invited for their insight into various subsystems. For me this was particularly relevant as the nominated KMS 'expert' on the Ubuntu kernel team! I was able to spend a number of hours discussing plans with these guys and getting to know them. Out of those discussions came plans to produce bleeding edge kernels containing updated Intel, ATI Radeon, and even Nouveau drivers for those brave enough to give them a spin. This has been hugly beneficial for us, getting testing on these code bases and allowing the userspace guys to get work out the kinks before we release KMS enabled kernels, so that when we do the general experience should be much better much earlier in the cycle. Win all round.

Elsewhere I have been involved in investigations into what we are planning to use as our union mount solution for Karmic. Upstream seems to be leaning towards a VFS based approach, VFS union-mount. We have been trialing these patches putting together test kernels to allow stress testing. Again providing vital early testing feedback to the maintainers and helping to improve the quality and increase confidence in the code. Again win.

Moving my work closer to the developers, often into their lap, is working well for me at least. No I am more involved with them I find them in their turn easier to deal with and generally more friendly. My advice, get out there and meet your upstream find out where their lap is and make yourself comfy.

Monday, 22 June 2009

Karmic Kernel Version

At the Ubuntu Developer Summit we had a session on the likely kernel version for the Ubuntu Karmic release. The decision at the session was that we would be aiming for a v2.6.31 based kernel for Karmic. This was based in large part on release timing, we are expecting this kernel to be released around three weeks before our beta freeze which gives us a fair amount of time to stabalise the kernel before the final release.

What goodness can we expect from the Karmic kernel. We are obviously expecting Intel support for Kernel Mode Setting (KMS) to be stable and enabled. We have some hope of seeing ATI Radeon KMS for at least some cards, indeed the first cut of this support has just been merged. We can expect some good improvements in the Intel graphics drivers as a whole. We also get some new in kernel compression LZMA which might allow smaller kernels and initramfs files saving a bit of space on the CDs. There is a pile of DVB updates merged already . Overall there is nearly 20k changes in already and the merge window is still open. Even staging drivers are getting some love.

Wednesday, 17 June 2009

Series specific mainline builds

I have been having requests to enable Kernel Mode Setting (KMS) in the latest mainline kernel builds so they can be used for testing on Karmic. The problem is that the primary consumer for these mainline builds is for testing on older series, mainly Jaunty, and that does not want KMS to be enabled. While the official kernel for Karmic should be very close to the mainline builds, kept up to date approximately weekly, it certainly is not a crack-of-the-day kernel for the development release.

It seems likely we need to be building these kernels both against the current stable kernel, and against the kernel configurations for the current development release. Likely that means we should be naming all the builds by the release for which they are targeted. More upheaval.

Friday, 12 June 2009

Hamster Wheels

Ever wondered just how much time you are spending on things at work? Constantly forgetting what you are working on, finishing the week with no idea what you contributed? Certainly that is my experience. I have been looking for some tool which would quietly remind me to record what I was doing. I think I might just have found it. Hamster.

The hamster applet sits quietly on my gnome menubar, showing what I am working on and how long I have been at it. A quick click and I can change activity. Once you have your tasks recorded you can then categorise them. For example I am interested in how much of my time is spent on Development tasks and how much on Maintenance. Needless to say it produces pretty bar charts for review. Overall an interesting app.

Thursday, 11 June 2009

LZMA Compression for the Linux Kernel

With the release of the 2.6.30 kernel we now have native support for Lempel-Ziv-Markov chain algorithm (LZMA) compression. This offers something like a 30% improvement in compressed size over GZIP compression (used for kernel image and initramfs compression). The downside is that decompressing LZMA data uses around twice as much CPU as compared to GZIP. Also compression is much slower than GZIP.

What does this mean for the kernel?
Well for one it means it is not in the least bit obvious whether switching compression of the kernel and initramfs to this new compression format is going to be beneficial on average. Yes they would be smaller, but they would also take more time to extract especially on slow hardware. The key metric is the overall time taken to load and extract this pair and that is not easy to measure. Obviously we want to enable support for this new compression format, but making a change to that format will take more research and quantative comparisons.

ATI Radeon and KMS

We are expecting to see KMS support for at least some ATI cards by the time the Karmic Koala releases. As part of that we have been playing with previews of ATI KMS support. As a kernel junky I have pulled the updates for ATI Radeon and applied them to the latest Karmic kernel and built some test kernels. Initial touch testing by the X-swat team seems to show that its not in that bad a shape.

With a whole kernel release to stabalise this stuff I am pretty hopeful that we should have something stable for Karmic. Of course that does rely on the support being merged in the v2.6.31 merge window, we shall know in the next few weeks.

If you are keen to try out ATI Radeon KMS you can find kernels with this enabled in my KMS PPA.

Friday, 5 June 2009

Kernel Mode Setting

There has been much hype over Kernel Mode Setting (KMS) support in the Linux Kernel. KMS is claimed to improve the boot experience, speed up boot and suspend/resume, make suspend/resume more reliable, improve crash reporting, and make you breakfast in bed. I was therefore somewhat sceptical that it would be so world changing.

During the recent Ubuntu Developer Summit I had the opportunity to be involved in planning for the kernel side of KMS and had the chance to see some machines setup with KMS enabled. I can only say I was impressed with the improvements I have seen. Ok it does not yet seem to make my breakfast, but the rest of the claims seem more than justified. Even without updating the splash screen support to use Plymouth we were seeing a vastly less blinky boot sequence and resume from suspend which seemed almost instant, the screensaver lock being visible in the time it took me to open the lid.

There is a lot of work still to do of course. This is all very fragile only supporting Intel hardware as I write. We do hope to have at least ATI support before Karmic Koala is released (though that depends on how quickly radeon support gets merged). Also getting the right bits together is non-trivial. You need an appropriate kernel, updated X and mesa, some manual configuration etc. But we are planning to put together a PPA with the required bits and document things better. Watch out for further announcements.

Tuesday, 2 June 2009

Kernel Crack of the Day

Some time ago the Ubuntu kernel team started generating installable mainline kernel builds. These are kernels built directly from Linus' tree with no Ubuntu modifications. These are generated from each tagged release which includes all full kernel releases (2.6.x, 2.6.x.y) as well as the release candidates (2.6.x-rcN). These kernels have proven very popular both with people wanting support for the latest hardware and as a basis for finding the source of bugs.

As an experiment we are expanding the scope of the mainline builds to include builds of the daily snapshots of the tip of Linus' tree. These are generated every 24 hours where updates are present and are published in the mainline builds archive as normal.

For more information on what mainline builds are, why you might want them, and how to obtain and install them can be found on the Ubuntu WIKI on the mainline kernel builds page. Enjoy.

Monday, 1 June 2009

Ubuntu Developer Summit (Barcelona May 2009)

My second Ubuntu Developer Summit (UDS) is over. I think I need a week sleeping to let the sheer volume of information to clear from my mind before I can think about anything else. This UDS seemed bigger than the previous one. More tracks, more talks, more information, and more overload. But that has to be seen as a positive we are trying to tackle more and achieve more. At least this time I knew what to expect and was able sift the deluge of information and contribute to the event. It was great to see so many dedicated Ubuntu contributors and fans all in one place, to meet those people who I have been working with regularly.

As a member of the Ubuntu kernel team my focus was on the kernel track, particularly on the subjects I am focused on for this cycle. Though this time round the team did try and make sure we were able to escape our own sessions and get representatives out to other tracks so we could find out what the rest of the distro is planning to do and how that might affect us. They are after all our customers, consuming our kernels.

A number of topics caught my eye during the week. There was the drive to improve boot speed, some pretty aggressive boot speed targets are being banded around. Also plans to shift to grub2 as the default boot loaders bringing internationalisation and perhaps allowing lilo to be retired. The introduction of Kernel Mode Setting to improve boot experience. Plus cloud computing and how that will change both what is possible and our own workflows. All in all a week well spent.


I am an Ubuntu Kernel Developer employed by Canonical to work on the Linux kernel full time. I work both with upstreams to test, fix and intregrate new features, as well as with our user community to find and fix issues they are seeing. We as a team strive to make Ubuntu as good a disto as it can be, as feature rich and reliable as possible. I enjoy my work!