seeseekey.net - Invictus Deus Ex Machina

Um eine gute Lesbarkeit auf einer Webseite zu erreichen, ist es wichtig ein sinnvolles Kontrastverhältnis zwischen Hintergrund und Schrift zu wählen. Ist dieses Verhältnis zu schlecht, leidet die Lesbarkeit der Texte. Große Webkonzerne wie Google und Apple gehen hierbei teilweise mit schlechtem Beispiel voran.

leaverou.github.io/contrast-ratio/

Nach der WCAG 2.0 Richtlinie wird im Normalfall ein Kontrastverhältnis von mindestens 4,5:1 gefordert. Ob die eigene Webseite diesem Kontrastverhältnis entspricht, kann man mit dem contrast ratio Tool testen, welches auf GitHub unter leaverou.github.io/contrast-ratio/ zu finden ist. Der Quelltext, der unter der MIT-Lizenz lizenzierten Software, ist ebenfalls auf GitHub zu finden.

Mittlerweile gibt es unzählige sogenannte Social Icons für Dienste wie Facebook, GitHub oder Twitter. In vielen Fällen benötigt man ein solches Social Icon auf einer Webseite oder in einem Dokument. Natürlich kann man sich nun die entsprechenden Bilder bei den jeweiligen Anbietern, über die Presse- bzw. Markenportale beziehen. Bei mehreren Anbietern kann dies allerdings eine zeitintensive Tätigkeit sein.

Der Font Socicon in Aktion

Mit dem Font Socicon, welcher unter socicon.com bezogen werden kann, hat man alle diese Social Icons in einem Font zusammengefasst. Dieser kann direkt auf Webseiten eingebunden oder lokal installiert werden. Lizenziert ist der Font unter der SIL Open Font License 1.1.

In WordPress findet man in den Einstellungen unter dem Punkt Mediathek die Einstellungen um die Größe der Vorschaubilder zu definieren. Wenn man dort nun die Größen definiert, führt dies zu einem seltsamen Verhalten.

Die Einstellungen im WordPress-Backend

Während die Bilder für die Option Mittelgroß problemlos in die gewünschten Größe skaliert werden, geschieht dies bei der Größe Groß nicht mehr. Hier werden die Bilder, bei meinem Theme, maximal 630 x 630 Pixel groß eingebunden. Das Bild wurde durchaus auf die korrekte Größere skaliert. Beim Einbinden findet man dann allerdings diese Beschränkung. Der Grund dafür ist in der Eigenschaft Content Width zu finden. Diese Eigenschaft beschränkt die maximale Breite der Bilder. Sie wird in der functions.php im jeweiligen Theme definiert. Dies könnte z.B. so aussehen:

/** 
 * Content Width
 */

if (!isset($content_width)) {
	$content_width = 630;
}

Wird dieser Wert geändert, so passt sich sich die Skalierung der Medien an.

Wenn man den Podlove Subscribe Button über das Podlove Podcast Publisher-Plugin benutzt, so wird man feststellen das dieser über das Podlove-CDN eingebunden wird.

Podlove Subscribe button
Preis: Kostenlos
Podlove Podcast Publisher
Preis: Kostenlos

Wer keine externen Abhängigkeiten einbinden möchte, der kann seit Version 2.6 des Podlove Podcast Publisher-Plugins die CDN-Nutzung deaktivieren.

In den Modul-Einstellungen kann die CDN-Nutzung deaktiviert werden

Dazu müssen im Podlove-Menü im WordPress-Backend, die Moduleinstellungen aufgerufen werden. Dort findet sich unter dem Unterpunkt Web Publishing die entsprechende Einstellung um die CDN-Einbindung zu deaktivieren.

Gogs ist ein Git-Service welcher eine ähnliche Funktionalität wie der bekannte Dienst GitHub zur Verfügung stellt. Standardmäßig läuft der Dienst auf dem Port 3000. Möchte man ihn über die normalen Ports für HTTP (80) bzw. HTTPS (443) erreichbar machen, kann man hierfür einen Reverse Proxy nutzen. Dafür eignen würde sich zum Beispiel Nginx, der im ersten Schritt auf dem Server installiert werden muss:

apt-get install nginx

Anschließend wird die Konfiguration angelegt:

nano /etc/nginx/sites-available/example

In diesem Fall befasst sich die Konfiguration mit der verschlüsselten Kommunikation per HTTPS und der Weiterleitung von unverschlüsselten Verbindung in Richtung der verschlüsselten Verbindung.

server {
        listen 80;
        listen [::]:80;

        server_name example.com;

        return 301 https://$host$request_uri$is_args$args;
}

server {
    listen 443;
    listen [::]:443 default_server;

    ssl on;
    ssl_certificate        /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key    /etc/letsencrypt/live/example.com/privkey.pem;

    server_name example.com;

    client_max_body_size 500m;

    location / {
        proxy_pass https://localhost:3000;
    }
}

Nachdem die Konfiguration für Nginx hinterlegt ist, wird die Standardkonfiguration entfernt und ein symbolischer Link für die neue Konfiguration erstellt. Anschließend wird Nginx neugestartet, damit die geänderte Konfiguration wirksam wird:

rm /etc/nginx/sites-enabled/default
ln -s /etc/nginx/sites-available/example /etc/nginx/sites-enabled/example
service nginx restart

Nach der Anpassung der Nginx-Konfiguration, muss die app.ini (sie befindet sich im gogs/custom/conf/ Ordner) von Gogs angepasst werden und dort die neue ROOT_URL ohne zusätzlichen Port angegeben werden. Anschließend kann auf Wunsch, per Firewall, der Port 3000 für Zugriffe von außen gesperrt werden.

Einführung in die uncomplicated firewall

Wenn man einen eigenen Server betreibt und die mail()-Funktion von PHP benutzen möchte, so benötigt man auf dem Server einen Mail Transfer Agent kurz MTA. Über diesen MTA versucht die mail()-Funktion ihre Mails zu versenden. Ist kein MTA auf dem System installiert, schlägt der Versand von Mails fehlt. Nun ist es bei vielen Servern nicht gewünscht, einen vollwertigen MTA zu installieren. Abhilfe schafft hier der Nullmailer welcher mittels:

apt get install nullmailer

installiert werden kann. Nullmailer leitet die Mails, an einen Mailserver der Wahl weiter. Dazu muss er konfiguriert werden:

nano /etc/nullmailer/remotes

In dieser Datei wird der Mailserver mit seiner Konfiguration eingestellt:

mail.example.com smtp --port=587 --starttls --user=nutzername --pass=geheim

Nutzt man einen Mailserver mit einem selbstsignierten Zertifikat benötigt eine weitere Option:

mail.example.com smtp --port=587 --starttls --user=nutzername --pass=geheim --insecure

Anschließend sollte der Mailversand ohne Probleme funktionieren. Schlägt er trotzdem fehl, findet man genauere Informationen im Syslog unter /var/log/syslog.

Wer aus einer Webanwendung heraus etwas in die Zwischenablage kopieren möchte, der benötigte bis vor einiger Zeit dazu ein Schnipsel Flash. Mittlerweile lässt sich dies, ohne zusätzliche Plugins, in den meisten Browsern über eine entsprechende Web Api nutzen.

clipboardjs.com

Einfacher wird die Nutzung dieser Web Api mit der JavaScript-Bibliothek clipboard.js. Die Bibliothek welche sich seit September 2015 in der Entwicklung befindet, abstrahiert die Nutzung der entsprechenden Web Api. Damit wird es möglich, mit wenigen Zeilen, die Zwischenablage in einer Webanwendung zu nutzen. Der Quelltext der Bibliothek ist auf GitHub zu finden. Sie ist unter der MIT Lizenz lizenziert und damit freie Software.

Für macOS war ich auf der Suche nach einem Commodore 64 Emulator welcher nicht den Namen VICE trägt. Fündig wurde ich bei VirtualC64; einem Emulator geschrieben von Prof. Dr. Dirk W. Hoffmann, welcher an der Hochschule Karlsruhe lehrt.

VirtualC64 mit dem ikonischen Begrüßungsschirm

Im Gegensatz zu vielen anderen Emulatoren benötigt der Emulator einige ROMs um zu funktionieren. Damit gemeint sind das Kernal-ROM, das Basic-ROM, das Character-ROM und das VC1541-ROM. Diese müssen für die Emulation von entsprechender Seite bezogen werden.

Bei der Entwicklung des Emulators gab es drei Ziele. Das erste Ziel war die genaue taktgenaue Emulation und die damit verbundene große Kompatibilität. Daneben sollte der Emulator einfach zu bedienen und der Quellcode gut dokumentiert und einfach zu verstehen sein. Der Emulator ist freie Software und unter der GPL lizenziert. Auf GitHub ist der dazugehörige Quelltext zu finden. VirtualC64 kann über die Seite des Autors bezogen werden.

Plex ist ein mächtiger Medienserver, welcher ohne größere Probleme auch auf dem Raspberry Pi betrieben werden kann. Vor allem die Version 3 des Raspberry Pi macht hier keinerlei Probleme. So gibt es unter anderem Distribution für die Installation eines Plex Clients wie z.B. RasPlex. In diesem Artikel soll es um die Installation des Plex Media Server auf dem Raspberry Pi gehen. Dafür benötigt man die Version für ARMv7 and ARM64, welche von einigen Studenten der Universität Leipzig bereitgestellt wird. Nachdem man sich im Terminal auf dem Raspberry Pi per SSH eingeloggt hat, müssen die neuen Paketquellen aktiviert werden:

wget -O - https://dev2day.de/pms/dev2day-pms.gpg.key  | sudo apt-key add -
echo "deb https://dev2day.de/pms/ jessie main" | sudo tee /etc/apt/sources.list.d/pms.list
apt-get update

Anschließend kann das Paket installiert werden:

apt-get install plexmediaserver

Wenn man nach der Installation versucht das Plex Media Server-Interface im Browser aufzurufen wird unter Umständen feststellen das dieses nicht erreichbar ist. Hier handelt es sich wohl um einen Bug. Der Workarround für diesen Bug ist ein Neustart des Raspberry Pi.

Die Plex-Einrichtung kann beginnen

Anschließend kann der Plex Media Server über die URL:

http://raspberrypi.local:32400/web/index.html

aufgerufen werden.

Thunderbird verfügt seit vielen Versionen über eine globale Suche. Unter Umständen kann es passieren das diese Suche nicht mehr richtig funktioniert. Dies äußert sich in einer langsamen Suche oder dadurch das, sobald man Suchergebnisse aufruft, diese nicht mehr existent sind. Um diese Fehler zu beheben muss der globale Index neu aufgebaut werden. Dazu muss Thunderbird beendet werden und der Profil-Ordner aufgesucht werden. Je nach Betriebssystem liegt dieser in unterschiedlichen Ordnern:

Linux: ~/.thunderbird/xxx.default
macOS: ~/Library/Thunderbird/Profiles/xxxxxxxx.default/
Windows 2000/XP: C:\Dokumente und Einstellungen\%Benutzername%\Anwendungsdaten\Thunderbird\Profiles\xxx.default
Windows Vista/7; C:\User\%Nutzername%\AppData\Roaming\Thunderbird\Profiles\xxx.default

Im Profilordner befindet sich eine Datei mit dem Namen global-messages-db.sqlite. Diese Datei musst gelöscht werden. Anschließend kann Thunderbird wieder gestartet werden. Der Indizierungsvorgang wird dann neu begonnen. Den aktuellen Fortschritt der Indizierung kann unter Extras -> Aktivitäten angesehen werden. Je nach Größe des Profils kann die Neuindizierung einige Zeit in Anspruch nehmen.