Skip to content


GCDS 2009

With my exams now finished (all 19 hours of them), it’s time to look forward to GCDS 2009. In a fit of madness, I signed up to do a lightning talk on “libgdata and web integration”, which will take place in the Synphonic Hall sometime between 15:30 and 16:30 on Saturday. If anyone wants a laugh at my expense, please turn up.

I was wondering if anyone attending GCDS was planning on going hiking in the mountains of Gran Canaria. To me, that would be more appealing than the arranged tourist outing, and some company would be welcome. I was thinking the Thursday would be most suitable, but I don’t have any plans at this stage.

Posted in GNOME, General.

Tagged with , , , , .


End of the beginning

It’s been a week now since I had my last ever lessons and left school for good. I’ve been at that school for seven years now, and it’s a little weird knowing I’m never again going to have to go back there (apart from exams). I’m now on exam leave, leading up to A-level exams throughout June. After that, I’m free!

The last seven years have been fairly good, on the whole. I made some good friends, learnt a fair bit, and amassed a collection of award ties which is almost into double figures. The school does seem to have a fetish for giving out ties.

What’s next? A summer of partyingwork, leading up to university next year, assuming I get the grades in the coming exams. For that reason I might be out of contact quite a bit for the next month, partyingstudying.

In other news, I released libgdata 0.3.0 a few days ago, which features a lot of cleanup work, plus an access control list framework contributed by Thibault Saunier as part of his GSoC work on Nautilus.

Posted in GNOME, General.

Tagged with , , .


So long, and thanks for all the biscuits

After seven-and-a-half years, my time as a member of the West Haddon Players has come to an end. I’ve just come back from the set break of their latest production, and the first play in a couple of years where I haven’t been doing lights and sound. The time I’ve spent with the Players has been great fun, and it’s sad to have to leave, but university beckons.

During my time with the Players, I’ve seen the purchase of a new mixer, a new dimmer unit, a progression of wireless microphones, and permanent wiring in our village hall. I doubt I’d fully recognise how we do things now if I were to go back in time (as one does) to when I first started with the Players.

In the style of Duke Nukem Forever, here’s a list of things which have happened during my time with the Players:

  • The Euro has come into circulation
  • Afghanistan and Iraq have been invaded, and subsequently withdrawn from
  • Mark Shuttleworth went into space
  • Space shuttle Columbia disintegrated
  • SARS, BSE, foot and mouth, Avian flu and Swine flu have all threatened the entire human race, then promptly disappeared again
  • Volkswagen Beetles ceased to be manufactured
  • Concorde was taken out of service
  • HAL was envisioned, developed, and is now being retired
  • The Pirate Bay was launched, and has only just been caught up with by the authorities
  • Facebook was launched
  • Ubuntu was first released
  • Oracle has bought everybody out
  • YouTube was launched
  • The A380 design was finished and the aircraft manufactured and launched
  • The Wii was released
  • Windows Vista was released and subsequently tanked
  • The UK economy died
  • The LHC was completed, and subsequently dismantled itself

It’s been great, and I wish them the best of success in future. Here endeth the self-indulgent blog post.

Posted in General.

Tagged with .


Unused results

Work on libgdata is progressing nicely, and I’ve started on porting evolution-data-server to the shiny new calendar and contacts services provided by libgdata. One idea I recently had was to use the G_GNUC_WARN_UNUSED_RESULT macro (gcc’s warn_unused_result attribute) on functions which return allocated data, to warn users of the library if they’re not using the data, and thus leaking memory.

After a little research, I’ve found no real uses of that gcc attribute in this manner, which is rather surprising. Perhaps people think the effort of adding the attribute to all applicable functions is not worth it, given that 90% of the time, users of their libraries will correctly use the result of functions (if not free them)?

Anybody got any insights into the matter? I’ll probably go ahead and add the attributes anyway, since there are definitely a few functions in libgdata which return allocated data when the user probably isn’t expecting it.

Posted in GNOME.

Tagged with , , .


libgdata

It’s about time to announce something I’ve been working on for about three months now: libgdata. It’s a GLib-, libsoup- and libxml2-based library for accessing GData APIs, as used by most Google services. There already exist several such libraries in a variety of languages, but as far as I’m aware this is the first one written in C — and thus the first which is widely accessible to the GNOME stack. So far it has decent support for YouTube video queries, and the beginnings of Google Calendar support.

Having ported the Totem YouTube plugin to use libgdata, my next plan is to port the evolution-data-server Google Calendar backend as well. With that done, libgdata will hopefully be stable and fully-featured enough for people to get to work on starting to fulfil Rob Bradford’s dream of tighter desktop integration with web services.

Posted in GNOME.

Tagged with , , , , , , , , .


Totem manual

In time for GNOME 2.26, the Totem help manual has been given a much-needed revamp. It’s now completely up-to-date, and the first manual to reach “final” status with the new documentation status tracking features. I must apologise to all the translators whose work I trampled on by repeatedly changing things just after they updated the translations. That won’t happen any more; as the documentation’s now at “final” status, there shouldn’t be any more changes to it for the 2.26 release. Translate away!

My thanks to Shaun McCance for stubbornly continuing to put all his effort into documentation work despite dwindling numbers of documenters, and for speedily reviewing the updated Totem manual.

Posted in GNOME.

Tagged with , .


Totem API documentation

Totem now has API documentation for the API it exposes to plugins. The documentation has actually been in the source code a while, but we couldn’t build pretty reference pages from it. Last night, I separated most of Totem out into a noinst library, which we now use with gtk-doc to build pretty documentation. When we make the next tarball release, the documentation should make its way to library.gnome.org for all budding plugin authors to read.

I was all set to copy-and-paste the required gtk-doc sorcery from another module and leave it at that, when I came across this gtk-doc GNOME Goal. It turns out none of the modules from which I would copy the black magic were making full use of recent gtk-doc features, such as namespace support. Another little bit of hacking later, and Totem now has a symbol index which is actually sorted usefully, and will check the documentation when running `make check`.

On top of that, Stefan Kost has recently added syntax highlighting support for code examples to gtk-doc trunk. Good work!

Posted in GNOME.

Tagged with , .


Almanah 0.6.0

The main window of version 0.6.0.

The main window of version 0.6.0.

Dragging its feet behind version 0.5.0 comes version 0.6.0 of Almanah. This release is primarily to improve upon the “link” concept which was present in all previous versions. Now, links have been replaced with the concept of a “definition”: terms can be defined across multiple entries, to allow you to go into more detail about something which existed over a longer period of your life. For example, you could define a term for a project on which you’d been working for a couple of weeks, or for a new acquaintance. Currently, only the old link types (note, URI and file) are supported as definition types, but in future, other types will be added, such as Evolution contact.

This release also introduces “events”, which are listed automatically per day. Now Almanah will list all the Evolution tasks and appointments relevant to the currently selected day, to provide a little more context for whatever’s in that day’s entry. Again, more event types can – and should – be added in future.

Apart from these major changes, accessibility and printing support have been improved, and a new --import-mode switch has been added to allow one-time imports of previous diaries without any date-based restrictions on editing entries.

Note that the link/definition/event changes have changed the database schema, and when upgrading to version 0.6.0, all your previous links will no longer be accessible from the interface, and cannot be automatically ported to being definitions. You can, however, retrieve them manually using the following commands:

sqlite3 ~/.local/share/diary.db

.headers ON

SELECT * FROM entry_links;

which will list all your old links as they exist in the database. You should run these commands while Almanah is running, unless you have encryption disabled.

As always, bug reports in Bugzilla please!

Posted in GNOME.

Tagged with , .


Chinook model

With a new year comes a newly finished model. This time, it’s a Chinook HC1 helicopter which I’ve been working on for just over six months. It’s turned out quite well, and the pictures are up on Picasa. The only problem now is finding somewhere to house it which won’t let it get disgustingly dusty.

Happy New Year!

Posted in General.

Tagged with .


totem-pl-parser asynchronous interface

To fix problems with parsing playlists from slow servers in Totem, it’s necessary to add asynchronous parsing functions to totem-pl-parser, so that parsing can be run in a thread. I’ve stuck a preliminary patch in bug #561444, but before it goes any further it would be great if other users of totem-pl-parser would take a look and see if the API’s sane and suitable for their needs.

In other news, there’s an interview up with our resident frockney Bastien about Totem, its past and future.

Posted in GNOME.

Tagged with , .