Hi! My name is Micha.
I am a passionate Software Engineer and Consultant with a passion for slim techstacks and clear, non-bloated, sustainable software solutions. Currently, I work as Senior Qt Advisor for the Qt Company to assure that customer's are successful with their Qt Projects.

Besides coding, I like photography, travelling and music and movies.
I used to make music, too.

Expertise



Software Engineering

Software Engineering

C / C++ / Python / JS

I am a professional software engineer and preferably in C and C++, but I know Python and JavaScript, too. When designing software architectures, I have a strong focus on modularity, performance and utilizing design patterns. I like to program on devices with or without OSes.


Digitalisation and Sustainability

Digitalisation and Sustainability

Thinking about the world of tomorrow

In recent years, I became aware of environmental and sustainability. I strongly believe that sustainability and digitalization have to be regarded as a unit for livable future. I am part of the Bits und Bäume Movement and active in the slack channel of ClimateAction.tech. For Bits und Bäume, I gave a talk about collaborative video conferencing and writing tools.


Project Management

Project Management

Lean and agile

When supervising software projects, I consider agile development using ticket-based systems like Scrum or Kanban and methods like continuous integration as the key for building and delivering an awesome product.


UI / UX

UI / UX

Qt / HTML5 / VueJS

Because I am a visual person, I like coding smart user interfaces, too. I prefer minimalistic self-explaining interfaces with a clear workflow and omitting distracting and redundant elements.


Computer Graphics

Computer Graphics

Rendering / OpenGL / Shaders

I love computer graphics since my youth. At the age of 18, I wrote a fast ray tracer in assembler and won the 4th price in the federal contest of Jugend forscht (from 9000 submissions). I did my master thesis in the computer graphics group at TU Berlin and attended all courses there. For my GLSL shader coding skills, you can check out my ShaderToy profile. Currently, my most popular project is Omnidome.


Image Processing

Image Processing

Video Coding / Streaming / Image Processing / GPGPU

I worked for Fraunhofer in the image processing department for several years where I learned the fundamentals about video coding and streaming, most notably scalable video coding and MPEG DASH. During my master studies, where I attended several seminars and classes about computer vision and GPU programming.


Rapid Manufacturing

Rapid Manufacturing

3D Printing / Parametric Modeling

I am experienced with Rapid Manufacturing Technologies like 3D printing, laser cutting and CNC milling. For my master thesis, I wrote a software that converts triangle meshes and other geometries into 3D printer instructions. I was also host on Chaosradio and where I talked about 3D printing. Here is my Thingiverse Page.

My Works





Omnidome

Arbitrary 360° surface mapping software

OMNIDOME is an arbitrary surface projection mapping tool. It allows you to map any physical room and project virtual content back on to it. What it does, it turns the whole world into a 360° VR display, making VR a shared and social experience. Omnidome is OpenSource, multi-platform and designed for artists. On MacOS X, Omnidome has a Syphon interface for easily streaming content from other VJ softwares into it. Omnidome has a plugin interface for easily writing extensions for different canvases, mapping modes and input types. Omnidome is written entirely by myself and proudly made with C++11 and Qt5. Demo Video



Tomo

G-Code generator aka Slicer

Tomo is a modular G-Code generator (aka "slicer") for 3D printers. It converts given input geometries (like STL triangle meshes) into 3D printer instructions (G-Code). Is intended to be extensible for other types of fabrication, too. Initially started as semester project, it finally became my master thesis which was supervised by Marc Alexa. For my thesis, I received the best grade 1.0. Tomo is written in C++11 and uses Eigen and Boost libraries. The interface is made with Qt.



Computer science studies

Seminars and class projects

I attended seminars about GPGPU and recent advantages in GPU programming, HEVC intra prediction, botnets and peer to peer video streaming in Zattoo. In another group semester project, I ported the tree-based hashing feature matching algorithm (TBH), an improved version of the SIFT Feature Matching Algorithm) from CPU to on the GPU using CUDA. Although due to heavy branching, the algorithm was not well suited for a GPU implementation, we still achieved a slight speed up. In 2011, wrote a paper about Cloud Computing and Energy Efficiency, already aware of climate change and the rebound effect.



Philosophy

Semester essays

I also attended several philosophy classes about Immanuel Kant, democracy and capitalism, artificial intelligence and philosophy of technology.