seeseekey.net - Invictus Deus Ex Machina

Bei einer WordPress Multisite-Installation gibt es unter Updates den Punkt Netzwerk aktualisieren. Wenn man seine Multisite-Installation mit selbstsignierten Zertifikaten betreibt, kann es dabei zu folgender Fehlermeldung kommen:

https://wordpress.example.com/mysite1

Warnung! Problem beim aktualisieren von https://wordpress.example.com/mysite1. Vermutlich gab es einen Zeitablauf. Die Fehlermeldung lautet: SSL certificate problem: self signed certificate

Um das Problem zu lösen packt man folgendes Plugin, in den WordPress-Plugin-Ordner:

<?php
/*
* Plugin Name: Deactivate SSL Verify
* Description: Deactivate SSL verification
* Author: seeseekey
* Author URI: http://seeseekey.net
* Plugin URI: http://seeseekey.net
*/
add_filter('https_ssl_verify', '__return_false');
add_filter('https_local_ssl_verify', '__return_false');

Nachdem das Plugin aktiviert wurde, kann die Aktualisierung des Netzwerkes durchgeführt werden. Anschließend kann das Plugin wieder deaktiviert werden.

Manchmal möchte man private Variablen und Eigenschaften einer Klasse mittels NUnit testen. Im Normalfall lautet die Antwort auf diese Fragestellung — Nein. Stattdessen soll nur das öffentliche Interface getestet werden. Möchte bzw. muss man trotzdem ein privates Mitglied einer Klasse testen, so muss man sich der Reflection bedienen. Das könnte dann so aussehen:

string[] lines=(string[])typeof(MyClass).GetField("Lines",BindingFlags.NonPublic|BindingFlags.Static).GetValue(null);

In diesem Fall wird sich das statische String Array Lines aus der Klasse MyClass geholt. Je nachdem, wie man die entsprechenden BindingFlags einstellt, ist es auch möglich Instanzvariablen zu ermitteln.

Mein vor einiger Zeit aufgesetzter Proxyserver startete nicht mehr. Stattdessen bekam ich von Polipo nur noch die Meldung:

Starting polipo: Couldn't open log file /var/log/polipo: Permission denied

Allerdings ließ sich das ganze relativ problemlos aus der Welt schaffen:

touch /var/log/polipo
chmod 640 /var/log/polipo
chown proxy:proxy /var/log/polipo

Danach konnte der Dienst mittels:

service polipo restart

wieder gestartet werden.

Eine Multisite-Wordpress-Installation ist ein WordPress welches verschiedene Domains mit unterschiedlichen Inhalten aka Webseiten bespielt. Unter Umständen kann es vorkommen, das man diese WordPress-Installation von einer Domain auf eine andere Domain umziehen möchte. Leider lässt sich die Domain, auf welcher das Multisite-Wordpress installiert wurde, nicht einfach ändern.

Die Netzwerkeinstellungen einer WordPress Multisite Installation

Stattdessen muss man die Änderungen an der Datenbank vornehmen. Im ersten Schritt sollte ein Backup der Datenbank erzeugt werden. In der resultierenden SQL-Datei werden dann alle Erwähnungen der alten Domain durch die neue Domain ersetzt. Diese geänderte SQL-Datei kann dann in eine neue oder in die bestehende (nachdem die alten Tabellen vorher gelöscht wurden) Datenbank importiert werden. Als letzter Schritt muss die wp-config.php angepasst werden. Dort findet sich der Punkt:

define('DOMAIN_CURRENT_SITE', 'example.com');

An diesem Punkt muss die neue Domain eingetragen werden. Eventuell muss man an dieser Stelle auch die Zugangsdaten für die Datenbank ändern, wenn man die SQL-Datei in eine neue Datenbank importiert hat.

Mittels Sideloading kann man unter auch Emulatoren auf den Fire TV von Amazon bringen. Für die Emulation eines Nintendo 64 eignet sich der Emulator Mupen64Plus AE, bei welchem es sich um freie Software (unter GPL lizenziert) handelt. Allerdings gibt es mit diesem Emulator auf dem Fire TV ein Problem. Da der Fire TV keinen Möglichkeit für Toucheingaben bietet, kann man die Controller nicht konfigurieren.

Die Einstellungen für die Controller-Konfiguration

Abhilfe schafft hier ein Blick in die Einstellungen. In den erweiterten Einstellungen findet sich der Punkt Erreichbarkeit. Wenn man diese Option auf Großbildschirm-Modus stellt, ist der bzw. die Controller auf dem Fire TV konfigurierbar.

Bei dem Fire TV von Amazon handelt es sich um eine kleine aber leistungsstarke Set-Top-Box auf Android-Basis. Neben den gebotenen Funktionalitäten, ist es möglich den Funktionsumfang mit Hilfe von Apps zu erweitern. Neben dem Amazon eigenen Appstore, kann man auch externe Apps einspielen. Dieser Prozess nennt sich dabei Sideloading.

Die Entwickleroptionen im Fire TV

Damit das ganze funktioniert müssen im ersten Schritt zwei Einstellungen auf dem Fire TV geändert werden. Dazu muss in den Einstellungen unter System -> Entwickleroptionen, der Punkt ADB-Debugging und Apps unbekannter Herkunft aktiviert werden. Nun kann man die Dateien mittels adb (enthalten im Android SDK) auf den Fire TV übertragen:

adb kill-server
adb start-server
adb connect 192.168.1.127
adb install test.apk

Einfacher funktioniert das ganze allerdings mit dem Tool adbFire, welches unter jocala.com/adbfire.html bezogen werden kann. Lizenziert ist adbFire unter GPL in der Version 3 und damit freie Software. Der Quelltext ist auf GitHub zu finden.

adbFire in der Mac OS X Version

Um mittels adbFire eine APK-Datei zu installieren, muss im ersten Schritt die IP-Adresse des Fire TV eingetragen werden. Danach muss der Connect–Button betätigt werden. Nun kann mittels Install APK eine APK-Datei ausgewählt werden und auf dem Fire TV installiert werden. Gestartet werden kann die App dabei nicht über das normale Menü, sondern nur aus der vollständigen Appliste unter Einstellungen -> Anwendungen -> Alle installierten Apps verwalten. Wenn man den ES File Explorer installiert kann man zukünftig auch APKs ohne zusätzliche Tools auf dem Fire TV installieren. Mit diesem Dateimanager ist es unter anderem möglich neue APK-Dateien aus der Dropbox zu laden.