Every main method deserves picocli!

Picocli: Eine leistungsstarke Bibliothek für die Erstellung von Befehlszeilenanwendungen. Hier habe ich schon oft davon berichtet. Da es im Juni die Version 4.7.4 gab, mal hier ein Beispiel dazu.

Die Entwicklung von Software, sei es in Form von Anwendungen oder Tools, erfordert oft die Integration von Befehlszeilenfunktionalität, um Benutzern eine effiziente Interaktion mit der Software zu ermöglichen. Eine der bemerkenswertesten Bibliotheken, die diese Aufgabe erleichtert, ist „Picocli„. Picocli ist eine Java-basierte Open-Source-Bibliothek, die Entwicklern dabei hilft, robuste und benutzerfreundliche Befehlszeilenanwendungen zu erstellen.

Was ist Picocli? „Every main method deserves picocli!“ 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

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

QR-Code von der Kommandozeile erzeugen

Wer mal eben in ein paar Sekunden einen QR-Code von der Kommandozeile erzeugen will, braucht nur diese URL mit curl aufrufen:

curl http://qrenco.de/[HIER DER TEXT FÜR DEN QR-CODE INHALT]

Z.B.: curl http://qrenco.de/kleinhirn.eu

Ein eigenes Maven-Plugin in 15 Minuten inklusive Dokumentation erstellen

Ein eigenes Maven-Plugin zu erstellen ist nicht schwer und ist schnell gemacht. Wir wollen ein Plugin welches einen Verzeichnis Inhalt mit ls -la in das Log schreibt erstellen. Es können aber auch andere Linux Befehle übergeben werden. Hier nun die 6 Schritte mit den Vorlagen die mind. nötig sind.

Freut euch immer
Always rejoice, mit freundlicher Genehmigung meines Lieblingskünstlers

1. Wir legen in Eclipse ein neue Maven Projekt mit Java 1.8 an. mit Artifact Id und Group Id de.wenzlaff.command.maven.plugin

2. In der pom.xml fügen wir die folgenden Abhängikeiten hinzu: „Ein eigenes Maven-Plugin in 15 Minuten inklusive Dokumentation erstellen“ weiterlesen

httpie ist auch auf dem Raspberry Pi in 5 Minuten installiert, es muss ja nicht immer curl sein

Um httpie auf dem Raspberry Pi zu installieren, ist nur ein

nötig. Und schon hat man einen curl Ersatz mit intuitiver UI, JSON support, Syntax Hervorhebung und mehr.

Quicktest, abfragen einer Domain, mit http get www.kleinhirn.eu „httpie ist auch auf dem Raspberry Pi in 5 Minuten installiert, es muss ja nicht immer curl sein“ weiterlesen

nmon 16g für CPU, Speicher, Netzwerk, Disk, Top … es muss ja nicht immer top (htop) sein

Auch für den Raspberry Pi gibt es ein Systemtool nmon analog zu top.

Es ist schnell installiert mit

oder wie weiter unten beschrieben in aktuellster Version selbst compiliert.

Das starten des Kommandozeilen Tools geht dann mit Aufruf von nmon:

„nmon 16g für CPU, Speicher, Netzwerk, Disk, Top … es muss ja nicht immer top (htop) sein“ weiterlesen

Raspberry Pi: XML formatieren mit xmllint unter Linux

Manchmal hat man auf dem Raspberry Pi XML Dokumente die man ansehen will, die aber nicht schön formatiert sind.

Z.B. dieses XML Dokument hat alles in einer Zeile, und ist das Ergebnis einer Haltestellenabfrage in Hannover über diese API:

Wie können wir das nun schön formatieren? Dazu gibt es das Kommandozeilen-Tool xmllint. Damit kann eine XML Datei leicht formatiert werden. Dazu das xmllint installieren mit

Dann ein Aufruf von „Raspberry Pi: XML formatieren mit xmllint unter Linux“ weiterlesen

Wie kann Metasploit an Neujahr auf dem Raspberry Pi Zero W mit Ruby in 3 Stunden installiert werden?

Mit den Worten von Wikipedia, Metasploit ist ein „freies Open-Source-Projekt zur Computersicherheit, das Informationen über Sicherheitslücken bietet und bei Penetrationstests sowie der Entwicklung von IDS-Signaturen eingesetzt werden kann.“ Es ist in der Programmiersprache Ruby implementiert, ja es gibt auch eine JavaGui. Dazu später mehr.

Wie wird das nun aber auf einen Raspberry P Zero W installiert?

Ein Github Account und ein aktuelles Debian ist Vorraussetzung. „Wie kann Metasploit an Neujahr auf dem Raspberry Pi Zero W mit Ruby in 3 Stunden installiert werden?“ weiterlesen

Raspberry Pi: Wie wird rrdtool aus den Quellcode Dateien compiliert

Wer die rrdtools aus dem Debian Repo. installiert erhält die Version 1.4.7. Wer eine neuere haben will kann sie wie folgt compilieren:

Mit dem Raspberry Pi den Java Class File Disassembler (javap) aufrufen

Manchmal will man sehen, was alles so in einer compilierten Java Datei steckt. Nicht immer hat man den Quelltext. Auch für die Fehlersuche ist ein Disassembler mal ganz gut.

In jedem JDK ist auch ein Disassembler javap dabei. Denn wollen wir nun einmal auf eine unbekannte Java Class Datei loslassen, um zu sehen, was es so zu sehen gibt.

Zuerst loggen wir uns auf die Kommandozeile eines Raspberry Pi ein, auf dem ein Java JDK installiert ist. Ob Java installiert ist kann mit

getestet werden. Wenn dort eine Versionsangabe geliefert wird, ist alles ok.

Dann legen wir erst mal ein Testverzeichnis an und wechsel in das Verzeichnis:

Dann holen wir uns in das Verzeichnis eine unbekannte Flugzeug.class Datei (der Quellcode ist hier zu finden):

Diese Datei wollen wir nun disassemblieren, mit

Schon bekommen wir alle gewünschten Informationen:

Nun schauen wir uns mal alle Möglichkeiten an: „Mit dem Raspberry Pi den Java Class File Disassembler (javap) aufrufen“ weiterlesen

Raspberry Pi Flugstatistik mit collectd, rrd und dump1090-tool

Wer schöne Grafiken zum Thema Flug-Transponder-Empfang erstellen will, kann das sehr einfach machen. Es werden dann im Browser, z.B. solche Diagramme angezeigt:

rrd flug statistik mit collectd
Es gibt ein gutes Install-Script (Thanks Ted Sluis) mit dem geht die Installation auf einem Raspberry Pi Debian Jessie sehr einfach. Auch ein Install-Video ist auf der Seite zu finden.

Einfach diese Befehle absetzen: „Raspberry Pi Flugstatistik mit collectd, rrd und dump1090-tool“ weiterlesen

Java: Parsen von HTML-Dateien mit JSoup 1.9.2 in zwei Java Zeilen

Will man schnell und einfach HTML-Dateien parsen bzw. auswerten, geht das mit der schönen JSoup-Api. Hier gibt es eine Mindmap für den schnellen Überblick.

Es sind dann nur zwei Zeilen nötig um z.B. den Titel einer Webseite einzulesen:

Hier mal ein Zitat aus der Orginal Api-Beschreibung:

Das sind doch Gründe!

Es braucht in der pom.xml des Maven Projekte nur diese eine Abhängigkeit angegeben zu werden: „Java: Parsen von HTML-Dateien mit JSoup 1.9.2 in zwei Java Zeilen“ weiterlesen

Node-RED von IBM für den Raspberry Pi auf Jessie

Node-RED, ein Tool von IBM mit einem grafischer Editor als Herzstück. Damit geht Programmiern sehr flink.

Node-RED läuft auf dem Raspberry Pi (BPlus) ziemlich gut. Die Installation ist gut auf der node-RED Homepage beschrieben oder auch hier auf deutsch. Man muss nur darauf achten, das die richtige Version für den Raspberry Pi gewählt wird. Ich hatte nicht die Version für die B Version installiert, das führte dann beim starten zu einer Fehlermeldung.

node-red-kleinhirn-eu

Also für den Raspberry Pi (B) wie hier beschrieben vorgehen: „Node-RED von IBM für den Raspberry Pi auf Jessie“ weiterlesen

Wie kann der Plug-in Spy für UI Teile oder der Menü Syp auf dem Mac (Win) von Eclipse aufgerufen werden?

Wenn man in Eclipse sehen will, welche UI Komponenten gerade selektiert bzw. aktiv sind, kann der Plug-in Spy verwendet werden. Mit dem kann auch mit nur einen klick auf den Quellcode des jeweiligen aktiven Plug-ins zugegriffen werden. Wie kann der aber auf einem Mac aufgerufen werden (Vier Tasten gleichzeitig): fn+shift+alt+F1 (auf Windows Alt+Shift+F1)
Es erscheint dann solch ein PopUp-Dialog:
Eclipse Spy
und noch ein Beispiel:
Popup Spy

Analog dazu gibt es auch einen Spy für die Menüs, der wird mit fn+shift+alt+F2 (auf Windows Alt+Shift+F2) aufgerufen und dann ein Menüpunkt auswählen, es kommt dann z.B. dieser Dialog:
Menü Spy