Home · Books · OpenStreetMap · Publications · Software · Talks · Travel · Work · Misc · Contact · Blog [RSS]


I write software for fun and for a living. For me software development is as much a passion as a source of income. Most of the software I write in my spare time and some of the software written for my clients is released as Open Source. You can find some of it on my GitHub page.

I believe that a good programmer needs to know many programming languages. Knowing several languages and different programming paradigms helps with solving different problems. I routinely write software in C++, SQL, Ruby, and Javascript. I have also used (to varying degrees) many other languages like Perl, Java, C, Python, PHP, XSLT, R, ... and have related skills like writing shell scripts, makefiles and regular expressions.

Libosmium on GitHubLibosmium articles on my blog


Osmium is a fast, flexible and comprehensive C++ toolkit for working with OSM data. It can, among other things, read and write OSM files in different formats, assemble way and multipolygon geometries and much more.

Osmium-tool on GitHubOsmium-tool articles on my blog


Based on libosmium this tool allows manipulating OSM data from the command line in many different ways. It does everything from converting file formats to filtering by tags, from creating geographical extracts to updating OSM files with the newest data.

OSMCoastline on GitHubOSMCoastline articles on my blog


OSMCoastline is used to extract coastline data from OpenStreetMap and bring it into an easily usable format. It is needed for most kinds of OSM maps to create land (or water) polygons. OSMCoastline is written in C++ using the Osmium framework.

Taginfo on GitHubTaginfo articles on my blog


OpenStreetMap uses tags to add meaning to geographic objects. Taginfo collects information about these tags from the OSM database, the OSM wiki, and other sources to help you understand what they mean and how they are used. It is written in C++ and Ruby. You can see taginfo in action at taginfo.osm.org.



Tirex is a flexible web map tile server with pluggable rendering backends and a sophisticated queue management. It is written in Perl.

I started developing Tirex in 2010, today I do not maintain it any more.

Flinch on GitHub


A web link checker that will tell you about broken links on your web site. It automatically keeps track of all links and only tells you about problems when they persist for several days, so that you don't get annoying emails every time a site is down temporarily. I wrote Flinch more than 10 years ago in Perl and it still does it's work for me every day.