Clean Code Developer (und Software Craftsmanship)

Drei Tage mit Clean Code und Software Craftsmanship. Wenn das nicht genuge ist 😉 Gem. Wikipedia bezeichnen Softwareentwickler in erster Linie Quellcode, aber auch Dokumente, Konzepte, Regeln und Verfahren, die intuitiv verständlich sind als „sauber“. Als intuitiv verständlich gilt alles, was mit wenig Aufwand und in kurzer Zeit richtig verstanden werden kann.

Hier mal ein Überblick, den ich vor Jahren schon gemacht hatte: „Clean Code Developer (und Software Craftsmanship)“ weiterlesen

Einfaches generieren von Software Bill of Materials (SBOM) mit Maven CycloneDX Plugin

SBOM (Software Bill of Materials) ist eine Inventar Liste einer Codebasis (hier im Beispiel Java), einschließlich aller identifizierbaren Komponenten samt ihrer Lizenz- und Versionsinformationen sowie Angaben zu eventuell vorhandenen Sicherheitslücken.
SBOM soll helfen, den Softwarecode samt bekannter Bugs und lizenzrechtlicher Fallstricke in der Codebasis zu inventarisieren, um so Risiken auszumerzen.

Diese SBOM Listen im Json oder XML Format können leicht mit dem Maven Plugin CycloneDX erzeugt werden.

Das Plugin kann in der pom.xml an die Package-Phase wie folgt mit den default Werten angekoppelt werden:

Hier die erzeugten Beispiel SBOM für das TWBibel Projekt im XML Format (entfernt).

Und im JSON Format:

„Einfaches generieren von Software Bill of Materials (SBOM) mit Maven CycloneDX Plugin“ weiterlesen

Quicktest: Neue Blender Version 3.2 und Vergleich jpg mit WebP

Vor zwei Tagen gab es eine neue Blender Version 3.2 für Windows, Linux und macOS. Was es alles Neues gibt, kann hier nachgelesen werden. Dann mal ein kurzer Quicktest nach der Installation mit meinem letzten Kleinhirn Projekt. Import der blender Datei und neues rendern:

Wie kann man eine schöne Textur für ein Gehirn wie oben machen. „Einfach“ die 18 Nodes wie folgt zusammenstellen: „Quicktest: Neue Blender Version 3.2 und Vergleich jpg mit WebP“ weiterlesen

BIP39 oder „From mnemonic to seed“ oder 340 Undezillion 282 Dezillion 366 Nonmillion 920 Oktillion 938 Septillion 463 Sextillion 463 Quintillion 374 Billiarde 607 Billionen 431 Milliarden 768 Millionen 211 Tausend 456

In drei Block-Beiträgen hatte ich schon von einem NodeRed Node geschrieben, den ich mal programmiert hatte. Damit kann man leicht 12 Wörter aus der Wortliste die aus 2048 englischen Wörtern besteht erzeugen. Die Wortliste gibt es aber auch in japanisch, koreanisch, spanisch, chinesisch, französisch, italienisch, tschechisch und portugiesisch.

Wir haben mal beispielhaft diese 12 Wörter generiert:

shiver machine depth spoil click mind solid angle spoon menu moon two

Das entspricht diesen BIP39 Seed in Hex:

964d44c0f02d265fa5326e3c791d7f44e01eefeaaca5e17d06dcdad63543a32b21767852cf77631afaec2457a3c5b731cd56c9e2fd7678506ca82ccac06af659

12 Wörter haben eine Entropie 128 Bit und eine Checksumme von 4 Bit (= 132 Bit). Bei 24 Wörtern sind es schon 256 Bit Entropie und 8 Bit Checksumme (= 264 Bit).

Bei 12 Wörtern aus 2048 ergibt sich 2048^12 = 2^132 Möglichkeiten. Wie groß ist die Zahl? Wir fragen mal Google: „BIP39 oder „From mnemonic to seed“ oder 340 Undezillion 282 Dezillion 366 Nonmillion 920 Oktillion 938 Septillion 463 Sextillion 463 Quintillion 374 Billiarde 607 Billionen 431 Milliarden 768 Millionen 211 Tausend 456“ weiterlesen

MS Visual Studio Code mit neuer Version 1.67 verfügbar

Was gibt es neues? Auch ein Update der Java-Erweiterungen: Unterstützung von Inlay-Hinweisen und der „lazy variable resolution“ und erw. für Markdown-Links:

Die Liste der Anpassungen ist lang, und wird nach dem Update über den Menüpunkt: „Code“ – „Nach Update suchen“ angezeigt.

Nordbahn 09L/27R in HAJ (EDDV) für drei Wochen ab 2. Mai 2022 gesperrt

Die Nordbahn (3200m) ist jetzt für ein paar Tage bis zum 20. Mai gesperrt. Es geht um entfernung des Gummiabrieb und erneuern der Fugen.

Nun geht alles über die kürzere Südbahn (2340m), die auch näher an meinem Schlafzimmer liegt!

Mal sehen wie es so nun mit dem Lärm aussieht, das ist ja hier, wenn auch mit 2 Stunden Zeitverzögerung zu sehen.

Es werden wohl auch nicht weniger Flugzeuge werden. Hier mal mein transponder Empfang vom Raspberry Pi der letzten 7 Tage (3.Sep. 2017). Es sind so ca. 1500 Flugzeuge, wird aber jetzt auch wohl nicht anders aussehen:

Man kann gut erkennen, das meine Antenne nach Westen ausgerichtet ist: „Nordbahn 09L/27R in HAJ (EDDV) für drei Wochen ab 2. Mai 2022 gesperrt“ weiterlesen

Wie können UML 2.0 Klassen-Diagramme mit Eclipse Plugin ObjectAid auch in Version 2022-03 erstellt werden?

Das Eclipse-Plugin ObjectAid installieren über die Install URL http://www.objectaid.com/update/current funktioniert nicht mehr. Das Plug-In ist dafür zu alt. Die Seite gibt es nicht mehr.

Man kann sich aber noch das Plugin über diese URL https://web.archive.org/web/*/http://www.objectaid.com/update/current/objectaid-1.2.4.zip der Wayback Maschine landen. Das Zip dann lokal in ein Verzeichnis auspacken und über die local Funktion installieren:

Dann nach einem Restart, können die UML Diagramme leicht erstellt werden.

Hier ein Beispiel meiner Blockchain, in einen frühen Stadium bei XBT 38 k$ und Block Nr. 734258: „Wie können UML 2.0 Klassen-Diagramme mit Eclipse Plugin ObjectAid auch in Version 2022-03 erstellt werden?“ weiterlesen

Explorer Plug-In und Start Explorer für Eclipse Version: 2022-03 (4.23.0) installieren

Oft will man einen Browser oder eine Commandline in einem bestimmten Verzeichnis öffnen. Für mich ist es eines der wichtigsten Plug-Ins für Eclipse. In Eclipse 2022-03 sind sie nicht per default installiert. Über den Eclipse Marketplace kann das Start Explorer 4.1.0 Plug-Ins leicht installiert werden:


„Explorer Plug-In und Start Explorer für Eclipse Version: 2022-03 (4.23.0) installieren“ weiterlesen

Vergleich GraalVM nativ vs. herkömmlich mit Quarkus auf MacOS

Heute mal ein Vergleich mit einem Beispiel-Quarkus-REST Service normal vs. nativ.

Um die Größe und die Buildzeit zu vergleichen. Hier das Ergebnis vorweg:

Also native gebaute Apps sind wesentlich länger zur Buildzeit dafür laufen sie aber auch wesentlich schneller und sind dann auch auf das jeweilige Betriebssystem beschränkt.


Um auf einen MacOs Quarkus auch nativ zu kompilieren muss die GraalVM und das Native-Image installiert sein.

Also installieren wir die GraalVM auf dem Mac mit Port: „Vergleich GraalVM nativ vs. herkömmlich mit Quarkus auf MacOS“ weiterlesen

Markdown to Mindmap mit markmap-cli auf Raspberry Pi

Manchmal möchte man mal schnell eine Mindmap ohne großen Aufwand erzeugen. Wenn so was reicht …

kann die Mindmap leicht aus diesen Markdown Code erzeugt werden:

Auf dem Raspberry Pi muss npm installiert sein, dann einmalig die markmap-cli installieren mit: „Markdown to Mindmap mit markmap-cli auf Raspberry Pi“ weiterlesen

Versionsverwaltung Git 2.36 ist da, und es läuft auch auf dem Raspberry Pi (Zero) in ca. 1,5 Stunde selbst compiliert und gebaut

Die neue git Version 2.36 ist heute veröffentlicht worden (Releasenotes). In der Package Verwaltung von Debian gibt es das noch nicht.

Also mal eben auf dem Raspberry Pi selbst compilieren (auf dem Pi Zero dauert es ca. 1,5 Stunde) mit diesen Schritten …

„Versionsverwaltung Git 2.36 ist da, und es läuft auch auf dem Raspberry Pi (Zero) in ca. 1,5 Stunde selbst compiliert und gebaut“ weiterlesen