Johann N. Löfflmann • Informatiker

People rarely succeed until they have fun in what they are doing.


Meine Software-Projekte/-Produkte

Von folgenden Software-Produkten (Auszug) bin ich selbst der Erfinder, Namensgeber, Product Manager, Product Developer, Project Manager, Tester, Marketing und Support ;-)

Die Angaben "Lines of Code" beziehen sich stets auf die letzte veröffentlichte Version eines Programms und auf tatsächlichen Sourcecode ohne Kommentare. Der Wert wurde mit Hilfe von cloc ermittelt.


Aktive Schaffensphase mit Java, bash und NSIS (1998-Heute)

Umfangreichere Projekte stehen in dieser Liste weiter oben, kleinere Projekte sind weiter unten zu finden.


NumericalChameleon

NumericalChameleon
Mehr als nur ein Umrechner für Einheiten - ein NumericalChameleon! Die Version 2 konvertiert über 5200 Einheiten aus 93 Kategorien mit einer Präzision von bis zu 1000 signifikanten Stellen. Dazu gehören nicht nur alle wichtigen physikalischen Einheiten der Kategorien Länge, Fläche, Volumen, Elektrizität, Magnetismus, Kraft, Leistung, Energie, Druck, Masse, Temperatur, Geschwindigkeit, Beschleunigung, Radioaktivität, Kraftstoffverbrauch, Zeit, usw., sondern auch äußerst nützliche Einheiten aus Nicht-Standard Kategorien wie Wechselkurse, Zeitzonen, Zahlen und Uhrzeit in Worten (buchstäblich und via Audio), römische Zahlen, Geographische Kooridinaten, Zahlensysteme, Brüche, Prüfsummen, Bits&Bytes, Bildschirmauflösungen, Farbcodes, Unicodes, Internationale Vorwahlen, Kalender-, Datums- und Feiertagsberechnungen, und noch viele mehr.

Zielgruppe: Alle Anwender

User-Interface: intuitive, grafische Benutzeroberfläche

Freiheiten: Freie Software, Open Source, kostenlos

Betriebssystem: plattformübergreifend (GNU/Linux, Windows, OS X)

Implementierung: Java

Sourcefiles: 170

Lines of Code: 34.719 (ohne 3rd party code!)

Webseite: http://NumericalChameleon.net


Jacksum

Jacksum Logo

"JAva ChecKSUM". Eine Software um Prüfummen, CRCs und kryptographische Hashes zu berechnen und zu verifizieren. Unterstützt fast 500 Algorithmen.

Zielgruppe: für sicherheitsbewusste und fortgeschrittene Anwender, Systemadministratoren, Informatikstudenten, Software-Entwickler, Informatiker, Cybersicherheitsingenieure, Forensiker, Penetrationstester, White Hat Hacker, Reverse Engineers, CRC-Forscher.

User-Interface: Kommandozeileninterface bzw. Integration in den lokalen Dateibrowser, für Entwickler auch als Library einsetzbar, Anwender grafischer Oberflächen benutzen HashGarten

Freiheiten: Freie Software, Open Source, kostenlos (GPLv3)

Betriebssystem: plattformübergreifend (GNU/Linux, Windows, OS X)

Implementierung: Java

Sourcefiles: 86

Lines of Code: 11.638

Webseite: https://jacksum.net

Um Jacksum herum hat sich mittlerweile ein kleines Ökosystem aus vielen kleinen Projekten gebildet, die alle unter dem Projektmantel von Jacksum stehen. Siehe https://github.com/jonelo#jacksum


XML-holidays

xml-holidays
Das XML-holidays Projekt schlägt einen offenen Standard vor, wie internationale Feiertage in XML formuliert werden können. Die erste Veröffentlichtung stellte bereits über 800 Feiertage in über 30 Ländern bereit.

Zielgruppe: Software-Entwickler

User-Interface: keine

Freiheiten: Freie Software, Open Source, kostenlos

Betriebssystem: alle

Implementierung: xml und dtd

Sourcefiles: 50

Lines of Code: 8.472

Webseite: https://github.com/jonelo/xml-holidays


HashGarten

Eine einfache grafische Benutzeroberfläche für den Desktop, um auf die Funktionen von Jacksum zuzugreifen.

Entstehung: Juni 2022

Zielgruppe: Sicherheitsbewusste Anwender

User-Interface: grafische Benutzeroberfläche (Swing)

Freiheiten: Freie Software, Open Source, kostenlos (GPLv3)

Betriebssystem: Windows, macOS, Linux

Implementierung: Java/Swing

Sourcefiles: many

Lines of Code: 3500+


BigAl

BigAl
Mit BigAl können Sie sehr GROSSE Zahlen berechnen. Die einzigste Restriktion ist die Leistungsfähigkeit Ihres Computers. Images für VirtualBox und VMWare sind vorhanden für aufwendige "pause and continue"-Berechnungen.

Zielgruppe: Mathematiker, Informatiker, Software-Entwickler und alle, die Zahlen lieben

User-Interface: Kommandozeile

Freiheiten: Freie Software, Open Source, kostenlos (GPLv2+)

Betriebssystem: plattformübergreifend (GNU/Linux, Windows, OS X)

Implementierung: Java

Sourcefiles: 7

Lines of Code: 1.240

Webseite: https://johann.loefflmann.net/de/software/bigal/index.html


bash berries

Bash Dwarfs


bash berries ist eine kleine Kollektion von kleinen bash-Scripten, die nützliche Arbeit leisten.

Entstehung: August 2017

Zielgruppe: Anwender, Entwickler und Systemadministratoren von GNU/Linux und Unix-Systemen


User-Interface: Kommandozeile

Freiheiten: Freie Software, Open Source, kostenlos (Apache 2 Lizenz)

Betriebssystem: GNU/Linux und Unix-Systeme

Implementierung: bash

Sourcefiles: 12

Lines of Code: 717

Webseite: https://github.com/jonelo/bashberries

Jarfix

Jarfix

Wenn Sie auf ein .jar doppelt drauf klicken und Ihre Java Anwendung nicht mehr startet, wurde sehr wahrscheinlich die Dateiverbindung mit .jar von einem anderen Programm gestohlen. Sie können diese Störung mit Jarfix beheben.

Entstehung:Mai 2002

Zielgruppe: Windows Anwender, die Java-Programme im .jar-Format per Doppelklick ausführen möchten, es aber nicht mehr können

User-Interface: einfache, grafische Benutzeroberfläche

Freiheiten: Freeware

Betriebssystem: Microsoft Windows

Implementierung: NSIS

Sourcefiles: 1

Lines of Code: 466

Webseite: https://johann.loefflmann.net/de/software/jarfix/index.html


jAdapterForNativeTTS

Eine einfache Java-Bibliothek mit einer Java-API, die es Ihnen ermöglicht, die nativen Text To Speech-Funktionen deines Betriebssystems zu nutzen.

Entstehung: Januar 2021

Zielgruppe: Java-Entwickler

User-Interface: nur API

Freiheiten: Freie Software, Open Source, kostenlos (MIT)

Betriebssystem: Windows, macOS, Linux

Implementierung: Java

Sourcefiles: a few

Lines of Code: 100+

Siehe https://github.com/jonelo/jAdapterForNativeTTS


dumahadaba

Dump Malware Hash DataBase. Das Skript lädt die SQLite-Datenbank von https://github.com/CYB3RMX/MalwareHashDB/ herunter und speichert den Inhalt (MD5-Hash-Werte von Malware und deren Beschreibungen) in einer GNU/Linux-kompatiblen Text-Hash-Datei ab, so dass sie von Werkzeugen weiterverarbeitet werden kann, die in der Lage sind, Hash-Wert-Listen im Klartext zu verarbeiten (wie z. B. Jacksum). Das Skript erkennt auch Datensätze in HashDB, die einen Hash-Wert, aber keine Beschreibung haben (diese werden im Dump korrigiert), und Datensätze, die keine gültigen MD5-Hash-Werte darstellen (diese werden im Dump ignoriert).

Entstehung: Nov 2023

Zielgruppe: Sicherheitsbewusste Anwender

User-Interface: Kommandozeile

Freiheiten: Freie Software, Open Source, kostenlos (GPLv3)

Betriebssystem: Windows, macOS, Linux

Implementierung: Python 3

Sourcefiles: 1

Lines of Code: 132

Siehe https://github.com/jonelo/dumahadaba



TOTP Secrets Adapter

Der TOTP Secrets Adapter ist ein kurzes Python Skript, das hilft, eine Authentifikator-Umgebung auf deinem PC (Notebook, Laptop, Desktop) einzurichten, um die gleichen zeitbasierten Einmalpasswörter (TOTP) zu generieren, wie der Authentifikator auf deinem Smartphone.

Entstehung: August 2024

Zielgruppe: Sicherheitsbewusste Anwender

User-Interface: Kommandozeile

Freiheiten: Freie Software, Open Source, kostenlos (MIT Lizenz)

Betriebssystem: Windows, macOS, Linux

Implementierung: Python 3

Sourcefiles: 1

Lines of Code: 115

siehe https://github.com/jonelo/totp-secrets-adapter


osxapp_vers

osxapp_vers
Das kleine bash script namens osxapp_vers findet die komplette Produkt- und Buildversion von OS X in einem Install*OS X*.app Package und gibt diese Information aus, so wie es das Programm /usr/bin/sw_vers für ein bereits installiertes OS X macht.

Zielgruppe: Tester, Entwickler und alle, die OS X heruntergeladen haben bzw. einen bootbaren OS X-USB Stick mit Apple's createinstallmedia erzeugt haben und nun die genaue OS X Version nicht mehr wissen.

User-Interface: Kommandozeile

Freiheiten: Freie Software, Open Source, kostenlos (Apache 2.0 Lizenz)

Betriebssystem: Mac OS X 10.6+

Implementierung: bash

Sourcefiles: 1

Lines of Code: 87

Webseite: https://github.com/jonelo/osxapp_vers


unlock-win-tts-voices

Das Skript schaltet die Microsoft Windows TTS-Stimmen für die Verwendung mit anderen x64-Anwendungen wie PowerShell frei.

Zielgruppe: Endbenutzer

User-Interface: Kommandozeile

Freiheiten: Freie Software, Open Source, kostenlos (Apache 2.0 Lizenz)

Betriebssystem: Windows

Implementierung: Powershell/Batch

Sourcefiles: 1

Lines of Code: 42

Siehe https://github.com/jonelo/unlock-win-tts-voices



Schaffenphase mit Java (ca. 1995-2000)

Einige ausgewählte Software-Projekte, die ich in der Vergangenheit geleitet und implementiert habe. Der Sourcecode wird nicht veröffentlicht.

Die folgende Liste ist nach ihrer Entstehung sortiert, d. h. jüngere Projekte sind weiter oben, ältere Projekte weiter unten zu finden.

SCJD Submission

SCJD
Eine Enterprise-Anwendung mit einer nicht-relationalen Datenbank als Backend und netzwerkfähigen Clienten als Frontend, erstellt nur mit den Mitteln von Java SE ohne Java EE zur Erlangung der international anerkannten Zertifizierung "Sun Certified Java Developer". Submitted im April 2010, Zertifikat erhalten im Juni 2010. Der "Sun Certified Java Developer (SCJD)" heisst nach der Übernahme von Sun durch Oracle nun "Oracle Certified Master Java SE Developer (OCMJD)".

Zielgruppe: Reviewer der SCJD-Zertifikatsvergabe

User-Interface des Clients: grafische Benutzeroberfläche (Swing)

Betriebssystem: plattformübergreifend

Implementierung: Java 6

Sourcefiles: 38

Lines of Code: 1.848

Isis und Osiris

Osiris
Isis ist ein Konverter von Netzwerktraffikdumps in ein plattformübergreifendes "MultiProtocolAnalyzer"-Format. Osiris ist diesem Format mächtig und entsprechend ein Analyzer für zahlreiche Netzwerk-Protokolle mit vielen einzigartigen Features und grafischer Benutzeroberfläche. Isis und Osiris wurden im Rahmen meiner Diplomarbeit bei Sun Microsystems im Competence Center für heterogene Netzwerke im Juli 1999 bis Dezember 1999 von mir in Vollzeit sowohl funktional als auch grafisch signifikant weiterentwickelt. Siehe auch Meine Diplomarbeit.

Zielgruppe: Netzwerkanalysespezialisten

User-Interface: grafische Benutzeroberfläche (Swing)

Betriebssystem: plattformübergreifend (GNU/Linux, Windows, Solaris)

Implementierung: Java 1.2

Sourcefiles Isis: 43
Sourcefiles Osiris: 157

Lines of Code Isis: 5.556
Lines of Code Osiris: 28.454

Tumga

Tumga
Tages- und monatsgenaue Abrechnung. Berechnet den zu vergütenden Betrag von freiberuflichen Lehrkräften unter Berücksichtigung von Tagessatz, Monatssatz, Schuljahr, Eintritts-, ggf. Austrittsdatum von Lehrkräften, Jahrtausendwechsel und Y2K-Problem. Entwickelt auf freiwilliger Basis für die Buchhaltung einer Bildungseinrichtung im Oktober 1999.

Zielgruppe: Buchhaltung einer Bildungseinrichtung

User-Interface: grafische Benutzeroberfläche (Swing)

Betriebssystem: plattformübergreifend, im tatsächlichen Einsatz unter Windows

Implementierung: Java 1.2

Sourcefiles: 8

Lines of Code: 1.425


TIREX

TIREX
Time Report for Networkx. Ein Zeiterfassungssystem mit klassischer Client/Server-Architektur mit sowohl textuellen als auch grafischen Auswertungsmöglichkeiten. Tirex habe ich im Rahmen meines Praktikums bei Sun Microsystems in München von März 1998 bis August 1998 in Vollzeit entwickelt.

Zielgruppe: Mitarbeiter der Sun Microsystems GmbH in Haar bei München

User-Interface: grafische Benutzeroberfläche (AWT/Motif)

Betriebssystem: plattformübergreifend, im tatsächlichen Einsatz unter Solaris

Implementierung: Java 1.1

Sourcefiles: 72

Lines of Code: 11.816


Schaffenphase mit C++ (ca. 1995-1998)

Numsys


Numsys

Einfaches Programm zum Umrechnen von Zahlen aus den Zahlensystemen 2 bis 35. Entwickelt im Februar 1998.

Zielgruppe: Entwickler, Informatiker, Mathematiker

User-Interface: primitives, textbasiertes GUI

Betriebssystem: plattformübergreifend

Implementierung: C++

Sourcefiles: 1

Lines of Code: 328



Buddy


Buddy Simulation
Die Simulation des Speicherverwaltungsalgorithmus nach dem Buddy-Verfahren habe ich in C++ im November 1997 entwickelt während des Informatik-Studiums im Fach Betriebssysteme (5. Semester).

Zielgruppe: Informatiker

User-Interface: primitives, textbasiertes GUI

Betriebssystem: HP-UX, tatsächlich plattformübergreifend

Implementierung: C++

Sourcefiles: 3

Lines of Code: 571

GOL


Game Of Life

"Game Of Life" in C++ habe ich im Juni 1996 entwickelt während des Informatik-Studiums im Programmierpraktium (zweites Semester).

Zielgruppe: für das Informatik-Programmierpraktikum

User-Interface: primitives, textbasiertes GUI

Betriebssystem: HP-UX, tatsächlich plattformübergreifend

Implementierung: C++


Schaffensphase mit Turbo Pascal unter DOS und Windows (1990-1998)

JSHELL


JSHELL
JSHELL ist eine grafische Oberfläche für JEDI (siehe unten). Entwickelt im Juli 1997, Entwicklung eingestellt im Februar 1998.

Zielgruppe: Informatiker

User-Interface: einfache, textbasierte GUI

Betriebssystem: DOS

Implementierung: Turbo Pascal

COLPAL


color palette
Color Palette, ein Tool zum Managen der Farbpalette unter DOS. Ich habe es im Februar 1997 in Pascal geschrieben.

Zielgruppe: Softwareentwickler unter DOS

User-Interface: primitives, textbasiertes GUI

Betriebssystem: DOS

Implementierung: Turbo Pascal

JEDI


JEDI

"John's Extraordinary Data Interface". Ein Programm, das 86 verschiedene Dateiformate untereinander konvertieren kann. Mit JEDI kann man Dateien ver- und entschlüsseln (z. B. XOR, Caesar-, Vigenere, DES), Probleme mit dem Datenaustausch zwischen verschiedenen Systemen (wie DOS, Mac und UNIX) lösen, selbstanzeigende Dateien wie sich selbstinstallierende Farbpaletten und Zeichensätze erzeugen, sowie Patches anwenden. Entwickelt im März 1996, Entwicklung eingestellt im Februar 1998.

Zielgruppe: Informatiker

User-Interface: Kommandozeile

Betriebssystem: DOS

Implementierung: Turbo Pascal


ONLY YOU


Only you
Ein effektives Schutzprogramm für den Zugriff auf ein geschütztes Verzeichnis unter DOS. Entwickelt im Dezember 1995, Entwicklung eingestellt im September 1997.

Zielgruppe: Anwender (eine Freundin wollte ihrem neugierigen Bruder auf dem Familien-DOS-PC den Zugriff auf bestimmte Dateien verwehren)

User-Interface: einfaches GUI

Betriebssystem: DOS

Implementierung: Turbo Pascal


ICOMAN


Iconmanager
Der Iconmanager ICOMAN konnte Windows-Icons (*.ico) unter DOS anzeigen. Ich habe ihn im Dezember 1993 entwickelt und die Entwicklung im August 1995 eingestellt.

Zielgruppe: Softwareentwickler unter DOS und Windows

User-Interface: einfaches GUI

Betriebssystem: DOS

Implementierung: Turbo Pascal


ASCII

ASCII Tool

ASCII ist im Januar 1992 entstanden, die Entwicklung habe ich Juli 1995 eingestellt. ASCII ist ein kleines Helferlein, das alle ASCII-Zeichen als Übersicht in einer Tabelle oder einzelne ASCII-Zeichen zeigt, die häufig in DOS-Rahmen Verwendung fanden.

Zielgruppe: Softwareentwickler ASCII-Artists unter DOS

User-Interface: primitives, textbasiertes GUI

Betriebssystem: DOS

Implementierung: Turbo Pascal

Schaffensphase mit dem Commodore C64 Basic (ca. 1984-1989)

Einige Programme, die ich auf dem guten alten "Brotkasten" implementiert habe. Da der C64 keine Uhrsynchronisation hatte, wurde auch kein Zeitstempel auf die Disketten geschrieben. Dementsprechend ist es nicht mehr möglich, den genauen Entstehungszeitpunkt der Software wiederzugeben.

Zwei Gleichungen mit zwei Unbekannten

Gleichungen mit zwei Unbekannten

Als wir Kinder im Schullehrplan 1987 von zwei Gleichungen mit zwei Unbekannten erfuhren, entstand dieses Programm auf meinem C64.

Zielgruppe: ich selbst

User-Interface: primitives, textbasiertes GUI

Betriebssystem: Kernal + Commodore Basic V2

Implementierung: Commodore Basic V2

Briefmarken

Briefmarken

Sollte wie die Finanzübersicht für Finanzen eine Verwaltung von Briefmarken werden, ich habe dann aber wohl mangels Zeit und/oder Interesse lediglich den Startbildschirm implementiert.

Zielgruppe: ich selbst

User-Interface: nur Startbildschirm

Betriebssystem: Kernal + Commodore Basic V2

Implementierung: Commodore Basic V2


Finanzübersicht

Finanzübersicht

Eine kleine Datenbank zur Verwaltung der spärlichen Kinderfinanzen ;-)

Zielgruppe: ich selbst

User-Interface: primitives, textbasiertes GUI

Betriebssystem: Kernal + Commodore Basic V2

Implementierung: Commodore Basic V2


Weihnachtsgruss

Weihnachtsgruss

Aus einigen print-Befehlen und Schleifen bestand mein digitaler Weihnachtsgruss, den ich meinen Eltern voller Stolz an Weihnachten präsentierte. Es müsste 1984 gewesen sein.

Zielgruppe: meine Eltern

User-Interface: primitive, textbasierte Demo

Betriebssystem: Kernal + Commodore Basic V2

Implementierung: Commodore Basic V2