Dreiecke für alle

Auf der Suche nach einem Hintergrundbild, bin ich vor einiger Zeit über den Dienst Trianglify gestolpert, welcher unter qrohlf.com/trianglify/ zu finden ist. Der Dienst generiert, anhand bestimmter Kriterien, Anordnungen von Dreiecken unterschiedlicher Farben.

Trianglify erzeugt algorithmisch Hintergrundbilder

Genaugenomen handelt es sich nicht wirklich um einen Dienst zur Generierung von Hintergrundbildern, sondern um eine JavaScript-Bibliothek, welche diese Aufgabe übernimmt und in andere Projekte eingebunden werden kann. Lizenziert ist Trianglify unter der GPL in Version 3 und damit freie Software. Der Quelltext ist auf GitHub zu finden.

Offene Gesetze

Nachdem Gesetze in Deutschland verabschiedet wurden, werden sie im Bundesgesetzblatt veröffentlicht und dadurch verbindlich. Geregelt wird dies im Artikel 82 des Grundgesetzes. Dort heißt es:

Die nach den Vorschriften dieses Grundgesetzes zustande gekommenen Gesetze werden vom Bundespräsidenten nach Gegenzeichnung ausgefertigt und im Bundesgesetzblatte verkündet. Rechtsverordnungen werden von der Stelle, die sie erläßt, ausgefertigt und vorbehaltlich anderweitiger gesetzlicher Regelung im Bundesgesetzblatte verkündet.

Problematisch daran ist dass der Bundesanzeiger-Verlag, welcher für die Veröffentlichung zuständig ist, seit 2006 privatisiert wurde. Mittlerweile ist der Verlag im Besitz der Dumont-Mediengruppe. Für ein entsprechendes Abo, ist es möglich auf die Bestände der Bundesgesetzblätter zuzugreifen. Eigentlich ein Unding, bei Gesetzten an die sich die Bevölkerung halten soll. Die Bundesgesetzblätter sind als amtliche Drucksachen nicht schützenswert. Stattdessen wird seitens des Verlages mit dem Datenbankschutz argumentiert. Da die Dokumente zu einer Datenbank zusammengefasst wurden; ist dies ein Werk, welches wieder Schutzrechte genießen soll.

Das Portal Offene Gesetze

Alles in allem eine fragwürdige Konstruktion, mit der das Portal Offene Gesetze, zu finden unter offenegesetze.de aufräumen will. Dort findet man sämtliche Bundesgesetzblätter seit 1949. Die Bundesgesetzblätter können durchsucht, gedruckt oder als Ganzes heruntergeladen werden. Daneben wird eine API bereitgestellt, mit welcher ebenfalls auf die Dokumente zugegriffen werden kann. Zu Beachten ist dass die Bundesgesetzblätter keine vollständigen Gesetze (außer bei der erstmaligen Veröffentlichung des Gesetztes), sondern die jeweiligen Änderungen enthalten.

Betrieben wird das Portal von der Open Knowledge Foundation Deutschland. Dabei handelt es sich um einen offiziellen Chapter der Open Knowledge Foundation. Die verwendete Software ist auf GitHub zu finden, unter der MIT-Lizenz lizenziert und damit freie Software.

Thymeleaf ohne Servlet in Standalone-Anwendungen nutzen

Thymeleaf ist eine Template Engine, welche für die Nutzung mittels Java (oder anderer JVM-Sprachen) gedacht ist. Über diese können entsprechende Templates geschrieben werden, anschließend gefüllt und genutzt werden. Thymeleaf verfügt über eine Dokumentation, allerdings fehlt mir dort ein minimales Beispiel für Anwendungen, welche sich nicht im Web (sogenannte non-web environments) abspielen.

thymeleaf.org

Für ein minimales Beispiel wird natürlich ein Template benötigt. Dieses wird hier als HTML definiert:

<!DOCTYPE html>
<html>
<head>
    <title th:text="${title}"></title>
</head>
<body>
</body>
</html>

Interessant ist hierbei das Feld title, welches wir mit einem Titel füllen wollen. Im Java-Quellcode sieht die Implementation wie folgt aus:

ClassLoaderTemplateResolver resolver = new ClassLoaderTemplateResolver();
resolver.setPrefix("templates/");
resolver.setTemplateMode("HTML5");
resolver.setSuffix(".html");

TemplateEngine templateEngine = new TemplateEngine();
templateEngine.setTemplateResolver(resolver);

Context context = new Context(Locale.GERMAN);
context.setVariable("title", "Ein minimales Beispiel");

final String content = templateEngine.process("header.html", context);

Im ersten Schritt wird mit dem ClassLoaderTemplateResolver ein Resolver definiert, welcher schlussendlich dafür sorgt die Templates aus den Ressourcen (im resources-Ordner) bezogen werden. Daneben wird der Template-Modus eingestellt. Neben dem Modus HTML5 unterstützt Thymeleaf wie z.B. TEXT oder JAVASCRIPT. Danach wird die Template Engine erstellt und ihr der Resolver zugewiesen. Die Variablen, welche in diesem Fall im Template genutzt werden, werden über den Context definiert und gesetzt. Anschließend wird das Ganze an die process-Methode der Template Engine übergeben. Als Ergebnis erhalten wir im String content folgenden Inhalt:

<!DOCTYPE html>
<html>
<head>
    <title">Ein minimales Beispiel</title>
</head>
<body>
</body>
</html>

Damit wurde Thymeleaf in einer minimalen Variante angewendet. Die offizielle Seite der Template Engine ist unter thymeleaf.org zu finden. Lizenziert ist Thymeleaf unter der Apache License in der Version 2.0 und damit freie Software.

Sumatra PDF als Standard-App unter Windows 10 einrichten

Ich bin ein Freund von leichtgewichtigen Apps. Deshalb nutze ich für die Anzeige von PDF-Dateien unter Windows die Applikation Sumatra PDF. Dabei handelt es sich um einen freien, unter der GPL3 lizenzierten, PDF-Reader. Unter Windows 10 hatte ich allerdings das Problem das Sumatra PDF nicht als Standard-App für die Anzeige von PDF-Dateien eingerichtet werden konnte.

Sumatra PDF mit einem geöffneten Dokument

Versuchte man Sumatra PDF als Standard-Applikation zu definieren, so funktionierte dies auf den ersten Blick. Doch beim erneuten Versuch ein PDF zu öffnen, wurde ein andere Applikation zur Darstellung der PDF genutzt.

Die Auswahl der Standard-Applikation

Die Lösung für dieses Problem ist es Sumatra PDF mit administrativen Rechten (Als Administrator ausführen) auszuführen. Anschließend öffnet man über das Menü Einstellungen den Punkt Optionen. Im sich öffnenden Fenster findet sich unten ein Button, mit welchem Sumatra PDF als Standard-App eingerichtet wird. Nachdem dies geschehen ist, werden zukünftig alle PDFs mit Sumatra PDF geöffnet.

Freier Bildbetrachter für Windows (und andere Systeme)

Der integrierte Bildbetrachter unter Windows 10 ist nicht das Gelbe vom Ei; so dass ich mich nach einer Alternative umgeschaut habe. Schlussendlich gelandet bin ich beim freien Bildbetrachter Nomacs. Nomacs unterstützt gängige Dateiformate wie PNG, JPEG, TIFF, BMP und viele andere Formate. Neben den Funktionen zur Bildbetrachtung, verfügt Nomacs über einige Funktionalität zur Bildbearbeitung. Diese umfasst unter anderem das Beschneiden von Bildern sowie die Fähigkeit die Größe von Bildern anzupassen oder Bilder zu rotieren. Die meisten alltäglichen Aufgaben, im Zusammenhang mit Bildern, sollten sich mittels Nomacs problemlos erledigen lassen. Eine etwas ungewöhnlichere Funktionalität von Nomacs ist die Synchronisation mehrerer Instanzen des Bildbetrachters.

Nomacs in Aktion

Neben der Windows-Version ist Nomacs für unterschiedliche Linux-Distributionen (z.B. Debian, Arch Linux oder Fedora), macOS und sogar OS2 erhältlich. Lizenziert ist der Quelltext unter der GPL in Version 2; bezogen werden kann er über GitHub. Die Webseite des Projektes ist auf nomacs.org zu finden.