Technisches

WordPress Multisite: Passwort reset bei Subsites korrigieren

In der WordPress Multisite eigenen Standardeinstellung leitet der Passwort reset Link immer zur Hauptseite. Dies ist für Admins und User die auf der Hauptseite einen Account haben kein Problem. Es kann allerdings bei vielen Multisite Szenarien zu Problemen und Verwirrungen führen.

Hat User 1 beispielsweise einen Account bei Seite 3 aber nicht bei Seite 2 oder der Hauptseite, funktioniert der Reset Link einfach nicht. Wenn man ihn händisch eintippt, also in diesem Beispiel seite3.example.com/wp-login.php?action=lostpassword statt wie von WordPress vorgegeben: example.com/wp-login.php?action=lostpassword funktioniert alles. Viel Spaß wenn man das einem simplen User jedes Mal erklären muss…

Ein ziemlich nerviges verhalten, was einem gerade bei Seiten mit vielen Nutzern einige Arbeit bereitet. Praktischerweise hat jemand einen Fix in Form eines WordPress Plugins geschrieben. Einfach als Plugin installieren und der Passwort Reset Link zeigt bei allen Unterseiten nun automatisch auch auf den exklusiven Passwort reset der Unterseite. Die Links in den Emails etc. werden durch das Plugin von Eric Teuber auch angepasst.

404 error bei admin-ajax.php und die mod_security

Problem: Eine WordPress Webseite lies sich bei einem Hoster beim Umzug partout nicht zum laufen überreden. Konfiguration, Datenbank, etc. alles korrekt. Auch sonst gab es keine Auffälligkeiten oder Fehler außer besagtem 404 error in der amin-ajax.php. Danach google ergab tausende Lösungsvorschläge und Ideen, keine davon hat allerdings funktioniert und wirkte auch generell eher nicht passend auf die Seite des Kunden. Bei mir in der Testumgebung lief ja alles problemlos.

Lösung:

mod_security deaktivieren. Ist zwar suboptimal aber wenn der Hoster keine eigene Konfiguration der mod_security erlaubt anscheinend die einzige Lösung…

Hoffentlich erspart das irgendjemand die Zeit die ich in die Fehlersuche investiert habe. Danke Daniel für die Hilfe.

Chrome und 2560×1440 WQHD unter Linux

Irgendwie sah bei mir unter Chrome die Schrift bei meinem neuen Monitor mit WQHD Auflösung (2560×1440) sehr verwaschen aus. Das Problem trat allerdings nur unter Linux auf und evtl. auch nur im Multimonitorbetrieb. Eventuell liegt das am proprietären Nvidia Treiber den ich nutze, habe ich jetzt aber alles nicht ausgiebig getestet. In jedem Fall hier die Lösung:

Bei mir schaut der Befehl um Chrome zu starten wie folgt aus:

chromium --force-device-scale-factor=0.75

Um das richtige Verhältnis rauszufinden muss man ein wenig rechnen. Die erste Zeile ist die aktuelle Pixelbreite des Monitors geteilt durch die FullHD Pixelbreite. Diese Teilen wir durch eins und haben das Verhältnis, welches wir an den Chrome Startbefehl anhängen.

2560 / 1920 = 1,3333333....
1 / 1.3333 = 0,75...

Anschließend Chrome mit dem obigen Befehl starten, und die Schriften sollten wieder knackig scharf und korrekt skaliert sein mit 2560×1440 WQHD. Warum hier Chrome so rumzickt weiß ich nicht, allerdings hat mir das Archlinux Wiki auf die Sprünge geholfen. Ich vermute, dass Chrome irgendwie von FullHD ausgeht und die WQHD Auflösung nicht korrekt erkennt. Eigentlich sollte der Device Scale Factor ja immer 1 sein aber nunja.

Hier aber noch 2 Bilder zum vorher / nachher Vergleich.

Den Monitor, einen Dell U2515H, kann ich übrigens uneingeschränkt empfehlen! Da mir 4K im Alltag noch zu unpraktisch ist und 27″ zu groß, waren 25″ und 2560×1440 WQHD ideal. Farbwiedergabe, Schwarzwert, etc. sind auch top und mit ca. 300€ ist er sogar günstiger als ich es bei der Leistung erwartet hätte.

OpenELEC auf Raspberry Pi 2: Anleitung & Test

Nach langem Warten gab es endlich den Raspberry Pi 2 zu kaufen. Ich habe ihn direkt am Erscheinungstag bestellt und am Tag der Anlieferung gab es bereits eine lauffähige Version von OpenELEC.

Wer OpenElec noch nicht kennt, der kann sich genauere Infos zum MediaCenter auf deren Seite ansehen. Kurzgesagt ist es eine MediaCenter Distribution, die auf dem Pi (und anderen Systemen) lauffähig ist und auf Kodi (ehemals XBMC) basiert. Durch starke Optimierung lief OpenElec schon auf dem Pi erster Generation erstaunlich flüssig. Ab und an gab es im Menu zwar mal kleine Ruckler und die Indexierung der Medien bei der Datenbankerstellung dauerte auch etwas, aber das Wichtigste funktionierte einwandfrei und ohne Hakler: Videos in FullHD schauen.

Deshalb war ich insbesondere gespannt wie sich der neue Raspberry Pi 2 mit OpenElec schlägt. Kaufen könnt ihr den neuen PI beispielsweise hier.

Installation

Die Installation war gewohnt einfach. Einfach das richtige Image (ARMv7) von der Downloadseite runterladen und unter Linux per DD auf die SD Karte ziehen (detaillierte Anleitung).

Es funktioniert übrigens NICHT, einfach die alte SD Karte auf eine microSD zu klonen! Die Images für den Raspberry 1 und Raspberry 2 sind unterschiedlich und deshalb nicht direkt kompatibel.

OpenElec Einstellungen exportieren & importieren

Sämtliche Daten die ich über OpenElec wiedergebe liegen bei mir auf meinem kleinen Homeserver. Da die Einrichtung aller Einstellungen und Dienste doch recht nervig ist, habe ich bei der Gelegenheit auch direkt mal den Export ausprobieren. Dabei werden sämtliche Einstellungen, Datenbank, etc. in eine Datei exportiert. Diese kann man anschließend auf die neue SD Karte kopieren. Man geht einfach in die OpenElec Systemeinstellungen und erstellt zunächst ein Backup. Dieses zieht man anschließend auf die neue microSD Karte und zwar idealerweise in den gleichen Ordner, in dem es sich auf der alten SD Karte befand. Dann einfach die neue microSD im RaspPi2 booten, in den Optionen auf wiederherstellen gehen und das passende Backup auswählen.

Das Wiederherstellen dauert ein paar Minuten und ist erst nach einem Reboot vollständig. OpenElec meldet sich aber wenn es neugestartet werden will, also einfach den Anweisungen folgen. Beim Neustart sollten dann nach ein wenige Wartezeit alle Einstellungen, Themes, Datenbank etc. wieder da sein.

Performance von OpenElec auf dem RasPi2

Nun aber zum Wichtigsten: Der Performance. Diese ist im Vergleich zum Pi 1 auf dem Papier enorm gewachsen und OpenElec läuft nun wie geschmiert. Absolut keine Ruckler mehr im Menu und man kann nun problemlos auch aufwendigere Themes verwenden. Auch das Starten von Videos oder Suchen von Untertiteln geht nun eine ganze Spur flotter vonstatten.

Insgesamt lohnt sich das Update meiner Meinung nach enorm. Der Preis ist quasi gleich geblieben und man bekommt dafür eine extrem gesteigerte Leistung, sowohl auf dem Papier als auch in der Praxis.

Falls ihr den Pi 2 kaufen wollt, könnt ihr ihn hier bestellen.

Bilder verlustfrei komprimieren unter Linux

Viele Webworker dürften das Problem mit Bildern kennen. Irgendwie dauert die wenn möglich verlustfreie Komprimierung und das entfernen der Exif Daten dann doch länger oder kommt zu kurz. Ich habe mir jetzt vorgenommen künftig noch mehr darauf zu achten und bin auf die idiotensichere Lösung Trimage gestoßen.

Das Tool ist Open Source, für allerlei Plattformen verfügbar und kann genau eine Sache: Bilder im Format JPG oder PNG lossless zu komprimieren und auf Wunsch von sämtlichen Metadaten befreien.

Die Oberfläche ist bewusst simpel gehalten um ideal in den persönlichen Workflow eingebaut werden zu können. Außerdem kann das Tool auch prima übers Terminal angesteuert werden. Unterstützt werden JPGs und PNGs. Mehr brauche ich in 95% der Fälle nicht, insofern finde ich den KISS ansatz perfekt!

Webbasiert JPGs/PNGs verlustfrei komprimieren

Alternativ gibt es einige webbasierte Tool, wenn man keine Lust hat etwas zu installieren oder an fremden Rechnern sitzt. Mir am besten gefallen hat dabei https://compressor.io/.

Ist auch total fancy mit hipper .io URL…

Mit functions.php Code in Child Themes einfügen

WordPress bietet schon seit langem die Möglichkeit von Child Themes und man sollte es sich eigentlich zur Angewohnheit machen, direkt zu Beginn eins anzulegen. Man spart sich viel Stress und hat eigentlich nur Vorteile.

Will man bei einem Theme beispielsweise eine Datei verändern, kopiert man sie sich ins Child Theme und modifiziert wie gewünscht. Da diese nun priorisiert wird, werden die Modifikationen angezeigt.

Was aber nun, wenn man nur ein paar wenige Codezeilen in einem bestimmten Bereich einfügen will, z.B. im Header. Bei mir kommt das häufiger vor und es nervt gewaltig bei Theme Updates erst nachzusehen, ob die von mir modifizierte Datei auch geändert wurde und ich diese Änderungen dann ins Child Theme übernehmen muss.

Code irgendwo per functions.php einfügen

Praktischerweise gibt es dafür eine einfache Lösung: Mittels functions.php kann man vorhandene Funktionen deaktivieren bzw. neue einfügen. Also auch eine Funktion die in einem bestimmten Bereich ein wenig HTML injeziert.

Eine rudimentäre functions.php, welche Code in den Header einfügt sähe dann beispielsweise so aus:

<?php
add_action('wp_head', 'inject_wp_head');
function inject_wp_head(){
 ?> 
 <meta name="theme-color" content="#db5945">
 <?php 
}
?>

In diesem Beispiel füge ich ein Meta Tag für die mit Android Lolipop eingeführten Theme Colors ein. Nette Spielerei und jetzt habe ich den Code zum direkt kopieren auch endlich hier ;-)

Piwik 2.0 mit neuem Design erschienen

Das Webanalyse Tool Piwik ist nun in Version 2.0 verfügbar. Es ist einer meiner Lieblingstools und das Update bohrt insbesondere die Optik gehörig auf.

Piwik ist ein Open Source Webanalyse Tool und bietet ungefähr die gleiche Funktion wie Google Analytics. Allerdings kann man es auf einem eigenen Server laufen lassen. Dies hat meines Erachtens mehrere Vorteile. Erstens macht man sich nicht von Google abhängig und wirft zweitens Google nicht noch mehr Daten in den Rachen. Man behält einfach ein wenig mehr Kontrolle über die eigenen Daten.

Ich persönlich nutze Google Analytics mittlerweile überhaupt nichtmehr für meine eigenen Projekte und empfehle es Kunden auch gerne weiter. Analytics ist zwar bei der initialen Aufsetzung einfacher (Code einbinden und fertig), allerdings läuft dies bei Piwik sobald es aufgesetzt ist, nicht wirklich anders und die Installation selbst ist auf dem eigenen Server auch in wenigen Schritten erledigt.
Read More…

Nexus 5 LED konfigurieren auf per App Basis

Seit einer knappen Woche ist das Nexus 5 nun auf dem Markt und was mich bei der täglichen Benutzung etwas gestört hat, waren die mangelnden Konfigurationsmöglichkeiten der Benachrichtigungs LED.

Die LED blinkt beim Nexus 5 zwar sobald eine Nachricht per Whatsapp, Hangout oder Gmail reinkommt, allerdings immer nur in weiß und alle 15 Sekunden. Finde ich persönlich etwas unglücklich gelöst, da man genau in der Sekunde in der es blinkt aufs Gerät gucken müsste.

Nach kurzem Suchen, stellte ich fest, dass man da mit Bordmitteln auch leider nicht wirklich etwas dran ändern kann. Das finde ich schade, vor allem, da die LED einerseits in allen möglichen Farben blinken könnte und andererseits es ja wohl möglich sein muss einen anderen Blinkintervall einstellen zu können.

Konfiguration per LED Blinker

LED Blinker Pro - KonfigurationNach kurzer Recherche fand ich verschiedene Apps, mit denen die Konfiguration möglich sein soll. Meine Wahl fiel auf LED Blinker. Diese App hatte die besten Bewertungen und es gab auch eine Lite Version, mit der man zunächst ausprobieren konnte, ob die Hardware auch unterstützt wird. Außerdem gab es bereits einige Kommentare, in denen andere Besitzer des Nexus 5 die korrekte Funktion bestätigten. Für einige Leute mag sicherlich auch interessant sein, dass die App im gegensatz zu den meisten anderen kein Root benötigt.

Also App installiert, ausprobiert, ging eindwandfrei. Da man in der Free Version nur einige vorgegebenen Apps konfigurieren kann, habe ich mir direkt die Pro Version für 1,69 € gekauft. Ich denke es lohnt sich, da es definitiv einen Mehrwert bietet und der Preis halbwegs moderat gewählt ist. Beim ersten Start weist die App übrigens darauf hin, dass man in den Bedienungshilfen den LED Blinker Service aktivieren muss. Unbedingt machen, sonst funktioniert die App nicht. Ich musste das Gerät danach außerdem kurz neustarten. Seitdem funktioniert aber alles prima.

Anschließend habe ich dann direkt verschiedene Farben und einen Intervall für WhatsApp, Hangouts und Co. konfiguriert und keinerlei Probleme festgestellt. Ein Intervall von einer Sekunde ist kein Problem und funktioniert hier einwandfrei. Dauerhaftes leuchten scheint nicht zu gehen, würde ich aber so oder so nicht benutzen. Stört mich soweit nicht, aber der Vollständigkeit halber möchte ich es mal erwähnen.

Auch sehr nett fand ich die Möglichkeit für bestimmte Ereignisse (Akku voll geladen, Akku fast leer, etc) zu konfigurieren. Bei mir blinkt das Handy nun grün, sobald der Akku voll ist. Klar, ist eine Spielerei aber eine durchaus sinnvolle. Sollte die Nutzung nicht negativ auf den Akku schlagen, werde ich definitiv dabei bleiben.

Hier noch die Links zu den beiden Apps im Playstore:

LED Blinker Benachrichtigungen
LED Blinker Benachrichtigungen
Entwickler: Mario Ostwald
Preis: 3,99 €

LED Blinker Benachrichtigungen
LED Blinker Benachrichtigungen
Entwickler: Mario Ostwald
Preis: Kostenlos

DPI / Density ändern unter Android (und wozu das Ganze)

Ich werde mal darauf eingehen, wie man unter Android 4.4 die DPI / Density verändert und warum man das machen kann/soll bzw. es sinnvoll ist. Nach dem ersten Einschalten meines neuen Nexus 5 kam mir alles doch extrem groß vor. Sowohl Schrift als auch Icons etc.

Ich hatte vorher Slimbean auf meinem Galaxy S2 und bin seitdem auf den Geschmack einer modifizierten Density gekommen. Auch wenn ich später wieder auf CyanogenMOD gewechselt bin, hab ich dort dann anschließend direkt die DPI angepasst. Dort war der Wert meiner Wahl 180 wenn ich mich richtig entsinne.

Auf den folgenden Screenshots könnt ihr den Unterschied sehen. Die Änderung gilt Systemweit. Unter anderem hat dies den Vorteil, dass einfach mehr Platz auf dem Bildschirm ist. So werden beispielsweise auch bei Webseiten oder im Feedreader mehr Inhalte angezeigt. Bisher konnte ich keinerlei Inkompatibilitäten bei Spielen oder sonstigen Apps feststellen.

Bei meinem Galaxy S2 war das nicht ganz so einfach. Dort musste man den Playstore patchen bzw. das xposed Framework mit Market Modul laufen lassen. Auch kein Problem, man muss es nur wissen. Beim Nexus 5 konnte ich so Probleme glücklicherweise bisher nicht beobachten. Zum Glück, denn das Framework ist bisher leider noch nicht auf KitKat portiert.

Doch hier nun die Screenshots:

Nexus 5 mit modifizierter DPI (360)

Da ich das Gerät beim erstellen der Screenshots schon mehr oder fertig eingerichtet habe, ist hier auf den ersten beiden Screenshots der Nova Launcher zu sehen.

Allerdings habe ich zur besseren Vergleichbarkeit noch ein paar Screenshots vom Original Launcher gemacht

Nexus 5 mit Default DPI (480)

Hier nochmal der Original Launcher mit den Default DPI Einstellungen:

Wie stellt man die DPI bei Android um?

Nachdem ihr nun die Auswirkungen kennt, hier mal die Anleitung wie man es geht. Wichtig ist: Ihr braucht ein gerootetes Smartphone. Wenn ihr das aus welchem Grund auch immer nicht haben wollt, geht es definitiv nicht. Sollte euer Phone bereits gerootet sein habt ihr mehrere Möglichkeiten.

Falls ihr bereits Erfahrung mit so Dingen habt:

  • /system per beispielsweise Root Explorer read/write mounten
  • die build.prop mit einem Text Editor öffnen
  • bei folgenden Eintrag den gewünschten Wert umändern: ro.sf.lcd_density 480
  • /system wieder read only mounten
  • Neustarten

Falls ihr keine Ahnung habt, installiert ihr einfach die App texdroider_dpi. Dieser gewährt ihr Root Rechte und ändert den Wert einfach auf auf was ihr haben wollt. Im Endeffekt hilft einfach ausprobieren. Ich mag es mit 360 und größerer Übersicht sehr gerne. Vielen dürfte das allerdings etwas zu klein sein. Falls ihr noch Fragen habt oder sonst etwas loswerden wollt schreibt mir einfach eine Nachricht oder hinterlasst einen Kommentar.

Hier noch der Link zur App:

Texdroider DPI
Texdroider DPI
Entwickler: Matteo Pastorino
Preis: Kostenlos

Die Änderung der DPI funktioniert so übrigens logischerweise nicht nur auf dem Nexus 5 sondern auf allen Android Smartphones. Allerdings müsst ihr je nach Displaygröße und Auflösung andere Werte nehmen.

Disclaimer: Ich übernehme keine Haftung für eventuell entstandene Schäden am Gerät in irgendeinster Weise. Sowohl durch das Rooten als auch ändern der Build.prop, könnt ihr euer Gerät unbrauchbar machen oder in einen Bootloop schicken. Mir ist keins davon passiert, aber ihr solltet Ahnung von der Materie haben, bevor ihr unbedarft an eurem Gerät rumbastelt!

LTE Speedtest in Darmstadt mit dem Nexus 5

Nexus 5 - LTE Speedtest DarmstadtDa ich gerade mein neues Nexus 5 bekommen habe und nun auch über so einen schicken Tarif mit LTE verfüge, hier mal ein kurzer Speedtest im Darmstädter LTE Netz. Muss sagen ganz schön flott… Allerdings irgendwie auch dämlich, dass man sein monatliches Volumen (wenn man es darauf anlegte) innerhalb weniger Minuten leergesaugt hätte ;-)

Die durchschnittliche Ladezeit diverser Webseiten finde ich aber beeindruckend flott über LTE. Hab jetzt keine Messungen mit vorher/nachher veranstaltet, aber subjektiv laden Webseiten um einiges schneller wenn man guten LTE Empfang hat. Gerade die Reaktionszeit war gut.

Qualität des LTE Netzes und Ergebnis

Im LTE Netz hatte ich wie man sieht knappe 16mbit Down und 3mbit Up und einen für Mobilfunknetze ziemlich netten Ping von unter 40. Dürfte ungefähr einem DSL 16000 Anschluss entsprechen. Zwar weit entfernt von der propagierten theoretischen Maximalleistung von LTE, aber für den normalen Alltagsgebrauch mehr als ausreichend. Muss sagen hatte auch bei 3G/HSDPA nicht das Gefühl zu langsam versorgt zu werden.

Den größten Unterschied hier hab ich bemerkt, nachdem ich von O2 zu Congstar ins D1 Netz gewechselt bin. Die subjektive Geschwindigkeit über 3G Netze hat hier enorm zugenommen nach meinem Wechsel. Gerade an höher frequentierten Orten wie beispielsweise dem Frankfurter Hbf, konnte man im O2 Netz eine stabile Verbindung dank Überlastung vergessen…

Vergleich: LTE vs. Unitymedia 50k

Nexus 5 - Wlan Speedtest Hab spaßeshalber noch einen Speedtest in meinem Heimnetz gemacht. Allerdings dürfte hier das Wlan den Downstream etwas limitieren.

Irgendwie schon traurig zu sehen, dass man mittlerweile im Handynetz schnelleren Upstream hat, als im Hausnetz. Da dürften die Provider endlich mal was tun. Es nervt einfach gewaltig bei den heutigen Datenmengen mit 250kb/s Bilder oder Videos hochzuladen!

1 2  Scroll to top