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

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

Dogecoin (DOGE) auf dem Raspberry Pi im Pool minen


Das Mining von Dogecoin (DOGE) auf einem Raspberry Pi ist eine interessante Möglichkeit, die Grundlagen des Kryptowährungs-Minings zu erlernen. Obwohl der Raspberry Pi aufgrund seiner begrenzten Rechenleistung nicht für profitables Mining geeignet ist, bietet er eine kostengünstige und energieeffiziente Plattform für Experimente und Bildung. „Dogecoin (DOGE) auf dem Raspberry Pi im Pool minen“ weiterlesen

BTOP auf dem Raspberry Pi

BTOP ist ein modernes und leistungsfähiges Systemüberwachungstool, das sich durch seine benutzerfreundliche Oberfläche und umfassende Funktionalität auszeichnet.

Es ist eine Weiterentwicklung von älteren Tools wie top, htop und bpytop und wurde in C++ entwickelt, um eine höhere Effizienz und geringeren Ressourcenverbrauch zu gewährleisten.

BTOP ist vollständig kompatibel mit dem Raspberry Pi. Es kann sowohl auf 32-Bit- als auch 64-Bit-Versionen des Raspberry Pi OS installiert werden. Es läßt sich auf dem PI ganz einfach installieren mit: sudo apt install btop.

Starten dann mit btop

BTOP dient der Überwachung von Systemressourcen in Echtzeit. Es zeigt detaillierte Informationen zu folgenden Bereichen an:

CPU-Auslastung: Pro-Kern-Nutzung, Temperaturanzeige (falls verfügbar) und grafische Darstellung der Auslastung.

Arbeitsspeicher: Belegung von RAM und Swap-Speicher, unterteilt in genutzten, freien und gecachten Speicher. „BTOP auf dem Raspberry Pi“ 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

Neue LTS Portainer 2.21.2 Version auch für Raspberry PI – Love

Portainer ist eine benutzerfreundliche Verwaltungsoberfläche für Docker und Kubernetes. Es erleichtert die Verwaltung von Containern, Images, Netzwerken und Volumes, ohne dass man komplexe Befehlszeilenkenntnisse benötigt.

Es bietet Funktionen wie:

– intuitive Weboberfläche
– Multi-Umgebungsverwaltung (lokal, Cloud, Swarm, Kubernetes)
– Zugriffskontrolle und rollenbasierte Benutzerverwaltung
– Detaillierte Einblicke in Container-Logs und Metriken
– Unterstützung für Docker Compose
– Erweiterte Netzwerk- und Volumenverwaltung

Durch seine Einfachheit und Funktionsvielfalt spart Portainer Zeit bei der Verwaltung von Container-Umgebungen und fördert eine höhere Produktivität in DevOps-Teams. Love.

…zur Entspannung mal auf die neue LTS Version von vorletzter Woche und die Docker Container auf dem Raspberry Pi 4 upgedated.

„Neue LTS Portainer 2.21.2 Version auch für Raspberry PI – Love“ weiterlesen

Neue PSPP 2.0.1 veröffentlicht (Teil 12)

Vor ein paar Wochen wurde die neue Version 2.0.1 von PSPP veröffentlicht. Was gibt es da Neues? Hier die Projektseite.

PSPP ist ja eine freie Software zur statistischen Analyse von Daten. Sie wurde als Open-Source-Alternative zu SPSS entwickelt, einem kommerziellen Programm, das vor allem in den Sozialwissenschaften, der Psychologie und der Wirtschaftsforschung weit verbreitet ist. „Neue PSPP 2.0.1 veröffentlicht (Teil 12)“ weiterlesen

Quicki: Parameterexpansion in der bash auf dem Raspberry Pi (Entfernen eines Suffixes, Standardwerte, Ersetzen)

Parameterexpansion ist ein Mechanismus in der Bash, mit dem der Wert einer Variablen verarbeitet und modifiziert werden kann, bevor er verwendet wird. Dies ermöglicht unter anderem das Extrahieren von Teilen von Strings, das Ersetzen von Substrings und das Setzen von Standardwerten.

Parameterexpansion in Bash ermöglicht, den Wert einer Variablen zu manipulieren oder einen Teil davon mit einer speziellen Syntax zu extrahieren. Die grundlegende Form der Parameterexpansion ist

\$ {parameter}

wobei der Wert von parameter ersetzt wird. Die Klammern sind erforderlich, wenn parameter ein Positionsparameter mit mehr als einer Ziffer ist oder wenn parameter von einem Zeichen gefolgt wird, das nicht als Teil seines Namens interpretiert werden soll.

Hier sind einige Beispiele, um zu zeigen, wie Parameterexpansion auf der Kommandozeile funktioniert:
„Quicki: Parameterexpansion in der bash auf dem Raspberry Pi (Entfernen eines Suffixes, Standardwerte, Ersetzen)“ weiterlesen

Speicher sparen mit dem WebP Format mit cwebp auf dem Raspberry Pi

WebP (sprich engl. „weppy“) ist ein modernes Bildformat, das von Google entwickelt wurde, um hochwertige Bilder mit geringerer Dateigröße im Vergleich zu anderen Bildformaten wie JPEG und PNG zu liefern. Das WebP-Tool unter Linux bietet eine leistungsstarke Lösung für die Konvertierung und Optimierung von Bildern.

Mit dem Tool cwebp können PNG, JPEG, TIFF Bilder in das WebP Format und zurück umgeformt werden.

Diese Datei hat z.B. eine Größe von 1,4 MByte und nach der Umformung nur noch 18 KByte. Da lohnt sich doch der Aufruf,

cwebp 1.png -o 1.webp

Ausgabe: „Speicher sparen mit dem WebP Format mit cwebp auf dem Raspberry Pi“ weiterlesen

Curve25519 private/public Key generieren für Hidden Onion-Services inkl. sprechenden Domainnamen mit mkp224o

Hidden Onion Services sind eine Art von Tor-Service, die es Benutzern ermöglichen, anonym und sicher mit anderen zu kommunizieren. Um einen Hidden Onion-Service einzurichten, ist es erforderlich, einen privaten und öffentlichen Schlüssel zu generieren (Also vanity address generator for tor onion v3 (ed25519) hidden services).

tor Dank an Dr.Kleinhirn.eu für die Mindmap.

Curve25519 … eine elliptische Kurve, die für asymmetrische Kryptosysteme genutzt wird. Sie wird üblicherweise für digitale Signaturen und Schlüsselaustauschprotokolle genutzt und gilt als besonders schnell. Sie ist von der IETF als RFC 7748 standardisiert. Die Kurve ist nicht durch bekannte Patente geschützt. Sie ist Public Domain. „Curve25519 private/public Key generieren für Hidden Onion-Services inkl. sprechenden Domainnamen mit mkp224o“ weiterlesen

XCA – Certification Authority (Zertifizierungsstelle) mit Elliptische-Kurven-Kryptografie (ECC) secp256k1

In der Informationssicherheit und Verschlüsselung steht „CA“ für Certification Authority. Eine Zertifizierungsstelle ist eine vertrauenswürdige Organisation, die digitale Zertifikate ausstellt und verwaltet. Diese Zertifikate werden verwendet, um die Identität von Websites, Servern und Benutzern in verschlüsselten Kommunikationen zu überprüfen, z. B. bei der SSL/TLS-Verschlüsselung im Web. Hier ein Bild der XCA GUI unter Linux:

Gestern wurde eine neue Version 2.5.0 der XCA veröffentlicht. Dafür gibt es auf dem Raspberry Pi 4 noch kein Package.

Aber man kann es ja auch selbst compilieren und zwar so für den aktuellen dev 2.5.3 Stand:

„XCA – Certification Authority (Zertifizierungsstelle) mit Elliptische-Kurven-Kryptografie (ECC) secp256k1“ weiterlesen

Die wichtigsten Unterschiede zwischen Trust Stores und Key Stores für Java und HTTPS

Die wichtigsten Unterschiede zwischen Trust Stores und Key Stores für Java und HTTPS.

Der Key Store speichert private Schlüssel und zugehörige Zertifikate zur Identifizierung und Authentifizierung.
Der Trust Store speichert Zertifikate von vertrauenswürdigen Zertifizierungsstellen zur Überprüfung der Glaubwürdigkeit von Remote-Entitäten.

Beide Speicher sind wichtig, um eine sichere Kommunikation über HTTPS und andere verschlüsselte Protokolle zu gewährleisten. Der Key Store ermöglicht die Identifizierung und Authentifizierung, während der Trust Store das Vertrauen in die Gegenstelle sicherstellt. Hier die Unterschiede als Mindmap und als Tabelle:

„Die wichtigsten Unterschiede zwischen Trust Stores und Key Stores für Java und HTTPS“ weiterlesen

Anzeige der theoretische Reichweite des Antennenempfang basierend auf dem Höhenprofil mit integration in tar1090

Ein wichtiger Aspekt bei der Planung und Installation von Funk- oder Mobilfunknetzwerken ist die Bewertung der theoretischen Reichweite des Antennenempfangs. Die Reichweite einer Antenne hängt von verschiedenen Faktoren ab, darunter die Sendeleistung, die Empfängereigenschaften und das Höhenprofil der Umgebung. In diesem Artikel betrachten wir genauer, wie das Höhenprofil die theoretische Reichweite des Antennenempfangs beeinflusst.

Das Höhenprofil einer bestimmten Umgebung gibt Auskunft über die Variation der Geländehöhe entlang einer bestimmten Strecke. Es kann Anstiege, Abstiege, Hügel, Täler und andere topografische Merkmale umfassen. Diese Merkmale können sich erheblich auf die Signalübertragung und somit auf die Reichweite des Antennenempfangs auswirken. „Anzeige der theoretische Reichweite des Antennenempfang basierend auf dem Höhenprofil mit integration in tar1090“ weiterlesen

tar1090: Ein leistungsstarkes Werkzeug zur ADS-B-Flugverfolgung – Wie updaten?

Das gleiche Kommando für die Instalation ist auch für ein update nötig. Einfach ein:

ausführen: „tar1090: Ein leistungsstarkes Werkzeug zur ADS-B-Flugverfolgung – Wie updaten?“ weiterlesen

Node (npm) auf dem Raspberry PI Zero installieren und eine einfache Lösung für das Mocking von API-Endpunkten mit JSON-REST-Server

In der Welt der Webentwicklung ist es oft notwendig, mit Daten zu arbeiten, die über eine REST-API bereitgestellt werden. Bei der Entwicklung von Frontend-Anwendungen müssen Entwickler häufig mit Mock-APIs arbeiten, um ihre Anwendungen unabhängig von der tatsächlichen Backend-Implementierung zu testen. JSON-Server ist eine großartige Lösung für dieses Problem. In diesem Artikel werden wir uns mit JSON-Server befassen und erfahren, wie er verwendet werden kann, um einen einfachen Mock-Server für die Entwicklung von Webanwendungen bereitzustellen. Zuerst zeige ich, wie Node und NPM auf dem PI Zero installiert werden kann.

Was ist JSON-Server?

JSON-Server ist ein einfaches, aber leistungsstarkes Werkzeug, mit dem Entwickler in kürzester Zeit einen voll funktionsfähigen RESTful-API-Mock-Server erstellen können. Es basiert auf Node.js und verwendet eine JSON-Datei als Datenquelle. Mit JSON-Server können Entwickler API-Endpunkte erstellen, Daten hinzufügen, aktualisieren, löschen und abfragen, ohne eine eigentliche Backend-Implementierung schreiben zu müssen.

Dann mal los … „Node (npm) auf dem Raspberry PI Zero installieren und eine einfache Lösung für das Mocking von API-Endpunkten mit JSON-REST-Server“ weiterlesen

REST-Server mit statischen HTML Seiten bzw. Bildern in 5 Minuten erstellen

Wie in diesem Beitrag beschrieben, kann leicht ein REST-Server in 5 Minuten erstellt werden. Auch die Sicherheit kann in 5 Minuten mit Helmet erweitert werden, wie hier beschrieben. Wer weitere 5 Minuten hat, kann auch auf ein Verzeichnis mit statischen Resourcen zugreifen.

Eine statische Webseite ist eine Art von Webseite, bei der die Inhalte für jede Seite im Voraus erstellt werden und nicht dynamisch auf Anfrage generiert werden. Dies bedeutet, dass der Inhalt jeder Seite statisch ist und sich nicht ändert, es sei denn, jemand bearbeitet manuell die HTML-Dateien, die die Seiten darstellen.

Statische Webseiten werden oft verwendet, wenn der Inhalt der Seite selten oder nie aktualisiert wird, z.B. bei Landingpages, Informationsseiten oder Blogs mit selten aktualisierten Inhalten. Sie sind einfach zu erstellen und zu verwalten und erfordern keine spezielle Software oder Programmierkenntnisse. „REST-Server mit statischen HTML Seiten bzw. Bildern in 5 Minuten erstellen“ weiterlesen