Das Eclipse Oxygen.2 (4.7.2) Release ist vor ein paar Tagen veröffentlicht worden. In 2018 solle es dann alle 3 Monate ein neues Release geben. Hier geht es zur Download Seite für Mac, Windows und Linux. Für den Installer gibt es schon fast 200000 Downloads. Was gibt es da so Neues.
Der am wenigsten besuchte Blog Eintrag des Jahres 2017
Habe mal so geschaut, was der am wenigsten gesehene (geklickte) Block-Beitrag des Jahres 2017 war. Es ist der Beitrag mit nur einer Mindmap zum Thema „Einfaches Design„. Ok, der Beitrag ist vom 19. Oktober 2012, und ich weiß warum das keinen interessiert. Testen …
Was hälts Du von KISS? Gern als Kommentar …
Sicherheit: gpg (GnuPG) Key Verwaltung mit pass auf dem Raspberry Pi oder sonst wo oder cooler kostenloser Passwort Manager für Raspberry Pi
Wer einen Passwort Manager braucht, kann pass verwenden. Den gibt es kostenlos für alle Betriebssysteme. Die Passwörter werden alle mit gpg Verschlüsselt und liegen in ~/.password-store so das sie leicht verwaltet werden können. Die Passwörter können mit unix shell Kommandos so leicht verwaltet werden. Auch eine bash Auto-Vervollständigung gibt es. Auch eine Git Integration ist möglich.
Wenn noch kein gpg Key auf dem Raspberry Pi angelegt wurde oder auch sonst noch keiner vorhanden ist, diesen einmal mit
|
1 |
gpg --gen-key |
erzeugen. Es muss nur der Name und die E-Mail Adresse angegeben werden, nach einem O muss man ein paar Minuten warten, bis der Key erzeugt wurde: „Sicherheit: gpg (GnuPG) Key Verwaltung mit pass auf dem Raspberry Pi oder sonst wo oder cooler kostenloser Passwort Manager für Raspberry Pi“ weiterlesen
QI-Standard (induktive Energieübertragung) – Low Power – für Handys usw.
Nun ist mein erstes QI-Ladegerät aus China angekommen. Dann kann ja jetzt drahtlos geladen werden! Den Qi-Standard gibt es ja schon länger. Und für 2,39 Euro inkl. Versand und CE Zeichen kann man nicht meckern.
Funktion ldt. Hersteller ua:
for iPhone: for iPhone 8, for iphone 8 plus, iphone x
for Samsung: for Note 8 Note 7 Note 5, for S6, for S6edge, for S6 edge Plus, for S7
for Nokia: for Lumia 822 830 920 928 929930 1020 1520
for HTC: for Droid DNA, for Butterfly, forInceredible 4G LTE, for 8XT 8X
for LG: for D1L, for LTE2, for G Pro
for Google: for Nexus 4 5 6, for Nexus 7 HD
Spezifikation:
1, the input voltage: DC4.3V ~ 5.5V / 1.5 ~2A, beyond this range voltage alarm and stop charging
2, the output voltage: 5V ± 0.1V,
3, the charging current: 500mAh-1000mAh
4, charging power: 5W Max
5, the conversion efficiency: more than 73%
6, the transmission distance: 10mm,recommended transceiver pitch 2mm ~ 4mm
7, standby power consumption: Average power consumption is less than 50mW
8, size:69*10mm (Diameter*Height)
9, color: Black/ White with black base/ Red with black base/ Blue with black base/ Orange with black base
Package Including:
1* Qi Wireless Charger Pad
1* USB Charging Cable
Ok, mal eben nachmessen, im Leerlauf:
Ok, das ist nichts, und kann immer am Netz bleiben. Und unter Last mit Handy: „QI-Standard (induktive Energieübertragung) – Low Power – für Handys usw.“ weiterlesen
Es muss ja nicht immer ein Soft Link sein: Hard Link
Mit der java.nio Lib können leicht Links auf Dateien erstellt werden. Es muss ja nicht immer ein Soft-Link sein.
Hier mal ein JUnit Beispiel für Java, zur Erzeugung eines Hard-Link, der schnell mit Files.createLink erzeugt werden kann: „Es muss ja nicht immer ein Soft Link sein: Hard Link“ weiterlesen
Schöne UI-Diagramme mit NodeRED auf dem Raspberry Pi
Einfache Diagramme können mit NodeRED leicht erstellt werden. Ob nun mit Linien, Balken oder Kreisdiagramm. Unten mal ein Verlaufsdiagramm der empfangenen Flugzeuge in Hannover (HAJ).
Dafür gibt es das Chart-Node, das in den Flow gezogen werden muss: „Schöne UI-Diagramme mit NodeRED auf dem Raspberry Pi“ weiterlesen
JUnit 5: Class Assumptions vs. Assertions – org.junit.jupiter.api – Behauptungen – Annahme – założenia – допущения -假設 – الافتراضات
In JUnit 5 gibt es im Package org.junit.jupiter.api die Klasse Assumptions (Annahme).
Die Assumptions Klasse ist eine Sammlung von Util-Methoden. Im Gegensatz zu den Assertions (Behauptungen) wird die Assumptions im Fehlerfall nicht mit einem failure (graues Kreuz) sondern mit einem Error (rot) markiert.
Deshalb ist es manchmal gewünscht, wenn z.B. eine Bestimmte Umgebung nicht vorhanden ist, das dann der Test nicht als Error (rot) sondern mit einen grauen Kreuz (Failures) markiert wird. Dann sollte man also die org.junit.jupiter.api.Assertions verwenden wie diese Testklasse zeigt:
Hier der Quellcode „JUnit 5: Class Assumptions vs. Assertions – org.junit.jupiter.api – Behauptungen – Annahme – założenia – допущения -假設 – الافتراضات“ weiterlesen
TOP 10 Beiträge auf blog.wenzlaff.de 2017
Was waren im letzten Jahr 2017 so die am meisten besuchte Beiträge auf diesem Blog?
Download als top10-blog.wenzlaff.de.pdf. Weitere Mindmaps hier.
Echo Dot triggert Node-RED auf dem Raspberry Pi per „Node-RED Alexa Home Skill Bridge“
Wer per Sprache mit einen Echo Dot auch den Raspberry Pi auf dem Node-RED läuft steuern will, kann dazu die „Node-RED Alexa Home Skill Bridge“ verwenden. Hier mal ein Beispiel wie per Alexa Echo Dot Sprach-Befehl die Feinstaubwerte für Hannover abgefragt und per Pushover an Handys versendet wird.
Dazu muss der Node „node-red-contrib-alexa-home-skill“ mit npm installiert werden:
Für den Echo das folgende Skill installieren. „Echo Dot triggert Node-RED auf dem Raspberry Pi per „Node-RED Alexa Home Skill Bridge““ weiterlesen
Wie kann ein XSD-Schema aus Java POJOs mit „Java Architecture for XML Binding“ generiert werden?
Wie kann man aus einem Pojo ein XSD Schema für zukünftige Validierungen generieren?
Das geht ganz einfach mit JAXB und Eclipse Oxygen.1A.
Wir erstellen dazu erst einmal zwei Klassen, Mindmap und Autor mit ein paar Eigenschaften. Optional annotieren wir die Mindmap Klasse mit @XmlRootElement und die Autor Klasse mit @XmlType. „Wie kann ein XSD-Schema aus Java POJOs mit „Java Architecture for XML Binding“ generiert werden?“ weiterlesen
Update-ὄργια: WordPress 4.8.3, iOS 11.1 für iPhone, iPad…, iTunes 12.7.1, Xcode 9.1, FileZilla 3.28 und macOs 10.13.1
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:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
sudo apt-get update sudo apt-get upgrade # in .profile diese beiden Variablen eintragen BUILD_DIR=/tmp/rrdbuild INSTALL_DIR=/opt/rrdtool-1.7.0 mkdir -p $BUILD_DIR cd $BUILD_DIR sudo apt-get install libpango1.0-dev libxml2-dev wget http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.7.0.tar.gz gunzip -c rrdtool-1.7.0.tar.gz | tar xf - cd rrdtool-1.7.0 ./configure --prefix=$INSTALL_DIR && make && make install |
Wie können Json Dateien in Java Objekte eingelesen werden mit google gson?
Wie kann eine Json Datei in ein Java Objekt eingelesen werden? Es kommt doch hin und wieder mal vor, das man eine Json Datei hat, die man einlesen will. Man könnte es generisch einlesen. Oder man erzeugt sich die nötigen Java BEs bzw. Pojos und liest die Datei dann ein. Hier mal ein Beispiel mit gson zum einlesen in die zuvor erzeugten Java Klassen.
Es muss in der pom.xml diese Abhängigkeit ergänzt werden:
|
1 2 3 4 5 6 |
<dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.7</version> <scope>compile</scope> </dependency> |
Z.B. diese aircraft.json Datei. Die Felder werden hier beschrieben. Die Datei wird vom Dump1090 Server alle paar Sekunden aktualisert.
|
1 2 3 4 5 6 7 8 9 10 11 12 |
{ "now" : 1477853643.7, "messages" : 45918404, "aircraft" : [ {"hex":"471f87","altitude":38025,"vert_rate":-64,"track":287,"speed":393,"mlat":[],"tisb":[],"messages":5,"seen":0.1,"rssi":-35.3}, {"hex":"48520c","squawk":"6441","altitude":38000,"mlat":[],"tisb":[],"messages":26,"seen":7.2,"rssi":-35.0}, {"hex":"3c644a","squawk":"3537","flight":"DLH2TR ","lat":52.605377,"lon":10.574875,"nucp":7,"seen_pos":13.9,"altitude":38025,"vert_rate":0,"track":191,"speed":488,"category":"A0","mlat":[],"tisb":[],"messages":306,"seen":3.8,"rssi":-32.4}, {"hex":"4ca27a","mlat":[],"tisb":[],"messages":1654,"seen":121.9,"rssi":-35.3}, {"hex":"896184","mlat":[],"tisb":[],"messages":4657,"seen":295.6,"rssi":-35.7}, {"hex":"4ca2fe","altitude":37000,"mlat":[],"tisb":[],"messages":7085,"seen":3.6,"rssi":-35.6} ] } |
Wir schauen uns einfach die Struktur an, und erzeugen Java Klasse mit genau den Feldnamen, das ist wichtig da die Felder dann automatisch per reflection eingelesen werden. „Wie können Json Dateien in Java Objekte eingelesen werden mit google gson?“ weiterlesen
Anflug auf Hannover (EDDV, HAJ) mit Höhendiagramm eines A321 (CFG605) aus der تركيا
Eben ist der Flug CFG605 in Hannover gelandet. Es ist eine Condor A321 aus Antalya (AYT) mit 36 Minuten Verpätung. Intressant ist das Höhenprofile:
Oder hier mit Karte:

Die Höhe liegt bei 732 m auf der Höhe der A7. „Anflug auf Hannover (EDDV, HAJ) mit Höhendiagramm eines A321 (CFG605) aus der تركيا“ weiterlesen
Wie können mit Eclipse Oxygen.1A aus XSD-Dateien mit JAXB Java Klassen generiert werden?
Wer keine Lust hat die Uhren umzustellen, kann ja mit JAXB Java Klassendateien generieren.
In der IDE für Java Developer für Eclipse, ist der JAXB Generator nicht installiert. Der müsste in der EE IDE vorhanden sein. Wer die nicht extra zusätzlich installieren will, kann auch über das Menü Windows – Help – Install New Software und dem Stichwort jaxb suchen und dort diese Installieren:
Dann nach einem Restart, ein neues JAXB-Projekt anlegen mit: „Wie können mit Eclipse Oxygen.1A aus XSD-Dateien mit JAXB Java Klassen generiert werden?“ weiterlesen
Jahresrückblick: 1 Jahr Raspberry Pi DUMP1090 Empfang in Hannover (HAJ, EDDV) mit ADS-B
Raspberry Pi Blog geht weiter im Gegensatz zur Air Berlin!
MESZ, MEZ, UT, UTC, GMT – Raspberry Pi: Wie kann die Sommerzeit bzw. Winterzeit überprüft und die Zeitzone gestellt werden?
Oder alle Jahre wieder! Alle Jahre wieder. Aber wie lange noch? Wer einen Raspberry Pi laufen hat, kann die Zeitzone und Zeit leicht verändern bzw. stellen. Meistens läuft ein NTP, der alles autom. richtig macht. Was aber wenn die Sommerzeit bzw. Winterzeit nicht richtig berücksichtigt wurde?
Wie kann die Zeit einfach überprüft werden?
In der Konsole
|
1 |
date |
Was hat der Raspberry Pi mit Dump1090 gestern so empfangen?
Automatische Überprüfung auf Sicherheitslücken im Java Code auf Basis der Internationalen National Vulnerability Database (NVD)
Sicherheit in Java-Projekten. Datenlecks in Java-Code entdecken. Reports mit bekannten Sicherheitslecks können leicht erstellt werden. Hier mal ein Beispiel Report im HTML Format:
Grundlage bildet die National Vulnerability Database (NVD) Datenbank für Sicherheitslücken, die vom National Institute of Standards and Technology (NIST) gepflegt wird. Wie können solche Reports erstellt werden?
Einfach in der Maven pom.xml das folgende Plugin DependencyCheck ergänzen: „Automatische Überprüfung auf Sicherheitslücken im Java Code auf Basis der Internationalen National Vulnerability Database (NVD)“ weiterlesen
Eclipse Oxygen.1A PlugIn SortIt zum schnellen sortieren nach Länge, Buchstaben oder Nummern
Sortierung von Text ist doch hin und wieder mal nötig. Das Eclipse Plugin SortIt ist zwar schon älter, vom 11.8.2016, aber es läuft immer noch mit der aktuellen Eclipse Oxygen.1A Version. Es kann wie alle anderen Plugins installiert werden.

Die Updateseite die unter dem Menü: Help->Install new Software eingetragen werden muss lautet:
|
1 |
http://www.stateofflow.com/UpdateSite/ |
Dann durch den Installationsvorgang gehen: „Eclipse Oxygen.1A PlugIn SortIt zum schnellen sortieren nach Länge, Buchstaben oder Nummern“ weiterlesen
Wie können mit JUnit 5 Custom Composed Annotation erstellt werden?
Wenn man an einer zentralen Stelle Testmethoden annotieren will, geht das mit JUnit 5 über eigene Benutzer Annotationen. Ich habe mir eine Annotation für Performance Test geschrieben. Z.B. kann ich sie dann zentral ausschalten:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
package de.wenzlaff.umgebung; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Tag; /** * Annotation für Performance Tests. Zentral ausgeschaltet. * * @author Thomas Wenzlaff www.kleinhirn.eu */ @Disabled @Target({ ElementType.TYPE, ElementType.METHOD }) @Retention(RetentionPolicy.RUNTIME) @Tag("Performance") public @interface Performance { } |
In diesem Testlauf, habe ich mit der Annotation, die lange laufenden Test ausgeschaltet:
Wofür nutzt ihr die Custom Composed Annotation? Gern als Kommentar…
Wie schalte ich die Passwortabfrage in Eclipse Oxygen.1A für die Übertragung nach GitHub ab?
Wer nicht bei jedem Checkin nach GitHub sein Namen und Passwort eingeben will, kann die OS X Keystore Integration auch abschalten.
Wie schalte ich die Passwortabfrage in Eclipse Oxygen.1A für die Übertragung nach GitHub ab?
Unter: General – Security – Secure Storage
Und schon kann automatisch eingescheckt werden. Diese Fünfjährige, die sich selbst porträtiert hat, macht sich wie so viele keine Sorgen um Security 😉
Java Code Coverage in Eclipse Oxygen.1A läuft mit EclEmma
Code Coverage läuft mit Eclipse Oxygen.1A auch schnell über den Menüpunkt: Code Coverage – Run As mit eclemma. Ist default in Oxygen.1A installiert.
Und die Coverage View sieht ja auch schon ganz gut aus … „Java Code Coverage in Eclipse Oxygen.1A läuft mit EclEmma“ weiterlesen
Texo und EMF mit Diagram Editor läuft auch mit Eclipse Oxygen.1A (4.7) auf Mac OS X High Sierra (10.13)
Texo und EMF läuft auch mit Eclipse Oxygen.1A (4.7), dafür zuerst Texo installieren über das Menü neue Software mit der URL:
http://download.eclipse.org/modeling/emft/texo/updates/interim/
EMF installieren über die Oxygen Install Seite: „Texo und EMF mit Diagram Editor läuft auch mit Eclipse Oxygen.1A (4.7) auf Mac OS X High Sierra (10.13)“ weiterlesen
Wie kann ein JEE 8 Projekt mit GlassFish v5 in Docker mit Eclipse Oxygen in 5 Minuten mit Archetyp erstellt werden?
Wer mal eben schnell ein JEE 8 Projekt mit GlassFish Server in einem Docker Kontainer erstellen will, kann das leicht mit dem Archtype com.airhacks von Adam Bien tun.
Voraussetzung ist Eclipse Oxygen (Mindmap) mit Java 1.8 und Docker.
Was ist zu tun?
1. Ein neues Mavenprojekt starten über das Menü: New – Other – Maven Projekt … „Wie kann ein JEE 8 Projekt mit GlassFish v5 in Docker mit Eclipse Oxygen in 5 Minuten mit Archetyp erstellt werden?“ weiterlesen
Ende Oktober, Air Berlin und Raspberry Pi Dump1090 Empfang einstellen?
Ende Oktober habe ich die Flugdaten in Hannover mit dem Raspberry Pi und Dump1090 ein Jahr lang in meine Datenbank geschrieben. Der Rasberry Pi läuft nun über ein Jahr ohne zu booten bzw. abzustürzen, wie ein uptime zeigt:
Hier mal ein Jahresüberlblick, noch mit Air Berlin
Habe auch noch ein Foto von mir aus Hannover, da hier von der Zeit nur eins aus Düsseldorf abgebildet ist:

Soll ich diesen Block zu diesem Thema auch Ende Oktober einstellen? Eure Meinung, gern in diesem Google-Formular eingeben und auf Senden klicken, das Ergebniss werde ich dann hier veröffentlichen.
Die Highlights von Eclipse Oxygen
siehe in dieser Mindmap.
Soeben wurde die finale Version des JDK 9 veröffentlicht. Endlich!
Ab jetzt gibt es das Java 9 JDK zum Downloaden mit Jigsaw, Erweiterung der Stream-API, Kommandozeilenanwendung JShell, Neue Collection Factory-Methoden, usw. … und Oracle plant auch kürzere Releasezyklen (6 Monate).
Also, Archive laden und installieren:
Quicktest:
|
1 2 3 4 5 6 7 |
/Library/Java/JavaVirtualMachines/jdk-9.jdk/Contents/Home/bin/java -version # Ergebnis java version "9" Java(TM) SE Runtime Environment (build 9+181) Java HotSpot(TM) 64-Bit Server VM (build 9+181, mixed mode) |
Feier! Freude! Und das sogar im Urlaub …
Kaum ist man im Urlaub, erscheint nicht der Raspberry Pi 4 oder 5 sondern das GA Release von JUnit 5
Nun ist endlich das finale GA Release 5.0 veröffentlicht worden. Diese Änderungen sind in der pom.xml nötig, und schon läuft es mit JUnit 5.
„Kaum ist man im Urlaub, erscheint nicht der Raspberry Pi 4 oder 5 sondern das GA Release von JUnit 5“ weiterlesen






























