Open Source

I contribute to a relatively large number of open source projects; some of those in which my role is somewhat formal are listed below, but you can gain a more complete view of my activity based on the following sites:

Squash

Squash is primarily an abstraction layer which provides a single API to access many compression libraries. This allows applications a great deal of flexibility in which choosing a compression algorithm, or allowing a choice between several of them.

The actual integration with individual compression libraries is done through plugins which can be installed separately from Squash itself and are not loaded until they are required. This allows Squash consumers to utilize many compression algorithms without rewriting code or unnecessary bloat.

In addition to a permissively licensed library, Squash provides some generic tools which use the library for common tasks. Currently, this includes a command-line interface similar to gzip, bzip2, xz, etc. called squash and a benchmarking tool. There is also a web-based benchmark.

Role

I am the original author and lead maintainer.

µnit

µnit is a small and portable unit testing framework for C which includes pretty much everything you might expect from a C testing framework, plus a few pleasant surprises, wrapped in a nice API.

Role

I am the original author and lead maintainer.

Vala

Vala is a new programming language that aims to bring modern programming language features to GNOME developers without imposing any additional runtime requirements and without using a different ABI compared to applications and libraries written in C.

Role

I mostly deal with binding C libraries to Vala, including maintaining the bindings distributed with Vala and the vala-extra-vapis repository, as well as helping upstream projects develop and maintain Vala bindings and GObject Introspection support.

TinyCThread

TinyCThread is a cross-platform implementation of the C11 threading API which uses POSIX or the Windows API, allowing you to use the standard C11 API on systems which don’t natively support it.

Role

I am the lead maintainer.

Bump

Bump is a library designed to make asynchronous programming easy by providing high-level data structures for concurrency management, including multi-threading and main loop callbacks, in GObject/GIO based projects, especially those written in Vala.

Role

I am the original author and lead maintainer.

SQLHeavy

SQLHeavy is a wrapper on top of SQLite with a GObject-based interface, providing very nice APIs for C and Vala, GObject Introspection support, and additional functionality not present in SQLite.

Role

I am the original author and lead maintainer.

Leave a Reply

Your email address will not be published. Required fields are marked *