IT and development experience



Re-Design of a finance application
Technologies: Delphi, DevExpress
Time period: 2019-
I am responsible for the complete new development of a huge application in Delphi 10.3 in the field of finance, which has been written in Delphi 2006 originally. The work is mostly done remotely in my home office, although the company resides in switzerland. Since the work is in progress, I must not mention further details.


Ich bin verantwortlich für die komplette Neuentwicklung einer großen Finanz-Anwendung in Delphi 10.3, die ursprünglich in Delphi 2006 entwickelt wurde. Der Auftraggeber sitzt in der Schweiz, die meiste Arbeit erledige ich aber von Homeoffice aus. Da die Arbeit noch nicht abgeschlossen ist, darf ich weitere Details nicht nennen.



Frontend development
Technologies: Bootstrap, JS, MDB
Time period: 2019-
Currently I am working again for Bibel.TV as a freelancer in part time. The frontend design with bootstrap, MDB und javascript is currently the main field.


Auch aktuell arbeite ich wieder für Bibel.TV als Freelancer in Teilzeit. Die Frontend-Gestaltung mit Bootstrap, MDB und Javascript ist momentan der Hauptschwerpunkt.



Online teacher
Technologies: C#, SQL
Time period: 2019
For IBB I work as an online instructor in the field of C#. Therefore I provide and share my knowledge about C# with the students. Together we develop software projects, which reflect the several aspects.


Für IBB arbeite ich als Online-Dozent im Bereich C#. Dort teile ich mein C#-Wissen mit den Schülern. Gemeinsam entwickeln wir dabei Softwareprojekte, die die verschiedenen Aspekte der Sprache widerspiegeln.



Video Ingest Tool
Technologies: Java, JUnit, XML, XPath, MySQL
Time period: 2018/2019
For Bibel.TV I have developed a tool named Importer. It acts as an interface between the internal processes at Bibel.TV and their official video ingest platform in the internet.


Für Bibel.TV habe ich das Tool Importer entwickelt. Dieser fungiert als Interface zwischen den internen Prozessen bei Bibel.TV und seiner offiziellen Video-Einspeiseplattform im Internet.



ACT! Plugin development
Technologies: c#
Time period: 2018
For the ACT!-CRM I developed a user interface plugin. it uses the Act-SDK and provides a location detection for entered postal codes.


Für das ACT!-CRM habe ich ein Userinterface-Plugin entwickelt. Es nutzt das Act-SDK und hilft bei der automatischen Erkennung der Stadt anhand der eingegebenen Postleitzahl.



Chess tool
Technologies: Angular/JavaScript
Time period: 2018
Web application for the layout of chess situations. The positions can be saved and loaded via an URL encoded string. A QR code output is included.


Web-Applikation für dasLayout von Schachstellungen. Die Situationen können mithilfe eines URL-kodierten Strings gespeichert und geladen werden. Auch ist eine QR-Code-Ausgabe enthalten.



Modernization of a finance application
Technologies: Delphi
Time period: 2018
Portfolio manager is a huge trading and broking application.
I replaced the main menu and toolbar by ribbon and quick access toolbars by DevExpress. Color adaption according to the specification of the corporate identity was made by me, too.


Der Portfolio manager ist eine große Handels- und Broking-Anwendung.
Ich habe das Hauptmenü und die Toolbars durch ein Ribbon mit Quick Access Toolbar von DevExpress ersetzt. Farbanpassungen gemäß der neuen Spezifikationen für das Corporate Design wurden ebenfalls von mir vorgenommen.



CryptoTools
Technologies: Java
Time period: 2017
Based on the latest version of BouncyCastle, I created a 100% Java based tool for s/mime encryption and decryption. It works with the latest security algorithms (RSASSA-PSS signatures and OAEP key encryption), which complies with the demands of the German BSI in terms of secure data exchange on federal governmental level.


Basierend auf den aktuellen BouncyCastle-Bibliotheken habe ich ein Tool für die S/Mime-Verschlüsselung und Signatur in 100% purem Java entwickelt. Dieses Tool verwendet die neuesten Sicherheitsalgorithmen (RSASSA-PSS-Signaturen und OAEP Schlüsselverschlüsselung) und erfüllt somit die Anforderungen des BSI für den sicheren Datenaustausch auf Bundesregierungsebene.



User interface for a project called „process handler”
Technologies: Delphi
Time period: 2017
Besides thread based back-end logic, which is completely realized using Delphi XE8, it also contains graphical visualization. I realized the whole UI programming with native Delphi by my own: Gradients, quadratic Bezier splines for the connections, a header control, scaling of the complete canvas and finally translation and resizing of the containing objects.


Neben der threadbasierten Back-End-Logik, die komplett in Delphi XE8 realisiert wurde, beinhaltet dieses Projekt auch grafische Visualisierung. Ich habe die komplette UI-Programmierung mit nativem Delphi umgesetzt: Farbverläufe, quadratische Bezier-Splines für die Verbindungen, ein Header-Control, Skalierung des Canvas sowie die Translation und Skalierung der enthaltenen Objekte.



Goldgraeber
Technologies: Android, Java
Time period: 2016-
I successfully ported my own addictive pc game „Goldgraeber” to Android.


Ich habe erfolgreich mein eigenes „Suchtspiel” vom Windows-PC auf Android portiert.





LogoSort
Technologies: Android, Java
Time period: 2015-
An android game, which is a product of our speech therapy division.

We ordered hundreds of pictures from a designer, which were drawn for us exclusively. I scanned them and applied a vectorization in order to build a stock of high quality, free scalable SVG pictures.

Furthermore we recorded all the words in different accentuations – also featuring a wrong pronunciation.

In the LogoSort app the player hears and sees the word and has to draw it to the right position of the donkey depending on where he has heard the target phoneme.

When the game ends there is an award waiting for the player.


Ein Android-Spiel, das Teil unserer Therapiesparte ist.

Wir bestellten hunderte Bilder bei einer Designerin, die für uns exklusiv angefertigt wurden. Ich habe diese gescannt und vektorisiert, um ein Portfolio hochwertiger und frei skalierbarer SVG-Grafiken zu erstellen.

Des Weiteren nahmen wir jeden Begriff mit unterschiedlichen Betonungen und auch falscher Aussprache auf.

In der LogoSort-App hört der Spieler einen Begriff, sieht das Wort und muss es zur Richtigen Position des Esels ziehen, abhängig von der erkannten Position des Ziellautes.

Bei Spielende wartet eine Belohnung auf den Spieler.



Activity monitoring system
Technologies: Delphi
Time period: 2015-2018
Every part of the MailyRelay system (input, handling, output) writes special information into the database.
The activity monitor displays it and allows specific analysis and early detection of upcoming problems.
Realized with included TeeChart components.
There are also heuristic methods to detect upcoming problems early.


Jeder Teil des MailRelay-Systems (Eingabe, Verarbeitung, Ausgabe) schreibt spezielle Informationen in die Datenbank.
Der Aktivitätsmonitor zeigt diese an und ermöglicht eine spezifische Analyse und Früherkennung möglicher Probleme.
Umgesetzt mithilfe der mitgelieferten TeeChart-Komponenten.
Es sind auch heuristische Methoden enthalten zur frühen Erkennung möglicher Probleme.



AS2 Receiver/Sender
Technologies: C#, dotNet
Time period: 2014-2015
Realized as client/server solution for sending and receiving AS2 messages.

Only the inner program has access to the database and the local file system. The DMZ part realizes the communication with the world. Both parts are connected via Sockets.


Umgesetzt als Client/Server-Lösung für das Senden und Empfangen von AS2-Nachrichten.

Nur das innere Programm hat Zugang zu Datenbank und Filesystem. Der DMZ-Part übernimmt die Kommunikation mit der Welt. Beide Teile kommunizieren mittels Sockets.



Key generator
Technologies: Linux C++
Time period: 2013
A tool used for generating secure licence keys based on asymmetric cryptography. It runs non-interactive in the context of an automated web shop order process.
Everybody can decrypt the generated string, which contains then name and the product. But in order to generate licence keys you have to know the secret private key.


Ein Tool, mit dem sichere Lizenzschlüssel auf Basis asymmetrischer Verschlüsselung erstellt werden. Es läuft ohne User-Interaktion als Teil eines automatisierten Webshop-Bestellprozesses.
Jeder kann die erstellten Strings entschlüsseln, die Namen und Produkt-IDs enthalten. Aber um einen Lizenzschlüssel selbst zu erstellen, ist der geheime, private Schlüssel nötig.



LogoSearch
Technologies: Delphi
Time period: 2013-
One part out of several games of the therapy division of my company.
Realized in Delphi 2007 using CairoLib for fine graphics technique like anti-aliasing and transparency.
For the therapy division I developed an SVG class for the import of vector based graphics.


Eines von verschiedenen Spielen unserer Therapiesparte.
Umgesetzt mit Delphi 2007 und der CairoLib für feine Grafikfunktionen wie Anti-Aliasing und Transparenz.
Für die Therapiesparte habe ich eine eigene SVG-Klasse für den Import von Vektorgrafiken entwickelt.



EDIFACT Viewer
Technologies: Delphi
Time period: 2012-2018
Tool for the graphical visualization and inline manipulation of UN/EDIFACT messages.
It is also possible to represent the message in a tree view.
Also includes backend development: Creation of EDIFACT and parsing classes.


Tool für die grafische Visualisierung und direkten Manipulation von UN/EDIFACT-Nachrichten.
Nachrichten können auch in einer Baumstruktur dargestellt werden.
Beinhaltet auch backend-Entwicklung: Erstellung einer EDIFACT- und Parsingklassen.



The Cockpit
Technologies: Delphi
Time period: 2012-2018
The cockpit allows the remote control of every single server (e.g. Dispatcher, Worker, Output programs) in the environment of the DataRelay. It implements my class “Service interface”.
It dynamically creates panels featuring buttons, which are defined per application inside their own XML file.
The XML file exchange communication is realized through native Windows Sockets.


Das Cockpit ermöglicht die Fernsteuerung jedes einzelnen Servers (d.h. Dispatcher, Worker und Ausgabeprogramme) in der Umgebung des DataRelays. Es implementiert meine Klasse “Service interface”.
Es erzeugt Panels mit Buttons dynamisch, die innerhalb jeder Anwendung via XML selbst definiert werden.
Die XML-Kommunikation findet mit nativen Windows Sockets statt.



Visualization of energy consumption data
Technologies: Flash, ActionScript
Time period: 2012
A flash applet with Delphi back-end for information purposes for Thüga SmartService. The end user of a public service can visualize his energy consumption courses an do some additional stuff like changing his password. Due to technical restrictions this second version was made in Flash instead of using Java Applet technology.


Ein Flash-Applet mit Delphi-Backend für informative Zwecke für den Thüga SmartService. Der Endbenutzer eines Stadtwerkes kann seine Energieverbrauchsdaten einsehen und zusätzliche Funkeionen wie die Passwortänderung nutzen. Aufgrund technischer Einschränkungen wurde die zweite Version in Flash und nicht als Java Applet-Technologie entwickelt.



Native 3D
Technologies: Delphi
Time period: 2011
No commercial background for the moment: I created a 3D engine in Delphi with just native calculations (camera and world projection matrices, trigonometry, light calculation, z buffering).
There is absolutely NO Direct3D or OpenGL library dependency at all!


Momentan ohne kommerziellen Hintergrund: Ich habe eine 3D engine in Delphi mit ausschließlich internen Berechnungen entwickelt (Kamera und Weltpositionsmatrizen, Trigonometrie, Lichtberechnungen, Z-Buffering).
Es gibt keinerlei Direct3D- oder OpenGL-Bibliotheks-Abhängigkeiten!



Visualization of energy consumption data
Technologies: Java Applet
Time period: 2010
A native Java applet for end-users without external dependencies for information purposes for Thüga SmartService.

The customer can select multiple courses and overlay them or build sums or differences by himself.

Back-End communication is realized via HTTP requests, Apache and a Delphi Server program with database connection build the backend.


Ein natives Java-Applet für Endnutzer ohne externe Abhängigkeiten für informative Zwecke für den Thüga SmartService.

Der Kunde kann selbst verschiedene Lastgänge anzeigen, übereinanderlegen und Summen und Differenzen bilden.

Die Kommunikation im Hintergrund wird über HTTP-Requests realisiert, Apache und ein Delphi-Server mit Datenbankanbindung bilden das Backend.



EDAG Sigma
Technologies: Perl, VBA, Unix
Time period: 2007
In 2007 I worked in Hamburg for EDAG Sigma Concurrent Engineering. It’s an engineering office for Airbus. I have converted and extended Perl scripts and VBA programs for fatigue calculations (FEM, finite elements method) of aircrafts.


2007 arbeitete ich in Hamburg für die EDAG Sigma Concurrent Engineering, einem Ingenieurbüro, das für Airbus arbeitete. Ich habe Perl Scripte und VBA-Programme für Fatigue-Berechnungen (FEM, finite elements method) von Flugzeugen konvertiert und erweitert.



Browser Window Manager
Technologies: JavaScript
Time period: 2006
That was just an experiment where I tried to create a small Window Manager based on JavaScript and the HTML5 canvas element. The native JavaScript technique in the background leads to a fast response and universal availability for use. It may serve as a front end for a server configuration package.


Das war eine Machbarkeitsstudie, bei der ich einen kleinen Window-Manager auf Basis von JavaScript und dem HTML5-Element Canvas erstellt habe. Die native JavaScript-Technik im Hintergrund führt zu schnellen Antworten und einer universellen Einsetzbarkeit. Man könnte es als Frontend für eine Serververwaltung einsetzen.



TiGri
Technologies: JavaScript, PHP, Ajax, MySQL, Firebase Cloud Messaging
Time period: 2005-
TiGri means „Termine im Griff” and lets me manage my appointments easily. TiGri is also a password safe. The AES encrypted data is stored in the MySQL database and will only be decrypted on client-side (JavaScript).
Furthermore I use it as contact database and scratchpad.
It now includes Firebase connectivity inside a small android app, which receives push messages.


TiGri heißt „Termine im Griff” und stellt eine einfache Terminverwaltung dar. TiGri ist auch ein Passwort-Safe. Die AES-verschlüsselten Daten werden in der MySQL-Datenbank gespeichert und erst und ausschließlich auf Client-Seite (JavaScript) entschlüsselt.
Weiterhin nutze ich TiGri als Kontaktdatenbank und für Notizen und Lesezeichen.
Mittlerweile gibt es auch Firebase-Funktionen in einer rudimentären Android-App für den Empfang von Push-Nachrichten.



Visual „Object Inspector” Component
Technologies: Delphi
Time period: 2009
I developed a visual component, which behaves like object inspector in Delphi.
There are comfort functions for color selection, filename picking, boolean fields, password fields and more.
It also contains a design-time property editor.


Ich habe eine visuelle Komponente entwickelt, die sich am Objektinspektor in Delphi orientiert.
Es gibt Komfortfunktionen für die Farbauswahl, Dateinamen-Auswahl, boolsche Felder, Passwort-Felder und mehr.
Es gibt auch einen Design-Time-Editor.



Control interface of the DataRelay.
Technologies: Delphi
Time period: 2008-2018
DataRelay is a distributed, multi-tier, multi-threaded system for reading and dispatching of up to 1 million mail messages per day. The control interface (and the DataRelay itself) is written by me in Delphi in the context of a long term project and controls the behavior of the whole DataRelay-System containing 24 Servers.


Das DataRelay ist ein verteiltes, mehrschichtiges Multithreadingsystem zum Erkennen und Verteilen von bis zu einer Million Email-Nachrichten täglich. Das Steuerungsinterface (und das DataRelay selbst) wurde von mir im Rahmen eines Langzeitprojektes in Delphi geschrieben und steuert das Verhalten des gesamten DataRelay-Systems auf 24 Servern.



Telco Client und Server
Technologies: Delphi
Time period: 2008-2012
A tool for capturing and evaluation duration and costs of outgoing modem calls.
The server side analyses data sent via RS232 and writes it into the MSSQL database.
The client side prepares the SQL data for monitoring.


Ein Tool für die Erfassung und Auswertung von Dauern und Kosten ausgehender Modemanrufe.
Die Serverseite analysiert die Daten, die per RS232 gesendet werden und schreibt diese in die MSSQL-Datenbank.
Die Client-Seite bereitet die SQL-Daten für die Anzeige auf.







CMS System
Technologies: PHP, JavaScript, Ajax, MySQL, HTML5, CSS
Time period: 2008-
I developed a content management system in native PHP containing real-time preview of pages and news and several easy-to-use widgets and forms for efficient website management.

It has been used by findyourfinance, a fonds manager in Berlin, and it is still in use at a baptist church in Bavaria.


Ein Content Management System, das ich in nativem PHP entwickelt habe. Es beinhaltet eine Echtzeitvorschau, verschiedene leicht zu bedienende Komponenten und Masken für ein effizientes Webseiten-Management.

Es wurde von findyourfinance verwendet, einem Fonds-Manager aus Berlin, und es wird noch immer von einer Baptistengemeinde in Bayern genutzt.



C interpreter
Technologies: Delphi
Time period: 2008-
I wrote a simple but more or less complete interpreter for a C like programming language.
This included a scanner, a lexer and a parser – there were no external dependencies and no other tools. It provides UI capabilities, too.
This C interpreter was originally intended to be an experiment, but I use it until now as part of the end-user installer for the deployment of my own projects.


Ich habe einen einfachen aber mehr oder weniger kompletten Interpreter für eine C-ähnliche Sprache entwickelt.
Das beinhaltet einen Scanner, Lexer und Parser - Es gab keine externen Abhängigkeiten oder andere Tools. Die Sprache verfügt auch über UI-Fähigkeiten.
Dieser C-Interpreter war ursprünglich als Experiment gedacht, doch ich nutze ihn bis heute als Teil meines Endbenutzer-Installers für die Verteilung meiner eigenen Projekte.





DGDB
Technologies: Delphi
Time period: 2007
I have completely re-coded a famous game from the Atari ST in Delphi. There was no original source code available.

The second picture is taken from the original game.


Ich habe ein unter dem Atari ST sehr bekanntes Spiel in Delphi neu geschrieben. Mir stand kein Quelltext zur Verfügung.

Das zweite Bild stammt vom Originalspiel.



Price Charts / Price Alert
Technologies: PHP, MySQL, Ajax, JavaScript
Time period: 2007
For areamobile.de, back then one of the top 50 websites in Germany, I developed graphical long-term price charts of mobile devices.

Therefore I scanned excel tables and extracted the relevant data into the SQL database. Then a periodic running script reads the price data from the database and creates PNG graphics on the server side file storage representing the price chart.


Für areamobile.de, damals eine Top-50-Website in Deutschland, habe ich Funktionen für eine Langzeit-Preisentwicklung von Handys entwickelt.

Dafür wurden Excel-Tabellen gescannt und die relevanten Daten daraus extrahiert und in eine SQL-Tabelle geschrieben. Ein periodisch laufendes Script liest die Daten aus und erzeugt dann PNG-Bilder mit der Preisentwicklung auf Serverseite.



Goldgraeber
Technologies: Delphi
Time period: 2004-
A highly addictive game (confirmed by the German computer magazine c’t) designed and realized by me with Delphi.
I am still selling this product.


Ein Suchtspiel (bestätigt von der c't), das von mir in Delphi entwickelt und umgesetzt wurde.
Ich verkaufe dieses Produkt aktuell.




PuzzleFieber
Technologies: Delphi
Time period: 2003-
A puzzle game I developed years ago using Delphi 5.
It contains mouse picking and magnetic snapping of single pieces and assembled pieces.
The texture toolbar on top is a component I used to apply in most of my early Delphi projects before the advanced components appeared with later Delphi versions.
The game contains also a piece editor with spline curves and automatic mirroring.


Ein Puzzlespiel, das ich vor Jahren noch mit Delphi 5 entwickelt habe.
Es beinhaltet die Pickup-Funktion mit der Maus und das magnetische Einrasten einzelner und zusammengebauter Teile.
Die texturierte Toolbar oben ist eine Komponente die ich in allen meinen frühen Delphiprojekten verwendet habe, bevor fortschrittlichere Komponenten Einzug in die späteren Delphiversionen hielten.
Das Spiel beinhaltet auch einen Teileeditor mit Spline-Kurven und automatischer Spiegelungsfunktion.



Print designer
Technologies: Delphi
Time period: 2002
A project which supports and eases the design of circuit boards. Includes grouping, printing and library functionality.


Ein Projekt, das den Entwurf gedruckter Schaltungen unterstützt und vereinfacht, einschließlich Gruppierung, Druck und Bibliotheksfunktionen.



CGDN
Technologies: Delphi
Time period: 2000-
A board game designed by me using Delphi and Direct3D components.
I am still selling this product.


Ein Brettspiel, das ich mit delphi und Direct3D-Komponenten entwickelt habe.
Ich verkaufe dieses Produkt aktuell.





Wemidoda
Technologies: Delphi
Time period: 1998-
A tool I wrote years back using Delphi 5. Its name is based on the demand “Weg mit doppelten Dateien”.
It finds duplicate files and related images – even with different orientations or sizes!
The German magazine C’t affirmed the reliability of Wemidoda.


Ein Tool, das ich vor Jahren bereits in Delphi 5 schrieb. Der Name basiert auf der Forderung „Weg mit doppelten Dateien”.
Es findet doppelte Dateien und ähnliche Bilder – sogar bei unterschiedlicher Ausrichtung und unterschiedlichen Größen!
Die c't bestätigte die Zuverlässigkeit Wemidodas.




Bingo!
Technologies: Delphi
Time period: 1998-2005
About 20 years ago I have written one of my first commercial software programs for the PC using Delphi 2: Bingo!
It made the notation and number and field comparison of the daily game of the Berlin Newspaper „BZ” much easier.
I used to use my own derived button classes and some graphical effects for it.


Vor 20 Jahren habe ich mein erstes kommerzielles Programm für PCs mit Delphi 2 geschrieben: Bingo!
Es erleichterte die Notation und die Nummer-Feld-Vergleiche des täglichen „BZ”-Spiels Bingo erheblich.
Ich verwendete damals meine eigenen, abgeleiteten Button-Klassen mit einigen Grafikeffekten.
}