Projekte

David-Schulte.de

TypeScriptReactTailwindWebGL

Auch diese Webseite ist selbstentwickelt - ganz ohne Vorlagen, Komponenten-Bibliothek oder Vibe-Coding. Das Backend unterstützt Server-Side-Rendering für Suchmaschinenoptimierung.


Video Controls for Instagram

TypeScriptReactBrowser Extension

Diese Browser-Extension erweitert die Instagram-Webseite, um eine Video-Steuerung mit Lautstärkeregler, Zeitleiste und einigen Extras, wie Bild-in-Bild und einer Vollbild-Funktion.


glTFNet

C#LibraryCodeGenAOT

glTF ist ein Standard für 3D-Modelle. Existierende Bibliotheken zum Lesen von glTF sind beim Parsen nicht sehr speichereffizient. Zum effizienten Lesen von vielen glTF-Dateien habe ich meine eigene Bibliothek in der aktuellen .NET Version entwickelt. Die glTF-Klassen werden dabei automatisch aus dem offiziellen Schema erstellt.


MediaRipper

C#Cross-PlatformAvaloniaAOTFFmpeg

Als großer Fan von Serien und Filmen digitalisiere ich meine DVD- und Blu-Ray-Sammlung und streame diese über Jellyfin. Der MediaRipper vereinfacht und optimiert diesen Vorgang erheblich. Über die Oberfläche können die Inhalte über eine TheMovieDB-Schnitstelle zugeordnet werden.


Gameboy Emulator

C#EmulationEmulator

Die Hardware des ersten GameBoys war relativ einfach und der Befehlssatz des Z80 überschaubar und gut dokumentiert. Als selbstgestellte Herausforderung habe ich einen Emulator in .NET entwickelt. Der Emulator ist nicht 100%-tig genau, aber Tetris und Pokémon Rot und Blau konnten bereits gespielt werden.


libpgs-js

TypeScriptLibrary

Diese JavaScript-Bibliothek ermöglicht es, PGS (Presentation Graphic Stream) Untertitel im Web darzustellen. Dadurch konnte ich den offenen Media-Server Jellyfin erweitern und Unterstützung für BluRay-Untertitel hinzufügen.


Minecraft Map Viewer

C#CLITypeScriptThree.js

Dieses Projekt besteht aus zwei Programmen. Ein Konverter, der eine Minecraft-Welt in streambare 3D-Modele umwandelt, und ein TypeScript Frontend, welches diese Daten darstellen kann.


Bot Manager

C#CLI

Dieses kleine Anwendung habe ich zur Automatisierung von diversen Services entwickelt. Aktuell wird es zur Verwaltung von Discord-Bots genutzt. Die Konfiguration erfolgt über eine JSON-Datei. Diese Konfiguration sollte über eine grafische Oberfläche verwaltet werden können. Die Logik-Blöcke sollten im Stiel von Scratch per Drag&Drop zusammengesetzt werden. Die Oberfläche wurde jedoch nie fertig.


Discord Music Player

C#CLI

Der Discord Music Player war ein kleines Tool, um Musik in einen Discord-Sprachkanal zu streamen.


Minecraft Tab Patcher

C#CLIJava

Dieses Tool löste ein sehr spezielles Problem in Minecraft. Es war nicht möglich, das Inventar mit der Tab-Taste zu öffnen und zu schließen. Während das Öffnen funktionierte, wechselte der erneute Druck lediglich das aktive UI Element. Dieser Vorgang hatte Vorrang vor der manuellen Tastenbelegung.Wie habe ich das gelöst? Ich habe ein .NET-Programm geschrieben, welches die Java-Binary von Minecraft auslesen konnte und den Byte-Code der Java-Klassen modifizieren konnte. Damit konnte das native Verhalten der Tab-Taste deaktiviert werden.


PushYou

AndroidAppJavaPHP

Dieses Projekt entstand aus einem Bürowitz. Es ist ein simples Soundboard. Die Geräusche werden allerdings nicht auf deinem Gerät wiedergegeben, sondern auf dem Gerät eines anderen Nutzers.


Play Music Exporter

JavaAndroid

Vor YouTube Music, gab es Google Play Music. Man konnte seine MP3-Sammlung in die Cloud laden und von unterwegs streamen, bevor später auch ein Streaming-Abo-Model hinzukam. Die Wiedergabe war allerdings nur über die App möglich. Der Play Music Exporter konnte unter Android mit Root-Zugriff auf die MP3-Dateien zugreifen, diese exportieren, teilen und in anderen Apps wiedergeben.


Wifi Password Reader

JavaAndroid

Bevor Android das Teilen von WLAN-Passwörter anzeigen und teilen konnte, habe ich meine eigene App dafür entwickelt. Die App konnte über Root-Rechte alle WLAN-Passwörter auslesen und diese anzeigen.


MyVillageOnline

GameMakerMultiplayer

MyVillageOnline ist meine Jugendsünde. Es ist ein kleines Online-Spiel, welches ich 2008 mit dem GameMaker entwickelt habe. In diesen Spielen konnte man Städte bauen. Als Spieler war es möglich, Land zu kaufen und rudimentäre Häuser zu bauen und zu dekorieren.