Skills

Description

Inquisitive and thorough computer scientist, with a strong foundation in logic and programming.

This page gives an overview of different skills and programming languages. This page (and this website) doesn't contain information about personal life. For further information contact me under m.

Programming languages

Clicking on a language pops up a description. C++ is the one with the highest experience.

Click here
C & C++
Working on a substantial number of private and professional projects has created a good basis for programming in these two languages. Particularly the programming under C in a Unix and embedded environment.

Libraries

C++/QTlibUVlibmysql/libmariadb libUSBBoost.Asio Ogre3D NuttXLibreSSL
Java
Due to the languages' wide distribution, I have been able to gain experience through numerous work and study projects. Both in client (GUI/JavaFX) and server applications.
C#
A beautiful language that can facilitate many applications, both in terms of scripting and complex user applications. A sample project is shown in the projects page.

Libraries

WPF
Web
This website illustrates a certain part of my skills with web-applications. It uses Bootstrap 4 as basic HTML/CSS-Framework.

Other projects can be viewed in the projects page.
Assembly
What would be programming without understanding the underlying mechanisms?

For private projects, I also deal with analyzing and modification of x86(-64) machine code. This blogpost deals on how to reverse engineer and inject into a running game.

Other languages

These are languages which were used in multiple projects regarding study and work.

BashSwiftGoLua

Capabilities

A small selection is shown (especially in regards to server).

Server

Running Webservers since 2007, significant expertise has been acquired.

  • Security: Hardening Servers with GRSecurity, SELinux and chroots for web servers
  • Virtualisation: XenServer and Proxmox (KVM / QEMU)
  • Performance: Optimizing throughput by a thoughtful configuration of apache / nginx / php-fpm and speeding up webpages with Google PageSpeed
  • Stability: Elaboration and fine-tuning of special file-systems like ZFS
  • Extensive Configuration: Advanced configuration among special cases. For instance: Linux Kernel, Plesk, GitLab. IPtables for internal routing and deep-packet-inspection
Reverse Engineering

Injection and modification of machine commands. Debugging of networking and USB protocols. Writing bots for automated tasks in web or even native applications.

Embedded Programming

University and private projects (like the multicopter as seen on the projects' page) have created a solid basis for professional projects.

Further professional work

Controller for a component placed in the middle between the passenger and driver of a car. It has the task of recognizing touch gestures and adapting the light state of the component accordingly. These touch gestures are used to control a multimedia and navigation application of an iPad in sight of the driver.

Bachelor thesis - A solution with which it is possible to read 40 analog and a large number of digital inputs at 2000 Hz and store them in a database. The inputs are connected to a programmed microcontroller. A developed parallel connection is used to send the data to a single-board-computer for timestamping and further processing.