Das Update auf die aktuelle Version geht auch über den Menüpunkt „Help“ -> „Check for Updates …“:
Das ganze läuft aber nur, wenn auch die Update Site aktiviert ist: „Eclipse update in 15 Min auf 2019-03 -> ohne Neuinstallation“ weiterlesen

mit Java, Raspberry Pi, SDR, Linux, Arduino, Sicherheit, Blender, KI, Statistik, Krypto und Blockchain
Das Update auf die aktuelle Version geht auch über den Menüpunkt „Help“ -> „Check for Updates …“:
Das ganze läuft aber nur, wenn auch die Update Site aktiviert ist: „Eclipse update in 15 Min auf 2019-03 -> ohne Neuinstallation“ weiterlesen
Was ist neu?
-Polyglot language support
-First class support for Java, JavaScript, C/C++, PHP, Rust, and others Latest Java™ versions
-Support for building Java™ 11 and Java EE™ 8 based applications
-Improved performance
-Startup time has received a boost this release
-Language Server support
-Solid infrastructure to support integration of language servers
-Proven extensibility
-A huge variety of platform plug-ins
–Free and open source
-Free and open source released under the terms of the Eclipse Public License 2.0
Download hier oder eine schöne Zusammenfassung mit Videos.
Manchmal will man Verzeichnisse und Dateien vergleichen. Wie kann auf einem Raspberry Pi eine sortierte Komma separierte Liste (CSV, Excel) aller Dateien und Verzeichnisse erstellt werden?

Das geht auf der Komandozeile mit find, stat, format und sort:
|
1 |
find . -exec stat --format='%n,%a,%U,%G,' {} \; | sort > dateiliste.csv |
Wir suchen also mit find in dem Wurzelverzeichnis (.) und führen für jede Datei und jedes Verzeichnis ein Systemstatus abfrage mit stat aus. Dann geben wir die Parameter formartiert mit , aus n=Dateiname, a=Rechte, U=User, G=Gruppe. Das alles wird dann sortiert in die dateiliste.csv geschrieben.
Wir erhalten dann z.B. eine solche Liste: „Linux Quickie: Wie kann eine sortierte CSV Datei mit Dateinamen, Rechten und Gruppe erzeugt werden?“ weiterlesen
Wie hier beschrieben kann das rtl_map Programm für die Darstellung der Frequenz verwendet werden.
Jetzt gibt es in dem Programm rtl_map seit ein paar Tagen einen neuen Parameter -n. Mit diesem kann nun die Anzahl der lese Vorgänge angegeben werden. Ok, dann mal eine Messung 10 Wiederholen (ca. 5000 Werte) und in eine Datei schreiben:
rtl_map -f 1090000000 -D -C -n 10 – > capture.dat
und dann die Grafik wie oben mit Gnuplot erzeugen.
|
1 2 3 4 5 6 7 |
set title "Frequenzdiagramm 5000 Messungen mit 1090 MHz mit rtl-map (www.wenzlaff.de)" set ylabel "Amplitude (dB)" set xlabel "Anzahl Messungen (x10) mit Frequenz 1090 MHz" set terminal png set xrange [0:500] set output "capture-1090.png" plot "capture.dat" using 1:2 title "DVB-T rtl Sensor" with lines |
Hier noch alle Parameter von rtl_map:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
rtl_map, a FFT-based visualizer for RTL-SDR devices. (RTL2832/DVB-T) Usage: [-d device index (default: 0)] [-s sample rate (default: 2048000 Hz)] [-f center frequency (Hz)] * [-g gain (0 for auto) (default: ~1-3)] [-n number of reads (default: int_max.)] [-r refresh rate for -C read (default: 500ms)] [-D don't show gnuplot graph (default: show)] [-C continuously read samples (default: off)] [-M show magnitude graph (default graph: dB)] [-O disable offset tuning (default: on)] [-T turn off log colors (default: on)] [-h show this help message and exit] [filename (a '-' dumps samples to stdout)] |
Wie können die Testmethoden einer Klasse automatisch in zufälliger Reihenfolge ausgeführt werden? Ab JUnit 5.4 geht das mit der Annotation @TestMethodOrder. Es wird nur die @TestMethodOrder(MethodOrderer.Random.class) Annotation an der jeweiligen Test-Klasse benötigt. Die Zufallsfunktion wird mit Hilfe der System.nanoTime() Funktion erzeugt. Also ein Pseudozufall. Aber für Test reicht es.
Wir verwenden diese Testklasse: „JUnit Quickie: Wie können die Testmethoden einer Klasse automatisch in zufälliger Reihenfolge (Pseudozufall) ausgeführt werden?“ weiterlesen
Wie können die Testmethoden einer Klasse automatisch in alphabetischer Reihenfolge ausgeführt werden? Ab JUnit 5.4 geht das mit der Annotation @TestMethodOrder
Es wird nur die @TestMethodOrder(MethodOrderer.Alphanumeric.class) Annotation an der jeweiligen Test-Klasse benötigt. Mit dem Alphanumeric wird die Reihenfolge auf alphabetischer gesetzt. „JUnit Quickie: Wie können die Testmethoden einer Klasse automatisch in alphabetischer Reihenfolge ausgeführt werden?“ weiterlesen
Wir wollen so ein Darstellung von 500 Messungen bei 1090 MHz mit einer Sample-Rate von 2048000 Hz erstellen (Messung 2.3.2019, 12:05 Uhr in Langenhagen):
Zuerst holen wir uns den Quellcode des rtl_map und bauen uns die Anwendung. Dann installieren wir das Programm.
Entweder diese Befehl ausführen oder aber laden und das Script ausführen. „Graphische Darstellung des 1090 MHz Frequenzspektrum mit SDR auf einem Raspberry Pi mit rtl_map und Gnuplot in EDDV“ weiterlesen
Wie werden automatische Inhaltsverzeichnisse erstellt, wie z.B. in diesem Raspberry Pi Beitrag hier. An die Stelle wo das Verzeichnis hinkommen soll einfach das TOC Kommando mit eckigen Klammern angeben:
|
1 |
[TOC] |
Dann werden automatisch alle Überschriften die mit
|
1 |
<h1> und </h1> |
usw. formatiert werden ergänzt.
Voraussetzung ist aber das installierte Plugin Table of Contents:
Das kann dann über den Menüpunkt toc+ aufgerufen werden:
Hier dann noch ein paar Einstellungen: „WordPress Quickie: Wie werden automatische Inhaltsverzeichnisse erstellt?“ weiterlesen
Wie hier beschrieben, in Kurzfassung mit ein paar weiteren Details.
Es werden aber ein paar Stunden für Download und erstellen der SD-Karte benötigt. Auch die erste init. für NodeRed usw. benötigt etwas Zeit (ca. 2-4 Stunden). Aber man kann in der meisten Zeit ja auch andere Dinge machen … :
Normal sollte die Testreihenfolge ja nicht festgelegt werden. Da eine Test-Methode nicht von einer anderen abhängig sein sollte.
Manchmal wird das aber dennoch benötigt. Das geht jetzt ab JUnit 5.4 ganz einfach mit der @Order Annotation.
Hier eine Beispiel Klasse. „JUnit Tests nun mit Methoden Reihenfolge via @Order Annotation möglich“ weiterlesen
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
@Test public void ermittleJavaVersion() { assertEquals("1.8.0_131", System.getProperties().get("java.version")); } @Test public void ermittleJavaHome() { assertEquals("/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home/jre", System.getProperties().get("java.home")); } |
Früher konnte man sich die VPN.mobileconfig Datei einfach (aber unsicher) per E-Mail zusenden und installieren. Das geht nun nicht mehr.
Jetzt kann die Datei z.B. auf die Cloud (verschlüsselt) geladen und von dort mit dem Safari Browser per Web-Dav geöffnet werden. Das geht so:
1. Die VPN.mobileconfig (xml Textdatei) mit den kostenlosen Apple Configurator 2 oder per Hand erstellen (siehe hier auf dem Blog).
2. An die Cloud mit Webdav zugang anmelden (mit User und Passwort) und die VPN.mobileconfig kopieren z.B. nach https://webdav.mediencenter.t-online.de

„Wie kann ein VPN-on-Demand Profil auf das neuen IPhone X bzw. IPad Pro mit webdav installiert werden?“ weiterlesen
Beim Raspberry Pi und anderen Rechnern reicht ein:
|
1 |
curl wttr.in |
von der Kommandozeile oder im Browser:
Mit Excel kann schnell ein Netz oder Radardiagram erzeugt werden. Hier mal ein Beispiel Diagramm.
Wir nehmen mal von Wikipedia (https://de.wikipedia.org/wiki/Deutsches_H%C3%A4mophilieregister) ein paar Beispiel Daten für eine Beispieltabelle (Hämophilie Mindmap).
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
Gesamtzahl aller gemeldeter Patienten in Deutschland Jahr Hämophilie A Hämophilie B Willebrand-Jürgens-Syndrom 2008 2995 537 984 2009 3156 567 1094 2010 3400 620 1231 2011 3483 612 1659 2012 3706 711 2124 2013 3823 707 2296 2014 3991 709 3515 2015 3690 673 3930 2016 2228 413 3532 2016 Vorläufig |
Die Tabellen-Daten fügen wir in ein Excel Blatt ein „Excel Quickie: Wie kann ein Netzdiagramm oder Radardiagramm mit Excel erzeugt werden?“ weiterlesen
Das geht nicht nur in der aktuellen Eclipse Version, sondern schon etwas länger.
Einfach die folgenden drei Tasten drücken: Alt + Cmd + Pfeil nach unten und schon wird die Zeile wo der Cursor steht kopiert.
Das geht für Java

und auch für XML usw. „Wie kann eine Zeile in Eclipse schnell dupliziert werden?“ weiterlesen
Also mal testen ob alle läuft? Kleine Änderung in der pom.xml
|
1 2 3 4 |
<junit.version>4.12</junit.version> <junit.jupiter.version>5.4.0</junit.jupiter.version> <junit.vintage.version>5.4.0</junit.vintage.version> <junit.platform.version>1.4.0</junit.platform.version> |
Dann mal zwei Projekt umstellen. Siehe da, die Buildpipeline laufen auch noch wie erwartet:
und die auch „Letzte Woche wurde das JUnit 5.4.0 Release veröffentlicht“ weiterlesen
Wir wollen nun mal auf dem Raspberry Pi ein C Programm mit dem Make-Tool cmake auf dem Pi compilieren und linken.
Gemäß Wikipedia ist CMake (cross-platform make) eine plattformunabhängiges Programmierwerkzeug für die Entwicklung und Erstellung von Software.
Dazu erstellen wir ein neues Verzeichnis und legen dort die Builddatei CMakeLists.txt an und führen cmake aus.
Also 1. ein Verzeichnis anlegen und dahin wechseln
|
1 2 |
mkdir cmake-beispiel cd cmake-beispiel |
2. Erstellen einer C Beispiel Datei start.c mit folgenden Inhalt:
|
1 2 3 4 5 6 |
#include <stdio.h> int main() { printf("Hallo Thomas, cmake ist cool!"); return 0; } |
3. Erstellen einer CMakeLists.txt Datei. Achtung Groß und Kleinschreibung genau so. Mit folgenden Inhalt:
|
1 |
add_executable(startthomas start.c) |
Diese Anweisung besagt, das die start.c compiliert werden soll und das das Programm dann startthomas heißen soll.
4. Nun können wir das Projekt konfigurieren mit cmake .
5. Das Projekt übersetzen mit make
6. Nun können wir das erzeugte Programm startthomas ausführen ./startthomas
Hier das Ergebnis: „Quick-Howto: Erzeugung von Makefiles mit cmake auf dem Raspberry Pi“ weiterlesen
Im Debian Repo liegt für cmake nicht die neueste Version. Für ein Projekt brauche ich aber cmake mind. 3.13. Deshalb hier eine Anleitung wie die neueste Version von cmake selbst erstellt und installiert werden kann.
Deshalb erst mal die evl. installierte Version von cmake ausgeben:
|
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 |
cmake --version # Ergebnis cmake version 3.7.2 # Ok, wir müssen uns die aktuelle Version holen und selbest compilieren. # Das dauert auf dem Pi aber ca. eine Stunde. mkdir Download-cmake cd Download-cmake # Gewünschte Version von https://cmake.org/files/ holen, in diesem Beispiel 3.13.4 wget https://cmake.org/files/v3.4/cmake-3.13.4.tar.gz # Archive entpacken tar -xvzf cmake-3.13.4.tar.gz # In das Verz. wechseln cd cmake-3.13.4/ # Konfigurieren sudo ./bootstrap # make und install ... eine Stunde später ... sudo make sudo make install # Nun checken wir die Intallation cmake --version # Ergebnis # cmake version 3.13.4 |
Wie kann eine User Aktion mitgelesen werden, die ein User im Browser tätigt? Also wie können wir die URLs usw. mitlesen, die von und zu einem Browser gehen? Das alle von der Konsole aus z.B. mit einem Raspberry Pi? Das hatte ich schon mal vor 5 Jahren nicht ganz so ausführlich hier beschrieben. Noch mit tshark 1.12. jetzt mal mit 2.6.5. Hier ein kleiner Einblick in die Arbeit eines Pentesters.
Also zu erst der User Task, er ruf in einer Konsole die URL www.wenzlaff.info auf. Dafür benutzen wir den Browser lynx. Wenn der noch nicht auf dem Pi installiert ist, kann das schnell mit einem sudo apt-get install lynx durchgeführt werden. Dann der erste Test, Aufruf:
lynx www.wenzlaff.de „User Webseiten Sniffing mit tshark auf einem headless Raspberry Pi oder „Dump and analyze network traffic with tshark““ weiterlesen