This is me. I promise!

This is the home­page of Martin Tournoij, also known as Carpet­smo­ker and arp242 on the web.

I write about stuff on this page, oc­ca­sion­al­ly.

I can also be found on Stack­Over­flow, Vi and Vim Stack­Ex­change, and a num­ber of other pla­ces. You can email me at

Latest weblog entries

Uninstalling Emacs with apt-get: lessons in interface design

08 Feb 2016

Lessons we can learn from apt-get’s spectacuarly surprising behaviour.

JSON as configuration files: please don’t

07 Feb 2016

Using JSON for configuration files is a disturbing trend.

Making find -exec faster

15 Jan 2015

Let’s see if we can make find -exec a bit faster.

Security of Python's pickle and marshal modules

14 Nov 2014

Both of these modules come with a big warning in the documentation. Why?

Intercept outgoing mails in Ruby on Rails

20 Aug 2014

A simple way to do this, which just works™.

See all →

Latest code updates

Status: experimental, last updated: 27 Apr 2016


DNS proxy and filter.

Status: stable, last updated: 24 Apr 2016

My website,

Status: stable, last updated: 24 Apr 2016


Display tray icon with battery status. Can also run scripts when the status changes.

Status: stable, last updated: 24 Apr 2016


Basic cleanup of your code.

Status: stable, last updated: 24 Apr 2016


Web based feed reader.

See all →
Copyright © 2010-2016 Martin Tournoij <>
With the exception of the photo of me (/images/me.jpg) − to which I retain all rights − you may do anything with all content on this site that copyright law would normally restrict, so long as you retain the above notice(s) and this license in all redistributed copies and derived works. There is no warranty.