Recent work

modelbrickyard.com, 2022

Web application to generate brick structures for printing and use in model building.

Includes image and PDF generation, persistent storage of settings for generated documents; fully localized in German and English.

Learn more: www.modelbrickyard.com

Compression-aware register allocation for LibFirm, 2022

I designed and implemented an extension to the register allocator in LibFirm to support compressed instruction sets; it was implemented and evaluated for the RISC-V backend.

LibFirm is a library that provides a graph-based intermediate representation with a mature C frontend and a fully SSA-based backend that supports multiple architectures.

The optimization of the register allocator (which previously did not account for the effects of register allocation on instruction compression) yielded an improvement in net static code size of around 5.7 percent.

netzwerkkarlsruhe.de, from 2020

Creation and administration of a modern web presence, including a custom event management system.

Uses the PHP-based content management framework ProcessWire.

MiniJava Compiler, 2019

As part of a team of four developers, I developed a full compiler for a simplified Java subset called MiniJava in a practical lab course.

Uses the graph-based LibFirm intermediate representation library and includes a frontend (lexing, parsing, syntactical and semantic analysis, transformation into the graph-based SSA representation used in LibFirm) as well as a simple backend for x86 (program analysis, register allocation).

Learn more on GitHub

AirTracks, 2016

Full systematic specification and implementation of an interactive viewing application for Wide Area Motion Imagery data, as part of a team of five developers; at the VID research group at Fraunhofer IOSB.

The application uses Qt and supports multiple operating systems.

Academic publications