Squawk-Codes, auch Transpondercodes weltweit anzeigen: „Seven-seven – going to heaven“ – „Seven-six – hear nix“ – „Seven-five – man with a knife“

Squawk-Codes, auch Transpondercodes genannt, sind standardisierte vierstellige Oktalzahlen (Ziffern 0–7), die Piloten in den Bordtransponder eingeben, um Luftfahrzeuge für die Flugsicherung (ATC) eindeutig identifizierbar zu machen. Im Notfall dienen spezifische Codes der ICAO als universelle Signale, die unabhängig von Sprachbarrieren oder Funkausfällen priorisierte Maßnahmen auslösen.

Notfallcode 7700
Der Code 7700 signalisiert einen allgemeinen Luftnotfall, wie Triebwerksausfall, medizinische Probleme oder technische Defekte. ATC räumt dem Flugzeug sofort Priorität ein, bereitet Notdienste vor und koordiniert den Luftraum. Merkspruch: „Seven-seven – going to heaven“.

Notfallcode 7600
7600 wird bei Funkausfall (Kommunikationsverlust) aktiviert, ermöglicht aber weiterhin Positionsübertragung via Sekundärradar. ATC passt umliegende Verkehrsteilnehmer an und leitet das Flugzeug sicher zur Landung. Merkspruch: „Seven-six – hear nix“.

Notfallcode 7500
7500 steht für Flugzeugentführung oder unrechtmäßige Einflussnahme (Hijacking), wobei Piloten den Code diskret setzen, um Entführer nicht zu alarmieren. ATC initiiert Sicherheitsprotokolle mit Behörden, ohne direkte Bestätigung. Merkspruch: „Seven-five – man with a knife“.

Diese Codes sind global einheitlich und entscheidend für die aviative Sicherheit, da sie auf Radarschirmen sofort auffallen. Piloten trainieren ihre diskrete Anwendung regelmäßig.

Das kann nun mit meinem Flight Monitor 2.3.0 angezeigt und ermittelt werden, hier ein Beispiel:

Bei klick auf den Roten Button, z.B. „Squawk-Codes, auch Transpondercodes weltweit anzeigen: „Seven-seven – going to heaven“ – „Seven-six – hear nix“ – „Seven-five – man with a knife““ weiterlesen

KML-Export: Globale Flugzeugdaten speichern und auswerten

Mit dem neuen Button „KML Export“ in der FlugMonitor-Anwendung lassen sich die Echtzeit-Daten aller aktuell von OpenSky erfassten Flugzeuge weltweit in eine KML-Datei exportieren. KML steht für „Keyhole Markup Language“ – ein XML-basiertes Dateiformat, das von Google Earth, Google Maps, QGIS und vielen anderen Kartenprogrammen direkt geöffnet werden kann. Hier mal eine Ansicht in Google Earth:

Der KML-Export ergänzt den FlugMonitor um eine leistungsfähige Archiv- und Analysefunktion. Aus den 17 Feldern eines einzelnen StateVectors lässt sich ein vollständiges Lagebild jedes Flugzeugs rekonstruieren: wo es ist, in welche Richtung es fliegt, wie schnell, wie hoch, wem es gehört und wie verlässlich die Daten sind. Multipliziert mit tausenden Flugzeugen gleichzeitig entsteht ein präziser Schnappschuss des globalen Luftverkehrs – zu jedem beliebigen Zeitpunkt.

„KML-Export: Globale Flugzeugdaten speichern und auswerten“ weiterlesen

FlugMonitor – Echtzeit-Flugverkehr mit Java und OpenSky visualisieren

Wer kennt das nicht: Man schaut in den Himmel, sieht ein Flugzeug und fragt sich, wo es gerade herkommt und in welcher Höhe es fliegt. Mit dem FlugMonitor lässt sich genau diese Frage beantworten – und zwar für alle Flugzeuge auf der Welt gleichzeitig. In diesem Artikel zeige ich, wie ich eine Java-Swing-Anwendung gebaut habe, die Echtzeit-Daten des OpenSky Network abruft, auswertet und übersichtlich darstellt.

Was ist der FlugMonitor?

Der FlugMonitor ist eine Desktop-Anwendung, die ich mit Java 21 und Swing entwickelt habe. Swing ist das klassische GUI-Framework von Java – also das Werkzeugkasten, mit dem man Fenster, Tabellen und Buttons baut. Die Anwendung zeigt auf einen Blick, wie viele Flugzeuge sich gerade weltweit in welchem Höhenbereich befinden. Die Daten kommen dabei in Echtzeit direkt vom OpenSky Network, das Flugzeugpositionen aus aller Welt sammelt und kostenlos zur Verfügung stellt.

Das Besondere: Die Anwendung fragt bei jedem Klick auf „Aktualisieren“ live die OpenSky-API ab und wertet tausende Flugzeugpositionen in Millisekunden aus. Das Ergebnis landet sofort in einer übersichtlichen Tabelle und einem farbigen Balkendiagramm.

„FlugMonitor – Echtzeit-Flugverkehr mit Java und OpenSky visualisieren“ weiterlesen

Fünfter Streiktag in Folge bei der Lufthansa: In welcher Höhe fliegen 10100 Flugzeuge?

In welcher Höhe fliegen Flugzeuge?

Vor 9 Jahren hat mich die Frage interessiert, in welcher Höhe eigentlich die meisten Flugzeuge unterwegs sind.

Statt mich nur auf vorhandene Tabellen zu verlassen, habe ich ein kleines Java‑Programm geschrieben, das in Echtzeit die Daten von The OpenSky Network abfragt. Es berücksichtigt also alle Flugzeuge mit Transponder, die von diesem Netzwerk erfasst werden – also eine repräsentative, wenn auch nicht vollständige Stichprobe des zivilen Luftverkehrs.

Die hier gezeigten Ergebnisse basieren auf einem Snapshot von 10100 Flugzeugen. Die Daten sagen nichts über Militärflugzeuge oder sehr spezielle Sonderflüge aus, geben aber einen guten Einblick in den typischen zivilen Reiseflughöhenbereich.
„Fünfter Streiktag in Folge bei der Lufthansa: In welcher Höhe fliegen 10100 Flugzeuge?“ weiterlesen

Vom Weihnachtsstau zur Optimalroute: Dijkstra rettet deinen 24. Dezember – Sortierschranke (sorting barrier) durchbrochen

Der Dijkstra-Algorithmus kann das Königsberger Brückenproblem nicht lösen. Aber die Berechnung kürzester Pfade in gewichteten Graphen ist durchaus interessant – zum Beispiel, wenn man wissen möchte, wie man von Frankfurt nach München die kürzeste Strecke findet.

Schneller als Dijkstra

Der Dijkstra-Algorithmus dient der Berechnung des kürzesten Pfads in gewichteten Graphen mit nicht-negativen Kantenlängen. „Vom Weihnachtsstau zur Optimalroute: Dijkstra rettet deinen 24. Dezember – Sortierschranke (sorting barrier) durchbrochen“ weiterlesen

Eclipse 2025‑12 Quicktest mit JUnit 6.0.1

Eclipse 2025‑12 ist die neueste reguläre Release‑Version der weit verbreiteten freien und quelloffenen integrierten Entwicklungsumgebung (IDE), die traditionell vor allem für Java‑Entwicklung steht, aber ein breites Spektrum an Sprachen und Technologien unterstützt. Die 2025‑12‑Version stellt eine bedeutende evolutionäre Verbesserung dar: Sie bündelt umfangreiche Optimierungen in der Platform‑Performance, moderne Entwicklungs‑Workflows und eine verbesserte Plug‑in‑Architektur.

Cool neue JUnit-6.0.1‑Integration

Neu in dieser Version ist die Unterstützung für JUnit 6.0.1 in der Test‑ und Entwicklungsumgebung. Damit wird modernes TDD/BDD Arbeiten mit erweiterten Annotationen und Testkonfigurationen leichter und stabiler. Mal gleich die pom Umgestellt und Quicktest:

Java‑Unterstützung
Eclipse 2025‑12 bietet vollständige Unterstützung für Java 25, inkl. Tooling für moderne Sprachfeatures, Compiler‑Integration und Debugging‑Funktionen. Die IDE aktualisiert intern die Java Development Tools (JDT), um neueste Sprachmerkmale sicher und performant nutzbar zu machen.

„Eclipse 2025‑12 Quicktest mit JUnit 6.0.1“ weiterlesen

GPT-5.1 nun vorhanden, was sind die neuen Eigenschaften?

Die drei herausragenden Neuerungen von GPT‑5.1 sind

-die dualen Betriebsmodi (Instant vs. Thinking),
-das adaptive Reasoning (dynamische „Denkzeit“) und
-deutlich verbesserte Personalisierung inklusive Ton‑/Stilkontrolle.

Dazu mal den Mindmap-Generator um eine History ergänzt, und das neue Modell verwendet. Um das neue GPT‑5.1‑Modell zu wählen, musst du nicht den model‑Key ändern, sondern ein anderes Feld im Payload setzen – der model‑Wert bleibt für die Perplexity‑API weiterhin „sonar-pro“.
Perplexity nutzt im API‑Request das Feld model zur Auswahl der Perplexity‑eigenen Modelle wie „sonar-pro“, „sonar-deep-research“ oder „sonar-reasoning-pro“. Welches konkrete OpenAI‑Backend (z. B. GPT‑5.1 Instant oder GPT‑5.1 Thinking) dahinter verwendet wird, wird serverseitig über Konfigurationen deines Pro/Max‑Accounts bzw. über zusätzliche Optionsfelder gesteuert, nicht über den model‑String selbst.

Aktuell ist öffentlich dokumentiert, dass „sonar-pro“ einfach das „Advanced Search / Reasoning“-Modell von Perplexity adressiert; für GPT‑5.1 gibt es keinen neuen, separaten Modellnamen im Sinne von „gpt-5.1“ in der Perplexity‑API, sondern es wird als Upgrade hinter den bestehenden Pro‑Modellen ausgerollt. Dann eben nur die History-Funktion ergänzt.

Mindmap KI-Bot für plantUML Format mit Perplexity KI in Java zum 9. November

Heute wollen wir mal einen Mindmap-Bot für das PlantUML-Format mit Perplexity KI in Java erstellen. Er soll eine Mindmap wie die obige erstellt werden. Als Eingabe soll ein Thema oder Stichworte eingegeben werden und mit KI soll dann die strukturierte Mindmap-Definition im PlantUML-Format erzeugt werden.

Diese Mindmap wird mit den typischen Tags @startmindmap und @endmindmap versehen. Die KI unterstützt dabei die kreative und sinnvolle Verzweigung von Ideen und Unterpunkten. In Java lässt sich dies mit einer Schnittstelle zur Perplexity API realisieren, die den Input sendet und die formatierte Antwort als Mindmap-String zurückgibt.

Anschließend kann der Bot in Anwendungen integriert werden, um automatisch Visualisierungen von komplexen Informationen zu erzeugen. Diese Visualisierungen helfen besonders bei der Planung, Wissensorganisation oder Brainstorming. Durch die Kombination von PlantUML und KI wird so eine mächtige, textbasierte Mindmap-Erstellung ermöglicht, die leicht versionierbar und automatisierbar ist. Die Nutzung von Java als Plattform erlaubt eine nahtlose Integration in viele Entwicklungsumgebungen und Workflows, insbesondere für Entwickler mit Java-Hintergrund. Dadurch kann der Prozess der Mindmap-Erstellung deutlich effizienter und dynamischer gestaltet werden.

Diese Lösung verbindet technische Eleganz mit innovativer KI-Unterstützung für kreative Diagrammerstellung mit Perplexity KI. Hier der Output, zu der Eingabe:


Was sind die Fakten in einfachen Worten zum 9. November zum Thema: Reichspogromnacht

Der Qutput: „Mindmap KI-Bot für plantUML Format mit Perplexity KI in Java zum 9. November“ weiterlesen

Hashi Corp Vault Demo Anwendung mit Java Swing GUI (Teil 2)

Heute mal eine Java Anwendung, die auf ein Hashi Corp Vault zugreift. Was ein HashiCorpVault macht, wird auf Kleinhirn.eu zusammengefasst. Im Teil 1 hatte ich ja die Installation auf einem Raspberry Pi mit dem Workflow beschrieben.

Nach dem Start der Anwendung, öffnet sich diese Swing GUI:

Hier der Java-Code, auch neueste Version im GitLab-Repo: „Hashi Corp Vault Demo Anwendung mit Java Swing GUI (Teil 2)“ weiterlesen

Diffie-Hellman-Schlüsselaustausch – das erste der sogenannten asymmetrischen Kryptoverfahren (auch Public-Key-Kryptoverfahren)

Der Diffie-Hellman-Schlüsselaustausch ist ein Weg, wie zwei Menschen einen geheimen Schlüssel finden können, ohne ihn direkt hin- und herzuschicken.

Zuerst einigen sie sich öffentlich auf eine große Zahl (eine Primzahl) und eine Basiszahl.

Jeder wählt dann eine geheime Zahl für sich selbst. Mit der geheimen Zahl rechnen sie eine neue Zahl aus, die sie dem anderen schicken.

Danach kann jeder mit der Zahl vom anderen und seiner eigenen geheimen Zahl denselben geheimen Schlüssel berechnen. Und zwar so:

Einfach gesagt und ein Beispiel in Java: „Diffie-Hellman-Schlüsselaustausch – das erste der sogenannten asymmetrischen Kryptoverfahren (auch Public-Key-Kryptoverfahren)“ weiterlesen

Free TWGalleryServer für Raspberry Pi und Windows

TWGalleryServer ist ein leichtgewichtiger, quelloffener Medien‑Server von mir, der Fotos als navigierbare Galerie im Netzwerk bereitstellt und bewusst auf einfache Bedienung sowie schlanke Abhängigkeiten setzt. Er richtet sich an technisch versierte Anwenderinnen und Anwender, die eine kontrollierbare, selbst hostbare Lösung bevorzugen.

Zweck und Einordnung

TWGalleryServer adressiert typische Anforderungen kleiner bis mittlerer Medienbestände: schnelle Bereitstellung, übersichtliche Navigation, einfache Administration und hohe Datenhoheit durch Self‑Hosting. Das Projekt folgt der Philosophie, mit wenigen Bausteinen produktiv zu werden, statt auf schwergewichtige Plattformen mit großem Betriebs‑ und Wartungsaufwand zu setzen. „Free TWGalleryServer für Raspberry Pi und Windows“ weiterlesen

Eclipse 2025-06: PlantUML Plugin – Ein Muss für Softwarearchitekten

Habe hier schon öfterst von meinem lieblings Plugin berichtet. Das PlantUML-Plugin für Eclipse ist ein leistungsstarkes und vielseitiges Werkzeug, das die Erstellung und Visualisierung von UML-Diagrammen direkt in der Eclipse-IDE ermöglicht. Für Java-Entwickler und Softwarearchitekten, die Wert auf eine nahtlose Integration von Dokumentation und Code legen, ist dieses Plugin ein echter Gamechanger.

PlantUML ist eine Open-Source-Bibliothek, die eine einfache, textbasierte DSL (Domain Specific Language) zur Beschreibung verschiedenster UML-Diagramme bietet – darunter Klassendiagramme, Sequenzdiagramme, Zustandsdiagramme, Aktivitätsdiagramme und viele mehr. Die Stärke von PlantUML liegt darin, dass Diagramme direkt aus Textquellen generiert werden können, was die Versionierung und Nachvollziehbarkeit im Softwareentwicklungsprozess erheblich vereinfacht. „Eclipse 2025-06: PlantUML Plugin – Ein Muss für Softwarearchitekten“ weiterlesen

Eclipse 2025-06: Startexplorer Plugin

Eines der wichtigsten Plugins für Eclipse ist der Start-Explorer.

Der StartExplorer zählt zu den essenziellen Plugins für Eclipse, insbesondere für Entwickler, die regelmäßig zwischen IDE und Dateisystem wechseln. Auch mit der aktuellen Eclipse-Version 2025-06 läuft das Plugin zuverlässig weiter:

Das ist die Install URL:


Funktionen und Vorteile
„Eclipse 2025-06: Startexplorer Plugin“ weiterlesen

Pattern Matching für switch (3)

Pattern Matching im switch-Statement ist seit Java 21 ein vollwertiges Feature, das die Ausdruckskraft und Lesbarkeit von Code deutlich erhöht. Es ermöglicht, dass case-Labels nicht nur konstante Werte, sondern auch Typmuster und Bedingungen enthalten können, wodurch komplexe Entscheidungslogik kompakter und sicherer gestaltet werden kann.

Mit Pattern Matching im switch lassen sich beispielsweise unterschiedliche Objektarten direkt im switch-Statement abfragen und verarbeiten, ohne vorheriges instanceof und explizites Casting. „Pattern Matching für switch (3)“ weiterlesen

Java Records zum Tag der Arbeit (1)

Mit der Einführung von Records hat Java einen eleganten Weg geschaffen, um unveränderliche Datenobjekte effizient und ausdrucksstark zu modellieren. Records ersetzen den klassischen, oft umfangreichen Boilerplate-Code für Datenklassen durch eine kompakte, deklarative Syntax. Sie eignen sich hervorragend für Value Objects, Data Transfer Objects (DTOs) oder als Rückgabetypen in APIs.

Was sind Java Records?

Ein Record ist ein spezieller Klassentyp, der für die Speicherung von Daten entwickelt wurde. Die Felder eines Records sind automatisch private und final, der Zustand eines Record-Objekts kann nach der Erstellung nicht mehr verändert werden. Konstruktor, Getter-Methoden, sowie sinnvolle Implementierungen von equals(), hashCode() und toString() werden automatisch generiert. „Java Records zum Tag der Arbeit (1)“ weiterlesen

TWRente 1.2.1 (Event-Generator): Unterstützung für 12 Sprachen mit dynamischer Umschaltung zur Laufzeit

Die Benutzeroberfläche des TWRente 1.2.1 Programms (Event-Generator) kann nun ohne Neustart dynamisch in eine von zwölf Sprachen umgeschaltet werden. Alle statischen Texte, Menüs, Labels, Schaltflächen und Hinweise erscheinen sofort in der gewählten Sprache. „TWRente 1.2.1 (Event-Generator): Unterstützung für 12 Sprachen mit dynamischer Umschaltung zur Laufzeit“ weiterlesen

Muss in der pom.xml von Maven in der dependencyManagement-Sektion eigentlich ein Scope wie z.b. test angegeben werden?

Der Scope sollte in der dependencyManagement-Sektion der pom.xml nicht angegeben werden, außer in bestimmten Ausnahmefällen.

Was ist die Funktion von dependencyManagement?
Die dependencyManagement-Sektion dient dazu, Abhängigkeiten zentral zu verwalten, insbesondere in Multi-Modul-Projekten. Sie ermöglicht: „Muss in der pom.xml von Maven in der dependencyManagement-Sektion eigentlich ein Scope wie z.b. test angegeben werden?“ weiterlesen

iThoughts Mindmap Programm für iPad, Mac OS und Windows eingestellt!

Mit großem Bedauern habe ich erfahren, dass das großartige Mindmapping-Programm iThoughts von toketaWare seit Januar 2024 eingestellt wurde. Nach 11 Jahren erfolgreicher Entwicklung und Unterstützung durch ein engagiertes Team endet damit eine Ära, die viele von uns bereichert hat.

Ich möchte an dieser Stelle meinen tiefen Dank und meine Anerkennung aussprechen. iThoughts war nicht nur ein Werkzeug, sondern ein treuer Begleiter für kreative Prozesse, Organisation und Planung. Es hat mir und unzähligen Menschen geholfen, ihre Gedanken zu strukturieren, Projekte zu verwalten und Ideen visuell darzustellen – sei es im beruflichen oder privaten Kontext. Die intuitive Bedienung, die Flexibilität und die Möglichkeit, Daten in verschiedenen Formaten zu exportieren, waren herausragende Merkmale der Software. „iThoughts Mindmap Programm für iPad, Mac OS und Windows eingestellt!“ weiterlesen

Hochladen von Java-Artefakten nach Maven Central

Maven Central ist das wichtigste öffentliche Repository im Java-Ökosystem und ermöglicht es Entwicklern, wiederverwendbare Komponenten einfach in ihre Projekte einzubinden.

Das Hochladen von Java-Artefakten in das Maven Central Repository ist ein essentieller Schritt, um Java-Bibliotheken und -Anwendungen einer breiten Entwickler-Community zur Verfügung zu stellen. Vor 8 Jahren hatte ich das schon mal beschrieben. Ein paar Änderungen gibt es inzwischen.

Warum sollte man überhaupt Artefakte nach Maven Central hochladen? „Hochladen von Java-Artefakten nach Maven Central“ weiterlesen

Java Programm zur Goldbachsche Vermutung mit Heap Analyse

Die Goldbachsche Vermutung ist eine der ältesten ungelösten Probleme in der Mathematik, die der Mathematiker Christian Goldbach 1742 in einem Brief an Leonhard Euler formulierte. Sie besagt:

Jede gerade Zahl größer als 2 lässt sich als Summe zweier Primzahlen darstellen.

Diese Vermutung ist in zwei Formen bekannt: „Java Programm zur Goldbachsche Vermutung mit Heap Analyse“ weiterlesen

Schlüsselverwendungszwecke aus X509 Zertifikaten im PEM Format mit Java auslesen und im Klartext ausgeben

Jedes Jahr am ersten Donnerstag im Mai ist Welt-Passwort-Tag. Er dient dazu, das Bewusstsein für die Bedeutung starker Passwörter zu schärfen. Also gestern. Dann mal heute ein kleines Javaprogramm zu Entspannung das den Verwendungszweck eine Zertifikats ausgibt. Schlüsselverwendungszwecke sind wichtig für die ordnungsgemäße Verwendung und Interpretation von Zertifikaten und spielen eine entscheidende Rolle bei der Sicherstellung der Sicherheit und Integrität von Kommunikationen und Daten. In ASN.1 („Abstract Syntax Notation One“) ist das beschrieben. ASN.1 ist eine formale Sprache zur Beschreibung von Datenstrukturen und -inhalten, die unabhängig von einer bestimmten Programmiersprache oder Hardwareplattform ist. ASN.1 wird häufig in der Telekommunikations- und Netzwerktechnik sowie in der Kryptografie verwendet.

Hier ein kleines Programm, das ein JUnit-Testzertifikat (Public, PEM Format) aus dem Dateisystem einliest, und die meisten Parameter des Zertifikats auf der Konsole ausgibt. „Schlüsselverwendungszwecke aus X509 Zertifikaten im PEM Format mit Java auslesen und im Klartext ausgeben“ weiterlesen