Fühle mich wie ein Admin …
„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“ weiterlesen

mit Java, Raspberry Pi, SDR, Linux, Arduino, Sicherheit, Blender, KI, Statistik, Krypto und Blockchain
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 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
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
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
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 |
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
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
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…
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 😉
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 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
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 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.
siehe in dieser Mindmap.
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 …
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
Manchmal möchte man sehen, wie der vorletzte Testlauf abgelaufen ist. Man kann defaultmäßig die letzten 10 Testläufe wieder zur Anzeige bringen über: „Junit 5 History oder „Was bisher geschah …“ unter Eclipse (Oxygen)“ weiterlesen
Aus der Bucht eingetroffen, ESP32 ESP-32S NodeMCU Development Board 2.4GHz WiFi+Bluetooth Dual Mode.
Der ESP32 hat 2,4-GHz-WLAN und Bluetooth in Low Power 40-nm-Technologie.
Der Stromverbrauch ist mit 56 mA sehr gering. Die Leistungsaufnahme mit dem Blink Testprogramm liegt bei 283 mW. Die Vorderansicht mit der Antenne oben und dem USB Anschluss unten: „ESP-32S NodeMCU Development Board 2.4GHz WiFi+Bluetooth“ weiterlesen
Für Mac OS X, Linux und Windows ist eine neue Version der Arduino IDE erschienen.
Was neu ist in ARDUINO 1.8.4 kann man in den Release Notizen nachlesen.

Quicktest ok.
Evl. möchte man ACARS Daten die von einem Raspberry Pi (W Zero) geliefert werden, wie hier berichtet, auch in einer Eclipse View auf einen anderen Rechern mit Mac OS X, Linux oder Windows anzeigen. Dann hat man alles immer im Auge 😉
Wie können also Realtime ACARS Daten, die von einem Raspberry Pi geliefert werden, in der Eclipse (Oxygen) Konsolen View ausgegeben werden?
Dafür habe ich einen kleinen ACARSConsoleViewer geschrieben der die Daten in Echtzeit auf der Konsole ausgibt. Die Zeiten werden so wie vom Server angezeigt, sie sind im UTC Format, also in Deutschland mit Sommerzeit 2 Stunden zurück. Der Viewer lauscht an Port 5555 und wartet auf eintreffende ACARS Meldungen via verbindungslosem UDP.
„Wie können Realtime ACARS Nachrichten in Eclipse Oxygen Konsolen View ausgeben werden?“ weiterlesen
Manchmal möchte man die lokalen JUnit 5 Testergebnisse für später aufheben oder als Doku verwenden oder sichern. Man kann die Ergebnisse als XML exportieren und auch später wieder importieren. So kann man sich dann Fehler oder Laufzeiten mal wieder anschauen.
Die Import und Export Menüs, erscheinen aber nur, wenn schon mal ein JUnit Test gelaufen ist, dann an dieser Position:

„JUnit 5 Test-Ergebnisse Import und Export im XML Format mit Eclipse Oxygen“ weiterlesen
Heute wurde das JUnit 5 (RC3 – Beta) Plugin für Eclipse Oxygen 4.7.0 veröffentlicht (upgedated). JUnit 5 RC3 wurde schon am 23.8.2017 veröffentlicht. Der JUnit 5 Release Kandidat soll ja noch im 3. Quatal 2017 erscheinen, also im nächsten Monat 🙂
Wie wird das nun installiert?
Das JUnit 5 Plugin gibt es hier.
Einfach diesen Install Button per Drag and Drop in den Eclipse Workspace ziehen:
oder wie in der installations Anleitung beschrieben.
Es öffnet sich dieser Dialog: „Wie wird JUnit 5 (RC3 – Beta) Eclipse Oxygen 4.7.0 Support (Plug-In) installiert?“ weiterlesen
Schon damals konnte das iPhone 5 vor der Veröffentlichung gezeigt werden. Um nun wegen der aktuellen Fotos, mal aktuell keinen Beitrag zum Raspberry Pi zu bringen. Aus Lego, der Designer ist 7 Jahre alt (jetzt 13 Jahre).
Hier nun der aktuelle leak, vom iPhone 8, der Designer ist jetzt schon 13 Jahre alt:

Gut ist der Touch-ID-Sensors unter dem Logo zu erkennen:

Wie findet Ihr den Prototyp des iPhone 8? Mehr zum aktuellen iPhone 8 hier.
Wer wie hier beschrieben ACARS Meldungen empfangen will, kann sie mit dem acarsserv Server auch in eine DB speichern. Dazu muss der acarsserv wie folgt compiliert und gestartet werden. Das holen des Quellcodes aus Git habe ich in diesen Blogeintrag beschrieben, und ist Vorraussetzung für das erstellen des Servers.
|
1 2 3 4 5 6 7 8 9 |
# Abhängigkeiten der DB installieren sudo apt-get install libsqlite3-dev sqlite3 sqlite # Server erstellen # make acarsserv jetzt make -f Makefile.air acarsserv # starten des Servers im Hintergrund mit ./acarsdec & # Starten mit Daten in die DB und auf der Konsole: ./acarsdec/acarsdec -N 10.10.10.25:5555 -p -0 -r 0 131.725 131.850 |
Flugzeuge senden nicht nur transponder Daten im Bereich von 1090 MHz via ADS-B die mit Dump1090 empfangen werden können.
Auch ACARS Daten auf ca. 130 MHz (3 Meter Band). Auch diese können mit eine Software Radio und eine kleinen Raspberry Pi Zero W empfangen werden. Diese ACARS Meldungen enthalten diverse Infos, wie aus dieser Mindmap hervorgeht:
Vorraussetzung ist ein frisch installiertes Debian Raspbian Stretch Lite Version 2017-08-16 und das ein rtl_test -t ohne Fehler auf der Konsole durchläuft. Das heißt, ein RTL-SDR Software Radio ist erfolgreich installiert. „Wie wird ein Multi-Channel ACARS Decoder auf einem Raspberry Pi Zero W mit Software Defined Radio (SDR) installiert?“ weiterlesen