Send an email to to discuss a project. All inquiries are non-binding. I can arrange for travel to your location. For a small collection of public work and clients, see portfolio.


I write high-quality programs that solve problems for you. Depending on your needs, I can take care of the whole process - from research and scoping, to programming, testing, and maintenance.

New features

I can program new features for you, both in free- and open source programs you use, or in your in-house project. This product is ideal if you need something that you do not have the capacity or expertise to resolve quickly, or if a program is an opportunity, but not your core business.

Custom applications and libraries

A custom application or library tailored to your needs can unlock tremendous benefits. More than a decade of experience and successful products coupled with a tight feedback loop and a deep interest in solving your problem makes building a great choice. Patch can help you take care of everything, from initial scoping to long-term maintenance plans.

Why build a custom program or library?

  • No alternative exists yet, but the problem is real
  • Your situation and needs are unique
  • Easier to adapt to your future business development
  • Better software is a competitive advantage

Miscellaneous programming services

Patch provides a wide range of other programming and programming-adjacent services including:

  • Prototyping and new designs
  • Bug fixing
  • Performance work
  • Language bindings
  • Porting, languages and platforms
  • Build systems and reproducible builds
  • Software packaging and distribution


  • Designing programming practices
  • Improving team processes and tooling
  • Architecture reviews
  • Code reviews


Training offers include classroom courses, workshops, lectures, and individual and small team training sessions. For ready made courses, see the training page. Please inquire if you need a course that is not listed, it can be developed for you.


This is a small collection of public work and clients.

GCC - Modified Condition/Decision Coverage (MC/DC)

MC/DC is an important coverage metric and test suite analysis technique, in particular for safety critical applications such as those found in aerospace, automotive, defence, or space flight. NASA engaged me to design and implement support for measuring MC/DC in gcc, which has been accepted into gcc mainline.


segyio and dlisio

segyio and dlisio are popular packages in the geoscience community. They are libraries for reading (and writing, in the case of segyio) arcane, but important, file formats for seismic and well logs respectively. Users are given powerful and user-friendly Python interface, which leverage fast engines in C and C++ to make programs using segyio and dlisio simple and fast.