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

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

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

Wie kann eine mobileconfig für Apple Geräte (iPhone, iPad, iMac …) signiert werden?

Mit dem Apple Configurator erstellte Profile können in Apple Geräte übertragen werden. Diese mobileconfig-Dateien sind XML Dateien. Wenn man die signiert, wird in den Profilen ein grüner Haken und überprüft in grün angezeigt. Sonst steht da, nicht signiert in ROT.

und man hat noch weitere Vorteile. Der Apple Configurator ist ein Tool das hauptsächlich für die Verwaltung von iOS- und macOS-Geräten in Unternehmen, Schulen und anderen Organisationen verwendet wird. Es ermöglicht die Massenkonfiguration und Verwaltung von iOS- und macOS-Geräten über eine benutzerfreundliche grafische Benutzeroberfläche. Es hilft auch schon, wenn man ein Gerät hat, denn mache Einstellungen kann man nur über Profile einstellen, und für meine 6 Geräte wird die Verwaltung auch schon einfacher.

Nun zu einem kleinen Beispiel, wir wollen Zertifikate in ein Profile importieren und die Profile Datei signieren. Hier nun die nötigen Schritte:

Ich habe mal drei Zertifikate (Root, Intermediate und User-Zertifikat) mit meiner XCA erstellt, die auf einem Raspberry Pi 4 (headless) läuft (und auch auf iMac) und zwar so: „Wie kann eine mobileconfig für Apple Geräte (iPhone, iPad, iMac …) signiert werden?“ weiterlesen

25 Jahre Innovation: Ein Blick auf die Reise unseres Programmierblogs – mit Jubiläumsumfrage

Liebe Leserinnen und Leser,

wir stehen Heute am beeindruckenden Meilenstein des 25-jährigen Bestehens unseres Blogs – ein Vierteljahrhundert, in dem wir die Welt der Programmierung gemeinsam erkundet haben. Würde mich über die Beantwortung von nur 3 Fragen freuen. Dafür habe ich diese kurze Umfage gemacht.

Es scheint wie gestern, dass wir unsere digitale Reise begannen, und doch haben wir zusammen eine Ewigkeit an Wissen und Erfahrungen gesammelt.

Von den ersten Zeilen Code in Java bis hin zu den komplexen Netzwerken der Blockchain haben wir jede Entwicklung nicht nur beobachtet, sondern auch aktiv gestaltet. Unsere Plattform hat sich zu einem Treffpunkt für Gleichgesinnte entwickelt, die eine Leidenschaft für Technologie teilen und den unersättlichen Drang haben, Neues zu lernen und zu erschaffen. „25 Jahre Innovation: Ein Blick auf die Reise unseres Programmierblogs – mit Jubiläumsumfrage“ weiterlesen

Blender 4.1 mit neuem „Split To Instances Node“ veröffentlicht

Heute ist die neue Blender Version 4.1 veröffentlich worden. Dann mal gleich einen Quickttest mit dem neuen „Split To Instances Node“. Wir nehmen ein rechteckiges Plane Grid und splitten es mit einer Voronoi Texture. Für das Video verändern wir den Offset von 0 bis 0.3 des Extrude Mesh:

Mit diesen Nodes erzeugt: „Blender 4.1 mit neuem „Split To Instances Node“ veröffentlicht“ weiterlesen

Wegen Streik in HAJ (EDDV, Hannover) sehr ruhig, dann mal einen neuen Webtunnel (Bridges) für Tor einstellen und was sind Brücken-Mojis?

Ein Webtunnel (Bridges) ist dem normalen Webverkehr so ähnlich, dass er mit einer Webseite am gleichen Netzwerkendpunkt, also mit der gleichen Domäne, IP-Adresse und dem gleichen Port, koexistieren kann. Eine solche Konfiguration führe dazu, dass ein Beobachter die Webseite unter der gemeinsamen Adresse besuchen könne, ohne die Existenz der geheimen Webtunnel-Bridge zu bemerken.

Die Verwendung von Brücken in Kombination mit austauschbaren Übertragungsarten hilft die Tatsache zu verbergen, dass du Tor verwendest, kann aber die Verbindung im Vergleich zur Verwendung von normalen Tor-Relays verlangsamen.

Das geht ganz einfach, da die Brückenadressen nicht öffentlich sind: „Wegen Streik in HAJ (EDDV, Hannover) sehr ruhig, dann mal einen neuen Webtunnel (Bridges) für Tor einstellen und was sind Brücken-Mojis?“ weiterlesen

Boeing E-3B Sentry (AWACS) störte Heute in Langenhagen

Die Boeing E-3B Sentry (AWACS) ist sehr laut, und hat mich heute im Homeoffice in Langenhagen ans Fenster gezogen. Sie fliegt teilweise mit Ausnahmegenehmigung, da die Triebwerke der E-3A den modernen Umweltschutzauflagen hinsichtlich Lärmbelästigung und Abgasentwicklung nicht mehr genügen. Die hatte ich bei uns noch nie gesehen, sie hat einen großen Radar Aufbau:

Das war aber noch nichts gegen Rostock-Laage wo sie 10 Mal durchgestartet und im Kreis geflogen ist, wenn ich richtig zähle. „Boeing E-3B Sentry (AWACS) störte Heute in Langenhagen“ weiterlesen

10 Gründe warum Nutzer eine Bill of Materials (SBOM) brauchen

Seit ein paar Wochen gibt es die neue Version 2.7.11 von CycloneDX. Wenn das nicht nicht ein Grund ist, einen neue SBOM zu erzeugen. Eine Software Bill of Materials (SBOM) ist eine Liste der Bestandteile und Komponenten einer Softwareanwendung sowie ihrer Beziehungen zueinander. Hier hatte ich ja schon mal beschrieben wie man mit Maven und dem CycloneDX Plugin eine erzeugt. Hier sind die 10 wichtigsten Gründe, warum Benutzer eine SBOM benötigen:

„10 Gründe warum Nutzer eine Bill of Materials (SBOM) brauchen“ weiterlesen

Neue Port Version 2.9.1 für Mac OS – Highlights from Git 2.44

In der Welt der Softwareentwicklung und des Betriebssystems MacOS gibt es eine Vielzahl von Werkzeugen und Anwendungen, die Entwicklern helfen, ihre Arbeit effizienter zu gestalten. Eines dieser Werkzeuge ist „Ports„, ein leistungsstarkes Programm, das es Benutzern ermöglicht, Unix-Software auf ihren Mac-Systemen zu installieren und zu verwalten.

Ports“ ist ein Paketverwaltungssystem für MacOS, das auf dem ursprünglichen FreeBSD Ports-System basiert. Es ermöglicht Benutzern die einfache Installation, Aktualisierung und Deinstallation von Unix-Software und Bibliotheken auf ihren Mac-Systemen. Durch die Verwendung von Ports können Entwickler schnell auf eine Vielzahl von Open-Source-Tools und -Anwendungen zugreifen, ohne sich um komplexe Abhängigkeiten oder Konfigurationsprobleme kümmern zu müssen. „Neue Port Version 2.9.1 für Mac OS – Highlights from Git 2.44“ weiterlesen