Skip to content

Lesetagebuch 2014

Die Tradition des Lesetagebuchs hat mich auch im vergangenen Jahr 2014 begleitet, in dem ich mir verschiedentlich, sozusagen blockweise, einmal wieder mehr Zeit zum Lesen genommen und den Stand von 2011 ein-, nein, sogar überholt habe:

  • im Jahre 2014 gelesene Bücher: 66 (2013: 35)
  • im Jahre 2014 gelesene Seiten: 25.169 (2013: 12.694)
    (davon 11.101 deutsche und 14.068 englische)

Insofern habe ich im Schnitt mehr als ein Buch pro Woche “geschafft”; nicht unerheblich mitgewirkt hat dabei freilich mein Erwerb eines Kindle Paperwhite im Juli diesen Jahres. So sind von den 66 Büchern immerhin 24 E-Books gewesen (also gut 35%, mit 6.806 von 25.169 Seiten, also nur gut 25% der gelesenen Seiten - zumindest die von mir gelesenen E-Books sind also kürzer als die konventionellen “Schmöker”).

Mit insgesamt 16 Büchern war Karen Rose die 2014 am meisten gelesene Autorin (ich dürfte damit alle von ihr verfügbaren Bücher gelesen haben), gefolgt von Mercedes Lackey mit 10 Büchern - von Lackey habe ich schon vor Jahren etliche Bücher gelesen und war dann irgendwie davon abgekommen; jetzt bin ich mit einigen ungelesenen Büchern von meinem großen Stapel wieder eingestiegen und habe dann die jeweiligen Serien entsprechend ergänzt. Einige Bücherbestellungen sind dabei auch erst einmal wieder auf dem Stapel gelandet. Dazu kam schließlich noch einige leichte (Kindle-)Kost von Katharina Peters (4 Bücher) und Elke Bergsma (7 Bücher), und natürlich diverse Einzelwerke, namentlich regionale Krimis und der “Gibraltar”-Zyklus von McCollum.

Zum Lesen der von mir bestellten zwei oder drei Werke von Ian Rankin bin ich 2014 nicht gekommen; die Bücher liegen noch auf dem Stapel, genau wie einige Bücher von Karin Slaughter, Inge Löhning, ein paar dicke Wälzer von Ken Follett sowie eine ganze Reihe Bücher von John Scalzi, die ich dieses und letztes Jahr gesammelt habe. Für 2015 bin ich also bereits gut mit Lesestoff versorgt. :-)

Frühere Lesetagebücher:

Alle vier Jahre wieder ...

Verbandmittel
Ein fast vollständiger Stapel von Austauschmaterial.

Nach vier Jahren ist es wieder einmal soweit: rechtzeitig vor dem Verfall werden Verbrauchsmaterial (Medizinprodukte) und Arzneimittel umgewälzt. Das kommt angesichts einer üblichen Haltbarkeit von fünf Jahren im vierjährigen Rhythmus offensichtlich ganz gut hin.

Google Calendar ausdrucken

Wie ich bereits vor 2 Monaten berichtet hatte, nutze ich den Kalender von Google, benötige aber auch “Ausdrucke” (richtiger: PDF-Fassungen) meiner Termine. Bislang hatte ich dazu Outlook genutzt, das die Daten aus dem Google-Kalender importieren kann, aber diese Möglichkeit fällt seit der Neuinstallation meines Laptops weg, weil ich - wenn möglich - nicht nur zum Drucken des Google-Kalenders Outlook installieren (und ggf. kaufen …) möchte.

Also benötige ich jetzt eine neue Lösung zum Drucken meines Kalenders (unter Windows, ersatzweise auf einer Linux-Shell) … und das erweist sich als überraschend schwierig. Dabei sind meine Anforderungen gar nicht so groß:

  • Auch längere Terminsbeschreibungen sollen - durch Zeilenumbruch - im Ausdruck lesbar bleiben.
  • Es sollen beliebige Zeiträume (jeweils ganze Wochen) auf eine Seite gedruckt werden können, also bpsw. 4-5 Wochen ab heute, auch wenn diese Wochen in verschiedenen Monaten liegen.

Optional wäre es noch nett, wenn …

  • … der Ausdruck einigermaßen ansehnlich ist, vielleicht sogar dem Druckergebnis von Outlook nahekommt.
  • … die farbige Kennzeichnung der Termine aus dem Google-Kalender übernommen wird.
  • … neben der Startzeit eine Dauer oder die Endzeit gedruckt werden kann.
  • … verschiedene Google-Kalender gedruckt werden können.

Google selbst ermöglicht natürlich den Kalenderdruck, scheitert aber an beiden zwingenden Anforderungen. Weder gibt es einen Zeilenumbruch - was zur Wahl zwischen “unlesbar kleiner Schrift” und “abgeschnittenen Terminsbeschreibungen” führt - noch können freie Zeiträume auf eine Seite gedruckt werden. Es ist zwar möglich, bspw. die letzten beiden Dezember- und die ersten Januar-Wochen zu drucken; die finden sich dann aber zwingend nach Monaten getrennt auf zwei Seiten. Dafür scheint es auch nicht wirklich eine Lösung zu geben.

Also habe ich mich frohgemut zur Google-Recherche aufgemacht. So schwer sollte das ja nicht sein, schließlich muss ich nicht direkt aus dem Google-Kalender drucken können; mir genügt eine Applikation, die sich mit dem Google-Kalender synchronisieren lässt oder wenigstens ICAL- (oder XML-) Dateien einlesen kann und dann entsprechende Ausdrucke ermöglicht.

"Google Calendar ausdrucken" vollständig lesen

Wechsel meines GPG-Schlüssels

Vor mehr als 15 Jahren habe ich mir - damals noch ausschließlich unter Windows - den ersten eigenen PGP-Key erstellt. Einige Jahre später habe ich diesen alten Schlüssel dann für alle praktischen Zwecke durch einen neuen Key ersetzt. Hanno hat mich jetzt dieser Tage daran erinnert, dass besagter aktueller GPG-Schlüssel ja nun auch schon wieder 10 Jahre alt ist und überdies von der Art und Länge her nicht mehr dem heutigen Standard entspricht.

Also ersetze ich meinen bisherigen Schlüssel:

  pub   1024D/144793AD 2004-10-01
    Key fingerprint = 74A6 8BEE C744 D06C 77D9  BFF5 0F23 6046 1447 93AD

ab sofort durch folgenden neuen Schlüssel:

  pub   4096R/04777287 2014-12-27 [expires: 2024-12-24]
    Key fingerprint = 0276 6D9A CBB6 7FC3 0CBD  93F8 64F6 2D3B 0477 7287

Der alte Schlüssel bleibt noch eine Zeit lang gültig; ich bitte aber darum, nur noch den neuen Schlüssel zu verwenden. Dieser steht auf den Keyservern und auf meiner Webseite unter http://th-h.de/download/0x04777287.asc zum Download bereit.

Außerdem gibt es ein mit beiden Schlüsseln signiertes Transition statement.

Retry, reboot, reinstall?

In den letzten Jahren habe ich im Schnitt alle drei Jahre einen neuen Laptop eingerichtet. Mal war das bisherige Modell uralt und mit ausgerissenen Scharnieren und ausgelutschten Akkus erneuerungsreif, mal wurde sein Leben durch ein umgekipptes Weinglas vorzeitig beendet, mal war es ein obskures Hitzeproblem, das zu ständigen Hängern führte, mal wollte ich einfach etwas neueres, größeres, schöneres und besseres, obwohl das aktuelle Gerät eigentlich noch ganz in Ordnung war. Insgesamt kam das meistens recht gut aus; wenn der Akku allmählich erste Schwächen zeigte, wenn das System gefühlt immer langsamer lief - aus welchen Gründen auch immer -, stand ein Austausch an.

Nachdem mein aktueller Laptop mittlerweile bereits dreieinhalb Jahre alt ist, der Akku aber zumindest noch einigermaßen frisch erscheint und mich nur der manchmal seeehr langsame Betrieb stört, habe ich mich entschlossen, es diesmal einmal anders zu versuchen und statt eines Neukaufs einfach einmal auf eine Neuinstallation zu setzen. (Angesichts der Tatsache, dass ich gerade letztes Jahr Firefly durch ein Neugerät ersetzt hatte, vielleicht auch keine schlechte Idee.)

Dummerweise dauert so etwas ja immer länger; meine Schätzung, dass die Aktion in einem halben Tag erledigt sein sollte, hat sich - fast schon erwartungsgemäß - als übermäßig optimistisch erwiesen, nachdem alleine Download und Installation der notwendigen Windows-Updates (nach Wiederherstellung der Auslieferungszustands von 2011) vier bis fünf Stunden in Anspruch nahm. :-) Und danach fängt die Neuinstallation notwendiger, angenehmer oder vielleicht auch überflüssiger Software ja erst an …

Inzwischen kann ich aber Vollzug vermelden; Landroval ist jetzt neu installiert und eingerichtet. Gespannt bin ich jetzt vor allem darauf, wie sich denn nun das Laufzeitverhalten darstellt und ob die träge Reaktion wirklich - wie man immer mal wieder lesen kann - an der alten und “vollgemüllten” Windows-Installation lag oder an anderen Ursachen.

Serendipity 2.0-rc2

Rund vier Monate nach der Installation der dritten Beta-Version von Serendipity 2.0 steht nun der erste (bzw. nach der schnellen Behebung eines kritischen Fehlers direkt der zweite) Release-Candidate zur Verfügung - sozusagen als kleines Weihnachtsgeschenk. :-)

Nach kurzem Test in meinem, nun ja, Testblog, setze ich diese Version jetzt auch direkt hier auf Netz - Rettung - Recht ein. Etliche (vor allem kleinere, teilweise aber auch nervige) Fehler wurden noch behoben (so zum Beispiel das Problem der ständig im Editor auftauchenden “Sicherheitskopien” älterer Eintragsentwürfe), einiges neu gestaltet (so die Auswahl der Kategorien und Tags und, sehr praktisch, ein Umschalter zwischen “Entwurf” und “Veröffentlichung” direkt beim “Speichern”-Button), und bisher bin ich sehr zufrieden.

Mal gucken, was sich noch an kleinen angenehmen Neuerungen - und vielleicht auch an verbliebenen Ecken und Kanten - findet. Ich bin gespannt, würde aber den Release-Candidate bereits jetzt empfehlen. (Klar, eine Sicherung der Dateien und der Datenbank (!) ist vor dem Update geboten.)

Ich hoffe, dass ich über die Weihnachtstage oder irgendwann im nächsten Jahr auch wieder einmal dazu komme, die Entwicklung näher zu verfolgen; einige kleine Kommentare und Bug-Reports haben sich noch angesammelt, die ich aber erst einmal reproduzieren und formulieren muss. Aber mit 2.0 soll die Entwicklung ja nicht beendet sein. ;-)

"Serendipity 2.0-rc2" vollständig lesen

htmlspecialchars(), PHP 5.4 und eine leere Ausgabe

Erst dachte ich, es liegt an mir - ich bin eben kein “Softwareentwickler”, sondern Dilettant (wie ich hoffe, im ursprünglichen Sinne). Nachdem jetzt aber auch ein Projekt wie Serendipity davon “gebissen” wurde, lohnt es sich vielleicht doch, ein paar Worte dazu zu schreiben, die anderen eine lange Google-Recherche ersparen.

Kurzum: Wenn nach einem PHP-Update (bspw. von Debian Squeeze mit PHP 5.3.3 auf Debian Wheezy mit PHP 5.4.35) Webapplikationen plötzlich verrückt spielen und Texte verschwinden, liegt das an einem geänderten Default der PHP-Funktion htmlspecialchars().

Die Langfassung

Nach einem Update meines Servers auf das aktuelle Debian Anfang diesen Jahres stellte ich fest, dass u.a. bei votetakers.de manche Teile der Seite einfach verschwunden waren. Eine genauere Betrachtung ergab, dass es sich dabei exakt um solche Teile handelte, die (a) dynamisch generierte Inhalte enthalten, aus denen mit der Funktion htmlspecialchars() unerwünschter HTML-Code entfernt wird (indem <> in &amp;lt;&amp;gt; umgewandelt wird), und bei denen (b) im entsprechenden Text Umlaute vorkamen.

Nach erster Ratlosigkeit stellte ich fest, dass die einzige Änderung an dieser Funktion zwischen PHP 5.3 und PHP 5.4 der geänderte Default für den verwendeten Zeichensatz war. Vollständig besteht der Aufruf von htmlspecialchars() nämlich nicht nur in der Übergabe des zu konvertierenden Textes in der Art htmlspecialchars('Ich bin ein Tästtext!'), sondern enthält u.a. auch noch Flags und das Encoding:

  1. string htmlspecialchars ( string $string [, int $flags = ENT_COMPAT | ENT_HTML401 [, string $encoding = &#8216;UTF-8&#8217; [, bool $double_encode = true ]]] )

Dabei hat sich der Default von ISO-8859-1 auf UTF-8 geändert:

If omitted, the default value of the encoding varies depending on the PHP version in use. In PHP 5.6 and later, the default_charset configuration option is used as the default value. PHP 5.4 and 5.5 will use UTF-8 as the default. Earlier versions of PHP use ISO-8859-1. 

Also habe ich testweise alle Aufrufe von htmlspecialchars() im Code ergänzt um passende Flags (zwingend, weil der Parameter im Funktionsaufruf vor $encoding steht und daher mit übergeben werden muss, wenn man $encoding setzen will) und das Encoding ‘ISO-8859-1’ … und danach tat es wieder.

Die Ursache dafür dürfte wohl darin liegen, dass htmlspecialchars() sinnigerweise einen leeren String zurückgibt, wenn der übergebene String - im entsprechenden Encoding - unzulässige Zeichen enthält:

If the input string contains an invalid code unit sequence within the given encoding an empty string will be returned, unless either the ENT_IGNORE or ENT_SUBSTITUTE flags are set.

Das führt dann zum “Verschwinden” der entsprechenden Text-Teile in der Ausgabe. Böse Falle.

Gut, man hätte vielleicht den Funktionsaufruf direkt richtig machen können, und warum das Problem überhaupt auftritt, obwohl die Datenbank als Collation “UTF-8’ hat, weiß ich auch nicht - vielleicht weil die Webseiten als Encoding ISO-8859-1 haben? Wie auch immer: so ist das nicht nett. Und noch weniger nett, dass es (vor PHP 5.6) keine Möglichkeit gibt, einen Default zu setzen, so dass man jeden (!) Aufruf von htmlspecialchars() mit Flags und Encoding “aufpeppen” muss - oder man ersetzt htmlspecialchars() sinnvollerweise direkt durch eine eigene Funktion, wie auch in einem Kommentar zur PHP-Dokumentation geraten wird.

Nachdem ich im März im Blog von Felix Pfefferkorn auf dieses Problem stieß und jetzt auch die Serendipity-Developer den Code kurz vor dem geplanten Release-Candidate noch einmal umkrempeln mussten, ist es wohl an der Zeit, dazu ein paar Worte zu schreiben - offenbar bin ich wenigstens nicht der einzige Dilettant (im besten Sinne, natürlich ;-)).

Nachwort

Ja, ich stehe dazu: ich hasse die Probleme mit Charset-Konversionen, überall - sowohl das unselige Problem der verschiedenen Zeilenende-Markierung in Windows und Unixen als auch Dinge wie das BOM (“Byte Order Mark”) am Anfang einer Textdatei, die dann durch ältere Software nicht mehr geöffnet werden kann, als auch die ganze unselige Hin-und-Her-Konvertiererei, oft ohne dass man der Datei ansehen könnte, welches Encoding sie denn nun genau hat. Am Ende stehen dann “kaputte” Postings, E-Mails oder Webseiten.

Und ich stehe auch dazu, dass ich den Umgang von PHP (und Apache und …) mit Zeichensätzen, insbesondere das Problem, wie man richtig mit Formulareingaben umgeht, einfach bisher nicht verstehe. Aber dazu wollte ich ohnehin bei Gelegenheit mal etwas schreiben.

Navigation: TomTom GO LIVE 1015

Nachdem ich im April schon einmal einen Screenshot meines aktuellen Navis gezeigt hatte, ist mir aufgefallen, dass ich über seinen Erwerb und die damit gemachten Erfahrungen noch gar nichts habe verlauten lassen, weil beides in eine meiner Blogpausen fiel …

Auch hier war ich - natürlich - mal wieder ein Late Adopter; wie bei meinem Smartphone habe ich auch lange Jahre darauf bestanden, dass Navis fürs Auto im wesentlichen überflüssig seien - doch kaum hatte ich 2006 mein erstes Navi erworben, mochte ich es nicht mehr missen. Allerdings muss ich rückblickend sagen, dass das kein wirklich glückhafter Kauf war; ich kann gar nicht mehr zählen, wie oft ich mich über das Navman ICN 530 in den letzten Jahren geärgert hatte. Nicht nur, dass es schon nach dem Kauf keine Karten-Updates mehr gab und das Navi zunehmend Kreuzungen zeigte, wo es schon jahrelang Kreisel gibt, oder man im Freiflug über die Grünflächen unterwegs war, weil es Autobahnausfahrten noch nicht kannte - die Navigation war zunehmend ein extremes Ärgernis, weil nicht nachzuvollziehen. Nach einem besonders ärgerlichen Umweg, der zudem noch durch einen großen Stau führte, so dass wir auf einer Strecke von weniger als einer Stunde Fahrtzeit mehr als eine Stunde Verspätung sammelten, hatte ich zwar nicht meine Drohung wahr gemacht, das Ding von der nächsten Talbrücke in die Tiefe zu werfen, aber doch beschlossen, nunmehr umzusteigen.

Flugs war so im November 2011 ein TomTom GO LIVE 1015 geordert, und ich muss sagen, ich bin immer noch ausgesprochen zufrieden damit. Es braucht zwar manchmal etwas Bedenkzeit oder gar - seltener - einen harten Reset, funktioniert aber normalerweise hervorragend, sucht sehr gute, schnelle Routen heraus, und bietet gut verständliche Ansagen und Anzeigen. Dazu kommt eine Vielzahl von Zusatzfunktionen (die teilweise nach der Anfangszeit gegen Bezahlung nachzubuchen sind); dass man seine Ankunft auf Twitter veröffentlichen kann, ist für mich jetzt nicht so die Killer-Applikation, aber der Abruf von Stauinformationen - nicht nur auf Autobahnen und Bundesstraßen, sondern auch in größeren Städten, die diese Daten verfügbar machen - mit der Möglichkeit, eine Ersatzroute auszuwählen, ist ganz, ganz großartig. Zudem sind die Ankunftsschätzungen gut (eher leicht zu großzügig, wenn man wie ich doch zumeist zügig unterwegs ist, aber nicht wie beim Navmann viel zu großzügig und realitätsfern), und es gibt zudem nach Herzenslust Spielereien, die man nutzen kann. Praktisch sind insbesondere die Suche nach einem Parkplatz in Zielnähe und die einfache Möglichkeit, Favoriten zu speichern, aber auch die Möglichkeit, Kartendaten - wie die zulässige Höchstgeschwindigkeit - zu aktualisieren.

Obschon mein neues Gefährt nun auch ein eingebautes Navigationssystem hat, ziehe ich doch zumeist weiterhin mein treues GO LIVE vor; die Qualität der Routenauswahl und die Zeitschätzungen ist deutlich höher und die Karte zudem viel einfacher mit einem schnelle Seitenblick aufzunehmen.

Kurzum: drei Jahre nach dem Kauf bin ich immer noch begeistert - wohingegen ich drei Jahre nach dem Kauf meines Navmann das erste Mal überlegt habe, ob ich es nicht besser von der Brücke werfen sollte. :-)

Winterputz: Newsletter

“Information overload” ist im Netz kein ganz neues Thema. Dazu gehört auch die Vielzahl von Newslettern und Mailinglisten, die regelmäßig die Inbox verstopft und selten bis nie gelesen wird. Wie schnell ist ein interessant klingender Newsletter abonniert, oder vielleicht ist das Abonnement auch mit der Anmeldung bei einem Dienst verknüpft, und man will dann erst einmal auf dem Laufenden bleiben - abmelden kann man sich ja immer noch. Und will man wirklich das Risiko eingehen, ein interessantes Angebot zu verpassen?

Bereits vor rund zwei Jahren, im Januar 2013, hatte ich mir aber einmal ein Herz gefasst und rund drei Dutzend (!) Newsletter abbestellt. Keinen habe ich seitdem wirklich vermisst, aber natürlich sind etliche geblieben und mittlerweile weitere dazugekommen.

Nun habe ich bereits viele Monate lang beobachtet, dass ich alle (!) eingehenden Newsletter nur noch automatisch oder manuell in den entsprechenden Ordner verschiebe und sie weder zeitnah noch überhaupt je lesen. Insofern erscheint mir der richtige Zeitpunkt gekommen, einmal das letzte Quartal in diesem Ordner durchzugehen und konsequent jeden Newsletter abzubestellen, bei dem ich mir nicht sicher bin, ob ich ihn im kommenden Vierteljahr lesen werde - dann was bringt es, interessante Informationen und Sonderangebote zu erhalten, wenn man ohnehin die ganze Masse nicht liest? Diesmal waren es knapp vier Dutzend (!) Newsletter, die ich ab sofort nicht mehr beziehen werde. Vielleicht erlaubt mir das dann ja, den verbleibenden Rest ab und zu auch einmal wirklich anzuschauen.

(Als nächstes steht dann ein kritischer Blick auf die abonnierten Mailinglisten an, denn auch dort gibt es mehrere, die ich seit Jahren (!) nur noch regelmäßig auf gelesen setze. Wobei in diesem Fall ja wenigstens noch das Argument greift, dass ein lokales Archiv von Supportmailinglisten u.ä. es erlaubt, im Falle eines auftretenden Problems schnell einen Überblick zu gewinnen, was dazu bereits von anderen geschrieben wurde, ein Mehrwert, den Newsletter nicht zu haben pflegen.)

Meine Plugins für Wordpress

Nachdem ich meine Erfahrungen mit Serendipity-Plugins schon geschildert habe, nun eine kurze Darstellung der Wordpress-Plugins, die ich nutze. Da der Markt dort - im Gegensatz zur Lage bei Serendipity - praktisch unüberschaubar ist und ich noch kein besonders erfahrener Wordpress-Nutzer bin, freue ich mich hier natürlich besonders über wertvolle Kommentare und Ergänzungen.

“Meine” Wordpress-Plugins

  • Jetpack von WordPress.com
    Ich glaube, zu Jetpack muss man nicht mehr viel sagen: eine Sammlung gebräuchlicher und weit verbreiteter Plugins.

  • Akismet
    Akismet schützt vor Spam (und dürfte gleichfalls weit verbreitet sein).

  • WP-Optimize
    Das Plug verspricht “Optimierungen” namentlich der Datenbank.

  • Wordfence Security
    Sicherheit soll dieses Plugin bieten; zudem implementiert es einen Caching-Mechanismus.

  • WordPress SEO
    Das Plugin bietet verschiedenste Möglichkeiten zur Search Engine Optimization, bspw. durch Zusammenfassungen für die description im HTML-Header des jeweiligen Blogbeitrags, unter Berücksichtigung dessen, was über Googles Algorithmen bekannt ist.

  • Google XML Sitemaps
    Dieses Plugin erstellt automatisch Sitemaps (also eine Liste aller verfügbaren Seiten und Beiträge), um das Blog für den Google-Bot besser durchsuchbar zu machen.

  • Google Analytics by Yoast
    Eine Schnittstelle zu Google Analytics, die auch die notwendigen Javascript-Schnippsel in die erzeugten Seiten einfügt.

  • NextScripts: Social Networks Auto-Poster
    Dieses Plugin ermöglicht die Ankündigung von Beiträgen bei Twitter, Facebook und Co.

  • Breadcrumb Trail
    “Brotkrumen-Navigation” für Wordpress

  • dejure.org-Rechtsvernetzung
    Die Dejure.org Rechtvernetzung ist ein externes Plugin, das automatisch Paragraphen und Gesetze sowie Fundstellen von Entscheidungen mit Links in das Angebot von dejure.org versieht. ALternativ kann man auch das Blog-Plugin von buzer.de verwenden, das nicht nur einige der gebräuchlicheren, sondern praktisch alle deutschen Gesetze erkennt, aber dafür keine Entscheidungen verlinken kann.

  • Contact Form 7
    Ein immens mächtiges Plugin zur Erzeugung von Kontaktformularen mit verschiedenen Feldern pp.

  • footnotes
    Nicht jeder wird so lange Beiträge schreiben, dass er dazu ein Plugin zur Verwaltung von Fußnoten benötigt, aber vielleicht ist dieses Plugin doch dem einen oder anderen “Science-Blogger” hilfreich.

  • VG Wort
    Auch dies sicherlich eher ein Nischenprodukt, aber sehr praktisch, ermöglicht es doch auf recht einfache Weise die Erfassung und Verwaltung von “Zählpixeln” der VG Wort im Rahmen des METIS (Meldesystem für Texte auf Internetseiten), und setzt diese Zählpixel vor allem automatisch in Beiträge oberhalb der erforderlichen Mindestlänge ein. Außerdem unterstützt es die Meldung der Beiträge an die VG Wort.

Über die Notwendigkeit von WP JV Custom Email Settings und Set email sender habe ich schon anderweitig berichtet.

Wordpress: Korrekte E-Mails generieren

Blogsysteme müssen regelmäßig E-Mails generieren, sei es an den Blogbetreiber, sei es an Kommentatoren: Informationen über neue Kommentare oder Beiträge, mögliche Updates usw. usf. Das erfordert natürlich das Vorhandensein einer (gültigen) E-Mail-Adresse, die als Absender solcher Mails eingesetzt werden kann.

Serendipity macht es sich einfach und überlässt dem Nutzer die Wahl: die “E-Mail-Adresse des Blogs”, blogMail, ist entsprechend in der Konfiguration zu setzen. Das erlaubt dem Nutzer die freie Wahl, erfordert aber umgekehrt natürlich, dass der Nutzer sich darüber Gedanken macht - andererseits: wie soll das anders gehen?

Die Antwort darauf liefert der Konkurrent WordPress, und sie überzeugt mich nicht: auch WordPress verlangt zwar die Angabe einer E-Mail-Adresse “zu administrativen Zwecke”, setzt standardmäßig als Absender aber die Adresse wordpress@example.com, wobei statt example.com die Domain des Blogs steht. Großartig, wenn eine solche Absenderadresse dann nicht existiert. Außerdem setzt WordPress offensichtlich standardmäßig keinen Envelope-Sender, so dass in der Regel der Benutzer, unter dem der Webserver-Prozess läuft, als solcher eingesetzt wird. Auch an diesen “Absender” in der Form www-data@yourhost.example.com kann man allerdings regelmäßig keine Mail schicken …

Abgesehen davon, dass daraus Probleme mit der Auslieferung der E-Mails entstehen können (Stichworte “Verifikation von Absenderadressen” und “Spamfilter”), ist das auch einfach technisch unschön. Wie also lässt sich das abstellen?

  1. Der Mailserver muss dem PHP-Prozess zunächst einmal erlauben, einen Envelope-From (bspw. via sendmail -f blog@example.com) zu setzen.
    Wenn man - wie ich - Exim einsetzt, muss der entsprechende Benutzer, unter dem der Webserver läuft, zu trusted_users hinzugefügt werden. Man kann sich dabei stundenlanges Debugging sparen, wenn man rechtzeitig daran denkt, dass man via mod_suphp (oder auf ähnliche Art und Weise) PHP-Scripts nicht unter der User-ID des Webservers, sondern unter derjenigen des Benutzers laufen lässt. Dieser Benutzer - und nicht www-data o.ä. - muss dann auch in trusted_users.

  2. Danach muss man WordPress davon überzeugen, den passenden From:-Header zu setzen.
    Das geht über manuelle Änderungen von Konfigurationsdateien oder - einfacher und m.E. auch besser - durch Installation eines passenden Plugins, von denen es eine ganze Reihe gibt. Ich nutze dazu WP JV Custom Email Settings, das mir leichtgewichtig genug erscheint. Stattdessen kann man natürlich auch WP Simple Mail Sender, Personal Email oder etwas ähnliches verwenden, im Extremfall etwas wie WP Mail Options, das den Zugriff auf alle Einstellungen von PHPMailer, dem verwendeten PHP-Modul, eröffnet und insbesondere auch Test-E-Mails generieren kann, was zum Testen ganz praktisch sein mag.

  3. Schließlich muss man in WordPress auch den Envelope-Sender korrekt setzen.
    Das kann, soweit ich sehe, nur das Plugin Set email sender.

Danach funktioniert dann auch in WordPress alles so, wie man sich das eigentlich von Anfang an gedacht hätte.

Wellenreiten 11/2014

Wer als “Websurfer” metaphorisch auf den Wellen des Netzes reitet, findet dabei zwar keine paradiesischen Inseln, manchmal aber immerhin ganz interessante Lektüre.

Im November kann ich u.a. folgende Fundstücke empfehlen und der werten Leserschaft ans Herz legen:

systemd - Die Diskussion im Debian-Projekt

Die Diskussion um das künftige Default-Init-System in Debian hat mittlerweile Formen angenommen, die langjährige Entwickler zum Rücktritt von ihrer Position oder Funktion oder gleich zum Austritt aus dem ganzen Projekt bewegt:

Auf der anderen Seite hat sie einige lesenswerte Texte zum Thema “Umgang miteinander und mit Veränderungen” hervorgebracht:

Presseschau: Skurriles, Schönes und weniger Schönes im Blätterwald

“Vom weißen Hai gefressen” einmal umgekehrt

Rechtssicher nutzbare (freie) Inhalte

Meine Blogroll wächst

Im vergangenen Monat habe ich folgende Blogs neu abonniert: