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 ;-)
cloc: Bei Programmen mit mehr als 1000 Zeilen Sourcecode liste ich zusätzlich die Angabe
"Lines of Code". Diese beziehen sich auf den tatsächlichen Sourcecode ohne Kommentare
und ohne Leerzeilen. Der Wert wurde mit Hilfe von cloc ermittelt.
Umfangreichere Projekte stehen in dieser Liste weiter oben, kleinere
Projekte sind weiter unten zu finden.
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: 208
Lines of Code: 34.422 (ohne 3rd party code!)
Webseite:
http://NumericalChameleon.net
"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: 643
Lines of Code: 68.883
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
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: 56
Lines of Code: 9.931
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: 16
Lines of Code: 3672
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 ist eine Kollektion von kurzen 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: 17
Lines of Code: 1129
Webseite:
https://github.com/jonelo/bashberries
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
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
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: 96
Siehe https://github.com/jonelo/dumahadaba
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: 133
siehe https://github.com/jonelo/totp-secrets-adapter
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: 122
Webseite: https://github.com/jonelo/osxapp_vers
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: 20
Siehe https://github.com/jonelo/unlock-win-tts-voices
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.
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 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
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
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
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
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
"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++
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
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
"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
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
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 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
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.
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
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
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
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