1 Stunde gewonnen beim Zeitumstellung: dann mal ein REST-Service mit Quarkus zu Ermittelung der Tage bis zur Rente

Ein fokussiertes Mini‑Projekt für die umgestellte Stunde: ein Quarkus‑REST‑Service, der die verbleibenden Tage bis zur Rente liefert, lokal entwickeln und anschließend auf einem Raspberry Pi deployen.

Idee und Ziel

-Ein kleiner REST‑Endpunkt liefert JSON mit: verbleibenden Tagen

– Projekt: Quarkus, Java 21, RESTEasy Reactive, Jackson.

-Deployment: fast-jar mit quarkus-run.jar auf dem Raspberry Pi als systemd‑Service.

Ok, start, zuerst den Java Endpunkt: „1 Stunde gewonnen beim Zeitumstellung: dann mal ein REST-Service mit Quarkus zu Ermittelung der Tage bis zur Rente“ 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

1,5 Millionen Hits auf diese Webseite im September

Ein großartiger Meilenstein: Im September erreichte unsere Webseite beeindruckende 1,5 Millionen Aufrufe!

Herzlichen Dank an alle Besucher, Unterstützer und Mitwirkenden – Ihr Interesse und Vertrauen treiben uns weiter an.

Auf viele weitere erfolgreiche Monate voller spannender Inhalte und engagierter Nutzer!

aha – ANSI to HTML Adapter

In der Linux-Welt ist die Kommandozeile das zentrale Werkzeug für Systemadministration, Entwicklung und Analyse. Viele Konsolenprogramme verwenden ANSI-Farbcodes, um Ausgaben farbig zu gestalten und damit besser lesbar zu machen. Doch sobald diese Ausgaben in HTML-Dokumenten, E-Mails oder Webinterfaces dargestellt werden sollen, gehen diese Farben oft verloren.
Hier kommt aha – der ANSI to HTML Adapter – ins Spiel. Dieses kleine, aber äußerst nützliche Tool konvertiert farbige Terminalausgaben in valides HTML und erhält dabei die Farbinformationen vollständig.

Das Programm aha (kurz für ANSI HTML Adapter) nimmt eine Eingabe, die ANSI-Farbsequenzen enthält, und erzeugt daraus HTML-Code mit entsprechenden CSS-Farbdefinitionen. „aha – ANSI to HTML Adapter“ weiterlesen

Vermeide git Foxtrot-Merge – Schritt für Schritt Anleitung mit Lösung

Der Foxtrott-Merge ist wie Tanzen mit Git – nur dass hier nicht die Füße stolpern, sondern die Commits. Beide starten synchron, drehen sich elegant umeinander, bis einer plötzlich im falschen Takt mitschreibt. Während Tänzer das charmant überspielen, verursacht es in Git eine chaotische Merge-Historie. Der Foxtrott bringt Schwung ins Parkett, der Foxtrott-Merge dagegen Unordnung ins Repository.

Und das Beste daran: Ich kann zwar kein Foxtrott tanzen, aber diesen Merge krieg ich jedes Mal hin – leider. In diesem Sinne mal eine Anleitung mit Lösung.

Ein Foxtrot Merge ist ein problematischer Merge-Commit in Git, bei dem die Reihenfolge der Parent-Commits vertauscht ist und dadurch die First-Parent-Historie des Hauptzweigs durcheinanderbringt.

Konkret entsteht ein Foxtrot Merge, wenn du lokale Änderungen committed hast, dann  git pull  ausführst (was automatisch einen Merge erstellt), und dieser Merge-Commit den Remote-Branch als zweiten statt als ersten Parent referenziert.

Das Problem wollen wir mal auf einem Raspberry PI 2 W Zero mit Kali (jedes andere Betriebssystem geht auch 😉 nachstellen und zum Schluss eine Lösung zum verhindern aufzeigen. Wir machen grob das:

Das Problem
Bei einem Merge-Commit sind die Eltern geordnet: Der erste Parent ist HEAD (der Commit, auf dem du warst), der zweite Parent ist der Commit, den du mergst.

Ein Foxtrot Merge macht  origin/master  zum zweiten Parent, wodurch die First-Parent-Historie – die Git in vielen Befehlen wie  git log –first-parent  verwendet – verfälscht wird. Dies erschwert die Nachvollziehbarkeit der Haupt-Entwicklungslinie erheblich. „Vermeide git Foxtrot-Merge – Schritt für Schritt Anleitung mit Lösung“ weiterlesen

HashiCorp Vault auf Raspberry PI mit Kali per Java zugreifen – Wie? (Teil 1)

Auf dem Raspberry Pi Zero 2 W wollte ich mal einen HashiCorp Vault installieren. Ich habe dazu ein Kali 32-Bit System verwendet, aber es läuft auch analog auf anderen Systemen.

Ziel ist es per Java und AppRole Workflow auf den Vault mit diesem Workflow zuzugreifen:

Hier die Schritte im Überblick die gezeigt werden:

Teil 1:
HashiCorp Vault laden und installieren
-User einrichten
-Vault in vault.hcl einrichten
-Quicktest
-Zertifikate für https ergänzen
-Systemservice erstellen
-Zugriff auf Vault CLI Api
-einen non root token einrichten
-Cubbyhole Secrets Engine lesen und schreiben

Teil 2:
-Vault Rollen und Rechte einrichten
-Java Zugriff mit Demo App

„HashiCorp Vault auf Raspberry PI mit Kali per Java zugreifen – Wie? (Teil 1)“ weiterlesen

Glances auf dem Raspberry Pi – es muss ja nicht immer top sein

Glances ist ein modernes und leistungsfähiges Systemüberwachungstool, das klassische Lösungen wie „top“ deutlich übertrifft. Während „top“ seit Jahren als Standard für die Echtzeitbeobachtung von Linux-Systemressourcen auch auf dem Raspberry Pi gilt, bietet Glances eine zeitgemäße und umfassende Übersicht, die alle relevanten Kennzahlen auf einen Blick zusammenführt und zahlreiche Zusatzfunktionen bereithält. Ich hatte schon mal 2018 davon berichtet. Es ist schnell installiert mit: sudo apt install glances

Nach dem Start mit: glances wird wie z.B. auf meinem Raspi mit Kali folgendes angezeigt:

Systemressourcen im Blick zu behalten, ist essenziell, um Engpässe proaktiv zu erkennen, Wartung zu planen und eine hohe Verfügbarkeit zu gewährleisten. „Glances auf dem Raspberry Pi – es muss ja nicht immer top sein“ weiterlesen

SSH Key Generierung und RFC4716-Format Konvertierung mit ssh-keygen für Elliptische Kurven (ed25519)

RFC4716-Format Konvertierung

SSH-keygen ist ein essentielles Kommandozeilenwerkzeug zur Erstellung, Verwaltung und Konvertierung von Authentifizierungsschlüsseln für SSH-Verbindungen. Das Tool ist integraler Bestandteil der OpenSSH-Suite und steht auf nahezu allen modernen Betriebssystemen zur Verfügung, einschließlich Raspberry Pi, Linux, macOS sowie Windows 10 und 11. „SSH Key Generierung und RFC4716-Format Konvertierung mit ssh-keygen für Elliptische Kurven (ed25519)“ 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

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

Sollte in Maven-Multiprojekten in der Sub pom.xml eine Version angegeben werden oder nur in der Haupt pom.xml?

In Maven-Multiprojekten (Multi-Module-Projekten) gilt als Best Practice, die Version ausschließlich in der Haupt- (Parent-) pom.xml zu definieren und in den Submodul-poms keine eigene Versionsangabe für das Artefakt zu machen.

Submodule erben die Version automatisch vom Parent, sofern im Submodul kein eigenes -Tag gesetzt ist. Das sorgt für Konsistenz, erleichtert das Versionsmanagement und reduziert Redundanz. Dies gilt insbesondere dann, wenn alle Module stets gemeinsam veröffentlicht werden sollen und immer dieselbe Version haben.

Praxisbeispiel: „Sollte in Maven-Multiprojekten in der Sub pom.xml eine Version angegeben werden oder nur in der Haupt pom.xml?“ weiterlesen

Medizin im Alter nicht nur für Anästhesistinnen und Anästhesisten

Die physiologischen Veränderungen, die mit zunehmendem Alter im menschlichen Körper auftreten werden angespochen und erörtert werden altersbedingte Veränderungen in verschiedenen Organsystemen wie Herz-Kreislauf, Atmung, zentrales Nervensystem, Gastrointestinaltrakt, Niere und Immunsystem sowie deren Auswirkungen. Themen wie Burn-out, Fatigue, interdisziplinäre Anerkennung und Arbeitsbedingungen werden angesprochen.

Nicht nur bei Appel, sonder auch überall wo es Podcasts gibt.

Welche Sprachen müsste man sprechen, um 90 % der Weltbevölkerung zu erreichen?

Um etwa 90 % der Weltbevölkerung sprachlich zu erreichen, reicht es nicht, nur die meistgesprochenen zehn Sprachen zu beherrschen. Denn die Sprecherzahlen überschneiden sich teilweise (viele Menschen sprechen mehr als eine dieser Sprachen), und die Weltbevölkerung verteilt sich auf Tausende von Sprachen. Dennoch gibt es Schätzungen, welche Sprachen man sprechen müsste, um möglichst viele Menschen zu erreichen:

Laut mehreren Quellen benötigt man etwa 12 bis 15 Sprachen, um 90 % der Weltbevölkerung zu erreichen. Die wichtigsten sind:

Diese Liste deckt die größten Sprachgruppen und die wichtigsten Verkehrssprachen ab. Die exakte Zahl hängt davon ab, wie man Zweitsprachler und Mehrsprachigkeit berücksichtigt. Deshalb habe ich meinen Event-Generator (TWRente in Version 1.2.2) um 6 weitere Sprachen auf 18 erweitert. So können das Programm nun die „ganze“ Welt nutzen:

Weitere Infos zum Event-Generator (TWRente) siehe hier. „Welche Sprachen müsste man sprechen, um 90 % der Weltbevölkerung zu erreichen?“ 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