Der Beichtstuhl

Auf dem Zugvögel Festival 2026 haben wir unseren Floor in eine Kirche verwandelt. Und was wäre eine Kirche ohne Beichtstuhl? Also habe ich einen gebaut: Einen hölzernen Beichtstuhl, in dem Festivalbesucher*innen ihre Sünden einem KI-Priester gestehen können. Dieser entlockt ihnen die pikanten Details, erteilt ihnen die Absolution und leitet ihre Sünden anschließend an das Heilige Klo weiter, wo sie anonymisiert und von einer Engelsstimme vorgetragen werden, zur Unterhaltung der Person, die dort gerade auf dem Thron sitzt. [Mehr]

Das Raumschiff der Palapians

Ein interaktives, vernetztes Raumschiff, das man wirklich betreten kann: Spieler*innen erledigen (oder sabotieren) Missionen an einem Dutzend physischer Interfaces - Knöpfe, Joysticks, LED-Boards, Sensoren usw. - um entweder das Schiff zu starten oder es dem Untergang zu weihen. Alles getrieben von einem Python/ESP/Unity-Stack. Es ist modular, auto-resettet regelmäßig und skaliert für Festival-Crowds ohne permanentes Babysitting. [Mehr]

Tux-Kart mit Real-Life-Powerups

Zuerst war der berüchtigte Poolnudelschlagapparat: Auf dem Fusion Festival 2023 hatten wir ein paar Poolnudeln, ein paar Scheibenwischermotoren, und eine Holzkonstruktion mit Bildschirm und Raspberry Pi - also haben wir das einzig Sinnvolle getan, um diese Sachen zu kombinieren: Du spielst Flappy Bird, und wenn du zu schlecht bist, wirst du mit einer Poolnudel gehauen.

poolnoodle_hitting.gif

Danach meinte jemand, so etwas wäre als Item in Mario Kart ziemlich perfekt. Und weil ich wusste, dass es davon einen Open-Source-Clone gibt - SuperTuxKart - war die Idee geboren.

[Mehr]

Podcast Episode on LLMs for Software Engineering

In dieser Podcast-Folge von „Code for Thought“ reden Carina Haupt (DLR) und ich mit Host Peter Schmid über Large Language Models im Research Software Engineering: Was können Copilot & Co. heute zuverlässig, wo stoßen sie im Projektalltag an Grenzen, und wie bewerten wir das nüchtern statt hype-getrieben? Ich schildere mein aktuelles Thema - Paper-Code-Matching über Embeddings auf Projektebene - und warum kontextarme Modelle bei echten Repos oft danebengreifen. Carina bringt die Anwendungssicht ein: Wo helfen LLMs Forschenden ohne tiefen Informatik-Background tatsächlich (Routine-Tasks, Tests, kleine Skripte) und wo wird’s heikel (Builds, Requirements, Projektkontext)? [Mehr]

Paper-Code-Matching mit Repository-Level-Code-Embeddings

Während meiner nicht abgeschlossenen Promotion am DLR habe ich ein Graph Neural Network entwickelt und trainiert, das Code-Embeddings zu Repräsentationen ganzer Repositories zusammenfasst und diese mit wissenschaftlichen Publikationen abgleicht. Erste Evaluationen zeigten vielversprechende Verbesserungen gegenüber einfachen Pooling-Verfahren. Langfristiges Ziel war es, verwandte Implementierungen und die ihnen zugrunde liegenden Annahmen auch über Forschungsdisziplinen hinweg finden zu können. [Mehr]

Automatische Speisen-Erkennung

VisioLab ist ein Startup, das automatisierte Self-Checkout-Kassen für Kantinen baut: Die Mahlzeiten auf dem Tablett werden on edge über ein iPad erkannt, sodass Gäste innerhalb von Sekunden zahlen können, ohne dass dafür Personal an der Kasse stehen muss.

[Mehr]

Siddata Studienassistent

Im Siddata-Projekt wurde ein digitaler Studienassistent entwickelt, der Studierenden mithilfe personalisierter Empfehlungen dabei hilft, passende Lehrveranstaltungen, Lernmaterialien und Lernpartner zu finden. Ich habe Machine-Learning-Recommender entwickelt und intensiv am Django-Backend gearbeitet, um einen Forschungsprototypen, dessen Deployment zuvor mehrere Tage dauerte, in ein containerisiertes, getestetes und einfach deploybares System zu verwandeln. Auch meine Masterarbeit entstand im Rahmen dieses Projekts. [Mehr]

Button-Board

🇬🇧 nur auf Englisch

Main Image

After finally (and only for now) accepting that a reliable sound2light-bassline-detection is probably more trouble than it’s worth, I next needed a way for tap2bpm instead. This, however, required new Hardware, and thus, I developed this Button-Board.

[Mehr]

Gestenerkennung in großen Videokorpora

Als studentische Hilfskraft am Red Hen Lab habe ich an einer Videoverarbeitungspipeline zur automatischen Gestenanalyse in großen Videokorpora gearbeitet. Dabei ging es insbesondere um Personentracking und -identifikation mittels Gesichtserkennung, die Segmentierung von Kameraeinstellungen sowie die Ausführung der Pipeline auf einem HPC-Cluster mit Snakemake und Singularity. [Mehr]

C++-Spiel: Bomberperson

Im Rahmen des Praktikums zur Vorlesung The C++ Programming Language an der Universität Osnabrück hatten wir zwei Wochen Zeit, um in einem Team aus 11 Studierenden ein vollständiges Spiel inklusive Level-Editor zu entwickeln. Dabei sollten wir unter anderem mit Bibliotheken wie Box2D für die Physiksimulation und Boost sowie dem Datenformat HDF5 arbeiten. Wir entschieden uns für Bomberperson, ein von Bomberman inspiriertes Multiplayer-Spiel mit einigen zusätzlichen Spielmechaniken.

Das Spiel

Bomberperson ist ein labyrinthbasiertes Multiplayer-Spiel für 2-4 Spieler, bei dem das Ziel einfach ist: die anderen Spieler ausschalten und als Letzter übrig bleiben. Spieler können Bomben platzieren, die nach kurzer Zeit in mehrere Richtungen explodieren, Hindernisse zerstören und dabei auch andere Spieler erwischen können. Zerstörte Hindernisse können Power-ups hinterlassen, die die Fähigkeiten eines Spielers vorübergehend verbessern oder ihm das Leben schwerer machen.

Bomberperson Gameplay [Mehr]

Bachelorthesis: Controlling Race Cars with Deep ANNs

🇬🇧 nur auf Englisch
Delving into the realm of self-driving cars for my bachelor’s thesis, I endeavored to optimize their tactical decisions, particularly speed, using cutting-edge deep neural networks and reinforcement learning in tensorflow within a transformed racing simulation. The resulting research platform, built on Unity, showcased the potential of real-time feedback and adaptability, offering valuable insights into the future integration of reinforcement learning in self-driving cars. [Mehr]

AVZ-Run

In diesem 3D-Browserspiel, das im Rahmen eines Computergrafik-Praktikums mit THREE.js entwickelt wurde, ist der Spieler im brennenden AVZ gefangen und muss versuchen, diesem Inferno zu entkommen. Dabei muss er Hindernisse überwinden, Rätsel lösen und Fallen entgehen, um sich Stockwerk für Stockwerk nach unten und schließlich aus dem AVZ zu kämpfen. Hier spielen! [Mehr]