Java Quickie: Die Kommandozeilen Argumente mit Apache Commons CLI bändigen

Seit März 2017 gibt es noch kein neues Release von den Commons CLI. Aber warum die Commandline nicht auch damit auswerten? Macht alles viel übersichtlicher.

Das geht mit ein paar Zeilen Java Code und einen Eintrag in der pom.xml:

Hier ein Beispiel snippets: „Java Quickie: Die Kommandozeilen Argumente mit Apache Commons CLI bändigen“ weiterlesen

Wie wird ein Java Programm im JAR in einem Docker Kontainer mit Maven aufgerufen? Und wie werden die Docker Tools in Eclipse installiert?

Mit dem io.fabric8 Plugin kann ein Maven Projekt mit Java in Docker laufen. Dazu z.B. das Plugin wie folgt in der pom.xml eintragen.

Damit ein mvn install läuft muss erst die Docker.App gestartet werden:

In Eclipse läuft es dann:

Dann kann „Wie wird ein Java Programm im JAR in einem Docker Kontainer mit Maven aufgerufen? Und wie werden die Docker Tools in Eclipse installiert?“ weiterlesen

Java 8 Quickie: Wie können alle bestimmten Dateien eines Verzeichnis in einer Zeile ermittelt werden?

Mit der static Methode Files.newDirectoryStream. Diese Methode gibt es schon seit Java 1.7. Hier mal ein Beispiel für alle PDF Datein im aktuellen Verzeichnis:

Was kann man gegen eine NoClassDefFoundError (org/bouncycastel.asn1.ASN10ctetString) beim verschlüsseln mit iText tun?

Was kann man gegen eine NoClassDefFoundError (org.bouncycastele.asn1.ASN10ctetString) beim verschlüsseln mit iText tun?

Zur Laufzeit wird die Klasse benötig. Es kommt diese Exc:

Lösung, „Was kann man gegen eine NoClassDefFoundError (org/bouncycastel.asn1.ASN10ctetString) beim verschlüsseln mit iText tun?“ weiterlesen

Java: Rätsel des Tages

Was ist das Ergebnis?

Ergebnis: „Java: Rätsel des Tages“ weiterlesen

Für den Urlaub: Free WLAN Wifi-Scanner mit LED anzeige mit Wemo (ESP8266)

Wer noch für den Urlaub einen freien Wifi-Finder braucht, kann einen Wemo (ESP8266) verwenden, es muss ja nicht immer ein Raspberry Pi sein. Einfach dieses kleinen c Programm mit der Arduino IDO in den Wemo flashen, und mit 5 Volt an einem USB Port mit Strom versorgen.

Der Sketch verwendet nur 266424 Bytes (25%) des Programmspeicherplatzes. Das Maximum sind 1044464 Bytes. Globale Variablen verwenden 27124 Bytes (33%) des dynamischen Speichers, 54796 Bytes für lokale Variablen verbleiben. Das Maximum sind 81920 Bytes.

Hier noch ein kleines 26 Sekunden Video um zu sehen wie der Scanner mit dem obigen Programm läuft:

Auf der Seriellen Konsolen werden übrigens die Daten auch ausgegeben, z.B.

In diesem Sinne …

Linux Quickie: Nohup oder wie können Programme im Hintergrund laufen?

Java ua. Programme könen auf Linux bzw. dem Raspberry Pi über die Komandozeile mit dem Programm screen im Hintergrund gestartet werden. Dieses ist aber nicht immer installiert. Deshalb kann man als alternative ein Programm mit nohub als Prozess starten.

Z.B.wird ein Programm in einem Jar wie folgt im Hintergrund gestartet:

java -jar twpdftagger-0.0.2.jar &

Es braucht also nur das & angefügt zu werden. Nun ist man aber oft per ssh eingeloggt und will das das Programm auch nach einem exit der Konsole noch weiterläuft. Hier kommt nun nohup zum Einsatz:

nohup java -jar twpdftagger-0.0.2.jar &

Die Ausgaben des aufgerufenen Programms werden automatisch in die Datei nohup.out geleitet, die im Verzeichnis angelegt wird, von dem aus der Befehl ausgeführt wurde. Weitere Infos zu nohup gibt es mit „Linux Quickie: Nohup oder wie können Programme im Hintergrund laufen?“ weiterlesen

Wie weit kann der Empfang von Transpondersignalen von Flugzeugen maximal gehen?

In einen Beitrag Raspberry Pi: Höhenunterschiede mit heywhatsthat.com visualisieren hatte ich vor 4 Jahren schon mal über die visualisierung der Höhenunterschiede berichtet. Mit der Seite kann aber auch die maximal mögliche Empfangsreichweite visualisiert werden. Also: Wie weit kann der Empfang von Transpondersignalen von Flugzeugen maximal gehen, wenn wir berücksichtigen das die Erde eine Kugel ist?

Das hängt ja von der Höhe der Antenne, dem Empfangsort, die Flughöhe der Flugzeuge, dem Wetter und auch der Landschaft ab. Wer direkt vor einem Berg seine Antenne hat, empfängt halt auch nicht viel. Dann gibt es auch noch andere Parameter, wie Antennenart, Empfindlichkeit, stärke des Sendesignals und andere Dinge, die wir heute hier nicht berücksichtigen wollen.

Folgende vier Schritte sind nötig:

1. Auf die Seite heywhatsthat.com gehen

2. Auf den Reiter „New panorama“ klicken:

3. Auf der Maske 1. die Latitude z.B. 52.438837 2. die Longitude z.B. 9.742816 des Antennenortes eingeben. 3. die Höhe der Antenne z.B. 54 m und „above sea level“ markieren 4. einen Titel z.B. Langenhagen www.wenzlaff.info und 5. nicht vergessen auf Metric zu schalten, dann abschließend auf 6. Submit request klicken. Dann eine Minute wegschauen, da Werbung eingeblendet wird:

4. Auf der Seite dann oben Rechts auf den Reiter „Up in the Air“ klicken „Wie weit kann der Empfang von Transpondersignalen von Flugzeugen maximal gehen?“ weiterlesen

Update PDF-Formulare automatisch auswerten – PDF-Formulare to CSV (Excel) – Version 0.0.2 veröffentlicht – nun auch für Windows!

Wie hier ausführlich beschrieben, hier nun die Version 0.0.2 für den Raspberry Pi als DEB Archive aber auch als RPM für RedHat und für Windows nur die JAR Datei zum kostenlosen Download twpdfformulartocsv-0.0.2.zip

Einige Funktionen sind nun NEU z.b. die Hilfe, die mit -h aufgerufen werden kann, hier aber erst einmal das BPMN zum Programmablauf:

Die Versions Ausgabe mit -v „Update PDF-Formulare automatisch auswerten – PDF-Formulare to CSV (Excel) – Version 0.0.2 veröffentlicht – nun auch für Windows!“ weiterlesen

Aktuellste Version mono auf dem Raspberry Pi installieren für C# Programme (Visual C#)

Installiert man mono mit sudo apt install mono-complete ist mono zwar in 30 Minuten installiert, aber nicht in der aktuellsten Version, sondern in Version 4.6.2.

Aktuell ist aber 5.18.1 wie auf der mono Seite zu sehen. Die Installation ist aber auch schnell gemacht, Key, Certificate und Repo laden: „Aktuellste Version mono auf dem Raspberry Pi installieren für C# Programme (Visual C#)“ weiterlesen

PDF-Formulare automatisch auswerten – PDF-Formulare to CSV

Manchmal möchte man mehrere PDF-Formulare automatisch auswerten. Z.B. von einer Umfrage. Also wie bekommt man die im PDF-Formular eingegebenen Felder aller PDF Dateien eines Verzeichnises in eine Excel CSV Datei für die Auswertung? Wie man PDF-Formulare kostenlos erstellt, hatte ich ja schon hier beschrieben.

Das geht mit dem Raspberry Pi (oder auch Mac und Windows) ganz einfach mit dem Java Tool twpdfformulartocsv das ich implementiert habe. Es muss mind. Java 8 auf dem Pi installiert sein. Das kann man mit java -version überprüfen. Es kommt auf dem Pi Zero bei mir

Hier nun die Schritte, um es zu installieren.

„PDF-Formulare automatisch auswerten – PDF-Formulare to CSV“ weiterlesen

Mit alien von rpm nach deb und zurück

Manchmal will man auf den Raspberry Pi ein rpm von Red Hat auf einem Debian installieren. Wenn es auch selten vorkommt.

Man kann dann mit alien das Package Format konvertieren. Auf dem Raspberry Pi installieren wir die aktuelle Version aus dem Jahre 2016 mit einem sudo apt-get install alien und schon ist die 8.95 Version installiert.

Wie kann nun ein rpm in das deb Format konvertiert oder auch gleich installiert werden? Dazu einfach mit sudo das rpm Archive aufrufen. Hier mal ein Beispiel mit dem twpdfformulartocsv-0.0.1-1.noarch.rpm „Mit alien von rpm nach deb und zurück“ weiterlesen

20 Jahre vs. 10 Jahre WordPress Blog – wenzlaff.de – 1226 Beiträge

Vor 20 Jahren ging wenzlaff.de ans Netz, wie hier schon mal berichtet.

Aber genau heute am 28.3.2009 also vor 10 Jahren wurde der erste WordPress Blog Eintrag hier auf wenzlaff.info veröffentlicht.

Wie die Zeit vergeht.

1226 Beiträge sind hier zu finden.

Zu Themen wie Java, Eclipse, Raspberry Pi, ESP32, SDR, Linux, Arduino und Planespotting … „20 Jahre vs. 10 Jahre WordPress Blog – wenzlaff.de – 1226 Beiträge“ weiterlesen

OpenOffice Quickie: Wie können Auswahlboxen für PDF-Formulare mit mehreren Werten erstellt werden?

Vor einiger Zeit hatte ich schon mal beschrieben, wie PDF-Formulare mit dem kostenlosen OpenOffice erzeugt werden können. Wie kann nun aber eine solche Auswahlbox mit Werten in einem PDF-Formular eingefügt werden?

Der Trick ist im Bearbeitungsmodus mit einem Doppelklick den Eigenschaften Dialog öffnen: „OpenOffice Quickie: Wie können Auswahlboxen für PDF-Formulare mit mehreren Werten erstellt werden?“ weiterlesen

Wie können kostenlos PDF Formulare schnell mit OpenOffice erstellt werden?

PDF Formulare sind oft sehr nützlich. Man braucht nicht das kostenpflichtige Adobe Tool dafür. Das geht gut mit dem kostenlosen OpenOffice. Mit Word geht es bisher nicht.

Wenn das OpenOffice installiert ist, ein neues Dokument öffnen und zuerst die beiden Symbolleisten über das Menü Ansicht – Symbolleisten – Formular-Entwurf und Formular-Navigation einblenden:

Diese Leisten erscheinen dann unten im Dokument. „Wie können kostenlos PDF Formulare schnell mit OpenOffice erstellt werden?“ weiterlesen

Eben veröffentlicht Eclipse IDE 2019‑03 – Better Than Ever – The Eclipse IDE delivers what you need to rapidly innovate – 68.1 million lines of code

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.

Linux Quickie: Wie kann eine sortierte CSV Datei mit Dateinamen, Rechten und Gruppe erzeugt werden?

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?

Juhu Linux

Das geht auf der Komandozeile mit find, stat, format und sort:

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

Mehrfach lesen auf 1090 Mhz mit einem Raspberry Pi via rtl_map aktuell ohne B737 Max 8 und Max 9 Signale

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.

Hier noch alle Parameter von rtl_map:

JUnit Quickie: Wie können die Testmethoden einer Klasse automatisch in zufälliger Reihenfolge (Pseudozufall) ausgeführt werden?

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

JUnit Quickie: Wie können die Testmethoden einer Klasse automatisch in alphabetischer Reihenfolge ausgeführt werden?

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

Graphische Darstellung des 1090 MHz Frequenzspektrum mit SDR auf einem Raspberry Pi mit rtl_map und Gnuplot in EDDV

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

WordPress Quickie: Wie werden automatische Inhaltsverzeichnisse erstellt?

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:

Dann werden automatisch alle Überschriften die mit

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