My projects
Here, I present some of my private projects, which were often mentioned in international media.
Web development
With the appearance of a new generation of web browsers such as Google Chrome, Mozilla Firefox 3.5 and Microsoft Internet Explorer 8, I decided to only develop platform-independent software based on JavaScript.
In recent years, this has resulted in a number of smaller and larger projects.
2013+ HexEd.it is the first client-side JavaScript-based hex editor. Analyze and edit files wherever you want without having to install software. It runs under any operating system, in all modern browsers.
HexEd.it is used for training purposes in many schools and universities around the world, has already been translated into over 40 languages and has more than 4500 unique visitors use the app every day.
https://hexed.it2023 Decoder for Leia Image Format (LIF) images. That are JPEG images with metadata that may contain depth, bokeh data, and one or more images (e.g. stereo images). These images can be captured and viewed using Leia Devices, such as the Leia Lume Pad 2.
https://www.duttke.de/lif/2009 / 2020 This JavaScript-based Base64 online encoder enables plain text to be converted into Base64-encoded text and vice versa. In addition, it allows any text and binary files to be encoded into data URLs.
https://www.duttke.de/base64/2022+ This page allows you to connect to a KingSmith WalkingPad and other branded devices via the Web Bluetooth API to view and change various treadmill settings.
https://www.duttke.de/walkingpad/2009 This JavaScript-based validator for regular expressions allows regular expressions to be built and tested with the various JavaScript RegExp functions.
https://regexp.duttke.de
Open Source
Some tools that I've developed over the years are available as open source projects on GitHub, or can be integrated directly into your own projects via npm.
2019+ Command line tool which can be integrated into your own projects to ensure that the Node.js dependencies used are up-to-date.
https://www.npmjs.com/package/check-outdated2011 JSQR was the first JavaScript library that is able to generate QR codes directly in the user's web browser - without queries to a web server and thus e.g. also in offline mode for mobile web apps.
https://jsqr.de2009 This highly optimized XSLT 1.0 stylesheet transforms XML data into a valid JSON format (JavaScript Object Notation).
https://xml2json.duttke.de
Browser games
Since I've always been interested in computer games, some self-written browser-based casual games should of course not be missing.
2009-2010 Macuro is a unique Sokoban puzzle game.
The goal of the game is to use the green cube to roll all colored cubes onto the floor area with the same color. The green cube is controlled by the player and can dock other cubes, similar to an electromagnet - hence the name MAgnetic CUbe ROlling.
https://macuro.de2015 Dice Rolling is a logic game with the goal to move cubes on given target areas. With every interaction the number of eyes on the moving cube is reduced. At the end, all dice on the target areas need to have no more eyes left.
https://www.duttke.de/projects/dicerolling/2008 Kakuro is a kind of crossword puzzle, but with numbers instead of letters and sums instead of word definitions.
An interesting game in my opinion, which is as popular as Sudoku in Japan and can be played online here in my browser-based implementation.
https://kakuro.duttke.de2002 Crazy Movin' is a combination of pipe laying and sliding puzzle, inspired by similar puzzles in the game Oxyd® from Dongleware.
The adjacent pipe stones can be moved in the direction of the arrow using arrow stones. The last stone is used again in the first position so that the stones can be pushed endlessly in a circle. The aim of the game is to close all parts of the pipe.
The game is available in an English version and has been adapted to the possibilities (in 2002) of all common web browsers.
https://www.duttke.de/projects/crazymovin/2001 Nine Men's Morris, also known as mill game, is the first of my published JavaScript-based projects.
It is played against the computer that I have tried to give a high level of artificial intelligence to. So I optimized the game to defeat all mill programs available at the time.
https://www.duttke.de/projects/nmm/
Software projects
In the past I always had a knack for using the wrong programming language. Assembler is rarely used today and with the release of Windows Vista Microsoft has also stopped support for Visual Basic Classic.
Nevertheless, I learned a lot about highly optimized programming through the hardware-related programming in Assembler, and through the speed deficits of Visual Basic. Knowledge that still helps me to develop efficient and high-performance software in JavaScript today.
And even though I wrote my last line of platform-dependent code over 14 years ago, the projects are still very popular with users. PhotoME has over 30,000 active users, or the website of the psx emulation cheater exceeded the mark of over 4,000,000 page visitors in 2014 (10 years after the last program version).
2022+ Garmin's Connect IQ Store allows you to submit your own apps and data fields for its sports watches.
I have developed various apps and data fields for this, including one that makes the Xiaomi/KingSmith WalkingPad treadmill controllable from the watch and the recorded data evaluable in the Garmin Connect Dashboard.
The apps have now been downloaded more than 10,000 times.
https://apps.garmin.com/en-US/developer/8cb871b5-2a6c-4a75-a350-99f1945f3d36/apps2006-2009 PhotoME is a free viewer and editor for metadata in image files.
In addition to the Exif data created by digital cameras, PhotoME also reads and writes IPTC-NAA metadata, ICC profiles, MakerNotes from numerous manufacturers, as well as countless other metadata and file formats.
With over 30,000 active users worldwide, PhotoME is arguably my most popular program and is still regularly mentioned in the press. Thanks to the support of many helpers, the software is available in 17 languages.
https://www.photome.de2004-2005 Oxyd® was one of the most popular games from Dongleware in the early 1990s.
In 2005 a remake developed by me was released as official sequel to Oxyd® - a great honor for me, an Oxyd® fan myself.
Beside additional levels designed by me, the game also offered the opportunity for two to play over the Internet and LAN.
https://de.wikipedia.org/wiki/Oxyd1999-2004 The 'psx emulation cheater' short [pec] offers the possibility to use GameShark cheat codes in PlayStation emulators.
In collaboration with the then largest GameShark code websites, I was able to build a huge database of pre-made codes for almost all PlayStation games. With [pec] it is also possible to find your own codes and then use them with the original PlayStation hardware.
Articles about [pec] can be found in various computer journals.
https://pec.duttke.de2001-2003 CyberPad is a unique add-on module for PlayStation emulators, programmed by me in Assembler, which enables PlayStation games to be played over the Internet and LAN.
Long before Sony made online gaming possible with the PlayStation 3 in 2006, gamers could use CyberPad to play PlayStation games against friends all over the world - an ISDN Internet connection, which was common at the time, was sufficient.
Various specialist journals have also published articles about this program.
https://cyberpad.duttke.de1999-2000 Blini! is a tool for the rather cryptic configuration file of the PlayStation emulator Bleem! to read out and edit easily, as well as to display compatibility information and statistics.
Blini! was my first program published on the Internet and laid the foundation for many more projects.
https://blini.duttke.de