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
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
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
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
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
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)
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