Deeplearning4j

Bibliotheken für die Entwicklung von Deep Learning-Anwendungen bzw. zur Nutzung von maschinellem Lernen, sind meistens für Python verfügbar. Entsprechende Bibliotheken für Java sind dagegen spärlich gesät. Eine dieser Bibliotheken für Java ist Deeplearning4j. Neben der klassischen Kost, wie der Unterstützung unterschiedlicher neuronaler Netze, verfügt Deeplearning4j über eine Schnittstelle zu Python, mit deren Hilfe die entsprechenden Bibliotheken aus der Python-Welt angebunden werden können.

deeplearning4j.org

Der Quelltext der Bibliothek ist auf GitHub zu finden. Lizenziert ist die Bibliothek unter der Apache License in der Version 2 und damit freie Software. Die offizielle Projektseite kann unter deeplearning4j.org besucht werden.

JavaScript-Animationen in 140 Zeichen

Damals, als die Welt noch in Ordnung war, erlaubte Twitter 140 Zeichen pro Tweet. Diese Grenze haben die Menschen hinter dem Projekt Dwitter genommen und in eine Herausforderung umgewandelt. Bei Dwitter geht es darum in maximal 140 Zeichen eine JavaScript-Animation zu erstellen. Die Ergebnisse können sich sehen lassen; mittlerweile befinden sich etliche solcher Animationen auf der Seite und zeigen was in 140 Zeichen alles möglich ist.

In 140 Zeichen zu einer JavaScript-Animation

Zu finden ist das Projekt unter dwitter.net. Die Webseite, ein in Python geschriebenes Projekt, ist freie Software und unter Apache License in der Version 2 lizenziert. Der Quelltext kann über GitHub bezogen werden.

Code Snippets über Postman generieren

Mit der App Postman ist es möglich REST-API Aufrufe gegen beliebige Endpunkte durchzuführen. Allerdings bietet Postman weitere Funktionalität, welche vom normalen Tagesgeschäft der App abweicht. Eine dieser Funktionalitäten ist der Code Snippet Generator.

Code Snippets können für unterschiedliche Sprachen und Frameworks erzeugt werden

Mit diesem Generator kann ein beliebiger Request in Quellcode umgewandelt werden. Der Generator unterstützt unterschiedliche Programmiersprachen und Frameworks. Für Java würde, unter Nutzung der OK HTTP Bibliothek, das Ganze so aussehen:

OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("text/plain");
RequestBody body = RequestBody.create(mediaType, "{\r\n\tfield: \"data\",\r\n\tfield2: \"data\",\r\n\tfield3: \"data\"\r\n}");
Request request = new Request.Builder()
  .url("https://example.com")
  .post(body)
  .addHeader("HeaderField", "headerValue")
  .addHeader("Content-Type", "text/plain")
  .addHeader("User-Agent", "PostmanRuntime/7.11.0")
  .addHeader("Accept", "*/*")
  .addHeader("Cache-Control", "no-cache")
  .addHeader("Postman-Token", "7dda208f-ba63-467d-99cd-98455c2b3a7a,9125dbf4-cd5c-4070-87e3-fcda7416ca08")
  .addHeader("Host", "example.com")
  .addHeader("accept-encoding", "gzip, deflate")
  .addHeader("content-length", "56")
  .addHeader("Connection", "keep-alive")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();

Erreichbar ist das Feature über den Code-Link, welcher unter dem Send-Button des Hauptfensters zu finden ist. Nach einem Klick auf den Link erscheint ein Dialog in welchem die gewünschte Sprach- und Frameworkkombination ausgewählt werden kann.

Unter dem Send-Button ist der Code-Link zu finden

Als Sprachen für die Generierung von Code Snippets werden unter anderem C#, Go, Java, JavaScript, Objective-C, PHP, Python und Swift unterstützt. Daneben werden bestimmte Tools wie curl und wget unterstützt. Postman selber kann unter getpostman.com bezogen werden.

Speedtest unter Ubuntu auf der Konsole

Für den Test der Geschwindigkeit der eigenen Anbindung an das Internet, gibt es seit Jahren den Speedtest von Ookla. Dieser kann nicht nur im Browser, sondern auch in der Konsole unter Ubuntu genutzt werden. Nach der Installation mittels:

apt install speedtest-cli

kann der Dienst über die Kommandozeile genutzt werden:

speedtest-cli

Anschließend startet der Test der Anbindung und das entsprechende Ergebnis wird dargestellt:

Retrieving speedtest.net configuration…
Testing from Deutsche Telekom (XXX.XXX.XXX.XXX)…
Retrieving speedtest.net server list…
Selecting best server based on ping…
Hosted by SMSnet (Szczecin) [85.48 km]: 24.498 ms
Testing download speed……………………………………………………………………..
Download: 160.21 Mbit/s
Testing upload speed…………………………………………………………………………………………
Upload: 121.56 Mbit/s

Im Gegensatz zur Webseite kommt die Version für die Kommandozeile ohne Werbung aus. Das Projekt für die Kommandzeilen-Version befindet sich auf GitHub. Es ist unter der Apache-Lizenz in Version 2 lizenziert und somit freie Software.

WordPress-Beiträge als Markdown exportieren

Auf der Suche nach einer Möglichkeit um Beträge in WordPress als Markdown-Dateien zu exportieren, bin ich auf wp2md gestoßen. Dabei handelt sich um eine kleine Applikationen zur Umwandlung der WordPress-XML-Exportdatei zu Markdown. Zur Installation muss der Python-Paketmanager pip bemüht werden:

pip install git+https://github.com/dreikanter/wp2md

Anschließend kann wp2md für dem Export genutzt werden:

wp2md -d output/ export.xml

In der Minimalkonfiguration muss der Ausgabepfad und die Exportdatei angegeben werden. Die Export-Datei wird vorher unter WordPress über Werkzeuge -> Daten exportieren erzeugt. Anschließend erscheinen die Logmeldungen über den Exportfortschritt:

Dumping post to 'output/posts/20180616-pdfs-aus-bildern-mittels-imagemagick-erstellen.md'
Dumping post to 'output/posts/20180617-homebrew-deinstallieren-2.md'
Dumping post to 'output/posts/20180618-fernausloesung-der-kamera-am-iphone.md'
Dumping post to 'output/posts/20180619-transparente-verschluesselung-fuer-cloud-dienste.md'
Dumping post to 'output/posts/20180620-online-vektorisierer-fuer-rastergrafiken.md'
Dumping post to 'output/posts/20180711-zettlr-ein-flexibler-markdown-editor.md'
Dumping post to 'output/posts/20180712-bsnes-neu-aufgelegt.md'
Dumping post to 'output/posts/20180713-enpass-als-1password-alternative.md'
Dumping post to 'output/posts/20180720-ideentool-mit-neuen-generatoren-erschienen.md'
Dumping post to 'output/posts/20180723-cryptomator-laufwerk-verschwindet-unter-macos.md'
Dumping post to 'output/posts/20180725-puffer-fuer-streaming-im-vlc-mediaplayer-erhoehen.md'
Dumping index to 'output/index.md'

Total: posts: 3239; pages: 78; comments: 2878
Elapsed time: 30.55538 s

Neben den eigentlichen Artikeln, werden die dazugehörigen Kommentare exportiert. Daneben werde andere Inhalte wie Seiten und Entwürfe ebenfalls exportiert. Über die Kommandozeilenparameter kann der Export granulärer gesteuert werden. Der Quelltext des Projektes ist auf GitHub zu finden. Lizenziert ist das Projekt unter der GPL in der Version 3 und damit freie Software.