Projects I work on
I love free software, and the freedom it gives both code and developers. I've donated much of my free time to the free software community. Ubuntu is what started it all for me and I'm forever grateful for that.
But besides supporting the Ubuntu community, I've starte and contributed to many other projects. From small patches to scratch my own itch to complete projects and subtasks. Here I list some of them.
Python iLO library
I wrote this library to make maintaining our thousands of servers easier. The iLO XML interface is quite powerful but the tooling provided by HP is rather limited. This project wraps the entire XML interface into a reusable library and a set of commandline tools.
Easy communication with NetworkManager
python-networkmanager wraps NetworkManagers D-Bus interface so you can be less verbose when talking to NetworkManager from python. All interfaces have been wrapped in classes, properties are exposed as python properties and function calls are forwarded to the correct interface.
Command-line interface to query the Django ORM
With this django management command, the django ORM can be queried from the commandline. There are several filtering options, including negated filters, __in filters and several output options, including csv and json. Records can also be updated from the commandline.
Whelk: pretending python is a shell
We all like python for scripting, because it's so much more powerful than a shell. But sometimes we really need to call a shell command because it's so much easier than writing yet another library in python or adding a dependency.
Zonefile goodies for vim
This plugin makes maintaining zonefiles a little bit easier with zonefile templates, automatic serial increments and automatic rndc reload.
Generate logical diffs of DNS zonefiles
Library and commandline tool to create logical diffs of zonefiles based on plain files, or git/bzr/rcs revisions.
MySQL replication load monitor for graphite
This is a MySQL performance_schema monitor to be used by diamond (http://opensource.brightcove.com/project/diamond/) to collect data for graphite (http://graphite.readthedocs.org). At the moment it only collects replication load information, giving you insight in how loaded your single-threaded mysql replication is.
ChanServ helper for XChat
This script adds one command to xchat: /cs This command can be used to make talking to ChanServ and maintaining channels a more pleasant experience. It also uses chanserv to automatically let you into channels with restrictions you are allowed to bypass, such as auto-invite for invite-only channels.
Tracing DNS resolution graphs
A script that walks all possible resolution paths for a hostname and spots any inconsistencies. It can generate nice pictures with graphviz, and it can also function as a nagios plugin.
SNMP for python, but less annoying
SNMP can be nasty to use, pysnmp4 makes it bearable. snmpclient makes you actually want to use SNMP to get device info, even if you use SNMP v3 :)
Gitalist git repository viewer
A modern git web viewer using the Catalyst framework. I'm working on patches to improve performance and functionality as needed for perl5.git.perl.org
WoldText SMS library for perl
A perl library to send SMS'es and maintain SMS groups via the WorldText SMS API
cpanspec is a perl script by Steven Pritchard that generate a spec file to build a rpm from a CPAN-style Perl module distribution with no human interaction. We use it heavily at booking.com for our 1000+ CPAN package repository. I've contributed significant functionality and performance improvements.
Python extension for controlling process characteristics
The linux prctl function allows you to control specific characteristics of a process' behaviour. Usage of the function is fairly messy though, due to limitations in C and linux. This module provides a nice non-messy python(ic) interface.
Perl extension for controlling process characteristics
The linux prctl function allows you to control specific characteristics of a process' behaviour. Usage of the function is fairly messy though, due to limitations in C and linux. This module provides a nice non-messy perl interface.
Django IP info app
Really simple django app that provides you info about where you're connecting from.
Generate ALTER TABLE statments for changed django models
I don't want something to manage my tables, but want to execute the SQL myself, but I'm too lazy to write the SQL statements. So, unlike approaches such as south, this tool merely inspects your models and database and print Print SQL statements for changes in models since the table was created/fixed.
Creating views for multi-table inheritance
When doing multi-table inheritance in django, it is somewhat annoying that you constantly need to type INNER JOIN when accessing the data outside the django ORM, for instance in a database shell or with external applications. This management commands makes it easy to create views for these models that are simpler to query.
Ubuntu is an ancient African word meaning 'humanity to others'. It also means 'I am what I am because of who we all are'. The Ubuntu operating system brings the spirit of Ubuntu to the world of computers. I've done many hours of volunteer work for the global and dutch Ubuntu commities. Tasks I've done include bug triaging, user support, community leadership and documentation.
SSL Hazard extension for firefox
Firefox extension based on the work of Kai Engert. It allows you to bypass Firefox' invalid certificate dialogs a bit easier, with just one doubleclick. I need this because I unfortunately have an unfixable issue that cause many SSL certificates to be invalid.
Display the dutch or european weather radar data provided by buienradar.nl and meteox.nl. It offers a choice between 1, 2, 3, 6, 12 and 24 hour loops loops can be paused and navigated as well.
RPM specfile for GO
Go is an open source programming environment that makes it easy to build simple, reliable, and efficient software. This specfile lets you build an RPM from the go sources.
Code Search is a tool for indexing and then performing regular expression searches over large bodies of source code. It is a set of command-line programs written in Go, written by Russ Cox. I've added RPM packaging bits to it.
Access an UMRA SOAP service from perl
UMRA (User Management Resource Administrator) is a product by tools4ever to link multiple authentication systems together. It can speak to AD, SAP, SQL server and through powershell to other services too. This module allows you to talk to its SOAP service from perl, so you can integrate account management with your Perl based (web) application.
Ubuntu's boot splash
Usplash is a Ubuntu's old boot splash tool, now superseded by plymouth. I wrote the theming and animation support and various themes.