Negative Effekte von Werbung

Gerade bin ich auf einen mäßig interessanten Artikel von Seth Godin gestossen: The ubiquity of Competition – Die Allgegenwärtigkeit des Wettbewerbs

Eine Passage fand ich aber interessant, weil ich im Gegensatz zu all seinen anderen rhetorischen Fragen hier nicht wusste, welcher Antwort er wohl erwartet:

30 unterschiedliche Geschäfte verkaufen Autoaufkleber. Bei einer Google-Suche taucht einer von denen als erster in den gesponsorten Links auf. Bei wem kaufe ich ein?

Ich würde dem gekauften Link nämlich erst einmal nicht folgen, sondern mir seine Mittbewerber anschauen, die in den Suchergebnissen selbst auftauchen. Unterbewusst hängt bei mir immer noch der Spruch Nur wer Werbung nötig hat, macht welche nach.
Demnach ist eine gut gemachte und möglicherweise oft verlinkte Website für mich ein besseres Qualitätsmerkmal, als der Umstand, dass das Unternehmen ein Budget für Online-Marketing hat. Wobei man hier natürlich argumentieren kann, dass eine gute Website eben auch Teil eines erfolgreichen Online-Marketing ist.

Noch sind zumindest die meisten Firmen in Deutschland aber nicht so weit, glaube ich. Also schaue ich mir bei Suchergebnissen nicht die „Schreihälse“ an, sondern die, die mit ihren Inhalten hoffentlich schon andere überzeugt haben und somit für viele Verlinkungen gesorgt haben.

Vor-Reisenotizen

Im März stehen 10 Tage New York City an und ich habe so einiges vor:

Ein Spiel der New York Knicks anschauen

Ich habe damals nur einen Block vom Madison Square Garden gewohnt, habe aber leider nicht eine Veranstaltung dort besucht. Durch ein Geschenk habe ich 2005 aber kurz vor Abreise noch eine Tour durch den MSG gemacht und festgestellt, dass man auch auf den „billigen Plätzen“ sehr gut sehen kann.
Die Knicks spielen auch in der Zeit, also werde ich mich in Kürze um Karten kümmern.
Nachtrag: Erledigt! Am 19. März schaue ich mir die Partie gegen die Philadelphia 76ers an.

Mamma Mia! anschauen

Mein Vater ist ABBA-Fan und entsprechend war meine frühe Jugend von ihren Liedern geprägt. Ich höre sie immer noch ganz gerne und will mir deshalb Mamma Mia! am Broadway anschauen.
Nachtrag: Und auch hier habe ich jetzt Tickets bestellt. Am 24. März ist es soweit!

In Nike-Town einkaufen

Im Online-Store habe ich mir schon diverse Hoodies und mindestens ein paar Laufschuhe herausgesucht. Ich mag den Swoosh einfach.

Comics kaufen

Ich brauche dringend Nachschub zu Doktor Sleepless und in der Zwischenzeit hat Warren Ellis ja auch wieder zig neue Sachen gemacht. Ich muss mir hier mal eine Liste anlegen, was ich schon habe, damit ich ungezwungen zuschlagen kann.

Bei Florsheim Schuhe kaufen

Ich bin damals in der Nähe von Macy’s auf den Laden gestossen und hatte mit horrenden Preisen gerechnet. Aber für knapp 120,- USD gab es bei Florsheim tolle Lederschuhe. Daran, dass mir der Verkäufer die Schuhe angezogen hat, werde ich mich aber erneut erst gewöhnen müssen…

Ins Kino gehen

Und zwar ganz amerikanisch: mit vollen Einkaufstaschen während des Bummelns eine Pause einlegen und einen hoffentlich guten Film geniessen. Mal schauen ob ich noch herausbekomme, was Mitte März in den US-Kinos läuft.

Essen gehen

Hierbei aber eher die Ketten, die es in Deutschland nicht gibt. Gut essen gehen kann man in Deutschland auch, da muss ich mich jetzt nicht auf die Suche nach exquisiter Küche in New York begeben.
Ich hoffe nur, dass ich genügend Hunger entwickle um Wendy’s, White Castle und Così gebührend würdigen kann. Das Tick Tock Diner und diverse Hot-Dog Stände an den Straßenecken wollen ja schließlich auch noch besucht werden.
Und natürlich dieser Bagle-Laden in der Nähe des alten Büros: One Everything Bagle, 2 Eggs and Ham Dazu ein Dr. Pepper :-)
F & B Hotdogs werden auch besucht, wobei ich mich dort am meisten auf die Pommes aus Süßkartoffeln freue.

Fotos machen

Davon werde ich sicherlich eine Menge schiessen, wobei ich immer noch überlege, ob ich mein Projekt „Walk the Broadway“ angesichts von Google Street View überhaupt noch durchführen soll. Zwei Tage würden da bestimmt auch für drauf gehen.
Diesmal soll aber auch noch Video dazu kommen und ich überlege mir dazu eine Flip zuzulegen, damit Videos in dieser grauenhaften Qualität nicht mehr passieren… Und ja: der St. Patrick’s Day befindet sich direkt am Anfang meines diesjährigen New York Urlaubs!

Const für Klassenmethoden in PHP

Bei meinem letzten Ausflug zu PHP und C++ ist mir eine Sache wieder eingefallen, die ich in C++ immer sehr interessant fand und mir bei PHP irgendwie fehlt.

Man kann dort nämlich Klassenmethoden das Schlüsselwort const nachstellen und teilt dem Compiler somit mit, dass diese Methode das Objekt nicht verändert. Versucht sie es doch, gibt es einen Fehler beim übersetzen.

Hier wird das ganze noch mal ausführlicher erklärt (englisch). Auch wenn die Erklärung durch die ganzen Zeiger in C/C++ erheblich komplizierter wird :-)

Diese const-Deklarationen zwingen einen bei der Entwicklung dazu, genau zu überlegen, was man da eigentlich macht. Denn natürlich dürfen auch alle Methoden, die man innerhalb einer const-Methode benutzt, das Objekt selbst wieder nicht verändern… So manches leichtfertiges „ich mache hier mal ein const hin, da die Methode ja eh nix verändert“ kann dann in ganz schön viel Arbeit ausarten.

Aber gerade bei der Verwendung eines Frameworks wäre es an einigen Stellen ganz hilfreich zu wissen, wo Daten verändert werden und wo nicht. Und natürlich auch in meinem eigenen Code.

Gibt es dazu in PHP eigentlich Überlegungen, etwas ähnliches einzuführen? Und wie sieht es bei anderen webaffinen Programmiersprachen aus?

Garbage Collection in PHP

Ich war gestern Teilnehmer an einer kleinen Diskussion zum Thema Garbage Collection in PHP. Im Gegensatz zu z.B. JAVA verwendet PHP einfaches Reference Counting um zu ermitteln, welche Speicherbereiche nicht mehr benötigt werden. Wenn sich nun aber Objekte gegenseitig referenzieren – auch gerne über sehr viele Zwischenobjekte – versagt diese Strategie letztendlich.

Das ist ganz klar ein Schwachpunkt gegenüber z.B. JAVA, wo es auch GC Strategien gibt. Ich fand meine Reaktion darauf aber ganz interessant. Das Problem wurde nämlich anhand einer doppelt verketteten Liste erläutert und mein erster Gedanke war: wo ist das Problem? Eine solche Liste sollte doch mit Klassen implementiert werden und dann muss halt der Destructor der Liste dafür sorgen, dass alle Elemente darin gelöscht werden.

Als Gegenargument kam dann, dass der Destructor ja nicht zwangsläufig aufgerufen werden muss. Was natürlich stimmt und was ja auch überhaupt erst eine Garbage Collection notwendig macht. Meine frühen Erfahrungen mit C/C++ haben mich aber so sehr darauf getrimmt, immer schön aufzupassen, was ich mit meinem allokierten Speicher mache, dass ich dieses Verhalten auch auf PHP übertragen habe.

Bei PHP kommt ja nun noch hinzu, dass es meisten in einer Webumgebung eingesetzt wird und somit nur ein kurzlebiger Prozess abläuft. Da wird es in den meisten Fällen keinen Unterschied machen, ob zwischendurch die Garbage Collection aufräumt, oder das mit Ende des Prozesses vom Interpreter erledigt wird.

Sobald man PHP aber auch für lang laufende Aufgaben einsetzt. wie z.B. eigene Daemons, sollte man den Speicherverbrauch genau im Auge behalten.