Portfolio

Mein Portfolio umfasst so einiges - vom Aufbau der Infrastruktur für ein Informatik-Praktikum über Steuersysteme für Prototypen-Rennautos bis zu einer Echtzeitstrategie-Total-Conversion für eine Gaming-Community mit 50000 Mitgliedern.

Moep80211

Moep80211 ist ein Forschungsprojekt zu Wireless Mesh Networking in dem ich während meines Bachelor- und Masterstudiums gearbeitet habe.

Language: C
License: GNU GPL

Website

Das GEP-ASP Systemprogrammierungs-Praktikum

Für den Studiengang Games Engineering der TUM habe ich geholfen, das Praktikum “Systemnahe Programmierung bei der Spieleentwicklung” zu aufzubauen. Ich habe dazu die gesamte Infrastruktur für das Praktikum konzeptioniert, entwickelt und betrieben. Dazu habe ich die Gitlab-Kollaborationsplattform, Beagleboard xM SOCs, OpenVPN, und jede Menge Skripting um das User-Management zu implementieren und alles miteinander zu integrieren benutzt.

Language: C, ARM Assembler, Python
License: Keine Veröffentlichungen

Website

TUfast Eco Team

TUfast ist ein Studentenverein an der TUM der Prototypen für Konstruktionswettbewerbe entwickelt. Die Hauptwettbewerbe, für die die Fahrzeuge konzeptioniert werden, sind Formula Student, Formula Student Electric und der Shell Eco-Marathon.

Für die Saisonen 2014 und 2015 habe ich die Fahrzeugsteuerung für das Eco-Team entwickelt und gebaut, als einziger Entwickler bzw. als Projektleiter.

Language: Embedded C, Python, Java
License: Keine veröffentlichungen

Website

ArtyCalc

Ein Software-Tool für das MilSim-Spiel Armed Assault 2 mit ACE-Mod. Der ACE-Mod beinhaltet ein hochentwickeltes Artilleriesystem mit hohem Realismusgrad.– ArtyCalc habe ich entwickelt um die Führung einer simulierten Artilleriestellung im Spiel zu unterstützen. Es simuliert die Berechnungstafeln die von echten Artillerie-Leitstelen benutzt werden und erlaubt es, Feuerbefehle für alle ballistischen Artilleriewaffen im Spiel zu errechnen.

Language: C#
License: WTFPL

Repository
Website

Forged Alliance Forever

Supreme Commander Forged Alliance ist ein Echtzeitstrategie-Spiel (RTS) das 2007 veröffentliche wurde. Es ist die spirituelle Fortsetzung von Total Annihilation und wird von vielen seiner Fans als das beste RTS aller Zeiten geschätzt. Die “FA Forever” Community Lobby hält das Spiel am Leben und viele freiwillige Helfer arbeiten aktiv daran das Spiel weiterzuentwickeln.

Seit 2015 arbeite ich im Netcode und Server Team mit; Seit 2017 bin ich Maintainer des offiziellen Lobby-Clients und Server-Maintainer.

Language: Python
License: GPL

Repositories
Website

OnionPy

OnionPy is the definitive (On merit of there not being any others) python3 api wrapper for OnionOO, the web interface for the Tor network status.

It supports transparent caching with a memcache backend, simple in-memory caching, or something user-defined.

Language: Python 3
License: BSD 3-Clause (like most other Tor projects)

Repository

Gitlab hacks

In the course of running the infrastructure for a university course on systems programming I chose Gitlab CE to give students git repositories. This required a few modifications to integrate it deeply to make my life easier. I think these modifications showcase quite nicely how easy it is to mod Gitlab.

Key modification system hook: Extends the system hook facility to include ssh key modification events. This modification has been merged into Gitlab.
Extending user creation API: Manually creating a user from the admin interface gives that user a randomly generated password and emails it to them. For some reason this was missing from the API, so I added it, since I needed bulk creation of users and there was no reason to re-implement the password generation and e-mail sending.

Saltstack formulas

I love salt for managing servers. I made some formulas.

Template Formula: A sample formula with some dummy content.
Dirty User Sync Formula: A saltstack formula that syncs user accounts from one server to another by copying /etc/passwd and /etc/groups, and mounting /home via NFS. Nasty.
OpenVPN Client Formula: A saltstack formula to manage openvpn clients in a certificate-based vpn.

DigitalOcean tutorials

I’ve written a few tutorial articles about server administration for DigitalOcean.

Postfix and Dovecot E-Mail server tutorial
Postfix/Dovecot Part two: Virtual E-Mail hosting and Dovecot LMTP