Category Archives: GLib

Compiling with checks and assertions

Some people like to complain about g_return_if_fail() and g_assert() being left in when compiling release executables and libraries. I have learned that it can actually have a positive effect on performance, as it can start pre-fetching that data into cache-lines. To get the performance I lost by compiling with -DG_DISABLE_ASSERT and -DG_DISABLE_CHECKS I had to [...]

Manpages

A friend of mine said they had the perception that GNOME technologies appeared unfinished due to the nature that manpages were not installed for the APIs. While I didn’t particularly agree with that sentiment, I did decide I would make manpages for them.
The gnome-manpages can be found here.
The resulting manpages look very similar to what [...]

GNOME University @ FOSDEM ‘13?

Is anyone interested in a GNOME University meetup while at FOSDEM ‘13? Leave a comment if you are so I can get an idea of how many.
I would imagine we could use that time for asking questions, guidance, individual help regarding your free software projects and what not. jhbuild also seems to be a common [...]

bloom filters

Everyone seems to be talking about bloom filters the last couple of years. So last night I implemented one to see what all the rage was about. I’m sure you can find better implementations, but you can find it at https://github.com/chergert/bloom-glib/blob/master/bloom-filter.h.
Also, if you want the opposite of a bloom filter, (direct-mapped cache), you can find [...]

Update: Gnome University

The turnout for GnomeUniversity has been absolutely outstanding! We have about 85-90 “students” that have contacted me so far. The students have a wide variety of locations, experience, and age. I absolutely love it!
I’m still writing the introductory content, but things will start progressing shortly.

Update: Gnome University

The requests to join Gnome University has been overwhelming. I simply cannot keep up with the incoming requests on a daily basis. Fear not, I’ve received and read them and will not forget about you, I just need to batch up the processing of those emails to every couple days.
I’m still busy writing content.

Rebuilding our community

I have already heard from more than 40 people that want to contribute to our platform. We have some exciting times ahead.
I’m spending all my free time at the moment taking inventory of peoples goals and their current experience. I’m not sure how the process will proceed yet. I am dilligently putting resources together so [...]

I will teach you C

I’m interested in teaching one or more people how to write C for desktop GNU/Linux. This includes Gtk/GObject and related technologies. No particular C experience is required, and I’ll figure out how to move forward once I have an understanding of your experience.
This is just as much an exercise for myself as it will be [...]

Using the Mongo wire protocol for API services

So the startup I work for uses Mongo. I have my own opinions of Mongo,
some good, some bad. I have a decent amount of experience with the wire
protocol. I’ve written an asynchronous C driver[1] for GObject, rewritten a
python-twisted driver[2], and my own BSON implementation. We wrote ourselves
a “schema” verifier for Mongo that works offline against [...]

mongo-glib 0.2.0

I’ve just released a new version of my Mongo driver for GObject. The main development this cycle was to support lazy connections to Mongo so that we could queue requests during network partitions, startup, and failover. As always, there is plenty of resiliency work to do, but the design is starting to take shape. The [...]