All Projects

Below is a list of several projects I have made public over the years.

I do not write posts for every project I work on. Often there's not much to say about them. Some are 'work-in-progress'. It's also not a complete list of everything I've done. It's just the stuff that I think is good enough to share. 😄

Art

Printing Martin Behaim's Globe

A close up of a globe made of paper.

Kayak Trails

Plotter art of GPS trails.

A close-up view of a pen drawing white ink on black paper.

Reverse Engineering the LEGO World Map

A mosaic made of LEGO 1-by-1 tiles, representing a map of Denmark.

'The Good Place' Map

A close-up view of an illustrated map.

Geometri

Daily exercise in creating abstract art between 2008 and 2009.

A collage of several square art-pieces.

Games

𝐒𝐄𝐓𝐙𝐄𝐍

A multiplayer collaborative canvas – Projected on a globe!

An abstract illustration of triangles forming a random but colourful mosaic.

Minecraft Map Generator

Project from 2011 to convert real elevation/terrain data into Minecraft maps.

Mapping Software

proj-vis

Web-app to quickly visualize map projections.

An abstract illustration showing a world map that is warped.

Photogrammetry on Commercial Flights

An abstract illustration showing a plane flying over a landmark.

Regex-Coordinates

Web-app to parse coordinate data using regular-expressions.

The logo for Regex-Coordinates.

CSV-Reproject

A command line tool to reproject a CSV from one CRS to another.

Map-Engraver

Tool for creating vector maps in the style of engraved maps.

A close-up view of a map showing several buildings and roads.

Graphics & Typography Software

Docker-Autotrace

Run 'Autotrace', the bitmap-to-vector-graphics converter, in Docker.

SVG-Attributes-to-Style

An SVGO plugin that converts presentation attributes to style properties.

Creating fonts from SVGs – with automation! 🤖

SVG-Stroke-to-Path

Shell script to convert strokes in an SVG to paths using Inkscape's CLI.

An abstract illustration of a looped line, with another line inside of it.

Pangocffi & Pangocairocffi

Python libraries for using Pango and Cairo with CFFI bindings.

Useful for rendering internationalised text in the Cairo rendering engine.

An abstract illustration with three words; Python, Παν語, القاهرة. The glyphs of each letter are outlined.

Software Development Tools

Count-Todo

Shell script to count the number of TODO, FIXME, and BUG comments in a git repository.

JUnit4-Parameterized-Tests-Generator

Script to generate parameterized JUnit4 tests for Test Runners that do not support parameterized tests.

History & Stories

The Cyclorama: Virtual Reality in the 1800s

Mapping the Scottish Colony 'New Caledonia'

Edinburgh's Unbuilt Canals

How China distorts their maps

The Royal Trees in The Meadows

NCN Millennium Mileposts

Other

Wikimedia-File-History

Shell script that creates an animated GIF of a file's revisions hosted by Wikimedia Commons.

Spoiler

Web-app to encode and decode spoilers in chat threads.

An illustration of a 'warning' symbol on top of a speech bubble.

Image-Compare

Web-app for easily comparing two or more images.

Advent of Code

My solutions for Advent­Of­Code.com throughout the years.

Map-Tile-Compare

Web-app for comparing a tile layer with a background satellite layer.

NCN Milepost Openstreetmap Checker

A website to check National Cycle Network mileposts with OpenStreetMap data.

Allegro

An electron app that submits worklogs to Tempo.io in batches.

A screenshot of the Allegro application.

Node-Tempo-Client

A Node.js wrapper for the Tempo.io REST API.