Monday, December 06, 2010

Brainstorm Idea #25877: GNOME System Monitor lacks in-depth information

One of the popular Ubuntu Brainstorm ideas is to improve GNOME System Monitor.  This has been reported to the upstream project, and the project developers agree with the concept.

There is a proposed design: (no attribution as it's not clear who made this)

How can you get involved?

If you have some coding skills, then consider making a patch to fix this!  This is a well-defined feature request, and should be relatively easy to get to work.  Here's how:
  1. Comment on the bug that you are interested in working on this.  Ideally the GNOME System Monitor developers will be able to help you, but I am also watching the bug and willing to help out.
  2. Get the dependencies required to build the GNOME System Monitor.  On Ubuntu this is as easy as: sudo apt-get build-dep gnome-system-monitor.
  3. Check out the upstream: git clone git://
  4. Build and test it: ./ --prefix=`pwd`/install ; make ; make install ; ./install/bin/gnome-system-monitor.
  5. Make some changes and repeat from step 4 until everything works.
  6.  When you are done, do a git commit -a; git format-patch origin and attach the patch to the bug report.
Happy coding!

Thursday, November 11, 2010

Using the latest SANE drivers in Ubuntu 10.04, 10.10

If you are running Ubuntu 10.04 LTS or 10.10 and your scanner is not supported, then you can try the latest releases of the SANE drivers from my sane-backends PPA.  The following steps from the terminal will enable it.

$ sudo add-apt-repository ppa:robert-ancell/sane-backends
$ sudo apt-get update
$ sudo apt-get upgrade

Please feedback to the SANE project if you continue to have problems!


In the Ubuntu Desktop team we're currently packaging GNOME 3 components for Ubuntu as per the blueprint decided at the last Ubuntu Developer Summit.

If you're already brave enough to be running Natty, then you can additionally try some new GNOME 3 applications by adding the GNOME3 builds PPA into your sources.  Expect the usual - the packages may not work perfectly, and it's non-trivial to downgrade, so be warned!

We're going to evaluate these packages in the PPA and decide how many are appropriate to include in Natty.

LightDM status update

It must be time to update on how progress is going with LightDM.
  • PCMan from LXDE wrote an awesome new greeter that uses GtkBuilder for layout. This allows you to easily theme up new greeters, the default one being the old Industrial theme:

  • There's been some interest in writing a QT based greeter, and I hope we'll be able to show that working soon.
  • I've started to write some documentation.
  • non-proposed LightDM for inclusion in GNOME 3 (I don't feel it will be sufficiently ready in time).  This raised the idea of should we switch display managers in the future and got some good feedback.
  • We had a UDS session on LightDM which also gave some good feedback.  The outcome is that I plan to make LightDM easily installable in Ubuntu 11.04 as an alternative display manager.

Friday, October 29, 2010

How I Learned to Stop Worrying and Love the Vala

When I first heard of Vala I was not impressed. A domain specific language? That seems like a dead-end; how would we every attract developers to the GNOME platform?

After a while of thinking about it I realised that GNOME already was in this position. GObject+C already is a domain specific language. New developers already have to learn GObject and finding developers who both are proficient and willing to use C can be a struggle.

Recently I have been working on more and more with Vala and porting applications from PyGTK/C to it. Before Vala, PyGTK had a lot of advantaged over C; now the main differences are easy debugging and fast development (Python) vs fast performance and type checking for easier maintenance (Vala).

So, my recommendation is if you have a desktop application that uses GObject APIs* and you are happy with debugging tools like gdb and valgrind then consider using Vala!

* I was working on porting LightDM to Vala but old system APIs were causing difficulty. If you have this case consider wrapping them in C+Gobject first and then interfacing to that.

LightDM UDS Session

If you're interesting in any of the following:

Then come along to my session at UDS. It's at 5:10pm EDT and you can join remotely by connecting with IRC to #ubuntu-uds-bonaire2 and listening in to the audio stream.

Everyone is welcome and I'm particularly interested in gathering requirements for derivative distributions.

Wednesday, July 28, 2010


I'm at GUADEC all this week so if you have any questions/comments about Ubuntu Desktop, LightDM, Simple Scan or GCalctool feel free to find me!

Monday, July 05, 2010


I'd like to announce a side-project I've been working on: The Light Display Manager (LightDM).


  • Fully themeable (easiest with the webkit interface)
  • Cross-desktop (greeters can be written in any toolkit)
  • Low-complexity codebase
  • Standards compliant (PAM, ConsoleKit, etc)

Tell me about themeing...

This is the part I'm most excited about...

You can try the webkit interface online today. My HTML/CSS/Javascript skills are not great so please take that page, copy the lightdm.js include line (simulates the lightdm interface) and write an awesome interface! Please leave a comment here if you make a cool one. Idea - make a greeter that integrates with Facebook.

Got bigger plans? Read the libldmgreeter reference. Idea - make an OpenGL interface that uses Mii avatars.

libldmgreeter not in the right language for you? It supports GObject introspection so you should be able to write a greeter in any introspetion enabled languange (e.g. Python). And the interface to lightdm is D-Bus so you can go more direct if you want.

Wait, what is a display manager again?

The display manager handles the running of the X server (graphical display) on your system. It also provides the login screen (greeter) to authenticate users.

Who is developing this?

This is a personal project developed in my own time. Patches, feedback and help welcome.

What about the other display managers?

LightDM aims to support all use cases of the current display managers, from embedded to desktop systems. LightDM is still in early development and not suitable for use in production systems.

Where can I get it?

Source is in Launchpad (bzr clone lp:lightdm) and tarball releases.

If you are using Ubuntu (Lucid or Maverick) you can install it from a PPA:
$ sudo add-apt-repository ppa:robert-ancell/lightdm
$ sudo apt-get update
$ sudo apt-get install lightdm lightdm-theme-webkit lightdm-theme-gnome

You can test lightdm by running it in a window:
$ sudo apt-get install xserver-xephyr
Create the file lightdm.conf:
$ lightdm --test-mode -c lightdm.conf

11/11/2010 - Updated test instructions

Tuesday, June 22, 2010

MMS internet radio in Rhythmbox

If you listen to MMS internet radio in Rhythmbox and get a "Couldn't start playback" error, there is a workaround. It could be that your stream is actually RTSP - change the mms: prefix to rtsp.

e.g. mms:// -> rtsp://

This is correctly handled by GStreamer but Rhythmbox currently does not handle this. Other applications like Totem and Amarok work fine.

Thursday, June 10, 2010

PyGI in Maverick

PyGI is now available in Maverick, you can install it with the following:

$ apt-get install python-gi gir1.0-gtk-2.0

and then write applications like this:

from gi.repository import Gtk

def destroy_cb(widget):

w = Gtk.Window()
w.connect('destroy', destroy_cb)

l = Gtk.Label()
l.set_text("Hello World!")


Have fun!

EDIT: Updated to note you need to install the GI package for the module you are using.

Tuesday, May 18, 2010

GObject introspection in Ubuntu

At UDS we planned discussed how Ubuntu will support GObject introspection. I am currently working on packaging PyGI for Maverick.

You can read more about this in a blog post from Tomeu Vizoso who came to the session and is an upstream developer for Telepathy, GNOME and Sugar and helped inform us about GObject introspection and PyGI status.

Tuesday, May 11, 2010

GNOME Games Help

If you've just read Paul Cutler's blog post about Mallard documentation and want to get involved, consider translating some of the GNOME Games help!

The games are a good project to start with because their help is relatively simple.

I've opened bugs against Sudoku, Mines, Mahjongg and Quadrapassel (Tetris), leave a comment if you start working on it.

To get started look at the existing documentation either by running the games or browsing the help in git. Learn about Mallard by doing the ten minute tour.

Sunday, May 09, 2010

GCalctool 5.31.1

GCalctool 5.30 was a case of two steps forward, one step backwards as I didn't have the time to complete all the changes I had planned. GCalctool 5.31 has these changes. Note that this is an unstable release at the start of a development cycle; the design will be refined before the 6.0 release (GNOME 3.0).

Introducing basic mode:

The most noticable change is the use of colour thanks to a tip from Chris Lord.

I've also added memory operations and squares and square roots. I'm not sure if this is too much (or too little) for "Basic" - feedback welcome.

Advanced mode shows a lot more functions. Also of note is the ability to see angles in degrees at any time:

Programming and financial have similar changes but need more work. Number bases are easier to work with than in 5.30.

The internal changes that you can't see in a screenshot:
  • It now starts fast. Really fast.

  • It's a well behaved GTK+ application. This means that keyboard input and accessibility should work without any problems.

  • The code is modular. The calculator widget could be split out and used in other applications.

Please try it out! If you are using Ubuntu Lucid you can try it using the GCalctool PPA.

There are a number of design issues that I don't yet have good solutions for, ideas and mockups welcome:
  • I'm not sure of a good label for the memory buttons, the current labels don't feel right.

  • There's not a good way to delete variables/add new ones. I've been trying to integrate this into the popup menus (GTK+ is getting in my way).

  • The colours are done using primary colours and blending them with the GTK+ theme. I tried using Tango colours but they looked worse to me.

  • While removing the spacing between the buttons has reduced the optical illusion of the grid it still remains to some degree. I'm not sure if I can get around this without making custom widget (I'd like there to be no space between groups of buttons). Note the buttons do not have to be in a grid so please do a mockup if you have a good idea.

  • The programming bit editor is too big.

Monday, April 19, 2010

Simple Scan 1.0

Last week I hit 1.0* for simple scan. It's not perfect but it appears to be reliable and is an improvement on the existing scanning experience.

I've prosed simple-scan for GNOME 3.0 and will be following the GNOME release schedule from now on (next release will be 2.31.1).

*Make that 1.0.2. There's always a few last minute fixes :)

Saturday, April 03, 2010

GCalctool 5.28 in Ubuntu 10.04 LTS

I've made a PPA containing GCalctool 5.28 backported to Ubuntu 10.04 LTS. To install use the following commands:

$ sudo add-apt-repository ppa:robert-ancell/gcalctool-528
$ sudo apt-get install gcalctool-528

(Provided so you can run the Karmic gcalctool in Lucid if the interface is more useful to you).

(UPDATE: We've decided to stick with GCalctool 5.28 for Lucid so this PPA is obsolete).

Friday, April 02, 2010

SVG themes for glChess

Thanks to a a patch from Alexey Kryukov glChess now supports themes in SVG. Thanks Alexey!

Embrace Change

This is a letter to all those who think change = bad.

If you don't want your software to change then don't upgrade.

If you want your software to improve then expect (and enjoy) change.

If a feature is present in a version X, then that feature may not exist in version X+1. This is not a regression - applications don't exist to provide features; they exist to serve the users that the application is targeted at.

Default applications are there to serve the greatest number of users. In both the proprietary and open-source worlds there is often a "basic" and an "advanced" application for a given task. This is a good thing - trying to please everyone isn't as good as focussing on one group.

If there is an application that better serves your need then use it. (If you are an advanced user then use an advanced application).

I'm personally most interested in writing applications for the beginner to intermediate user. I'll relate this to the applications that I develop:
  • Simple Scan is not a replacement for xsane or gscan2pdf. But it is great if you have a picture you want to upload to Facebook.

  • GCalctool does not have the features of Qalculate or wxMaxima. But it does solve common equations.

  • glChess would not be used by a experienced chess player like xboard. But it is a good introduction to the game of Chess.

Monday, March 29, 2010

GCalctool 5.30

GCalctool 5.30 is now released. Gcalctool is the default GNOME calculator and this is also the default in Ubuntu.

Both GNOME and Ubuntu use a synchronised six month release cycle.

  • The great thing about regular releases is... Predictability!

  • The bad things is... You may not get all the features you wanted done in one cycle...

Here's my summary of what to expect in GCalctool 5.30.

The good:

  • The display now acts like a standard text entry (no obscure shortcut keys)

  • Equations look like correct mathematical syntax (π, |−4|, 6×10⁻², sin⁻¹ x, 2x²y, 3E₁₆)

  • Polynomials can be solved (x²+2x−4, (x+1)(x−2))

  • There is no limit on the number of variables (x=55, value=21)

  • Bases can be mixed in the same calculation and any base between 2 and 16 can be used (120₃+3E₁₆)

  • Units can be converted (3 feet in centimeters, 3.22 EUR in AUD)

  • The help is now topic based (Mallard format)

  • The UI has less visual clutter:

The bad:

  • Hexadecimal numbers are harder to enter (you need to explicitly add the base 16 suffix (Ctrl+H) to them).

  • Variables can't be removed (the workaround is to edit ~/.local/share/gcalctool/registers)

  • There is no support for functions (you should be able to enter f(x)=6x+2, f(3))

  • There is no GUI for non-currency conversions (use the keyboard)

  • Complex numbers weren't working in time for release:

The ugly:

  • Converting between number bases is unintuitive (enter number then press base buttons to change)

  • Programming mode is a mess of buttons (needs complete redesign for GNOME 3.0):

  • Financial mode is crying out for some graphs (it would be better to show financial models and adjust the values)

Saturday, March 06, 2010

Simple Scan 0.9.6 (1.0 Release Candidate)

A few days ago I released simple-scan 0.9.6. This version is the 1.0 release candidate.

There are two things I'd like to fix before 1.0:

  • There may be some issues with scanning from an automatic document feeder (ADF). Please comment on bug 512553 if you are having problems. (I don't have an ADF to test).

  • The generated PDF files do not JPEG compress the images. This is because the Cairo renderer does not support it. If you know of a C accessible library that can do this or even how to hard code this (the PDF files are just a single image per page) then please comment on bug 534122.

Tuesday, March 02, 2010

Friday, February 19, 2010

Jobs at Canonical

If anyone is looking for an open source job at a great company, make sure you check out the available jobs at Canonical. There are 34 open at the time of writing. I found about my job on Planet GNOME a year ago and I'm glad I did!

Mallard Documentation

GCalctool now has a new help document in Mallard format. This is my second Mallard document I've written, the first was the help for Simple Scan.

Wow. Mallard is really, really easy to use!

Mallard documents are topic based which basically means writing a few paragraphs on each activity your readers can do with your application (like how to use trigonometric functions or an automatic document feeder). I wrote the topics over a week with a text editor and marked them up at the end.

Testing is great. Just run yelp with the directory the files are in to browse the documents immediately.

If you want to contribute, take the ten minute tour, pick your favourite GNOME application, ask if they've got documentation that needs updating and get writing!

(I recommend starting by copying an existing document; I used the gbrainy help as a basis for the Simple Scan and GCalctool help).

Thursday, February 18, 2010

AdWords Experiment

Google keeps bugging me to open an AdWords account (via Google Analytics, which is a lot of fun). So with my $75 free* credit I am going to join the advertising game and advertise this blog! It will be interesting to see how powerful advertising is...

So, if you got here via a Google ad. leave a comment!

Maybe I should have advertised a rickrolling site instead... :)

*Free if you include having to spend $20 to set up the account.

Monday, February 15, 2010


Tired of not being able to configure many settings for GDM in Karmic? Two community members; Garth Johnson and Nick Glynn have developed a great tool called gdm2setup which gives you a lot more control:

Try it out from their PPA!

Saturday, February 13, 2010

Simple Scan 0.9.0

Here it is; feature complete and just some minor bugfixes from 1.0:

If you haven't tried it, it comes by default in Ubuntu 10.04 (Lucid), you can enable the PPA in Ubuntu 9.10 (Karmic) by going to System>Administration>Software Sources>Other Software>Add and adding ppa:robert-ancell/simple-scan then installing the simple-scan package.

Any other GNOME system should be able to build it from source.

From now to 1.0 I wont be adding any new features, just fixing bugs and polishing.

Post 1.0 the major features I'm most interested in are colour management, optical character recognition, integration with gscan/gnomescan, integration with photo management software and storing density information in saved files.

Please help if you can!

Thursday, February 04, 2010 2010

Here is a summary of the interesting things I saw at 2010.

Interesting Projects

Weta Digital (i.e. the New Zealand graphics company behind Lord of the Rings, Avatar) about their 35,000 core server farm all running Ubuntu! And if you want to do some rendering with the old server farm Green Button bought it any you can render directly from Blender at 1c US per CPU minute.

Albany Senior High School is a New Zealand school who have successfully implemented an entirely open-source infrastructure running Ubuntu Desktop and Mandriva servers.

The Village Telco project showed off their Linux based VoIP mesh network solution for small villages.

There seemed to be a rocketry/Linux theme going on. The White Label Space project talked about their ambitious space program funded by advertising and the TeleMetrum project talked about using Linux and open hardware to make telemetry for amateur rocketry.

FOSS and Proprietary Software

Jeremy Allison from Samba talked about the elephant in the room (Microsoft) and how we shouldn't forget their threats against open-source, especially in the light of the recent Tom-Tom patent lawsuit. However he also said that the best thing to do was keep making better software as not doing that is the more likely reason for us to fail.

Benjamin Mako-Hill talked about Antifeatures - in where he described how proprietary software often comes with features you don't want (e.g. digital rights management) and how you often have to pay to remove these features (for example paying extra money to Sony to get a computer without crapware).

I sat in on some government and open-source talks and the short answer seemed to be "policy was good but not seeing major uptake".


Python 3.0 looks really well managed. There are a number of tools now available to transition from Python 2.0 to Python 3.0 and even tools to produce Python 2.0 compatible applications from a Python 3.0 codebase. The improvements by Google in Unladen Swallow are planned to be integrated into the official Python 3.0. There will be no syntax changes until Python 3.3 (a duration of two years) which will encourage Python 3.0 uptake.

The PyPy project talked about what they do. I thought they were a Python interpreter implemented in Python but in fact they are Python interpreter generator. That can generate different types of interpreters (e.g. stackless)... For different targets (e.g. C code, .NET, Java bytecode)... for different dynamic languages (e.g. Perl). So a really interesting technology. They see themselves as more of a research project at the current time.

In graphics the Cairo project talked about accelerating 2D on the GPU. The Clutter project mentioned their release cycle is now synchronised with GNOME/Moblin.

The pandora-build project talked about how they'd made autotools easier to use. A quick survey of the audience showed everyone uses autotools but no-one understands it. By using pandora-build you can write less autotool magic (pandora sets up sane defaults and provides simple macros for common things) and are have a more portable build system (pandora handles multiple versions of autotools).


Lucas Nussbaum talked about the Debian QA team and tools (e.g. Ultimate Debian Database, debcheck, piuparts, lintian, DEHS, bapase, MIA team) they have produced to keep track of what is going on in Debian. He also talked about the relationship between Debian and Ubuntu which seems to be in reasonable state. There was some concern that Ubuntu did not provide many resources to help Debian and that Debian did not want to become Ubuntu's "package supermarket".

The vcs-pkg project showed their aims in making moving patches between distributions easier.

The Launchpad developers talked about how they are improving integration with external bug trackers and translations.

And finally; When the videos are available I highly recommend watching Glyn Moody's keynote talk. He talked about how open-source has influence other revolutions of sharing that have occurred in the last 30 years. He skilfully shows how FOSS is more than just about software.

Friday, January 15, 2010

gbrainy in Lucid

Ubuntu Lucid Alpha 2 has just been released and a new addition is the mind puzzle game gbrainy.

You can read more about the latest release in a blog post by Jordi Mas (the author).

gbrainy is a great game and we want to find any problems before final release so please try it out! If you don't already have it installed then you can get it from the Ubuntu Software Centre (search for gbrainy).

If you find a problem the best thing to do is file a bug in GNOME. If you don't have an account on GNOME Bugzilla but do have a Launchpad account you can file a bug against Ubuntu. I am working on getting the "Report a Problem" menu entry into the help menu which will make this even easier!

Have fun!