Reguläre Ausdrücke debuggen mit PERL

perl -Mre=debug -e'"foobar"=~/(.)\1/'

Patch Coverage

Im Talk „Test Proxies, oder: Wie aus Problemen Features werden“ auf der FrOSCon 8 erwähnte Sebastian Bergmann das erst kürzlich in phpcov eingebaute Feature Patch Coverage. Das Problem: Bei Arbeit an viel Legacy Code ohne jegliche vorhandene Tests verändert sich durch neuen (hoffentlich von Tests abgedecktem) Code die Code Coverage nicht merklich, was sehr frustrierend sein kann.

Mit Patch Coverage kann man prüfen, wie vollständig eine Änderung die man vorgenommen hat, von Tests abgedeckt ist. So hat man eine gute Kontrolle, dass man selbst die Abdeckung mit seinen Changes auch wirklich verbessert, und gleichzeitig noch das gute Gefühl auf große Prozentzahlen zu schauen. 🙂

The Passionate Programmer

Auf der FrOSCon 8  gab es am Stand von mitp 20% Rabatt auf Bücher. Leider hatten sie nur deutsche Ausgaben, so dass mein Einkauf sehr klein ausfiel. Ich entschied mich für „The Passionate Programmer: Wie Programmierer ihre berufliche Laufbahn erfolgreich gestalten“ von Chad Fowler (Link zur englischen Ausgabe bei Book Depository, ISBN 9781934356340).

Bei Amazon kritisiert ein Rezensent die deutsche Übersetzung – ich bin mit ihr jedoch ganz gut zurecht gekommen, auch wenn sie sicher nicht perfekt ist. Das Buch besteht aus 54 jeweils recht kurzen Kapiteln aufgeteilt auf 5 Teile, und lässt sich sehr schön lesen – ist also auch etwas für Momente in denen man keine schwere Kost mehr vertragen kann. Auf 328 Seiten bekommt man eine neue Sichtweise, viele Tipps und Hinweise für das Berufsleben als Softwareentwickler. Ein inspirierendes Buch, starke Leseempfehlung.

 

dovecot: Error: imap dump-capability process returned 3

Mal wieder ’ne halbe Stunde bei der Fehlersuche wegen folgender Fehlermeldung verschenkt:

# /etc/init.d/dovecot restart
Restarting IMAP/POP3 mail server: dovecotError: imap dump-capability process returned 3
Fatal: Invalid configuration in /etc/dovecot/dovecot.conf
 failed!

Ursache war eine fehlerhafte Konfiguration des dovecot-antispam Plugins. Für dspam muss man dort inzwischen

antispam_backend = dspam

schreiben und nicht

antispam_backend = dspam-exec

SSH-Host-Key anzeigen

ssh-keygen -l -f /etc/ssh/ssh_host_rsa_key

GraphicsMagick und ImageMagick skalieren in den aktuellen Versionen transparente Bilder nicht sehr schön (die Ecken sehen ausgefranst aus). Zumindest GraphicsMagick konnte das früher schonmal besser: Version 1.1.11 produziert ein wunderschönes Ergebnis.

Um das vorhandene CentOS-Setup nicht unnötig zu verändern und eine einigermaßen portable Lösung zu bekommen, habe ich ein statisches Binary von GraphicsMagic in Version 1.1.11 gebaut:  Weiterlesen »

Wenn clear: …; zuviel cleared

Mit CSS kann man sich ganz schön rumärgern, vor allem wenns um floats und das richtige clearen geht. Gerade hatte ich mal wieder den Fall, dass ein clear innerhalb eines Containers zu viel gecleared hat und deshalb ein Element viel zu groß war. Der Fehler war, dass der umschließende Container nicht gefloatet war.

Busch & Müller Lumotec IQ Cyo senso plus leuchtet auch wenn ausgeschaltet

Bei der der Abfahrt vom Feldberg letzten Sonntag ist mein Scheinwerfer lose geworden. Natürlich hatte ich kein Werkzeug dabei, so musste ich ihn sicherheitshalber ganz demontieren. Heute nachdem ich ihn wieder befestigt habe, leuchtete er während der Fahrt auch wenn er ausgeschaltet war. Das passiert, wenn man die Kabel für Rücklicht und Dynamo vertauscht.

Für Unwissende: B&M Lumotec IQ Cyo (bei mir in der Ausführung 175QRSNDI) ist der Scheinwerfer, den man am Fahrrad haben will. Mit 40 Lux hat er den Namen Scheinwerfer auch wahrlich verdient. Das Ding macht hell! Kostet allerdings auch 90 Euro.

PC-Emulation mit JavaScript

http://bellard.org/jslinux/

Doppelt encodiertes UTF-8 in SVN::Web reparieren

use encoding 'utf8';