Contact

Dennis Kaarsemaker

Fork me on GitHub

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

python-hpilo 1.4.1

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.

Docs Source PyPI

Easy communication with NetworkManager

python-networkmanager 0.9.6

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.

Docs Source PyPI

Command-line interface to query the Django ORM

django-cli-query 1.1

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.

Source PyPI

Whelk: pretending python is a shell

whelk 1.1

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.

Docs Source PyPI

Zonefile goodies for vim

bind.vim

This plugin makes maintaining zonefiles a little bit easier with zonefile templates, automatic serial increments and automatic rndc reload.

Docs Source

Generate logical diffs of DNS zonefiles

python-zonediff 1.0

Library and commandline tool to create logical diffs of zonefiles based on plain files, or git/bzr/rcs revisions.

Docs Source PyPI

MySQL replication load monitor for graphite

MysqlPerfCollector

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.

Docs Source

ChanServ helper for XChat

chanserv.py 2.2.4

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.

Source

Tracing DNS resolution graphs

dnsgraph

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.

Source

SNMP for python, but less annoying

python-snmpclient 0.5

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 :)

Docs Source PyPI

Gitalist git repository viewer

Gitalist 0.003009

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

Docs Source CPAN

WoldText SMS library for perl

Net::SMS::WorldText 1.3

A perl library to send SMS'es and maintain SMS groups via the WorldText SMS API

Docs Source CPAN

CPAN-to-rpm script

cpanspec 1.79

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.

Source

Python extension for controlling process characteristics

python-prctl 1.5.0

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.

Docs Source PyPI

Perl extension for controlling process characteristics

Linux::Prctl 1.5.0

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.

Docs Source CPAN

Django IP info app

ip_info

Really simple django app that provides you info about where you're connecting from.

Source

Generate ALTER TABLE statments for changed django models

django-sqlfixtables 1.2

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.

Docs Source PyPI

Creating views for multi-table inheritance

django-sqlviews 1.0

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.

Source PyPI

Ubuntu

Ubuntu 12.04

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.

Source

SSL Hazard extension for firefox

sslhazard 1.11

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.

Source

Buienradar

buienradar 2.0

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.

Source

RPM specfile for GO

go.rpm 1.0.3

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.

Source

Code Search

codesearch 0.20120502

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.

Source

Access an UMRA SOAP service from perl

SOAP::UMRA 1.0

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.

Docs Source CPAN

Ubuntu's boot splash

usplash 0.5.52

Usplash is a Ubuntu's old boot splash tool, now superseded by plymouth. I wrote the theming and animation support and various themes.

Source