Skip to content

Tester's Little Helpers

Gestern Abend habe ich im Rahmen des Treffens der PHP User Group Rheinhessen einige Tools, Helferlein und ausgewachsene Frameworks vorgestellt, die Entwickler beim Schreiben von Tests unterstützen können. In den vergangenen Monaten sind nämlich einige in meiner Bookmark-Liste gelandet. Viele dieser Tools sind opinionated, also eigensinnig, was durchaus kontroverse Meinungen in unserer Runde herausforderte.

Wir tauschten uns auch über Best Practices im Bereich Testing aus: Wie wichtig ist eine hohe Code Coverage? Sollten Test Cases im selben Namespace liegen wie die zu testenden Objekte? Wie gehen wir mit Testdaten in Datenbanken um? Sollte unter verschiedenen PHP-Versionen getestet werden (z.B. bei TravisCI)? Ich glaube, jeder konnte etwas vom gestrigen Abend für sich mit nach Hause bzw. mit ins Projekt nehmen.

Weil ich meine Slides relativ kurzfristig zusammengestellt habe, möchte ich sie hier (noch) nicht veröffentlichen. Die von mir gesammelten Tools will ich aber niemandem vorenthalten:

"Tester's Little Helpers" vollständig lesen

Metatron - Ein CLI-Tool für Serendipity

Ich bin seit einiger Zeit der Console-Komponente von Symfony2 verfallen und habe bereits in mehreren Projekten sehr schnell Kommandos in PHP programmieren können, die auf der Shell ausgeführt werden können. Wir nutzen diese zur Administration von Applikationen, zum Generieren von Inhalten oder für regelmäßige Aufgaben von Cron-Jobs.

Im Bereich der Open Source Software sind mittlerweile auch diverse CLI-Tools entstanden, etwa das von Christian Münch initiierte n98-magerun für Magento, WP-CLI für Wordpress oder Drush für Drupal. Warum also nicht auch ein solches Tool für die alternative Blogsoftware Serendipity schreiben?

Gesagt, getan.

Metatron ist jetzt veröffentlicht, befindet sich aber noch im Alpha-Status und sollte keinesfalls produktiv eingesetzt werden. Der Funktionsumfang hält sich noch in Grenzen, aber wir planen, kontinuierlich neue Kommandos hinzuzufügen. Welche das sein werden, können die Serendipity-Nutzer mitentscheiden. Am besten äußert ihr Feature-Wünsche im Serendipity-Forum oder als Issue auf GitHub (mit dem Tag "enhancement").

"Metatron - Ein CLI-Tool für Serendipity" vollständig lesen

Fußballstadien als GeoJSON auf Github

Seit gestern unterstützt Github das offene GeoJSON-Format zur Repräsentation von Geodaten. GeoJSON-Dateien werden nun mittels Leaflet direkt auf einer Landkarte angezeigt. Mit Leaflet selbst ist das zwar auch sehr einfach zu bewerkstelligen, aber in Github funktioniert alles völlig automatisch.

GeoJSON-Darstellung auf Github
So sieht die gerenderte GeoJSON-Datei auf Github aus.

Um mit dem neuen Feature und überhaupt mit GeoJSON herumzuspielen, habe ich ein neues Repository angelegt und angefangen, Fußballstadien in GeoJSON abzulegen. Genauer: Die Stadien der Vereine, die kommende Saison in der Regionalliga Südwest spielen (Herzlich Willkommen, OFC ;P). Das Ganze ist nur eine Spielerei, aber natürlich sind Interessierte eingeladen, das Repo zu forken und zu ergänzen ;-)

Die Daten für die Bundesländer habe ich übrigens im Repo deutschlandGeoJSON gefunden. Weitere hilfreiche Tools beim Erstellen der Liste waren neben der Wikipedia und Openstreetmap vor allem der GeoLocator und GeoJSONLint.

Kurzes Update: Die Vector Tiles der interaktiven Karten werden von MapBox geliefert, die einen ausführliche Artikel zu den neuen Github-Karten veröffentlicht haben. Außerdem bieten sie ein Geocoding-Script für Google Spreadsheets an.

30 Jahre Waldhof Mannheim

Am 21. Mai 1983, also heute vor genau 30 Jahren, nahm mich mein Vater zum ersten Mal1 mit an den Alsenweg, ins Stadion des SV Waldhof Mannheim, der damals auf dem Weg in die Bundesliga gegen den VfL Osnabrück spielte - und 3:0 gewann. Mir ist noch die Schlitzohrigkeit des "kleinen" Fritz Walter im Gedächtnis, der dem Osnabrücker Schlussmann einmal den Ball aus den Fingern spitzelte und ins leere Tor schob. Der Treffer wurde allerdings nicht gegeben ;-)

Der Kader des SV Waldhof Mannheim im Jahr 1982

Unter dem umstrittenen Trainer Klaus Schlappner schafften die Waldhof-Buben, von denen viele aus der eigenen Jugend kamen, das Wunder Waldhof. Es folgten sieben Jahre Zugehörigkeit zur Bundesliga und beinahe ein europäischer Auftritt nach einem 6. Platz 1984/85.

Am 5. Mai 1990, damals wieder am Alsenweg nach langjährigem Gastspiel in Ludwigshafen, besiegelte ein 0:1 gegen Fortuna Düsseldorf den Abstieg. Torschütze war ausgerechnet Bernd Klotz, der zu Beginn der Vorsaison vom Waldhof zur Fortuna gewechselt war. Ich erinnere mich noch, wie nach dem Spiel die Düsseldorfer Fans an mir vorbei Richtung Hauptbahnhof rannten; wenige Minuten später verfolgt von einem wütenden Mannheimer Mob. Es ging wieder zurück in Liga 2.

Auch in den nächsten zwanzig Jahren ließ mich der Verein nicht mehr los. Zunächst immer wieder vor der Rückkehr ins Oberhaus, später dann häufig am Rande des finanziellen Ruins, ging es hinab in die dritte, vierte und als Tiefpunkt sogar in die Oberliga Baden-Württemberg, die fünfte Liga. Und trotz aller Rückschläge bin ich immer wieder hin. Und hoffe darauf, dass wieder bessere Zeiten kommen, ein zweites "Wunder Waldhof". Wobei ich manchmal gar nicht weiß, ob "mein" Verein überhaupt etwas verloren hätte in diesem Kommerz-Zirkus, der sich heute Bundesliga nennt ;-)

Update: Vielleicht ist der auf dem Foto abgebildete Kader für den einen oder anderen interessant? Bitte sehr:

Hintere Reihe (von links): Masseur Roland Vogel, Wolfgang Böhni, Ulf Quaisser, Fritz Walter, Karl-Heinz Bührer, Zeugwart Herbert Korbus Mitte: Trainer Klaus Schlappner, Präsidiumsmitglied Richard Wirth, Günter Sebert, Jürgen Makan, Oskar Bauer, Roland Dickgießer, Stefan Knapp, Paul Linz, Pandelis Tsionanis, Betreuer Egon Lang, Co-Trainer Klaus Sinn Vorne: Dieter Schlindwein, Hans Hein, Volker Kispert, Uwe Zimmermann, Walter Pradt, Alfred Schön, Dimitrios Tsionanis, Jürgen Fischer

1 Zumindest ist dieses Spiel das erste, an das ich mich erinnern kann.

Der überfällige Newsletter-Rant

In meinem Blogpost Die Rückkehr der Newsletter schrieb ich über das neuerdings wiedererwachte Interesse an Newslettern: Ich möchte diese Beobachtung gar nicht positiv oder negativ bewerten. Das hat sich mittlerweile geändert.

Ich bin ja in vielen so genannten Sozialen Netzwerken angemeldet, teste gerne neue Dienste und Apps, bei denen ich mich dann jeweils registrieren muss. Soweit kein Problem, wenn mir ein Service gefällt, nutze ich ihn auch. In letzter Zeit kommen aber immer mehr dieser Anbieter auf die teilweise höchst absurde Idee, sämtliche Neuigkeiten, Aktualisierungen und Inhalte auch per Newsletter an mich senden zu wollen. Ungefragt versteht sich.

Das bislang bescheuertste Beispiel lieferte gestern Digg in einer E-Mail mit dem Betreff "The Great Gig In The Sky":

We're happy to introduce The Daily Digg, today's top stories delivered to your inbox.

Let us know what you think, and feel free to unsubscribe at any time. We’ll lie awake every night wondering why, but sure, go ahead and do it.

Ihr wundert euch allen Ernstes, warum ich sofort auf unsubscribe geklickt habe? Vielleicht, weil ihr mir täglich, also jeden verdammten Tag, eine E-Mail schicken wollt mit den "Top Stories" des Tages, also mit Content, den ich auf der Digg-Webseite finde, den ich mir per RSS-Feed pullen kann, wenn ich das möchte, oder auch per App aufs Smartphone oder auf eine von zig anderen Arten? Betonung übrigens auf: pullen.

Wie kommt ihr auf die Idee, euren ganzen Content plötzlich zu mir zu pushen, meine Inbox damit zuzumüllen? Und warum kommen jetzt plötzlich alle auf einmal auf diese Idee? Haben wir nicht diese ganze Pull-Technologie genau dafür erfunden, dass wir uns Inhalte genau dann, und nur dann, besorgen können, wenn wir das wollen? Geht euch wegen der Schließung von Google Reader der Arsch auf Grundeis, oder verdienen sich irgendwelche Social Media Consultants mit dieser Newsletter-Idee gerade eine goldene Nase?

Das einzige, was ich euch zugutehalten kann, ist der One-Click-Unsubscribe-Link im Footer eurer Newsletter. Wenn ihr den nicht habt, sondern ich mich erst noch umständlich anmelden und durch Formulare klicken muss, dann werde ich ernsthaft böse.