Travelling in Honduras
Having just spent 7 weeks in Honduras, working and travelling, I thought it might be useful to document some of the things I’ve learned about the country. In my experience, Honduras has three distinct...
View ArticleDynamic relocs, runtime overflows and -fPIC
While merrily compiling something a little while ago, my linker threw me this gem of an error message (using GNU gold): error: libmumble.a(libmumble.o): requires dynamic R_X86_64_PC32 reloc against...
View ArticleChecking D-Bus API stability
Announcing dbus-deviation, a small tool and set of libraries for automatically checking whether a D-Bus interface has broken API between two releases of a piece of software, developed as part of my...
View ArticleDX hackfest: 2016 edition
By this time tomorrow, the 2016 edition of the GNOME developer experience hackfest will have started. This year, it’s in Brussels, kindly hosted by betacowork and ICAB. We will be spending 3 days...
View ArticleCave exploration in Austria
For once, this is going to be a non-technical post. I hope to share some of what I’ve been up to in my summer holidays this year. In late July, I spent two weeks on the Löser plateau in Austria, as...
View ArticleEnd of year thoughts
Inspired by others, I thought doing a retrospective on 2017 would be an interesting thing to look back on in a year’s time and see what’s changed. Work things December 2017 marked a year of me working...
View ArticleControlling safety vs speed when writing files
GLib 2.65.1 has been released with a new g_file_set_contents_full() API which you should consider using instead of g_file_set_contents() for writing out a file — it’s a drop-in replacement. It...
View ArticleGUADEC 2020
tl;dr: The virtual GUADEC 2020 conference had negligible carbon emissions, on the order of 100× lower than the in-person 2019 conference. Average travel to the 2019 conference was 10% of each person’s...
View ArticleUse GLIB_VERSION_MIN_REQUIRED to avoid deprecation warnings
tl;dr: Define GLIB_VERSION_MIN_REQUIRED and GLIB_VERSION_MAX_ALLOWED in your meson.build to avoid deprecation warnings you don’t care about, or accidentally using GLib APIs which are newer than you...
View ArticleGarden work
Another post which is not about software! I’ve recently, finally, finished reworking my garden, and here’s a brief writeup of what happened. It includes some ideas for low-embodied energy and...
View Article