Monday, September 20, 2010

Plans for the next cycle

So it's that time of the ½ year when one starts to think on what to spend his next months. Of course it will depend on what my employer thinks it's best, but this is what I'm thinking right now.

Port Sugar to telepathy-glib: right now Sugar uses Telepathy via python-dbus, which is a quite low level API. The code could get considerably shorter and simpler by using the higher level API in telepathy-glib. For that, we would need to use gobject-introspection because there are no plans for static bindings for Python.

Expose extended contact attributes through an official addition to telepathy-spec: Right now Sugar is using an extension to telepathy-salut and telepathy-gabble for discovering additional information about the online contacts. In our effort to make Sugar a regular Telepathy user and reducing the maintenance burden of such extensions, we should move to use only official additions to telepathy-spec.

Expose activities through an official addition to telepathy-spec: In Sugar you can discover which activities are being publicly shared by your contacts, join them and also send and receive private invites. This is basically announcing which applications running in your desktop have collaboration capabilities by means of IM channels. Same as above, we need to move to use interfaces of more general use.

Port Sugar to GNOME 3: Sugar's cycle is synchronized with GNOME, Fedora and Ubuntu so each release can be more easily packaged and delivered by distros. Though Gtk+2 and Gtk+3 are installable in parallel, the lamentable state in which the stable Python GNOME bindings are means nobody is there to maintain all the bindings and much less for wrapping new APIs such as GSettings. For the sake of moving along with our platform, we'll have to port Sugar and all the activities to GNOME 3 through with gobject-introspection. PyGObject is very close to have feature-complete support for introspection but still will take quite a bit of work to make it stable.

Talk about Sugar in Software Freedom Kosova 2010 Conference

FLOSSK has invited me to talk about Sugar in the upcoming Software Freedom Kosova 2010 Conference that will take place next weekend (25th-26th September) in Prishtina.

Will be a general presentation of Sugar but if you are attending I will be happy to chat as well about any other subjects related to free software, GNOME, Python, etc.

Friday, September 10, 2010

Fetching patches from GMail

We are experimenting in Sugar with moving to a patch workflow closer to that of the Linux kernel, until know we have been tracking tickets in trac.

Since I still haven't managed to drop GMail because of how its conversations feature make so efficient to read mailing lists, I had been copy & pasting the unformatted patches, be them inline in the message or as attachments.

There's clearly quite a bit of room for optimization and after being so spoiled by git-bz (thanks Owen!) and failing to find something close enough to what I wanted, I decided to take this script and adapt it to my workflow.

It's working quite well for just fetching patches from GMail and I'm already thinking of adding some features such as suggesting Reviewed-by and Test-by tags, and closing the associated trac ticket. It would be cool as well to automate a bit patch reviews so I can do it from the command line without having to use another full-fledged mail client. I'm also considering dropping libgmail and move to POP and/or IMAP.

Here is the code in case it's of use to anyone else.

Thanks to Ted Kulp for the initial script.

Tuesday, September 7, 2010

Open GNOME/Sugar position in Greece

A group of people passionate about improving education is working on implementing OLPC and Sugar technologies in Greece and they have an open position for someone with GNOME knowledge.

This is an excellent opportunity to hack on free software, improve educational opportunities in your country and get paid for it. These are the areas of work identified to date:
1. Better localisation of Sugar and Sugar activities. This would involve Sugar enhancements such as:
* spell checking facilities all around the platform
* sugar-wide dictionary
* new pedagogical activities (i.e. an activity that helps children with dyslexia)

2. Sensors and based on existing platforms (scratch) or creating musical activities using sensors (or enhancing TamTam).

3. Repackaging wikipedia, in order to include various Balkan language resources. Probably adding further material (ex, index of Internet archive or Gutenberg project)

Sugar is closely based on GNOME and is mostly written in Python. The job will require working within upstream communities and contributing back.

If you are interested, contact Thanasis Priftis @ thanasis.priftis at