Jens Duttke

JensDuttke


Web-Entwickler

Sie möchten mehr über meine Person erfahren? Dann besuchen Sie doch meine "Über mich"-Seite.

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 Erscheinen einer neuen Generation von Webbrowsern, wie Google Chrome, Mozilla Firefox 3.5 und Microsoft Internet Explorer 8, entschied ich, nur noch plattformunabhängige Software auf Basis von JavaScript zu entwickeln.

So entstanden in den letzten Jahren einige kleinere und größere Projekte.

  1. 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 4500 Besuchern genutzt.

    https:/­/­hexed.it
    Verwendete Tools & Technologien
  2. Leia Image Format (LIF) Decoder

    2023 Decoder für Bilder im Leia Image Format (LIF). Das sind JPEG-Bilder mit Metadaten, die Tiefeninformationen, Bokeh-Daten und ein oder mehrere Bilder (z. B. Stereobilder). Diese Bilder können mit Leia-Geräten, wie z. B. dem Leia Lume Pad 2, aufgenommen und betrachtet werden.

    https:/­/­www.duttke.de/­lif/­
    Verwendete Tools & Technologien
  3. 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/­base64/­
    Verwendete Tools & Technologien
  4. 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/­walkingpad/­
    Verwendete Tools & Technologien
  5. 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
    Verwendete Tools & Technologien

Open Source

Einige Werkzeuge die über die Jahre entstanden sind stehen als Open Source-Projekte bei GitHub zur Verfügung, oder können direkt per npm in eigene Projekte eingebunden werden.

  1. 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-outdated
    Verwendete Tools & Technologien
  2. JSQR - 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.de
    Verwendete Tools & Technologien
  3. XML2JSON.XSL

    2009 Dieses hochoptimierte XSLT 1.0-Stylesheet transformiert XML-Daten in ein gültiges JSON-Format (JavaScript Object Notation).

    https:/­/­xml2json.duttke.de
    Verwendete Tools & Technologien

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.

  1. 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.de
    Verwendete Tools & Technologien
  2. Dice 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/­
    Verwendete Tools & Technologien
  3. 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.de
    Verwendete Tools & Technologien
  4. Crazy 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/­
    Verwendete Tools & Technologien
  5. 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/­
    Verwendete Tools & Technologien

Software-Projekte

In der Vergangenheit hatte ich immer ein Händchen dafür auf die falsche Programmiersprache zu setzen. Assembler findet heute kaum noch Anwendung und durch die Veröffentlichung von Windows Vista hat Microsoft auch den Support für Visual Basic Classic eingestellt.

Nichtsdestotrotz habe ich durch die hardwarenahe Programmierung in Assembler, und durch die Geschwindigkeitsdefizite von Visual Basic sehr viel über hoch-optimierte Programmierung gelernt. Wissen, was mir selbst heute noch bei JavaScript hilft, effiziente und performante Software zu entwickeln.

Und obwohl ich meine letzte Zeile plattformabhängigen Code vor über 14 Jahren geschrieben habe (abgesehen von den Garmin Apps), sind die Projekte bei den Benutzern nach wie vor sehr beliebt. So hat PhotoME über 30.000 aktive Benutzer, oder die Webseite vom psx emulation cheater im Jahr 2014 (10 Jahre nach der letzten Programmversion) die Marke von über 4.000.000 Seitenbesuchern überschritten.

  1. 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/­apps
    Verwendete Tools & Technologien
  2. PhotoME

    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.de
    Verwendete Tools & Technologien
  3. Oxyd® 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/­Oxyd
    Verwendete Tools & Technologien
  4. psx 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.de
    Verwendete Tools & Technologien
  5. CyberPad

    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.de
    Verwendete Tools & Technologien
  6. Blini!

    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
    Verwendete Tools & Technologien

Andere Hobbies

Man mag es kaum glauben, aber neben den zahlreichen Software-Projekte finde ich ab und zu auch Zeit für andere Hobbies, wie 360°-Fotografie, Virtual Reality, Wandern, E-Bike fahren und RC-Modelle/Multikopter-Flugmodelle.

Am Ende kommt aber auch bei diesen Hobbies meist etwas fürs Web raus...

E-mobility 😁

  1. berg.duttke.de: enRoute Berg 2.2 Nano Tracer/Tracer V3 - Rock 'n Crawler

    2012 Hier entstand eine Webseite auf der ich Informationen über den RC Rock Crawler enRoute Berg 2.2 Nano Tracer/Tracer V3 sammele, und eine interaktive Zubehörliste, meine Einkaufsliste, sowie einen Zollgebühren-Rechner zur Verfügung stelle.

    https:/­/­berg.duttke.de