Patrick Dinklage's Portfolio

Education

2019 – present Aspiring PhD in Computer Science TU Dortmund University
2015 – 2019 Master of Science, Computer Science TU Dortmund University
2011 – 2015 Bachelor of Science, Computer Science TU Dortmund University
2008 – 2011 IT Specialist – Application Development Materna Information & Communications SE
1998 – 2007 Abitur (German higher education entrance certification) Comenius Gymnasium Datteln
1994 – 1998 Elementary school Josefschule Datteln

Professional Career

2019 – present Research Associate TU Dortmund University, Department of Computer Science, Algorithm Engineering
2016 – 2019 Research Assistant TU Dortmund University, Department of Computer Science, Algorithm Engineering
2015 Application Developer (Java) Materna Information & Communications SE
2011 – 2015 Student Assistant (Java Developer) Materna Information & Communications SE
2008 – 2011 Trainee (Application Development) Materna Information & Communications SE

Peer-Reviewed Research Articles

  • RLZ-r and LZ-End-r: Enhancing Move-r
    Patrick Dinklage, Johannes Fischer, Lukas Nalbach, Jan Zumbrink
    String Processing and Information Retrieval (SPIRE 2025), to be published
  • Top-k Frequent Patterns in Streams and Parameterized-Space LZ Compression
    Patrick Dinklage, Johannes Fischer, Nicola Prezza
    Symposium on Experimental Algorithms (SEA 2024), Schloss Dagstuhl, 9:1-9:20
  • Bit-Parallel (Compressed) Wavelet Tree Construction
    Patrick Dinklage, Johannes Fischer, Florian Kurpicz, Jan-Philipp Tarnowski
    Data Compression Conference (DCC 2023), IEEE, 81-90
  • Scalable Text Index Construction
    Timo Bingmann, Patrick Dinklage, Johannes Fischer, Florian Kurpicz, Enno Ohlebusch, Peter Sanders
    Algorithms for Big Data - DFG Priority Program 1736, Springer LNCS, 2022, 252-284
  • Practical Wavelet Tree Construction
    Patrick Dinklage, Jonas Ellert, Johannes Fischer, Florian Kurpicz, Marvin Löbel
    Journal of Experimental Algorithmics, ACM, 2021
  • Engineering Predecessor Data Structures for Dynamic Integer Sets
    Patrick Dinklage, Johannes Fischer, Alexander Herlez
    Symposium on Experimental Algorithms (SEA 2021), Schloss Dagstuhl, 7:1-7:19
  • Practical Performance of Space Efficient Data Structures for Longest Common Extensions
    Patrick Dinklage, Johannes Fischer, Alexander Herlez, Tomasz Kociumaka, Florian Kurpicz
    European Symposium on Algorithms (ESA 2020), Schloss Dagstuhl, 39:1-39:20
  • Constructing the Wavelet Tree and Wavelet Matrix in Distributed Memory
    Patrick Dinklage, Johannes Fischer, Florian Kurpicz
    SIAM Symposium on Algorithm Engineering and Experiments (ALENEX 2020), SIAM, 214-228
  • Translating Between Wavelet Tree and Wavelet Matrix Construction
    Patrick Dinklage
    Prague Stringology Conference (PSC 2019), Prague Stringology Club, 126-135
  • Bidirectional Text Compression in External Memory
    Patrick Dinklage, Jonas Ellert, Johannes Fischer, Dominik Köppl, Manuel Penschuck
    27th Annual European Symposium on Algorithms (ESA 2019), LIPIcs 144, 41:1-41:16
  • Compression with the tudocomp Framework
    Patrick Dinklage, Johannes Fischer, Dominik Köppl, Marvin Löbel, Kunihiko Sadakane
    Symposium on Experimental Algorithms (SEA 2017), LIPIcs 75, 13:1-13:22
  • Enhancing Long-Term Motivation of Cardiac Patients by Applying Exergaming in Rehabilitation Training
    Joe Volmer, Malte Burkert, Heiko Krumm, Abdurrahman Abodahab, Patrick Dinklage, Marius Feltmann, Chris Kröger, Pernes Panta, Felix Schäfer, David Scheidt, Marcel Sellung, Hauke Singerhoff, Christofer Steingrefer, Thomas Schmidt, Jan-Dirk Hoffmann, Detlev Willemsen, Nils Reiss
    International Conference on Wearable Micro and Nano Technologies for Personalized Health (pHealth 2017), Studies in Health Technology and Informatics 237, 183-187

Theses

  • Textkompression mithilfe des LCP-Arrays
    Bachelor's Thesis (German), supervised by Johannes Fischer and Dominik Köppl
  • Distributed Wavelet Tree Construction
    Master's Thesis (German), supervised by Johannes Fischer and Florian Kurpicz

Teaching

Supervised Theses

2025 LZ-End-komprimierte Suffix-Arrays mit effizientem Zugriff Bachelor's
2024 Parallelisierung einer speichereffizienten Approximation der LZ77-Faktorisierung Bachelor's
2022 Constructing Wavelet Trees with SIMD Instructions Master's
2021 Grammatikkompression mit dem Enhanced Suffix Array Bachelor's
2021 Evaluation von Sliding-Window-Algorithmen zur Berechnung der Lempel-Ziv-77-Faktorisierung Bachelor's
2021 Hybride parallele Konstruktion von Wavelet Trees Bachelor's
2020 Approximation der LZ-Zerlegung Bachelor's
2019 Plagiatserkennung als praktische Anwendung des Suffix-Arrays Bachelor's

Courses, Seminars, Projects

2025/2026 Visualisierung zur Ausführung von C-Programmen (Master-level project, Computer Science, TU Dortmund University) Co-supervisor
Summer 2025 Grundbegriffe der Theoretischen Informatik (Bachelor-level course, Computer Science, TU Dortmund University) Excercises, assignments, examination
Summer 2024 Datenstrukturen, Algorithmen und Programmierung 1 (Bachelor-level course, Computer Science, TU Dortmund University) Excercises, assignments, examination
Winter 2021/2022 Digital Entertainment Technologies (Bachelor-level project, Computer Science, TU Dortmund University) Supervisor
Summer 20101 Seminar Advanced Data Structures (Master-level seminar, Computer Science, TU Dortmund University) Co-supervisor
Summer 2021 Digital Entertainment Technologies (Bachelor-level project, Computer Science, TU Dortmund University) Supervisor
Summer 2020 Seminar Advanced Data Structures (Master-level seminar, Computer Science, TU Dortmund University) Co-supervisor
2019/2020 PlaDS (Platzeffiziente Datenstrukturen) (Master-level project, Computer Science, TU Dortmund University) Co-supervisor
Summer 2019 Seminar Advanced Data Structures (Master-level seminar, Computer Science, TU Dortmund University) Co-supervisor
Summer 2019 Proseminar Parallele Algorithmen (Bachelor-level seminar, Computer Science, TU Dortmund University) Co-supervisor

Language Skills (self-assessed)

  • German (native)
  • English (C2)
  • French (A2)
  • Spanish (A1)
  • Dutch (A1)

Skills & Interests

  • Programming (C++, C#, Python, Java; remnants of PHP, Kotlin, Visual Basic, x86 assembly, BASIC 2.0, possibly more …)
  • Video game development (released Unity game; experiences with Unreal, SFML, SDL, LWJGL), artwork authoring (Blender, Affinity Photo, Affinity Designer) and music production (FL Studio, iZotope Ozone)
  • Office software

…

Veasna
Veasna

My goa trance project started in 2013, under which I produced two full-length albums next to various EPs and compilation releases and played a number of live sets.

More …
Goa Trance Music
Goa Trance Music

Together with Joost in 2016, I took over the small label Goa Trance Music and produced a CD compilation with the concept of a time travel from oldschool to newschool goa trance.

More …
Inti
Inti

Experimental music, mostly downtempo on hip-hop-ish beats. This projects has been going since the early 2000s, but there has only been one album release.

More …
DrKrake vs Jellyfish
DrKrake vs Jellyfish

Starting with really strange music around 2003, Florian and myself remixed video game music released as the Super Musical Entertainment System.

More …
Kirsche und Minze
Kirsche und Minze

Pushing eJay Dance 3 to its limits in the early 2000s, Matze and myself produced various tracks in different genres, though mostly inspired by Electro House music.

More …
Beyond Nothing
Beyond Nothing

In the mid 2000s, four friends and myself founded this death metal band, which sadly parted ways after graduating school. We has several gigs and did a few studio recordings.

More …
Das Fantastische Bier
Das Fantastische Bier

This is four guys, myself included, covering the famous German hip hop group Die Fantastischen Vier, re-writing the lyrics to be all about beer (explicity excluding Hansa).

More …
Glump Records
Glump Records

Glump is a Bavarian term for "stuff". Under this fictive record label, I collect all kinds of music that I produced over the years, including much of the aforementioned.

More …

Minecraft Stats
Minecraft Stats

Using MinecraftStats, Minecraft server owners can display their players' statistics on a ranking and award-based web frontend.

More …
Deezcover
Deezcover

Modern music streamers lack the feature to play a truly random track from their entire database. This open source tool does that via deezer.

More …
tudocomp
tudocomp

From 2015 to 2020, I helped raise the TU Dortmund Compression Framework (tudocomp), which also backed several academic works of myself and others.

More …
JSFML
JSFML

From 2012 to 2015, I developed the official Java binding of the Simple Fast Multimedia Library (SFML) based on the Java Native Interface (JNI).

More …
System Management
System Management

During my professional career as software developer at Materna SE from 2008 to 2015, I worked on network discovery and monitoring tools.

More …

Casual Pro Wrestling
Casual Pro Wrestling

My first full-fledged indie game project started in 2017 attempts to bring back the early 3D more casual pro wrestling gaming experience.

More …
Robobomb
Robobomb

This clone of Bomberman 64 multiplayer mode is the result of a 2014 university assignment on game development with Unity.

More …
Fantasy Pub
Fantasy Pub

As a university assignment on software projects in 2013, fellow students and myself implemented the board game Fantasy Pub.

More …
Space Shooter
Space Shooter

Accompanying the development of JSFML in 2012, I wrote this simple shooter where the task is to shoot asteroids and break the highscore.

More …

TitanRPG
TitanRPG

A complete standalone roleplaying game mutator for Unreal Tournament 2004 based on ideas introduced in UT2004RPG and DruidsRPG, developed between 2008 and 2014.

More …
VCTF4
VCTF4

A modification of the four-team Capture the Flag game mode (CTF4) for Unreal Tournament 2004 to support vehicles – chaos ensues. This includes a set of maps and vehicle reskins.

More …

LEdit
LEdit

In 2009, I started development on a ROM editor for Lufia 2: Rise of the Sinistrals (Super Nintendo Entertainment System). It allowed editing maps, monsters and items, but was never finished as the target community was extremely small.

More …
Ares / YR++ / Syringe
Ares / YR++ / Syringe

As the next level of extending modability of Command & Conquer: Yuri's Revenge, in 2008 I provided a C++ API and wrote a program to load precompiled libraries into the executable at load time, eliminating the need for low level edits.

More …
RockPatch
RockPatch

RockPatch was a revolutionary assembly-level modification of Command & Conquer: Yuri's Revenge opening new possibilities to modders, that, in 2005, started a new wave of modding the game. It is still going on almost 20 years later.

More …
GoldenEye 007 Editors
GoldenEye 007 Editors

In 2004, I developed several utilities to generate GameShark codes for GoldenEye 007 (Nintendo 64), most notably a Weapon Set Editor that allows customizing the weapon distributions in the iconic multiplayer mode.

More …