Es muss ja nicht immer Java sein, GO ist eine Programmiersprache von Google und läuft auch auf dem Raspberry PI

GO ist eine Programmiersprache von Google und läuft auch auf dem Raspberry PI. Sie ist schnell installiert mit

sudo apt-get install golang

Ein Test mit go version gib die Version aus, und zeigt an, das go installiert wurde. Z.b.

go version go1.15.9 linux/arm

Heute, mal ein „Hallo Welt“ und ein REST-Server um zu zeigen, wie einfach der Start ist.

Also dann mal die Datei erstes-go-programm.go mit diesem Inhalt anlegen:

Ausführen des Programm geht dann mit: go run erstes-go-programm.go

So nun noch ein Kleinhirn REST-Server, in der Datei kleinhirn-rest-server.go anlegen.

Ausführen des Programm geht dann mit: go run kleinhirn-rest-server.go. In einer anderen Konsole dann den REST-Server abfragen mit:

curl http://localhost:8080/kleinhirn

Ergebnis: Mindmaps von Kleinhirn.eu

Cool, mehr auf go.dev

Einer der nächsten go Beiträge beschreibt das Installieren und Starten des Ethereum geth. Der läuft mit go und wird als Light Node (nur 100 Mb, es muss ja nicht immer gleich ein Full Node sein) auf dem Raspberry Pi mit

geth –syncmode light –cache 64 –maxpeers 12 –http –ws

gestartet. Aber nicht mehr heute …

JavaScript heap out of memory – nicht nur bei Java

Mit nodejs -v -> v12.22.5 bei: sudo npm install -g truffle auf Linux 5.10.63+ armv6l und das im Urlaub!

Ok, was tun? sudo reboot now und nochmal. Ok, der Fehler ist weg, ein anderer. Ok, löschen … „JavaScript heap out of memory – nicht nur bei Java“ weiterlesen

Penetrationstest: Sniffer tshark auf dem Raspberry nutzen

Hatte noch einen Raspberry Pi rumliegen, der Headless mit Raspian 11 bullseye bespielt wurde. Hier ein screenfetch:

Auf den wollen wir nun packet analyzer oder packet sniffer installieren (man braucht dazu kein Kali 😉 ). Hatte in der Vergangenheit schön öfters davon berichtet (1, 2, 3). Tshark ist das Kommandozeilen API für Wireshark.

Installation tshark tcpdump nmap

„Penetrationstest: Sniffer tshark auf dem Raspberry nutzen“ weiterlesen

Wie kann die neue git Version 2.34 auf dem Raspberry Pi installiert werden?

Vor 4 Tagen ist nun das git 2.34.0 Release veröffentlicht worden. Wer auf einen Pi ein apt install git macht, bekommt nur die Version 2.30.2. Wer das aktuelle Release braucht, kann es sich auf dem Pi selbst compilieren.

Wie kann die aktuelles Git Version auf einem Raspberry Pi installiert werden?

Hier die drei Schritte:

1. Die nötigen Abhängigkeiten installieren:

2. Den Quellcode holen und auspacken

3. Bauen … das geht auf dem Pi 4 B doch ziemlich schnell in ca. 10 Minuten und nicht 1-2 Stunden wie auf den W Zero und BPlus …

Weitere Details im git Buch.

„Lies die Bibel täglich“

Jetzt in der dunklen Jahreszeit hat man evl. wieder etwas mehr Zeit zum lesen. Warum nicht mal die Bibel lesen.

Wer die Bibel ab heute täglich lesen will, kann diese Termine in seinen Kalender importieren. Dann vergisst man es nicht, und weiß immer wo man ist.

Einfach laden und doppelklicken, genau Anleitung hier. Im Kalender sind dann diese Termine eingetragen. Beispiel für Matthäus mit 1 Kapitel am Tag ab Heute. Man sieht auch den den blauen Link zur Online-Bibel … „„Lies die Bibel täglich““ weiterlesen

git Herz and more

Angesichts meiner ca. > 200 git Repos auf github 73, gitlab 25, privat local 92, bitbucket 2 und npm 5 mal ein paar Zeichnungen die im laufe der Jahre (über 5 Jahre alt) zusammen gekommen sind. Es muss ja auch nicht mehr Subversion, Dimensions (Micro Focus), CVS oder IBM Rational ClearCase (lange ist es her 😉 ) sein.

Was waren meine git TOP 10 vor 5 Jahren? Antwort.


„git Herz and more“ weiterlesen

TWRestMindmap mit React, Patternfly, RESTEasy, Swagger-UI, Quarkus, Panache, ORM, JPA, Hibernate, Docker und PostgreSQL

TWRestMindmap mit React, Patternfly, RESTEasy, Swagger-UI, Quarkus, Panache, ORM, JPA, Hibernate, Docker und PostgreSQL DB verwenden. Um nicht JUnit 5 zu vergessen.

Wir bauen nun mit Quarkus eine React Anwendung die Titel und das Datum von Mindmaps anzeigt und per REST bedient werden kann. Die GUI im Browser sieht dann so aus:

Aufteilung in einem Projekt nach Frontend und Backend. Das Backend läuft ua. in einem Docker mit einer PostreSQL Datenbank. Das Backend wird mit Maven und Java zusammengebaut und das Frontend verwendet NPM und Node.js bzw. JavaScript.

Das ganze Projekt kann von GitLab heruntergeladen werden. Hier beschreibe ich einige wichtige Dinge zu den verwendeten Technologien angefangen beim Backend bis zum Frontend.

Automatischer JUnit-Test

Fangen wir an mit JUnit Test, also TDD. Das geht mit Quarkus ganz gut, es werden automatisch beim speichern alle JUnit-Tests ausgeführt und im Browser das Ergebnis mit Log anzgezeigt. Das alles läuft, wenn das Projekt im mvn quakus:dev Modus läuft, hier z.B. die Ansicht der GUI, die im Browser über diese URL aufgerufen werden kann: „TWRestMindmap mit React, Patternfly, RESTEasy, Swagger-UI, Quarkus, Panache, ORM, JPA, Hibernate, Docker und PostgreSQL“ weiterlesen

Picocli 4.6.2 veröffentlicht bei CO2 794ppm, BTC 57800, XBT >66k, ETH 4717, BTC Block 709047


Vor ein paar Tagen wurde Picocli 4.6.2 veröffentlicht. An meinem heutigen Urlaubstag habe ich nun Zeit für einen Quicktest. Wie oben zu sehen, ist alles im TWEtherScan Projekt ok. Da habe ich auch eine große Testabdeckung der CMD-Api mit Picocli. Dieses Release fix einige Fehler auch mit dem Encoding. Aber, „This release has no breaking changes„.

Heute vor 20 Jahren – Eclipse 2021-09: Automatisch alle Importe in einer Java-Klasse auflösen

Am 7. November 2001 hat IBM den Quellcode für die Eclipse IDE freigegeben. Wenn das nicht mal ein Grund ist diese Tastenkombination vorzustellen. Das geht schnell mit der Tastenkombination: Command + Shift + O und unter Win Ctrl + Shift + O. Wenn der Cursor auf einer rot markierten Klasse steht, kann auch nur dieser eine Import gefixt werden mit Command + Shift + M

Twitter App crash nach Monterey update nun gefixt

Meine Twitter App läuft nach dem Update auf Monterey (12.0.1) nicht mehr.

Habe solange die Browser Version verwendet. Nach dem starten „blitzt“ sie nur kurz auf und beendet sich. Habe nun eine Lösung. Bei mir hat das Löschen des Verzeichnis com.twitter.TFSFeatureSwitches.config geholfen:

Impfzertifikat validierung mit dem Raspberry Pi und Python und das zu „Don’t Shut Me Down“


Seit dem 10. Juni 2021 werden Impf-Zertifikate (sogenannte Impfbescheinigungen) in Deutschland in Impfzentren ausgegeben. Den QR-Code kann man auch mit einem Raspberry Pi validieren (von lateinisch validus „kräftig, wirksam, fest“) und den Inhalt des QR-Codes im Klartext ausgeben. Am Beispiel eines Raspberry Pi Zero W sind folgende 6 Schritte nötig.

1. Wir brauchen das Impfzertifikat, also den QR-Code als PNG oder JPG-Bild in einer Datei z.B. max-mustermann.png.
Wie z.B.:
qr-code impfzertifikat
Aber nur den QR-Code, nicht die ganze Seite des Impfzertifikats. … „Impfzertifikat validierung mit dem Raspberry Pi und Python und das zu „Don’t Shut Me Down““ weiterlesen

Quarkus UI für die einfache Bearbeitung der applications.properties

In der neuen Quarkus Version 2.4.1.Final gib es nun eine schöne Gui für die Bearbeitung der applications.properties. Man kann dort gut Parameter suchen und die Funktionen werden dort auch beschrieben.

Wenn der Quarkus Server im dev Modus gestartet wird (via mvn quarkus:dev), kann über diese URL der Service erreicht werden http://localhost:8080/q/dev/, dann auf Config Editor

und schon ist diese Seite Online. Hier am Beispiel der CO2-Ampel mit MQTT und REST-Service… „Quarkus UI für die einfache Bearbeitung der applications.properties“ weiterlesen

Quicktest: ArchUnit 0.0.22 bei ETH 4355

Vor zwei Stunden wurde eine neue ArchUnit 0.0.22 veröffentlicht. Dann mal gleich ein Quicktest. Memory leak ist nun gefixt. Und es können Unterstriche durch Leerzeichen in Testnamen ersetzt werden:

„Quicktest: ArchUnit 0.0.22 bei ETH 4355“ weiterlesen

Twitter Intelligence Tool (TWINT) mit Web-Scraping-Technologie auf dem Raspberry Pi Zero nicht Pi Zero 2 W mit ARM-SoC Broadcom BCM2837 vier ARM Cortex-A53 und 64-Bit-taugliche ARMv8-Kerne

Das Twitter Intelligence Tool (TWINT) mit Web-Scraping-Technologie kann auch auf einem Raspberry Pi installiert werden.
Mit dem Web Scraper für Twitter, mit dem man Tweets von Usern des Kurznachrichtendienstes einholen kann, ohne dabei vom Twitter API eingeschränkt zu werden läuft unter der MIT-Lizenz (Anleitung Twitter-Intelligence-Tool.pdf). TWINT wurde in Python geschrieben, ist am April 2020 in Version 2.1.20 erschienen. Alle Funktionen gehen aber nicht mehr, weil sich die Twitter API geändert hat. Z.b. wirft ein twint -u programmierung –following diesen Fehler:

CRITICAL:root:twint.feed:Follow:IndexError

Aber einiges geht doch noch. Also mal installieren mit:

pip3 install twint

wenn dann nicht alles geht, hat bei mir geholfen:

So ein erster Test, alle Befehle ausgeben mit twint -h …: „Twitter Intelligence Tool (TWINT) mit Web-Scraping-Technologie auf dem Raspberry Pi Zero nicht Pi Zero 2 W mit ARM-SoC Broadcom BCM2837 vier ARM Cortex-A53 und 64-Bit-taugliche ARMv8-Kerne“ weiterlesen

ua-parser-js updates garantieren keine Sicherheit und installiert Krypto-Miner auch auf Raspberry Pi? – allow a remote attacker to obtain sensitive information or take control of the system.

Massive Sicherheitslücke in UAParser. Selbst das CIA gibt eine Warnung heraus.
Mal in allen Verzeichnisen auf meinem Raspberry Pi gesucht mit:

Ergebnis: „ua-parser-js updates garantieren keine Sicherheit und installiert Krypto-Miner auch auf Raspberry Pi? – allow a remote attacker to obtain sensitive information or take control of the system.“ weiterlesen

ETH-Kontostand via Web3j und Infura mit Java in 5 Schritten abfragen

Am 11. November letzten Jahres fürte der Ausfall von Infura dazu, dass viele zentrale Börsen die Abhebung von ETH und ERC20-Token gestoppt hatten. Zudem ließen sich Metamask, Uniswap und auch andere Anwendungen auf Ethereum nicht mehr nutzen. Infura scheint ein beliebter Dienstleister für Ethereum Nodes zu sein, auf den sich nicht nur kleinere Unternehmen und Projekte verlassen, sondern auch milliardenschwere Börsen wie Binance.

Für dieses Projekt soll dennoch mal die Infura-API verwendet werden, um den Kontostand einer ETH-Adresse zu ermitteln. Mit dem web3j Framework ist das auch in Java realisierbar. Hier der Architektur Aufbau: Wir starten (wie immer) mit einem JUnit 5 Test: „ETH-Kontostand via Web3j und Infura mit Java in 5 Schritten abfragen“ weiterlesen

Smart-Contract Wrapper für Java mit web3j-maven-plugin erstellen


Es muss ja nicht immer remix sein, um ein Smart-Contract zu compilieren. Es geht auch wie oben dargestellt mit einem Maven-Plugin (oder Gradle) um mit Ethereum-Netzwerk zu interagieren. Also wie können Solidity Smart Contracts kompiliert und dafür eine Java-Wrapper-Klassen dafür generiert werden?

Wir nehmen als Beispiel mein bekannter Smart-Contract Gehirn.sol der den IQ auf der Blockchain festhalten kann und mit Solidity programmiert ist und speichern in in dem src/main/resources Verzeichnis.

Das Plugin wird mit mvn web3j:generate-sources gestartet und wie folgt in der pom.xml eingebunden: „Smart-Contract Wrapper für Java mit web3j-maven-plugin erstellen“ weiterlesen

de.wenzlaff.command.maven.plugin: Neue Version auf Maven Central für Java 11 veröffentlicht und das bei BTC >60k$ (Block 705403)

Das Maven Plugin zum ausführen von Linux Befehlen wurde nun auf Java 11 umgestellt und die Version nach Maven Central hochgeladen.

Wie hier beschrieben noch ein Quicktest mit der neuen Version und ein ls:

Ergebnis, sieht gut aus: „de.wenzlaff.command.maven.plugin: Neue Version auf Maven Central für Java 11 veröffentlicht und das bei BTC >60k$ (Block 705403)“ weiterlesen

Neue Version 0.0.8 auf Maven Central: Internet Adressen bzw. Links in Excel-Dateien überprüfen mit dem de.wenzlaff.linkchecker

Manchmal hat man in einer Excel-Tabelle eine oder mehrere Spalten mit Internet-Adressen (URLs) deren Gültigkeit man überprüfen will, da viele Adressen sich doch schnell ändern. Dh. ist die Adresse noch erreichbar oder ist eine ungültige Adresse (Broken Links) eingegeben.

So, dann heute mal ein paar updates für den TW Excel Linkchecker. Es läuft nun unter Java 11.

Man bekommt ja beim hochladen von Maven Central einen Report. Die 100% wollte ich mal senken. „Neue Version 0.0.8 auf Maven Central: Internet Adressen bzw. Links in Excel-Dateien überprüfen mit dem de.wenzlaff.linkchecker“ weiterlesen