In Eclipse Photon kann nun die Breite von Kommentaren separat eingestellt werden. Über Edit …
Ohne berücksichtigung der Startposition: „Eclipse Photon“ weiterlesen

Wenzlaff.de – Rund um die Programmierung
mit Java, Raspberry Pi, SDR, Linux, Arduino, Sicherheit, Blender, KI, Statistik, Krypto und Blockchain
Anleitungen zu allen Themen.
In Eclipse Photon kann nun die Breite von Kommentaren separat eingestellt werden. Über Edit …
Ohne berücksichtigung der Startposition: „Eclipse Photon“ weiterlesen
Manchmal will man die manpages offline lesen. Da bietet sich das PDF Format an. Eine manpages als PDF kann leicht erzeugt werden mit:
|
1 2 3 4 |
man -t [Name des Programm bzw. Befehlt] | ps2pdf - [Name der PDF Datei die erzeugt wird] # z.B. für nmap man -t nmap | ps2pdf - nmap.pdf |
„In 5 Minungen: man to pdf auf dem Raspberry Pi mit ps2pdf aus dem Package ghostscript“ weiterlesen
Nmap läuft auch auf dem Raspberry Pi.
Die Aktuelle nmap Version 7.7 braucht nicht aus den Sourcen compiliert werden, da es für den rPi fertige Packages in Version 7.4 gibt.
Also erst das System auf den aktuellen Stand bringen und nmap installieren:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
sudo apt-get update sudo apt-get upgrade sudo apt-get install nmap # Check nmap -version # Ergebnis # Nmap version 7.40 ( https://nmap.org ) # Platform: arm-unknown-linux-gnueabihf # Compiled with: liblua-5.3.3 openssl-1.1.0c libpcre-8.39 libpcap-1.8.1 nmap-libdnet-1.12 ipv6 # Compiled without: # Available nsock engines: epoll poll select # sehr ausführliche Anleitung man nmap # erster Test mit eigener IP nmap -sP 192.168.2.0/24 |
Oder hier die man als PDF zum download und offline lesen.
Oder wer lieber eine GUI haben will, kann mal Zenmap installieren:
in dem Programm gibt es auch einen guten Profile-Editor, mit deutscher Beschreibung der Parameter:
Wer Zusatzinformationen im Quelltext sehen will, kann das mit dem Code Minig (CodeLens) machen. Folgende Infos werden geboten:
Allgemein
Zeige references
Zeige implementations
Zeige method parameter Namen
Zeige method parameter types
Zeige end statement
JUnit
Zeige JUnit status
Zeige JUnit run
Zeige JUnit debug
Debugging
Zeige variable values inline im debugging
EGit
Zeige revision recent change
Zeige avatar
Zeige date ago
Zeige authors
Man kann sich also z.B. die Git-Information anzeigen lassen, wer wann eine Methode editiert hat. Für JUnit-Tests wird angezeigt, ob sie erfolgreich ausgeführt wurden. Zusätzlich lassen die JUnit-Methoden sich direkt starten bzw. debuggen
Das Code Mining mit Eclipse Photon muss noch über die Update-Site (Update Site http://oss.opensagres.fr/jdt-codemining/snapshot/) installiert werden:
Dann noch in den Einstellungen aktivieren:
Das sieht dann
„Usability-Verbesserunge: Code Mining (Code CodeLens) mit Eclipse Photon“ weiterlesen
Wer das Kali Linux installiert (Linux kali 4.15.0-kali2-amd64 #1 SMP Debian 4.15.11-1kali1 (2018-03-21) x86_64 GNU/Linux oder auch jede andere Version 😉 ) hat,
findet den Hinweis: „These images have a default password of “toor” and may have pre-generated SSH host keys.“.
Das heißt, das alle Image mit dem gleichen Passwort und dem gleichen SSH Host Key installiert werden.
Das muss man dann gleich als erstes ändern. Das Passwort für Root ist schnell mit passwd auf der Konsole geändert:
Auch die SSH Host Keys sind schnell erneuert, einfach auf der Konsole, die alten in ein backup Verzeichnis verschieben: „Wie können in Kali Linux die SSH Host Keys und das Passwort von Root erneuert werden?“ weiterlesen
Raspberry Pi Tankstellenvergleich wurde bisher stündlich erfasst und per NodeRED versandt, so wie hier mal beschrieben! So wurden 19907 Einträge erzeugt. Da wird nun von mir gespart!
Hier der Flow:
Der wurde jetzt umgestellt, so das nur auf Anforderung noch eine Abfrage erscheint. Hier die aktuellen Werte:
„Raspberry Pi Tankstellenvergleich nicht mehr stündlich, 19907 Einträge sind genug!“ weiterlesen
So, der Fake News Generator wird nun abgeschaltet. Er lief nun lange genug auf einem Raspberry Pi mit NodeRED. Seit Februar 2018, wie hier beschrieben.
Es gibt genug Fake News, da brauchen wir nun keine automatisch generierten mehr mit NodeRED!
Hier die abschließende Auswertung der 2607 Fake News: „No Fake News more! 2607 Fake News from Raspberry Pi a enough!“ weiterlesen
Ein REST-Client ist in zwei Zeilen mit Spring schnell geschrieben. Früher war es komplizierter! Hier mal eine JUnit-Testklasse: „Finale der Weltmeisterschaft 2018: REST Client in zwei Zeilen mit org.springframework.web.client.RestTemplate“ weiterlesen
Durch das Staubsaugen ist mein Raspbery Pi Dump1090 down gegangen. Aber nach 6 Stunden habe ich es gemerkt. Da kann man auch an den gelben Bereich unten links sehen:

Dann mal gleich auf den aktuellen Stand bringen und fixen:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
wget http://flightaware.com/adsb/piaware/files/packages/pool/piaware/p/piaware-support/piaware-repository_3.5.3_all.deb sudo dpkg -i piaware-repository_3.5.3_all.deb sudo apt-get update sudo apt-get upgrade sudo apt-get install piaware piaware -v # Ergebnis 3.5.3 # Dann auch gleich dump1090-mutability_1.15~dev neu erstellen und installieren, # da es da auch im Mai einen Fix gab (https://github.com/mutability/dump1090/issues/232), den ich noch nicht hatte cd /home/pi/dump1090-mutability/dump1090 # eine neue Version holen in dem Verzeichnis git pull sudo dpkg-buildpackage -b cd .. sudo dpkg -i dump1090-mutability_1.15~dev_armhf.deb sudo /etc/init.d/dump1090-mutability restart |
Ok, es läuft wieder
In Eclipse Photon können nun deprecated Felder und Methoden in Outline view, Members view, Package Explorer view, Project Explorer view, und Quick Outline mit dem neuen Filter ausgeblendet werden. Wenn man eine annotierte deprecated Methode hat, wird sie ja durchgestrichen im Project Explorer anzgezeit:
Mit dem neuen Filter, der über das Menü „Filters and …“ erreichbar ist:
dort diesen Eintrag selektieren „Eclipse Photon kann deprecated Felder und Methoden ausblenden“ weiterlesen
Wer kein Intresse an Fussball hat, kann ja diesen Tiobe.com Link anschauen. Dort sind die drei TOP Programmiersprachen: JAVA, C, C++ und JavaScript auf Platz 18. Mit den Sprachen kann man ja auch gut, den Raspberry Pi programmieren. Einige nutzen dazu auch Python das auf Plazt 4 gelandet ist. Die TOP drei sehe ich auch so: JAVA, C und C++. Obwohl ich noch C++ vor C setzen würde.
Oder einfach mal alles updaten. Apple kommt ja eben mit (macOS 10.13.6: EFI-Updates):
Oder Office mit Excel und Word ist auch möglich:
Oder Windows mit 1000 Sicherheitspatches oder E-Mail-Client Thunderbird: Mozilla bessert auch nach. Oder Adobe Patches 112 Vulnerabilities in Latest Patch Package (CVE-2018-5007).
Oder Urlaub planen.
Tor …
Was gibt es neues in JUnit 5.3.0-M1?
Hier eine Beispiel POM: „JUnit 5 mit 5.3.0-M1 auf Photon mit Maven läuft!“ weiterlesen
Es ist eine neue Version der STS für Photon veröffentlicht worden. Dann mal wie folgt über den Eclipse-Marktplatz installieren, neu ist in Photon der Dialog mit den Zertifikaten. Also nach Spring suchen, und auf den Install Button klicken …
„Gestern ist das Spring Tool Suite 3.9.5 PlugIn released für Eclipse Photon mit Support für JDK 9/10“ weiterlesen
Manchmal braucht man für eine Präsentation oder ein Dokument farbige Beispiele von Quellcode oder auch für Dokus. Wie können die nun erstellt werden? Dafür gibt es ein cooles Programm highlight von Andre Simon. Highlight konvertiert Sourcecode in XHTML, HTML, RTF, TeX, LaTeX, SVG, BBCode und Terminal Escape-Sequenzen mit farbiger Syntaxhervorhebung. Sprachdefinitionen und Farbstile sind konfigurierbar. Es werden eine ganze Menge Sprachen unterstützt. Im Moment 215!
Auf dem Raspberry Pi ist das Programm schnell installiert mit:
|
1 2 3 4 5 6 7 8 |
sudo apt-get install highlight # Version ausgeben mit highlight --version # Ergebnis: highlight version 3.18 # Anleitung man highlight |
So, nun ein Beispiel, wir nehmen mal eine CPP Klasse aus meinen C++ Lehrgang, Temperatur.cpp, und geben die farbig auf der Konsole aus mit:
|
1 |
highlight -O ansi Temperatur.cpp |
Nun können wir auch die Ausgabe in eine Datei im RTF Format umleiten mit: „Syntaxhighlighter sagt der Daltonist 😉 Wie kann Quellcode (Java, C++, C …) in PPT oder Word in Farbe eingefügt werden?“ weiterlesen
NodeRED: „A visual tool for wiring the Internet of Things.“ Eine neue NodeRED Version 0.18.7 ist veröffentlicht worden. Was ist neu? Siehe hier. Sei Mutig! Update auf die neue Version.
Also zum updaten ein:
|
1 2 |
cd .node-red update-nodejs-and-nodered |
auf der Konsole eingeben und nach 13 Minuten, ist die neue Version installiert:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
Running Node-RED update for user pi at /home/pi This can take 20-30 minutes on the slower Pi versions - please wait. Stop Node-RED ✔ Remove old version of Node-RED ✔ Remove old version of Node.js - Update Node.js LTS ✔ Node v9.5.0 Npm 5.6.0 Clean npm cache ✔ Install Node-RED core ✔ 0.18.7 Move global nodes to local - Install extra Pi nodes - Npm rebuild existing nodes ✔ Add menu shortcut ✔ Update systemd script ✔ grep: /home/pi/.config/lxpanel/LXDE-pi/panels/panel: No such file or directory Update update script ✔ Any errors will be logged to /var/log/nodered-install.log All done. You can now start Node-RED with the command node-red-start or using the icon under Menu / Programming / Node-RED Then point your browser to localhost:1880 or http://{your_pi_ip-address}:1880 Started Mon 25 Jun 21:19:56 CEST 2018 - Finished Mon 25 Jun 21:32:32 CEST 2018 |
Dafür gibt es ein Eclipse Plugin (klein aber Fein) welches auch mit Eclipse Oxygen 3A läuft. Das Archive Utility. Es kann über den Eclipse Marktplatz installiert werden.

„Wie können in Eclipse Oxygene 3A JARs leicht angeschaut und entpackt werden?“ weiterlesen
Mit den neuen Tags (org.junit.jupiter.api.Tag) können Methoden und auch ganze Klassen getagt werden, um sie z.B. in Gruppen einzuteilen.
Eine Testgruppe könnte z.B. eine langlaufende DB Methoden sein, die nicht immer ausgeführt werden soll.
Ein Tag muss folgenden Syntax Regeln folgen:
-ein Tag darf nicht Leer sein
-ein Tag darf keine Leerzeichen enthalten
-ein Tag darf keine ISO Kontroll Zeichen enthalten
-ein Tag darf kein, (, ), %, | oder ! Zeichen enthalten
Eine Testklasse zur WM 2018 könnte so aussehen:
„Es muss ja nicht immer Fussball und Weltmeisterschaft sein! Neue Annotation für JUnit 5 – Tags sind auch spannend!“ weiterlesen
Wie kann eine Vaadin Spring Boot mit Hibernate Anwendung auf JUnit 5 für Eclipse Oxygene 3A umgestellt werden?
1. Deaktivieren wir die JUnit (4.12) Libs in der pom.xml:
|
1 2 3 4 5 6 7 8 9 10 11 12 |
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> <!-- Kein JUnit 4 mehr für den Test--> <exclusions> <exclusion> <groupId>junit</groupId> <artifactId>junit</artifactId> </exclusion> </exclusions> </dependency> |
2. Fügen wir die nötigen JUnit 5 Libs in der pom.xml hinzu:
|
1 2 3 4 5 6 7 8 9 10 11 12 |
<!-- Alles für JUnit 5 --> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-api</artifactId> <scope>test</scope> </dependency> <!-- and the engine for surefire and failsafe --> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-engine</artifactId> <scope>test</scope> </dependency> |
3. Wir fügen JUnit 5 dem Buildpfad hinzu:
Es sieht dann so aus:
„Wie kann eine Vaadin Spring Boot Anwendung in 15 Minuten auf JUnit 5 umgestellt werden?“ weiterlesen
/src/main/resources/applications.properties
mind. folgende Parameter eintragen. Hier meine Kopiervorlage … „Wie wird eine MySQL für einen eigenen User in Spring Boot konfiguriert?“ weiterlesen
Wer Systeminfos ausgeben will, kann für viele Systeme neofetch verwenden. Auf dem Raspberry Pi ist es in einer Minute installiert mit:
sudo apt-get install neofetch
dann kann es mit neofetch gestartet werden:

Weitere Infos „Systeminfos mit Kommandline ausgeben mit neofetch – nicht nur auf dem Raspberry Pi“ weiterlesen
Um eine Vaadin Anwendung mit Spring Boot und Hibernate als Linux Service einzurichten, muss zuerst ein ausführbares Jar erstellt werden.
Dafür muss in der pom.xml die Konfiguration im spring-boot-maven-plugin auf executable = true gestellt werden:
|
1 2 3 4 5 6 7 |
<plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <executable>true</executable> </configuration> </plugin> |
Wenn das JAR (z.B. TWSuch-0.0.1-SNAPSHOT.jar) dann mit mvn package erstellt wird, ist es ein selbstausführendes JAR. „Wie kann eine Vaadin Spring Boot App als Linux Service erstellt werden?“ weiterlesen
Wie schaltet man die detailierte Error Page aus? Die ist ja auch nicht so schön:
Wer die Tomcat Error Page haben möchte: „Wie schaltet man die einfache Tomcat Error Seite für Spring Boot bzw. Vaadin an / aus?“ weiterlesen
Mit shellcheck kann man gut Shell Scripte überprüfen.Das kann man einfach online, über diese GUI www.shellcheck.net ausprobieren oder aber auch installieren.
Für den Raspberry Pi gibt es schon ein installations Packet, deshalb ist die Installation mit
|
1 2 3 |
sudo apt install shellcheck # Testen welche Version installiert wurde# # version: 0.4.4 |
schnell erledigt.
Das ist nun nicht gerade die aktuelle Version 0.5.0 aber immerhin. Ein selbst compilieren kommt für den Pi nicht infrage, da ShellCheck in Haskell programmiert ist und da für den compile mind. 2GB RAM benötigt werden, der Pi hat aber je nach Version max. 1GB.
Nun kann leicht eine Script Datei überprüft werden, mit Aufruf
shellcheck SCRIPT.sh. Hier mal zwei Beispiele:

„Shell Scripte überprüfen mit ShellCheck auch auf dem Raspberry Pi (Zero W) in 5 Minuten möglich und auch JUnit via xslt“ weiterlesen
Wenn sie installiert ist, geht man über die Systemseinstellungen:

Dann unten rechts auf MySQL … „Wie wird eine MySQL Datenbank auf einem Mac OS X gestartet/gestoppt?“ weiterlesen
Warum eigentlich nicht. Ist doch Java. Also mal ein Quicktest.
Java 1.8 und eine MySql DB (genauer Server version: 10.1.23-MariaDB-9+deb9u1 Raspbian 9.0, MariaDB ist schneller als MySQL) sind auf dem Pi schon installiert.
Das ist auch Voraussetzung.
Dann das mit
|
1 |
mvn package |
erzeugte Vaadin 8 Jar mit Tomcat Server auf den Pi per Drag and Drop kopiert (43 MB) und auf der Kommandozeile ein
|
1 |
java -jar TW-0.0.1-SNAPSHOT.jar & |
Nach ein paar Sekunden
es startet schon mal. „Läuft eine Vaadin 8 Anwendung auch auf einem Raspberry PI Zero W?“ weiterlesen
Vor ein paar Tagen ist eine neue Version des BPMN Modeler veröffentlicht wurden. Zeit zu testen, ob die Version auch mit meinen alten BPMN Diagrammen kompatibel ist:
Dann mal das Diagramm laden: „Quicktest: Camunda BPMN Modeler 1.15.1“ weiterlesen
Hier hatte ich geschrieben, wie man Signale von Autos, Temp.-Sensoren usw. empfangen kann. Diese Daten können auch leicht an einen Mqtt-Host gesendet werden.
Mosquitto muss installiert sein, das geht aber schnell:
|
1 2 3 4 5 6 7 8 9 |
sudo apt-get update sudo apt-get upgrade sudo apt-get install mosquitto mosquitto-clients python-mosquitto libmodule-pluggable-perl mosquitto-clients # Check mosquitto -v # Ergebnis 1528405571: mosquitto version 1.4.10 (build date Fri, 22 Dec 2017 08:19:25 +0000) starting 1528405571: Using default config. 1528405571: Opening ipv4 listen socket on port 1883. |
Marco Verleu hat ein kurzes Bash Script geschrieben, welche auf Github zu finden ist. Man braucht nur den Host und den Topic anpassen, zu testzwecken kann man den Host auch lassen. Dann einfach das Script mit ./rtl2mqtt.sh starten. Schon werden die empfangenen Nachrichten unter den Topic versendet. „Wie können mit SDR (auf 433 Mhz) auf dem Raspberry Pi Signale von Autos, Tempsensoren ua. empfangen und an ein MQTT-Host gesendet werden?“ weiterlesen