About

I’m a freelance software developer based in Berlin, Germany. I work on low-level software like operating systems (kernels and drivers alike) and firmware for embedded systems. My main interest is using strong type-safety and zero-cost abstractions to write software for resource-constrained and timing-sensitive applications with good performance with better robustness and correctness than with other approaches. My tool of choice for this is usually C++, with Rust being an increasingly viable alternative.

Even before my professional career I have been a long-term C++ enthusiast, having worked mostly on game console emulators. You can read more about my background on my resume.

Portfolio

Dolphin, GameCube/Wii

I fixed a lot of really cool GPU emulation bugs, and eventually became the maintainer of the GPU emulator subsystem. I also revamped parts of the user interface for a more user-friendly experience, implemented Dolphin’s (at the time very overdue) hardware testing framework, and managed the release of two major emulator versions.

PPSSPP, PSP

I implemented PPSSPP’s software renderer as a reference backend. At a time where few games were rendering properly with the existing OpenGL renderer, the software renderer provided us with a useful tool to see what assumptions were breaking the other backend and consequently helped us understand what needs to be addressed next. This project also taught me a lot about algorithms used in 3D renderers and about their implementation in hardware.

Citra, 3DS

I cofounded Citra, the first functional 3DS emulator, back in 2014. I designed the graphics emulation core and implemented the software renderer. To ensure correctness of the written code, I developed various debugging utilities and testing infrastructure. I also created some tools for users to dump content from their 3DS and wrote introductory documentation to help people get started with citra development.