Short summaries of some open source software I've worked on. Most of these are at


Some contributed symbols and footprints are listed in this blog.

AllanTools is an LGPL-licensed python library for calculating time&frequency related statistics such as Allan deviaton. The core algorithms are around 1200-lines of python. Many tests and comparisons against e.g. Stable32 are included.

OpenVoronoi is an LGPL-licensed C++ library with python bindings for calculating the Voronoi-diagram from point, line, and circular-arc input geometry. It uses the Sugihara-Iri topology-oriented approach for robustness. Around 10 klines of C++ and another 10 klines of python.

OpenCAMLib is an LGPL-licensed C++ library with python bindings for generating 3D machining-toolpaths based on STL input geometry. The core algorithms are "cutter projections" i.e. they push a defined cutter-shape into contact with the 3D model (a bunch of triangles). A lot of inspiration take from the freesteel blog. Around 13 klines of C++ and 10 klines of python.

Python scripts for Precise Point Positioning calculations from based on RINEX input files from GNSS receivers. In particular for PPP time transfer.

A cutting-simulation engine based on an adaptively subdivided octree. C++ with python bindings and VTK visualization.

A C++ and python wrapper for the CGAL 2-opt random polygon algorithm. For generating random 2D polygon geometry, e.g. for testing OpenVoronoi.

A C++ and python wrapper for True Type Tracer. For generating 2D font-geometry e.g. for testing OpenVoronoi.

pyVCP (2007)

pyVCP (python visual control panel) is an add-on for the AXIS user-interface of LinuxCNC (formerly known as EMC2). It connects LinuxCNC HAL (hardware abstraction layer) signals to TkInter gui-widgets.
LinuxCNC is software for controlling CNC machines such as mills, lathes, and 3D printers based on G-code input. It runs on real-time linux.