Vom Leak zur Policy: Gitleaks als Baustein für Secret-Security nicht nur auf dem Raspberry Pi

gitleaks
Gitleaks ist ein Open-Source-Tool, mit dem sich hartkodierte Secrets wie Passwörter, API-Keys oder Tokens in Git-Repositories und beliebigen Verzeichnissen unter Linux (ua.) automatisiert aufspüren lassen. Durch seine konfigurierbaren Regeln und die Integration in lokale Workflows oder CI/CD-Pipelines eignet es sich sowohl für Pentester als auch für Entwicklungsteams, die ihre Codebasis systematisch auf Leaks prüfen wollen.

Einordnung und Sicherheitskontext „Vom Leak zur Policy: Gitleaks als Baustein für Secret-Security nicht nur auf dem Raspberry Pi“ 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

Elliptische Kurven sind für sichere Verschlüsselungen wichtig deshalb hier den Elliptic Curve Diffie-Hellman (ECDH)

Elliptische Kurven sehen auf den ersten Blick aus wie geschwungene Linien, ähnlich einer Schlaufe, aber sie haben nichts mit Ellipsen zu tun, die wie Ovale aussehen. Ihr Name kommt aus der Mathematik, aber es ist nur ein Name, keine Beschreibung der Form. Habe hier schon einige Artikel zu Raspberry Pi und XCA geschrieben.

Man kann sich elliptische Kurven so vorstellen: Wenn du zwei Punkte auf der Kurve hast, kannst du eine Linie durch diese Punkte zeichnen. Diese Linie trifft die Kurve meistens an genau einem dritten Punkt. Diesen dritten Punkt spiegelt man dann an der x-Achse, und das Ergebnis ist eine Art Summe der beiden Punkte. So kann man mit Punkten auf der Kurve nach bestimmten Regeln rechnen.

Diese besondere Art zu rechnen macht elliptische Kurven für sichere Verschlüsselungen wichtig, weil es sehr schwer ist, aus einem Ergebnis die ursprünglichen Punkte zurückzurechnen.

Wollte auch noch, wie gestern, den Diffie-Hellman-Schlüsselaustausch mit Elliptische Kurven in Java zeigen:

„Elliptische Kurven sind für sichere Verschlüsselungen wichtig deshalb hier den Elliptic Curve Diffie-Hellman (ECDH)“ 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

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

Dynamische Projekteigenschaften mit Maven Resources Plugin und Filter

Das Maven Resources Plugin wird häufig zum Filtern von Dateien verwendet, wodurch Platzhalter in Ressourcendateien durch in der pom.xml definierte Werte ersetzt werden können. Im Kontext der Ausgabe der Versionsnummer kann dieses Plugin dynamische Projekteigenschaften (Version, artifactId, groupId) während des Build-Prozesses direkt in Ressourcendateien einfügen. Die Maven-Koordinaten bestehen aus groupId, artifactId und version.

Maven verwendet Konventionen für die Namensgebung von Koordinaten. Die groupId identifiziert eindeutig eine Projektgruppe über alle anderen Gruppen hinweg. Sie sollte den Java-Paketnamensregeln folgen, beginnend mit einem umgekehrten Domainnamen, den Sie kontrollieren. Die artifactId ist der Name, unter dem das Projekt bekannt ist. Zusammen mit der groupId erzeugt sie einen Schlüssel, der dieses Projekt von allen anderen Projekten unterscheidet. Die version gibt an, um welche Version es sich handelt. „Dynamische Projekteigenschaften mit Maven Resources Plugin und Filter“ weiterlesen

ESP32: Wetterdaten wie Temperatur, Luftfeuchte, Luftdruck und Kursdaten von BTC, ETC, SOL, DOGE, NANO und DUINO mit User-Wallet anzeigen

Vor 8 Jahren hatte ich schon mal über das OLED Display „Don’t give up! berichtet. Und während der Pandemie diente es als CO2 Anzeige. Das habe ich nun abgebaut und durch ein paar Abfragen per REST-Api von OpenWeatherMap und Coingecko umprogrammiert. Das Ergebnis sieht man in diesem Video:

Es werden mit dem ESP32: Wetterdaten wie Temperatur, Luftfeuchte, Luftdruck und Kursdaten von BTC, ETC, SOL, DOGE, NANO mit DUINO User-Wallet angezeigt. Das Programm sieht ungefähr so aus: „ESP32: Wetterdaten wie Temperatur, Luftfeuchte, Luftdruck und Kursdaten von BTC, ETC, SOL, DOGE, NANO und DUINO mit User-Wallet anzeigen“ weiterlesen

Sierpinski-Dreieck: Mal was anderes als der Mega-Hack der Bybit Exchange mit ca. 401000 ETH ( ca. 1,4 Milliarden Dollar ) Verlust

Der Crypto-Bereich ist in Aufregung, weil Bybit von einem Ethereum-Cold-Wallet ca. 1,4 Milliarden Dollar geklaut wurden. Wie war das technisch möglich? Hier eine Erklärungsmöglichkeit:

Aber kommen wir nun zu etwas einfacheren und auch sehr interessanten Thema: Das Sierpinski-Dreieck. „Sierpinski-Dreieck: Mal was anderes als der Mega-Hack der Bybit Exchange mit ca. 401000 ETH ( ca. 1,4 Milliarden Dollar ) Verlust“ 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

Wahrscheinlichkeitsrechnung mit dem Satz von Bayes nicht nur für Versicherungen und Medizin

Der Satz von Bayes ist ein grundlegendes Theorem in der Wahrscheinlichkeitsrechnung, das den Zusammenhang zwischen bedingten Wahrscheinlichkeiten beschreibt.

Der Satz von Bayes ist ein spannendes Werkzeug aus der Welt der Mathematik, das uns hilft, Wahrscheinlichkeiten zu verstehen und zu berechnen. Er wird in vielen Bereichen angewendet, von der Medizin über Künstliche Intelligenz bis hin zu Alltagssituationen. Aber was genau besagt dieser Satz, und warum ist er so nützlich?

Was ist der Satz von Bayes? „Wahrscheinlichkeitsrechnung mit dem Satz von Bayes nicht nur für Versicherungen und Medizin“ weiterlesen

Der Brier-Score (Brier-Wert) nicht nur für Prognostiker

Der Brier-Wert ist ein effizientes und einfaches Maß zur Bewertung der Genauigkeit probabilistischer Vorhersagen. Durch die Kombination aus einfacher Berechnung und aussagekräftiger Analyse ist er ein weit verbreitetes Werkzeug in der Statistik und im maschinellen Lernen.

In der Praxis hilft er, die Qualität von Vorhersagen quantitativ zu bewerten und kann zur Verbesserung von Modellen und Algorithmen beitragen. Die Bezeichnung „Brier-Wert“ stammt von dem amerikanischen Meteorologen Glenn W. Brier, der das Maß (1950 – VERIFICATION OF FORECASTS EXPRESSED IN TERMS OF PROBABILITY) entwickelte und damit die Grundlage legte.

Der Brier-Wert wird häufig in Bereichen wie Meteorologie, Medizin, Finanzwesen, Wahlprognosen und maschinellem Lernen verwendet, um die Genauigkeit von Prognosen zu bewerten. Er ist besonders nützlich bei binären Klassifikationsproblemen, bei denen das Modell Wahrscheinlichkeiten für die Zugehörigkeit zu einer von zwei Klassen liefert (z. B. Regenwahrscheinlichkeit).

Wir erstellen zur Verdeutlichung mal ein JSon Datei mit ein paar Daten von der Reserve Bank of Australia, die bei ihren monatlichen Sitzungen Zinssätze beschließt. Die RBA lässt die Zinssätze im Allgemeinen unverändert, erhöht sie jedoch manchmal und senkt sie manchmal, je nach wirtschaftlicher Lage. Die Daten stammen aus diesem Artikel und wurden von mir in das JSon-Format überführt. „Der Brier-Score (Brier-Wert) nicht nur für Prognostiker“ weiterlesen

Raspberry Pi per SMB automatisch beim Start verbinden

Im Mac Finder muss im Mac unter Sequoia 15.0.1 jedesmal eine SMB (Samba) verbindung zum Pi erneut über Server verbinden eingestellt werden. Das kann auch beim Start des Macs automatisch getan werden.

Im Scripteditor dies Script erstellen und evl. den Username pi anpassen

und als App speichern unter: „Raspberry Pi per SMB automatisch beim Start verbinden“ 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

NodeRed ist vor 17 Tagen in Version 4.0.3 auch für den Raspberry Pi veröffentlicht worden

Node-RED ist eine flow-basierte Entwicklungsumgebung, die hauptsächlich für die visuelle Programmierung von IoT- und Automatisierungslösungen verwendet wird. Es bietet eine einfache und intuitive Oberfläche, um Datenströme (Flows) zwischen Geräten, APIs und Diensten zu erstellen, ohne tiefgehende Programmierkenntnisse zu benötigen.

Vorteile von Node-RED: „NodeRed ist vor 17 Tagen in Version 4.0.3 auch für den Raspberry Pi veröffentlicht worden“ weiterlesen

Wie können alle Flugzeuge im Umkreis von 20 km ermittelt werden?

Währe es nicht schön, wenn man auf einem Display (eines Raspberry Pi oä.), ähnlich wie am Flughafen alle Flugzeuge die in der Nähe sind, angezeigt bekommt. Dazu müsste erst ermittelt werden, welch Flugzeuge im Umkreis (Rechteck) vom Flughafen Hannover (oder jeder andere Ort) von ca. 20 km in der Luft und am Boden sind.

„Wie können alle Flugzeuge im Umkreis von 20 km ermittelt werden?“ weiterlesen

Lieben Dank für die neue ArchUnit 1.3.0 Version mit Support für Java 23

Das Java Framework ArchUnit ist ein leistungsstarkes Werkzeug für die Gewährleistung von Softwarearchitektur und Code-Qualität in Java-Projekten. Die Entwicklung von Softwareanwendungen wird immer komplexer und anspruchsvoller. Um sicherzustellen, dass Softwareprojekte effizient, skalierbar und wartbar sind, ist die Einhaltung einer soliden Softwarearchitektur und Code-Qualität von entscheidender Bedeutung. Hier kommt das Java Framework ArchUnit ins Spiel, das sich als unverzichtbares Werkzeug für die Überprüfung und Aufrechterhaltung dieser Standards etabliert hat.

ArchUnit ist ein Open-Source-Framework für statische Codeanalyse in Java-Anwendungen. Es wurde entwickelt, um Entwicklern und Architekten dabei zu helfen, die Einhaltung von vordefinierten Architekturrichtlinien und -regeln in ihrem Java-Code sicherzustellen. Das Framework ermöglicht es, Architekturvorgaben in Form von Java-Codeausdrücken zu definieren und automatisierte Tests zu schreiben, um sicherzustellen, dass diese Vorgaben im gesamten Projekt eingehalten werden. Die neue Version die vor ein paar Wochen veröffentlicht worden mal eben einem Quicktest unterziehen. „Lieben Dank für die neue ArchUnit 1.3.0 Version mit Support für Java 23“ weiterlesen