Jan 23, 2009

Some More Software

As was the theme of yesterdays post, here comes some more software that I have hacked on recently and can now be found on Github.

osm-gps-map osm-gps-map is a Gtk+ widget (and Python bindings) that when given GPS co-ordinates, draws a GPS track, and points of interest on a moving map display. It Currently supports a number of different mapping sources;

  • openstreetmap (default)

  • openaerialmap

  • maps-for-free

  • satellite maps from a number of proprietary providers

It also has the following features

  • Intelligent caching of maps, including the ability to request a specific area of the map to be cached ahead of time

  • Recording of points of interest on the map (and the ability to add arbitary pixmaps at those points

  • Automatically draws a GPS track (a line showing the history of past added points)

  • Automatic centering on new GPS points

  • Support for multiple other tracks of co-ordinate points

  • Adjustable Zoom

  • Includes a comprehensive example

  • Simple, flat API

I have been running it on a number of embedded boards (beagleboard, Overo) for some commercial work I have been doing (hence the minimal dependencies). For those Planet GNOME readers, It is kind of like libchamplain but without the Clutter part.

facebook-notify Reaction to the posting of my Facebook notifier for GNOME was positive, and I made a few quick fixes to remove some crasher bugs.

The biggest source of frustration at this point is that libwebkitgtk segfaults, upon destroy, almost every time it encounters a page that requires the initialization of an NPAPI plugin. Disabling plugins using the built in BrowserSettings object does not seem to have any effect.

Is there a RoadMap or any plans for an updated WebKitGtk release before the next round of distro updates?

Conduit I have been hacking on Conduit a bit over the last few days, and thanks to Julien Lavergne we now have updated builds for Intrepid and Jaunty. Julien also packaged a trunk snapshot (and set up the infrastructure to allow easier updating of such snapshots). I recommend all users of Conduit add our PPA.

Jan 22, 2009

Back into the swing of things

It has been a long time between posts, but I am back in New Zealand now, and vowing to get back on top of this blogging thing. I will post more in the coming weeks about my time in France with the ENAC crew, but I will start today small; by releasing some code I have been hacking on.

I wanted a small project to get back into the desktop development mindset after being in the embedded C (ARM 7 LPC2148) and OpenEmbedded (Beagleboard and Gumsix Overo) world for a while. I am also ecstatic that git was clearly the most popular DVCS in the recent survey, I really hope it provides the impetus for GNOME to move to a DVCS.

With that in mind I decided to use this small project to learn git. Firstly, github.com is the coolest thing I have ever seen. I am moving all of my projects (except Conduit) there, and using the pages and wiki features to document them as appropriate.

Facebook Notify

Facebook Notify is a small PyGtk application which monitors your Facebook profile and notifies you when it changes. Some would consider it a gross abuse of the GNOME notification area, but it keeps me out of the web browser, decreasing procrastination, thereby improving my productivity.

It notifies you when any of the following events occur;

  • One of your friends changes their status, profile picture, or profile details

  • You receive a friend request, event or group invitation

  • Someone writes on one of your friends walls

  • One of your friends is tagged in a photo

The code is a few days work, and nothing impressive. It does however contain a rather nifty deferred threaded network io system so to never block the GUI. I guess something similar could be done in C + libsoup + GTask, if one was allowed to arbitarily chain callback functions. I remeber seeing a bug and discussion about this somewhere.

The main bug is that WebKitGtk segfaults if you destroy the WebView after logging into Facebook. Not cool. Anyone know anything about this bug? Is anyone going to make an updated libwebkitgtk release soon?

So, please, fork my code. That way I have a real life example to practice merging from!