Meine Projekte
An dieser Stelle möchte ich einige meiner privaten Projekte vorstellen, die häufig auch in internationalen Medien Erwähnung fanden.
Web-Entwicklung
Mit dem Aufkommen moderner Webtechnologien habe ich mich früh auf plattformunabhängige Softwarelösungen fokussiert. Im Laufe der Zeit sind daraus zahlreiche Projekte entstanden, von kleinen Tools bis hin zu komplexeren Webanwendungen.
HexEd.it - Browser-based Hex Editing

2013+ HexEd.it ist der erste clientseitige JavaScript-basierende Hex-Editor. Analysieren und Editieren von Dateien wo immer man will, ohne eine Software installieren zu müssen, unter jedem Betriebssystem, in allen modernen Browsern.
HexEd.it wird u.a. an vielen Schulen und Universitäten, rund um die Welt, zu Schulungszwecken verwendet, wurde bereits in über 40 Sprachen übersetzt und wird täglich von mehr als 9000 Besuchern genutzt.
https://hexed.itOutlook Email Attachment Extractor

2025 Der Outlook Email Attachment Extractor ist eine Webanwendung, die alle Anhänge aus mehreren Outlook-E-Mail-Dateien (.msg) mit einem Klick gleichzeitig extrahieren und speichern kann - direkt im Webbrowser ohne Software-Installation oder die zeitaufwändige Einzelauswahl wie in Outlook.
https://www.duttke.de/de/outlook-email-attachment-extractor/Leia Image Format (LIF) Decoder

2023 Decoder für Bilder im Leia Image Format (LIF). Das Leia Image Format (LIF) basiert auf JPEG-Dateien, die zusätzliche Metadaten enthalten. Diese umfassen Tiefeninformationen, Bokeh-Effekte sowie ein oder mehrere eingebettete Bilder, beispielsweise Stereobilder. Solche Dateien können mit Leia-Geräten erstellt und angezeigt werden, wie etwa dem Leia Lume Pad 2, das speziell für die Darstellung von 3D- und Lichtfeldinhalten entwickelt wurde.
https://www.duttke.de/de/lif/Base64 Online Encoder / Decoder

2009 / 2020 Dieser JavaScript-basierende Base64-Online-Encoder erlaubt es Klartext in Base64-kodierten Text und umgekehrt, umzuwandeln. Zusätzlich erlaubt er beliebige Text- und Binär-Dateien in Data-URLs zu kodieren.
https://www.duttke.de/de/base64/WalkingPad Bluetooth Connection Test

2022+ Mit dieser Seite können Sie über die Web-Bluetooth-API eine Verbindung zu einem KingSmith WalkingPad und anderen gebrandeten Geräten herstellen, um verschiedene Laufbandeinstellungen anzuzeigen und zu ändern.
https://www.duttke.de/de/walkingpad/Regular Expression Validator

2009 Dieser JavaScript-basierende Validator für reguläre Ausdrücke, erlaubt es Regular Expressions zu bauen und mit den verschiedenen JavaScript-RegExp-Funktionen zu testen.
https://regexp.duttke.de
Open Source
Einige meiner Werkzeuge und Bibliotheken sind als Open Source auf GitHub verfügbar, und können direkt per npm in eigene Projekte eingebunden werden. Ich freue mich, wenn meine Lösungen auch anderen Entwicklerinnen und Entwicklern weiterhelfen.
check-outdated

2019+ Befehlszeilen-Tool welches in eigene Projekte eingebunden werden kann, um sicherzustellen, dass die verwendeten Node.js-Abhängigkeiten aktuell sind.
https://www.npmjs.com/package/check-outdatedJSQR - JavaScript Quick Response Code Encoder Library

2011 JSQR war die erste JavaScript-Bibliothek, die in der Lage ist QR Codes direkt im Webbrowser des Benutzers zu generieren — ohne Anfragen an einen Webserver und dadurch z.B. auch im Offline-Modus bei mobilen Webapps.
https://jsqr.deXML2JSON.XSL

2009 Dieses hochoptimierte XSLT 1.0-Stylesheet transformiert XML-Daten in ein gültiges JSON-Format (JavaScript Object Notation).
https://xml2json.duttke.de
Browser-Spiele
Da ich mich schon immer für Computerspiele interessiert habe, dürfen natürlich auch einige selbstgeschriebene browser-basierende Casual Games nicht fehlen.
Macuro - A different kind of Sokoban

2009-2010 Macuro ist ein einzigartiges Sokoban-Puzzle-Spiel.
Ziel des Spiels ist es, mit Hilfe des grünen Würfels, alle farbigen Würfel auf die Bodenfläche mit der jeweils gleichen Farbe zu rollen. Der grüne Würfel wird vom Spieler gesteuert und kann andere Würfel andocken, ähnlich einem Elektromagnet - daher auch der Name MAgnetic CUbe ROlling.
https://macuro.deDice Rolling

2015 Dice Rolling ist ein Logikspiel bei dem es darum geht, Würfel auf vorgegebene Flächen zu bewegen. Bei jeder Interaktion verringert sich die Anzahl der Augen auf dem bewegten Würfel. Das Ziel ist es, dass alle Würfel auf den Zielflächen liegen und dabei keine Augen mehr übrig sind.
https://www.duttke.de/projects/dicerolling/Kakuro

2008 Kakuro ist eine Art Kreuzworträtsel, jedoch mit Ziffern statt Buchstaben und Summen statt Wortdefinitionen.
Ein meiner Meinung nach interessantes Spiel, welches in Japan ähnlich beliebt ist wie Sudoku, und hier in meiner Browser-basierenden Umsetzung online gespielt werden kann.
https://kakuro.duttke.deCrazy Movin'

2002 Crazy Movin' ist eine Kombination aus Rohre-Verlegen und Schiebepuzzle, inspiriert durch ähnliche Puzzle im Spiel Oxyd® aus dem Hause Dongleware.
Durch Pfeil-Steine können die anliegenden Rohrsteine in die Pfeilrichtung verschoben werden. Der letzte Stein, wird dabei wieder an erster Position eingesetzt, so dass die Steine endlos im Kreis geschoben werden können. Ziel des Spiels ist es alle Rohrteile zu schließen.
Das Spiel steht in einer englischen Version zur Verfügung, und wurde auf die Möglichkeiten (anno 2002) aller gängigen Web-Browser abgestimmt.
https://www.duttke.de/projects/crazymovin/Nine Men's Morris

2001 Nine Men's Morris, hierzulande als Mühle bekannt, ist das erste meiner veröffentlichten JavaScript-basierenden Projekte.
Es wird gegen den Computer gespielt, dem ich versucht habe, einen hohen Grad an künstlicher Intelligenz zu geben. So habe ich das Spiel darauf hin optimiert, alle damals verfügbaren Mühle-Programme zu besiegen.
https://www.duttke.de/projects/nmm/
Software-Projekte
Programmiersprachen entwickeln sich ständig, und kaum eine bleibt dauerhaft relevant. Meine Projekte in Assembler und Visual Basic Classic haben mir dennoch früh gezeigt, wie wichtig effiziente und performante Programmierung ist.
Dieses Wissen setze ich bis heute ein, zum Beispiel bei Webprojekten in JavaScript oder spezialisierten Anwendungen in MonkeyC für Garmin-Geräte. Viele ältere Projekte sind nach wie vor aktiv. PhotoME zählt über 30.000 Nutzer und die Webseite zum psx emulation cheater erreichte zehn Jahre nach dem letzten Release mehr als vier Millionen Seitenaufrufe.
Garmin Apps

2022+ Garmin bietet die Möglichkeit für ihre Sportuhren Apps und Datenfelder selbst zu programmieren und diese im Garmin-eigenen Connect IQ Store zu veröffentlichen.
Hierfür habe ich diverse Apps und Datenfelder entwickelt, u.a. eines, welches das Xiaomi/KingSmith WalkingPad-Laufband von der Uhr aus steuerbar macht und die aufgezeichten Daten im Garmin Connect Dashboard auswertbar macht.
Die Apps wurden inzwischen mehr als 10.000 Mal heruntergeladen.
https://apps.garmin.com/de-DE/developer/8cb871b5-2a6c-4a75-a350-99f1945f3d36/appsStereo Photo Optimizer

2025 Stereo Photo Optimizer ist eine Android-App für das Leia LumePad 2, mit der Sie stereoskopische Side-by-Side-Fotos direkt in 3D optimieren können.
Dank des Lightfield-Displays des LumePad 2 können Sie Korrekturen bei Konvergenz, Ausrichtung, Farbe, Rauschreduzierung und Tiefe sofort in echtem 3D sehen und anpassen.
https://forums.leialoft.com/t/stereo-photo-optimizer-new-app-for-sbs-3d-image-correction/6181PhotoME

2006-2009 PhotoME ist ein kostenloser Viewer und Editor für Metadaten in Bilddateien.
Neben den von Digitalkameras erstellten Exif-Daten liest und schreibt PhotoME auch IPTC-NAA-Metadaten, ICC-Profile, MakerNotes zahlreicher Hersteller, sowie unzählige weitere Metadaten- und Datei-Formate.
Mit über 30.000 aktiven Nutzern weltweit, ist PhotoME wohl mein beliebtestes Programm und wird immer noch regelmäßig in der Presse erwähnt. Dank der Unterstützung vieler Helfer, ist die Software in 17 Sprachen verfügbar.
https://www.photome.deOxyd® extra v2

2004-2005 Oxyd® war Anfang der 1990er Jahre eines der beliebtesten Spiele aus dem Hause Dongleware.
2005 wurde ein von mir entwickeltes Remake als offizielle Oxyd-Version veröffentlicht - für mich, selbst ein Oxyd-Fan, eine große Ehre.
Neben zusätzlichen, von mir gestalteten Levels, bot das Spiel auch die Möglichkeit zu zweit, über das Internet und LAN zu spielen.
https://de.wikipedia.org/wiki/Oxydpsx emulation cheater

1999-2004 Der 'psx emulation cheater' kurz [pec] bietet die Möglichkeit GameShark-Cheatcodes in PlayStation-Emulatoren zu verwenden.
In Zusammenarbeit mit den damals größten GameShark-Code-Webseiten konnte ich eine riesige Datenbank mit vorgefertigten Codes für fast alle PlayStation-Spiele aufbauen. Zudem ist es mit [pec] auch möglich eigene Codes zu finden und diese dann mit der originalen PlayStation-Hardware zu verwenden.
Artikel über [pec] sind in verschiedenen Computer-Fachzeitschriften zu finden.
https://pec.duttke.deCyberPad

2001-2003 CyberPad ist ein von mir in Assembler programmiertes einzigartiges Zusatzmodul für PlayStation-Emulatoren, welches es ermöglicht, PlayStation-Spiele über das Internet und LAN zu spielen.
Lange bevor Sony selbst im Jahr 2006 mit der PlayStation 3 das Online-Spielen ermöglichte, konnten Spieler mit CyberPad gegen Freunde auf der ganzen Welt PlayStation-Spiele spielen - dafür reicht schon eine damals übliche ISDN-Internetverbindung aus.
Auch über dieses Programm haben diverse Fachzeitschriften Artikel veröffentlicht.
https://cyberpad.duttke.deBlini!

1999-2000 Blini! ist ein Werkzeug um die recht kryptische Konfigurationsdatei des PlayStation-Emulators Bleem! auf einfache Weise auszulesen und zu bearbeiten, sowie sich Kompatibilitätsinformationen und eine Statistik anzeigen zu lassen.
Blini! war mein erstes im Internet veröffentlichtes Programm und hat den Grundstein für viele weitere Projekte gelegt.
https://blini.duttke.de


