mynethome.de

21. November 2017

Plastikmüll in Weltmeeren

Kürzlich bin ich durch ein Tweet von ZDF heute auf einen Clip aufmerksam geworden, der zeigt wieviel Plastikmüll sich in den Gewässern des Planeten sammelt.

Dabei musste ich mal wieder an das Projekt The Ocean Cleanup denken, das wir von einiger Zeit unterstützt haben. Und da meine Hoffnung, das die Menschheit sich kurz- oder mittelfristig besinnt und Plastikproduzenten und -verbrauchern auch konsequent die vollständige Entsorgung/Aufbereitung anlastet (und das weltweit 🙄), begrenzt ist, sehe ich dieses Projekt fast als die einzige Möglichkeit zumindest etwas gegenzusteuern.

Woher der ganze Müll kommt? Eine Studie sagt hauptsächlich aus Flüssen Asiens stammen soll. Doch werd sich in Europa jetzt entspannt zurücklehen will, sollte vorsichtig sein, denn „denn wir exportieren jede Menge Plastikmüll ins Ausland und China ist der weltgrößte Müll-Importeur.“. Wir sammeln in den Gelben Säcken also Müll für den Export.
Die Süddeutsche Online berichtete kürzlich übrigens über den Jangtse und betont das man der Konzentration auf die großen Flüsse vielleicht das Positive abgewinnen kann, das erste Gegenmaßnahmen direkt sehr effizient sein könnten, da an nur wenigen Stellen viel bewirken kann.

Doch noch weiss man nicht viel von diesen Gegenmaßnahmen, daher mein Aufruf: Unterstützt The Ocean Cleanup!

20. November 2017

JCE ab Java 8u151 per Property aktivieren

Gute Neuigkeiten: Mit Java 8 Update 151 kann man die Java Cryptography Extension (JCE) per property aktivieren, da Oracle den Mechanismus zum handling desselben, der in Java 9 etabliert wurde, auf Java8 zurückportiert hat.
Auf macOS wird so das Homebrew Cask jce-unlimited-strength-policy8 überflüssig.

Um JCE in Java 8 Update 151 oder neuer zu aktivieren, braucht man nur noch das folgende Property zu setzen:

crypto.policy=unlimited

Z.b. in $JAVA_HOME/jre/lib/security/java.security, es gibt wie in den Kommentaren in jener Datei auch nachzulesen ist, aber auch andere Stellen an denen man diese Einstellungen vornehmen kann.

Das Homebrew Cask wurde auch bereits entfernt, also nicht wundern wenn ein Reinstall nach einem JavaUpgrade fehlschlägt. ;-)

25. Juli 2017

JavaAktuell: Lebendige Dokumentation mit AsciiDoctor

Kurze Durchsage in eigener Sache ;) :

In der aktuellen Ausgabe der JavaAktuell, dem Magazin des iJUG e.V., findet sich mein Artikel „Lebendige Dokumentation mit AsciiDoctor“ (hier als PDF).

Die JavaAktuell gibt es bei jedem größeren Bahnhofszeitschriftenhandel – zumindest an den Bahnhöfen wo ich es zuletzt verifizieren konnte ;) Ich hoffe die Interpolation anhand dieser Stichproben ist nicht zu optimistisch.

Neben meinem Artikel gibt es noch eine ganze Reihe interessanter Beiträge aus dem Java Universum :)

Viel Spaß beim Lesen!

Update: PDF des Artikels hinzugefügt

29. April 2017

Sozialwahl 2017

Da liegt er nun wieder auf meinem Schreibtisch, wie schon vor sechs Jahren: Der Stimmzettel zur Sozialwahl.

Und wieder stellt sich die Frage: Mit welcher Stimme unterstütze ich welche Positionen?
Das ist leider gar nicht so einfach herauszufinden. Der Flyer, der ein paar Wochen zuvor ‚rumgeschickt wurde war leider nur sehr oberflächlich und hat grundsätzliches zur Wahl beschrieben. Und – vor allem – beworben, wie wichtig eine Wahlbeteiligung ist. Derlei Aufrufe gibt es viele, aber inhaltliche Positionen werden nicht dargestellt.

Die Website sozialwahl.de bietet einen Einstiegspunkt, aber keine klare Gegenüberstellung der Positionen. Immerhin gibt es eine Auflistung mit den „Listen und Kandidaten“ (Listen sind die eigentlichen Wahlmöglichkeiten, da es sich nicht um eine Personenwahl handelt).
Bei einem Blick auf diese Liste dämmert es mir langsam: Eine klare Gegenüberstellung von Positionen kann es nicht geben, weil die zur Verfügung stehenden Wahlmöglichkeiten abhängig von dem Versicherungsträger sind, bei dem man versichert ist. Manche Träger machen auch eine „Friedenswahl“ – da wird zu 30 verfügbaren Posten ein Topf von 30 Kandidaten zusammengeklüngelt und beschlossen, dass man, da man ja genau soviele Kandidaten wie Positionen hat, keine Wahl mehr notwendig ist.
Zumindest gelangt man dort dann über die verlinkten Listen zu jedem Träger an die Selbstdarstellungen der Kandidaten und kann versuchen, sich selbst ein Bild zu machen. Lieber wären mir schon einige redaktionell aufgearbeitete Beiträge, die vielleicht auch über die Selbstdarstellungen hinausgehen und im besten Fall die in der Vergangenheit (letzte Wahlperiode?) vertretenen Positionen berücksichtigt.

Bei dem Versuch, sich dem entsprechend zu informieren und vielleicht doch eine Gegenüberstellung von Positionen zu finden, stößt man vor allem auf Kritik an der Wahl selbst.
Bei Deutschlandfunk findet sich ein Beitrag (auch als Audio), in dem die kritisierten Punkte zusammengefasst werden. Abgesehen davon, das in den Beiträgen des DLF der CDU Politiker erstaunlich oft Erwähnung findet, findet sich aber auch dort keine inhaltliche Auseinandersetzung mit den Wahlmöglichkeiten und deren Positionen.
Eine deutlich negative Kritik, verbunden mit der Forderung zur Abschaffung der Sozialwahl, findet sich in der Ärztezeitung, ein Argument dafür sieht man in der gescheiterten Reformation – trotz Verankerung im Koalitionsvertrag – durch CDU und SPD (sollte man sich für die Bundestagswahl merken).

Such man weiter, findet sich das Portal sozialversicherung.watch dessen Domain und Titel erst einmal hoffnungsvoll stimmt. Bei einem zweiten Blick wird man jedoch enttäuscht, denn das, was ich unter dem Begriff Watchblog assoziere, wird bei weitem nicht erfüllt. Ein dritter Blick (ins Impressum) offenbart auch, warum: Urheber und Betreiber ist einer der Kandidaten zur Wahl: die Gewerkschaft ver.di.

Also auf in die sozialen Medien, namentlich Twitter.
Dort stelle ich fest, das es viele gibt, die das gleiche umtreibt, wie mich. Es fehlt, kurzgesagt, der Wahl-o-mat zu Sozialwahl. Warum es keinen gibt habe ich oben schon vermutet: Zu komplex, zuviele „Kandidaten“, da für jeden Träger eine eigene Wahlliste existiert.
Fast erwartungsgemäß versucht die Community auf Twitter scheinbar vor allem herauszufinden, welche Wahloption am Homäopathie-Kritischsten im Gesundheitswesen aktiv werden will. Zum Beispiel fragt der aus dem „Methodisch Inkorrekt“ Podast bekannte Nikolas Wörl: „Wen von Euch wähle ich bei @Sozialwahl_2017 um ein Zeichen GEGEN Homöopathie zu setzen? @_verdi @BARMER_Presse @DAKGesundheit @DieTechniker“.
Und erhält von „sucinum1899“, der direkte Anfragen an die Kandidaten verschickt haben will, die Antwort (hier nochmal in anderer Form) dass dies wohl am ehesten auf die Techniker/IG Metall zutrifft.
Damit ist ein interessanter Punkt angesprochen, viele andere bleiben unbeleuchtet.
Zudem ist die TK-Gemeinschaft lauten meinem Wahzettel mit der BARMER und der DAK eine „Listenverbindung“ eingegangen. BARMER und DAK kommen bei den auf Twitter präsentierten Anfragen nicht so gut weg, so dass nicht klar ist, wie sehr die Stellungnahmen taugen.

Sehr unübersichtlich, die Lage und nicht einfach eine fundierte Entscheidung zu treffen.
Ich werde noch weiter Augen und Ohren offen halten und hoffe, dass noch klarere Positionen bezogen werden und auch verglichen werden. Gewählt werden kann bis zum 31. Mai, also noch gut 4 Wochen Zeit, die Wahlentscheidung zu treffen.

Wer gute Informationsquellen hat: Gerne in die Kommentare damit :)

16. November 2016

Asciidoctor-Gradle: Separate tasks for PDF and HTML output

Sometimes you want to have simple additional tasks in a build to generate certain output.

A good example is generation of HTML or PDF from Asciidoctor. With the following example you can just do gradle pdf or gradle html to create the desired output – instead of changing the „backends“ property in the build.gradle back and forth.

Have fun ;-)

buildscript {
    repositories {
        jcenter()
    }

    dependencies {
        classpath 'org.asciidoctor:asciidoctor-gradle-plugin:1.5.3'
        classpath 'org.asciidoctor:asciidoctorj-diagram:1.5.0'
        classpath 'org.asciidoctor:asciidoctorj-pdf:1.5.0-alpha.11'
        classpath 'com.github.ben-manes:gradle-versions-plugin:0.12.0'
    }
}

apply plugin: 'org.asciidoctor.convert'
apply plugin: 'com.github.ben-manes.versions'

repositories {
    jcenter()
}

asciidoctorj {
    version = '1.6.0-alpha.3'
}

def asciidoctor = {
   requires = ['asciidoctor-diagram']
   sources {
      include 'article.adoc'
    }

    backends = ['html5', 'pdf']

    attributes 'source-highlighter'    : 'coderay',
               'coderay-linenums-mode' : 'table',
               //toc                     : 'left',
               icons                   : 'font',
               linkattrs               : true,
               encoding                : 'utf-8'               
}

task('pdf', type: org.asciidoctor.gradle.AsciidoctorTask){
  configure asciidoctor
  backends = ['pdf']  
}

task('html', type: org.asciidoctor.gradle.AsciidoctorTask){
  configure asciidoctor
  backends = ['html5']  
}

Update: To reuse the settings from a common block, we need to define the config in a variable and use it to configure the tasks with configure as updated in the example. :)

23. September 2016

JavaBasel 2016

Mir ist aufgefallen, das man die Website der ersten Java Konferenz in Basel – JavaBasel – leider nicht gut via Suchmaschine finden kann.

Das geht soweit, dass man mich darauf angesprochen hat, wann es denn Details zum Programm gibt und man sich anmelden kann, obwohl ein Großteil der Tickets bereits verkauft ist.
Also, vielleicht hilft es ja, hier nochmal zu verlinken :) Die Konferenz Website ist: http://javabasel.ch/

Einen Trailer gibt es auch:

Es gibt ein spannendes Programm, nicht nur entsprechend dem Namen der Konferenz rund um Java, sondern rund um einen interessanten Satz aktueller Technologien.
Und die Möglichkeit in entspannter Atmosphäre eine Mene netter und interessanter Leute (ich hab gehört, da sollen einige da sein und freue mich schon drauf;-) ) zu treffen.

Also: CU @JavaBasel 2016. 19. Oktober.

26. August 2016

Facebook verwertet WhatsApp Daten: Zeit umzusatteln!

Einen weiteren Punkt, warum man wirklich versuchen sollte auf Whatapp zu verzichten und seine Whatapp Kontakte von alternativen Diensten, die die Privatsphäre respektieren wie Threema, Wire oder Signal liefert die News, dass WhatsApp zwei Jahre nach der Übernahme durch Facebook stärker mit der Plattform verzahnt werden soll, denn:

  • „…soll Facebook die Telefon-Nummer des WhatsApp-Nutzers bekommen sowie Informationen dazu, wann er bei dem Dienst aktiv war.“
  • „Mit dem Abgleich der Telefonnummer solle unter anderem relevantere Werbung bei Facebook angezeigt werden…“
  • „… können Facebook verbieten, die Profilinformationen zur Personalisierung der Werbung und Freunde-Vorschläge einzusetzen, heißt es. Die Telefonnummer und Daten zur Nutzung würden aber in jedem Fall mit Facebook geteilt„.

Braucht es wirklich noch mehr Argumente?
Na gut, eins hab ich noch: Wenn Werbenetzwerke und Verkaufsplattformen genügend Daten über euch gesammelt haben, führt das in der mordernen Welt dazu, dass Ihr beim Onlineshoppen mehr bezahlt. Das Zauberwort heisst „elastic pricing“.
Dazu ein Artikel bei BR:Dynamic Pricing: Warum Online jeder einen anderen Preis zahlt

Schützt eure Privatsphäre! ;-)

10. Juni 2016

OpenJDK on RaspberryPi / Raspian: Fallback to Oracle JDK

Lately I wanted to use Java on the RaspberryPi a little more intensive. With that involved, there is of course a Gradle build. But it went not as easy a I expected.

I attempted to use the openjdk-8 package, the system in question was based on a Hypriot OS 0.7.0 Berry (beta), which is based upon Rasbian Jessie.

While running the build, I ran into some SSL related issues on downloading the dependencies:

Exception in thread "main" javax.net.ssl.SSLHandshakeException: 
   sun.security.validator.ValidatorException: PKIX path validation failed: 
   java.security.cert.CertPathValidatorException: signature check failed

First of all, I tried to fix it with the commands

sudo update-ca-certificates -f

sudo apt-get install --reinstall ca-certificates-java

but those didn’t seem to have any effect.

From past experience I knew that it’s – unfortunately – often worth to give the official Oracle builds a try in case the OpenJDK does not behave as expected. Even though I have the feeling that shouldn’t be the case anymore as the usage of OpenJDK has been spread a lot. For example, Amazon, being a very big name and serving a large installation base within AWS and it’s other services is using OpenJDK.

Trying to find the most convenient way to get the Oracle JDK installed (using their packages and having to run update-alternatives and such by hand is the least desired option in that case), I learned that the Oracle JDK packages are provided within the RaspberryPi Foundation repositories located at http://archive.raspberrypi.org/debian/

So I added a file foundation.list to /etc/apt/sources.list.d with the content

 deb http://archive.raspberrypi.org/debian/ jessie main

and run apt-get update after which apt-cache search oracle listed

...
oracle-java8-jdk - Java™ Platform, Standard Edition 8 Development Kit

Which I decided to install instead of OpenJDK. And voila – it works. Seems like OpenJDK, or at least the package provided within Raspian has still some things to catch up with :(
I’m looking for the proper place to report or track this – does anyone have a hint for that? :)

Oh, and as a side note: Always take case of the CPU architecture you are working with – it’s so easy to fall into that ARM / X86 trap ;-) But that’s a topic for another blog post…

8. April 2016

SyncThing Android – still no SD card support

TL;DR: GoLang doesn’t support Android Stroage API properly so syncthing cannot access an external SD card properly at the moment.

I’m taking a lot of pictures – not only with my camera but also with my mobile – as it happens to be the camera that always available ;-)
But sorting pictures on the phone is a little bit painful for me, I’d prefer to sort them on a larger screen while the result of that sorting should be effective to the mobile, of course.
I’ve had a solution to that for a short time in the past with BitTorrent Sync – bu then, they changed their licensing and dropped some features and my use case could not be fulfilled anymore.
On top of that, a „feature“ was introduced to Android that makes it harder to deal with files on the SD card.

Then, I stumbled upon SyncThing and hoped to get back to a working setup for my photos-from-mobile workflow.
Unfortunately, SyncThing was also suffering from the sd-card-read-write-permissions problem and thus not an option for me.

Last night, I decided to check again and found that it’s still not usable for me :(
The situation has improved a little bit as in Android land exists an API not to handle files on the SD card as flexible as required. Bad thing is, that those API is currently not available to syncthing as it has not been implemented to the software stack used there (GoLang), see issue #10588 of Go.

I’ll check back on this regularly as long I can’t find a better solution ;-)
Would also love to have sync back to have a very easy way to maintain the set of music I’ve on my phone (and add/remove stuff from there).

see also: syncthing-android issue #29: repos on extSdCard

5. April 2016

Das darf niemals in Netz! (NeoMag Royale)

Es ist länger her, das ich ein Video gebloggt habe, aber die letzte Folge des Neo Magazin Royale ist es wert – da es nicht mehr in de Mediathek ist, ein Link zu Vimeo:

Nicht nur wegen dem Erdogan Gedicht, auch der (im Video ab 17:45min) Song „Germans on the Rise“ (Artikel dazu im Zeit Blog) ist gelungen.

Viel Spaß!

Nachtrag: Hui, das ganze schlägt ja richtig Wellen: Anzeigen im Bündel, Ermittlungsverfahren gegen J. Böhmermann und Rüge von der Kanzlerin

mynethome.de wird erstellt mit WordPress
Beiträge (RSS) und Kommentare (RSS)

(c) 2005 - 2015 Markus Schlichting