Zeit vergeht

by Michi on Dezember 4, 2012

… ob ich diesen Blog mal wieder belebe? Und endlich aus dem Bielefelder-Blog ein Düsseldorfer Blog mache? Obwohl im Herzen ist und bleibt es ein Bielefelder Blog :D

Brenne Musikindustrie! Brenne!!

by Michi on März 18, 2011

"Endgame" von Rise Against

Seit circa einem Jahr kaufe ich regelmäßig Musik in digitaler Form entweder bei iTunes oder Amazon. Vorher war ich Abonnent bei Napster. An sich ja ne gute Sache, aber die Hürden mit dem DRM und der gezwungenen Windowsplattform haben mich dann doch davon abgebracht. Read the rest of this entry »

Atomkraft? Wann anders!

by Michi on März 14, 2011

Ich muss ja nicht groß zusammenfassen, was da gerade in Japan abgeht. Erdbeben mit Rekordstärke von 9.0 viele tausend Menschen tot, verschollen oder obdachlos. Mittlerweile droht der dritte Reaktor in Fukushima I auch zu überhitzen. Die nukleare Katastrophe ist noch längst nicht abgewendet.
Und schon gehen nahtlos wieder die Diskussionen und laute Schreie nach Abschaltung der hiesigen Kraftwerke los. Versteht mich nicht falsch – ich bin ein gegner der Atomenergie und steige gerade aktuell auf Ökostrom um.
Aber bereits am Samstag (den ich quasi den ganzen Tag vor dem TV verbracht habe) waren zwei stark gespaltene Lager zu vernehmen. Ich glaube los ging das ganze nach einer Aussage von Nobi Röttgen, der sinngemäß sowas sagte wie “Atomkraftwerke sind ein großes Problem – aber jetzt ist nicht der richtige Augenblick um darüber zu debattieren.” – genau kontrovers reagierte wenig später Renate Künast die sinngemäß sagte, das genau jetzt der richtige Zeitpunkt sei um darüber zu reden – Und schon bekommt man Einladungen zur Mahnwache der Grünen in Bielefeld zur Abschaltung der AKWs und Rückgängig machen der Laufzeitverlängerung.

Dazu kann und will ich nur sagen:
Geht’s denn noch? Da drüben ist eine der größten Naturkatastrophen der mordernen Welt passiert viele Tausend Menschen haben Ihr Leben verloren. Bei einem Erdbeben und einem Tsunami. Nicht bei der Explosion eines AKW. Hier wird der Tod tausender Menschen als Argument vorgeschoben um sich jetzt akut mit vergleichsweise banalen Themen wie einer Laufzeitverlängerung zu beschäftigen obwohl wir uns politisch wie auch – ich sag mal “menschlich” – mit humanitärer Unterstützung wo es nur geht auseinandersetzten müssten. Ich war lange im THW aktiv und weiß, in welche Gefahr sich die 40 deutschen THW-Helfer begeben, die am Samstag nach Japan aufgebrochen sind – nur um Menschen zu helfen und zu retten was zu retten ist.
Diese Art der “grünen” Politik finde ich grausam und ja sogar unmenschlich. Die Grüne Fraktion enttäuscht mich da sehr.

Richtigerweise führen uns die Ereignisse in Japan deutlich vor Augen, dass Nukleartechnik nicht kontrollierbar und eine tickende Zeitbombe ist. Die Zeit der Diskussion über die längst überfällige Abschaltung sämtlicher AKWs wird kommen. Aber Sie ist nicht gestern, nicht heute und auch nicht morgen. Die Opfer der Naturkatastrophe haben Gedenken verdient und das Land braucht Hilfe. Die AKWs hier können wir auch nächste Woche noch abschalten.

Ich werde nicht zur Mahnwache gehen – sondern mich vor den Fernseher setzen und hoffen, dass man die tausend verschollenen Menschen noch irgendwo lebend retten kann.

Schöne neue Welt

by Michi on Dezember 23, 2010

Wieder einmal ganz großer Trend dieses Jahr. Weihnachtsgeschenke online kaufen. Nutznießer der gesamten Sache ist ja bekanntlich ein Online-Versand Handel, der den Namen eines großen Flusses in Südamerika trägt.
Ich brauche jedes Jahr eigentlich recht viele Geschenke. Mutter, Vater (jeweils mit Partner), 2 Geschwister und die Freundin. Ganz stolz kann ich dieses Jahr behaupten, dass ich nur ein einziges Geschenk bei besagtem Online-Versandhandel bestellt habe. Alles andere habe ich entweder im Einzelhandel (den gibt’s tatsächlich noch) oder bei anderen Online-Angeboten erstanden. Soweit alles kein Problem.

Ihr dürft aber jetzt einmal raten, welcher Versandhandel es nicht geschafft hat, den bestellten Artikel nach fast einer Woche zu versenden? Ich weiß, dass wegen Wetter und so bla die Post vermutlich etwas länger dauert. Aber um das heraus zu finden, hätte der Artikel ja zumindest versandt werden müssen. Heute ist der 23.12. morgen ist Heiligabend und ich nicht im Büro (was der Lieferadresse entspricht). Ich würde mich ja ins Büro begeben und auf das Paket warten, wenn ich sicher wäre, dass es ankommt. Aber selbst jetzt steht der Status noch immer auf “Wird für den Versand vorbereitet“. Toll. Also später noch mal in die Stadt und versuchen, adäquaten Ersatz zu finden.

Fick dich – Versandhandel mit Namen eines südamerikanischen Flusses!!!
Allen anderen, tolle Festtage!

Git für SVN Umsteiger

by Michi on Dezember 9, 2010

Wer (wie ich) gerade den Schritt weg von SVN hin zu Git wagt, wird sich sicherlich über diesen Crashkurs für SVN-Umsteiger freuen. Wirklich nützlich

Zur Integrationsdiskussion

by Michi on Oktober 18, 2010

Zur aktuellen Integrationsdiskussion lässt sich eigentlich nur noch feststellen, dass Brecht recht hatte als er sagte:

“Der Schoß ist fruchtbar noch, aus dem das kroch.”

Der Mann des Monats

by Michi on März 14, 2010

Warum ich Stefan Raab für einen wirklich kompetenten, diplomatisch korrekten und vernünftigen Entertainer und Musiker halte, erklärt sich aus Raabs Antwort auf der letzten PK von “Unser Star für Oslo” auf die Bemerkung, dass die Show nur eher mäßige Einschaltquoten erlangte:

“Glauben Sie nicht, dass wir nicht wüssten, wie wir mit so einer Show locker zehn Prozent mehr machen könnten. Wir wissen wie das geht. Aber das machen wir aus Anstandsgründen nicht. Das ist der Punkt. Für mich persönlich ist wichtig, dass ich das was ich mache, so mache, wie ich es für richtig halte. Die letzten Register ziehen könnten wir auch, aber machen wir nicht. (Quelle: DWDL)

Hat mich sehr beeindruckt.

IPC 09: Tag 2

by Michi on November 20, 2009

Und da ist er auch schon vorbei, der zweite Vortragstag der International PHP-Conference 2009 hier in Karlsruhe. Ich bin mittlerweile deutlich optimistischer gestimmt was den Anspruch und die Relevanz einer solchen Konferenz angeht, denn viele der Sessions waren wirklich gut.

Aber von vorne.

Der Erste Vortrag “Building configurable applications for the web” wurde gehalten von so einem Yahoo!-News Fuzzi. Wirklich interessant, wie die Ihre Applikationen skalieren bzw. auf große Lasten ausrichten. Im Grunde werden einfach alle Bereiche einer Webseite in Module aufgeteilt (News-Artikel, related-links, Werbebanner, Kommentare etc..) und mit Prioritäten versehen. So ist zum Beispiel der eigentliche Newstext ja der Kern der Seite – hat also eine hohe Priorität – wo hingegen ein Bereich der weniger entscheidend ist (Related Links, Webebanner) durchaus nicht kritisch sind. Das Geheimnis liegt nun darin, diese Module konfiguriebar (konkret: abschaltbar) zu machen. Wenn nun (un)erwartet viel Traffic auf eine Seite einschlägt (beim Tod Michael Jackson waren es 33.000 PI in der Sekunde!!), kann man einfach niedriger priorisierte Module abschalten und so Ausführungszeit gewinnen. Simpel wie effizient.

Die zweite Speak zum Thema Softwaremetriken verstehen und Nutzen war ebenfalls sehr interessant. Jemand wer ich, der bis dato nicht wusste was Metriken sind (es aber hätte wissen sollen) wurde hier wirklich gut Bedient. Softwaremetriken sind halt einfach statistische Werte des Codes. Also wieviel Zeilen enthält das Programm (Lines of Code, LOC) wieviele davon sind Kommentare, wieviele tatsächlich ausführbar und so weiter. Weiterhin werden bestimmte mathematische Faktoren erläutert, die aus dem Code gelesen werden können. Beispiel dafür ist die “Cyclomatic Complexity” die die Komplexität einer Methode als Zahlwert repräsentiert.
Diese Metriken dienen dazu, Code in Zahlen zu verwandeln und somit Codequalität zu messen. Das ist eben interessant bei einer Argumentation gegenüber Projekt-Managern, die nur mit puren Zahlen zu überzeugen sind.

Kurz vor dem Mittagessen gab es dann die Keynote über Webstandards. Ein Typ von Opera zeigte wirklich interessante neue Features von HTML5. Clientseitige Formularvalidierungen machen hier JavaScript beinahe unnötig. Auch das native <video> Element (dass der Firefox 3.5 mit einem ogg-Format ja schon unterstützt) bietet wesentlich mehr Vorteile als man vielleicht auf dem ersten Blick vermuten würde.

Dann wurde es etwas anstrengender. In der Session “Code sleeps smells” ging es um Refactoring Prinzipien. Also wann wir refactored? Was wird refactored und wie wird refacored? Wenn man sich auch nur ein wenig mit PHP beschäftigt hat und für den Martin Fowler nicht der Hauptdarsteller aus Herr der Ringe ist, wird genau nichts interessantes neues erfahren. Leider  litt der Redner stark am 3L Syndrom (leise, langsam, langweilig) was dann in Kombination mit der ersten Session nach der Mittagspause extrem gefährlich war. Mitgenommen habe ich hier aber die “Boy scout rule” von der ich in Clean Code schonmal geselen habe. Diese besagt dass man den Campingplatz [den Code] immer ein Stückchen sauberer hinterlassen soll als man ihn vorgefunden hat”. Treffend formuliert.

Die folgende Session “Sichere Applikationen auf Basis des Zend-Frameworks” vom Security-Papst Stefan Esser war für mich persönlich die beste der Konferenz. Mir ist glaube ich noch nie so viel auf einmal klar geworden, wie in diesen Minuten der Session. Dafür erstmal ein Dankeschön an Stefan Esser. Ich benutze unserialize() jetzt unter ganz anderen Umständen. Auch habe ich sehr großen Respekt vor der Arbeit Essers. Irgendwann will ich auch mal so werden ;)

In “How to achieve more with less code” von Stefan Priebsch ging es dann um “alltags-Code”, den jeder von uns oft benutzt und der auch viel kürzer, schneller und besser geht. Bestes Beispiel ist hier IMHO die möglichkeit, Arrays auch per Referenz zu “foreachen”. Sprich statt code bisher wie:

$array = array('one','two','three','four');
$result = array();

foreach($array AS $item) {
	$result[] = doSomethingWith($item);
}

return $result;

Kann man seit PHP5 auch:

$array = array('one','two','three','four');

foreach($array AS &$item) {
	$item = doSomethingWith($item);
}
return $array;

Das ist mir persönlich nicht neu, aber viele wissen davon nix. Unbedingt merken! Ganz interessant war auch der Ansatz HTML Formulare als DOMXML-Objekte zu parsen und dann mittels XPath ausdrücken dynamisch die Values zu setzen. Ganz ähnlicher Ansatz wie PHPTAL finde ich!

IPC 2009: Erster Tag

by Michi on November 17, 2009

Ich war leider erst zum Mittag da, so dass ich so gerade noch in die Keynote Speech von Zend zum Thema “PHP in the cloud” rutschen konnte. Der Vortrag war vom Ansatz her interessant, bot aber irgendwie keine konkreten Empfehlungen oder Ideen. Die erste richtige Session war “Continuous Inspection and Integration of PHP-Projects” von Sebastian Bergmann und Stefan Priebsch. Es ging dort grob um automatisches deployment und Testing von Software. Wer sich schon mal mit dem Thema auseinander gesetzt hat, wird einiges wiedererkennen und sich nur wenig überrascht oder erleuchtet fühlen. Interessant aber das Tool “PHP Copy&Paste Detection”, dass sich beispielsweise in einen CI-Server integrieren lässt. Es erkennt Code-Dupletten, die zu inkonsistentem Code führen und diesen unnötig aufblähen.
Mitgenommen habe ich auch das Zitat

“Gute Tests ersetzen Dokumentation”

Die Aussage deckt sich ein wenig mit meinem momentan vorherrschendem Konflikt bei der Frage, ob Dokumentation gut oder böse ist (“Guter Code muss nicht dokumentiert werden”).

In der folgenden Session ging es um Messaging mit XMPP (“Building Real-Time Applications with XMPP” von Travis Swicegood). Ein wirklich spannender Vortrag rund um XMPP (also Jabber), dessen Anatomie und Funktionen (presence, message, Info/Query) gut erklärt am Beispiel von Twitter. Zwar wurde in dem Vortrag faktisch gar nicht auf PHP bzw. eine mögliche, konkrete Implementierung eingegangen, die Idee wurde aber klar und ich werde sicherlich einmal mehr darüber nachdenken, Prozesskommunikation (oder sogar Synchronisierung) über XMPP abzuwickeln.

Die letzte Session des Tages “Event-Driven-Architecture” von Benjamin Eberlei war eigentlich eine gute Ergänzung zu dem XMPP-Thema. Es dauerte zwar, bis das “Worum-gehts-eigentlich” Problem verschwand, nach dem es aber klar war, dass hier auf Observer-Patterns eingegangen wurde, konnte ich ein paar interessante Ideen abgreifen. Viel neues Erfuhr man leider auch hier nicht, aber von der Messaging-Lösung “Gearman” hatte ich bisher noch nicht gehört. Sollte man sich unbedingt mal anschauen, wenn man bestrebt ist, Aufgaben, die nicht direkt bei Ausführung erledigt werden müssen, in einen Hintergrund-Prozess auszulagern. Ich hab da schon ein paar Ideen entwickelt ;-)

Soweit die Zusammenfassung des ersten Tags.

Suchbild

by Michi on November 16, 2009

Wer findet den Widerspruch?
Twitter war halt noch nie informativ oder verlässlich