// der php hacker

// archiv

Weihnachtsgewinnspiel von Idealo – und was ich davon halte

Geschrieben am 17. Dez 2009 von Cem Derin

Mich erreichte heute eine eMail von einem Idealo-Mitarbeiter, der mich auf das derzeit laufende Gewinnspiel aufmerksam gemacht hat und glaubte, dass ich vielleicht auch daran Interesse habe, da ich bereits in der Vergangenheit an Gewinnspielen teilgenommen habe mit meinem kleinen Blog.  Solche eMail bekomme ich übrigens nicht selten. Und weil dort mein kompletter Name erwähnt wird landen die auch nur selten im Spam-Ordner.

In der Regel sind es allerdings schamlose Anfragen, ob ich nicht gegen Zahlung oder ein Präsent einen Artikel über ein neues Produkt oder eine Seite verfassen möchte. Diese Anfragen landen bei mir unbeantwortet im Papierkorb. Die “Gewinnspiele” bei denen ich sonst mitmache, sind im übrigen auch keine wirklichen, sondern ich erhalte etwas, in dem ich auf die Aktion aufmerksam mache – so das auch andere etwas dafür erhalten. Und bisher war es auch immer so, dass ich nicht von Mitarbeitern oder Initiatoren “eingeladen” wurde. Daher ging der Mauszeiger bei der Idealo-Mail auch Richtung “Löschen”-Button – zunächst.

Während der Mauszeuiger also langsam seiner Wege ging, fiel mir auf, dass ich hier kein Produkt oder eine Seite bewerben soll (jedenfalls nicht direkt). Und änderte meine Meinung. Nicht zuletzt, weil ich schon länger plane mir eine PS3 zuzulegen, die man dort – u.a. Gewinnen kann. Ein Blick auf die Seite verriet auch, dass offensichtlich noch nicht sooo viele Leute mitgemacht haben und die Aktion heute ausläuft. Die Chancen stehen also nicht schlecht.

Man verzeihe mir also den schamlosen Eigennutz dieses Posts – und wenn ihr ein Blog habt, könnt ihr ja auch noch teilnehmen! :)

Geschrieben in Interna 5 Kommentare

Zend Framework Umfrage

Geschrieben am 17. Dez 2009 von Cem Derin

Wer das Zend-Framework genau so exzessiv wie ich einsetzt und sich damit auch mehr oder weniger in einer Art Abhängigkeit bugsiert, der sollte sich mal schleunigst zum Zend Framework Survey for 2009 bewegen und die Fragen beantworten. Aus den Antworten erhoffen sich die Entwickler ein besseres Verständnis davon, wie das ZF an der Front engesetzt wird. Und für ein bisschen ansporn sorgt dann natürlich auch noch die verschwindend geringe Möglichkeit der glückliche Gewinner des neuen iPod-Touch zu werden, der unter den Teilnehmern verlost wird – man kann aber auch anonym teilnehmen.

Geschrieben in Allgemein, PHP Ein Kommentar

Headhunt my ass!

Geschrieben am 16. Dez 2009 von Cem Derin

Mit geübtem Auge kann man es vielleicht schon am Titel erahnen: Ich mag Headhunter nicht. Überhaupt nicht. Am schlimmsten finde ich die, die ihrer Tätigkeit als Agenten nachgehen. Und als Jemand, der Software entwickelt und im Internet präsent ist, wird man sozusagen von Headhuntern belagert. Damit Ihr nicht unbedingt auf solche Leute reinfallt und damit ich mal ein bisschen Galle spucken kann, will ich mal ein wenig aus dem Nähkästchen plaudern.

Für die, die nicht wissen, was ein Headhunter ist oder ich damit meinen könnte: Headhunter sind Menschen, die versuchen fachlich qualifizierte und passende Menschen in ihr oder das beauftragende Unternehmen zu holen. – so jedenfalls die Theorie.

Zurück zu meinem Rant: Das erste mal in Kontakt mit einem Headhunter bin ich gekommen, als ich mein XING-Profil das erste mal komplett ausgefüllt habe. Wenige Tage später erhielt ich einen Anruf auf der Arbeit(!). Die Person gab sich als ein Kunde der Firma aus, für die damals gearbeitet habe und ließ sich zu mir durchstellen. Als er mich dann an der Strippe hatte, ging es ohne Umwege direkt zum Kern der Sache: “Sind die zufrieden in ihrem Unternehmen?”. Zu dem Zeitpunkt war ich das und lehnte das Angebot für ein persönliches Gespräch dankend ab. Mächtig Stolz war ich. So hat ein anderes Unternehmen einfach so interesse an mir gezeigt. Wow, und das, als die Arbeitslosenzahlen (mal wieder) einen Höchststand markierten.

Es dauerte eine Weile, und dann kam schon der nächste … oder eher DIE nächste. Das Schema blieb das selbe: Mit Tricks und Schummeleien zu mir durchgestellt werden und dann die Katze aus dem Sack lassen. Es wurde nervig. Aber es war auch noch im Rahmen … immerhin war da so etwas wie ein persönlicher Kontakt. So sollte es nicht bleiben.

Kurze Zeit später trudelten mehr und mehr ungefragte eMails, Kontaktanfragen und ähnliches ein. Immer ist von “mittelständischen” Unternehmen die Rede, die aber immer geheim bleiben. Immer sind die Leute selbst erst seit kurzem bei XING und haben ein kaum ausgefülltes Profil geschweigedenn einen Werdegang. Zum Mäusemelken. Aber mitlerweile landen diese Mails einfach im Papierkorb.

Seit ich aber ein Blog betreibe, wird es wieder zunehmen persönlich. Nicht unbedingt im positiven Sinne. Nach langer Zeit ging ich auf diese – oftmals recht freundlichen und auch nicht so anonymen – Anfragen ein. Am Ende wurde dann doch schnell klar: Die Leute suchen junge, talentiere Leute, die sich über den Tisch ziehen lassen. Mit einem Jahresgehalt, dass nur knapp über dem liegt, was man zum Leben braucht und in Arbeitsverhältnissen, in denen keiner glücklich wird: OS-Zwang (als Entwickler?), Editor-Zwang (WTF?), Chefs die von sich selbst behaupten mal Programmierer gewesen zu sein, aber auf neumodischen Schnickschnack wie OOP, XHTML und Technologien wie AJAX, JSON und Komparsen lieber verzichten. Läden, in denen “Server” für Behördenprogramme aus vergilbten Desktoprechnern bestehen, die altersschwach vor sich her rattern. Ausgebrannten Kollegen, die jeglichen Enthusiasmus verloren haben. Nein, Danke.

Unter den vielen “Anfragen” kann ich die in Frage kommenden an einer Hand abzählen. Es waren genau zwei. Einmal hat es räumlich nicht geklappt, und einmal war ein anderer Job nicht viel – aber besser. Ich mag meinen Job. Und ich mag ihn da, wo er ist. Also bitte, liebe Abwerber: Lasst mich in Ruhe!

Geschrieben in Allgemein 3 Kommentare

Von Eastereggs und wie man sie verstecken kann

Geschrieben am 16. Dez 2009 von Cem Derin

Uns Entwicklern wird oftmals abgesprochen, dass wir Kreativ sind. Das erkennt man leider schon oft daran, dass in den meisten Agenturen zwischen „Kreativen“ und „Entwicklern“ unterschieden wird. Dabei ist das alles andere als Gerechtfertigt. So verstehen wir unser Handwerk ebenfalls als eine „Kunstform“, erkennen in schönem Code Ästhetik, wo das ungeschulte Auge nur wirre Zeichenfolgen sieht. Investieren wir doch viel Liebe und Herz in den Aufbau und die Gestaltung unserer Applikationen ist es letztlich am Ende für den Anwender doch nur ein Werkzeug. Mich persönlich stimmt es dann und wann traurig, wenn der Betrachter das Kunstwerk, das man geschaffen hat nicht würdigt – oder würdigen kann. Aber daran wird man wohl auch nie etwas ändern können: Das was für die meisten an Software „schön“ ist, ist in der Regel nicht einmal die Software selbst sondern eben das, was die „Kreativen“ dazu beigetragen haben.

All das soll mich aber nicht daran hindern, meine Signatur unter das zu setzen, was ich schaffe. Damit meine ich nicht meinen Namen in den Kommentaren, damit meine ich auch nicht, dass ich ans Dokumentende ein pubertäres „hacked together by Cem Derin“ klatsche. Oftmals ist das ja auch gar nicht möglich. Nein, ich meine, dass ich meine Handschrift so hinterlasse, dass Sie zwar Sichtbar ist – aber trotzdem auch Unsichtbar. Dazu bediene ich mich dem, was gemeinhin als „Easteregg“ bekannt ist. So stelle ich sicher, dass meine Software von den Leuten gewürdigt werden kann, die dazu auch in der Lage sind.

Viele Seiten beinhalten einen kleinen Scherz, einen Kommentar, einen Witz oder ähnliches, wenn man bestimmte Tastenkombinationen auf einer Seite betätigt. Das hat den Nachteil, das ein gewisser Anteil JavaScript nachgeladen werden muss und man ggf. auch Resourcen einbettet, die kein Mensch freigegeben hat. Da man sowas natürlich auch nicht mit seinem Gewissen vereinbaren kann, hatte dies zur Folge, dass meine Eastereggs so versteckt waren, dass sie keiner Gefunden hat.

Irgendwie hat auch das geschlaucht. Da gab es dann aber noch eine andere Möglichkeit, wie man ein Easteregg unterbringen kann: ASCII-Art. Obwohl, nicht direkt. Im Grunde meine ich nur das hinzufügen von zusätzlichem Whitespace. Man verändert den Inhalt nicht, sondern lediglich die Formatierung, so dass dem Betrachter eine Botschaft ohne jegliche Nebenwirkungen übermitteln kann.

Dazu habe ich ein kleines Programm geschrieben, dass zwar noch alles andere als ausgereift ist, aber seinen Zweck trotzdem schon erfüllt. Zu finden ist es hier. Und wer sich nun fragt, was das Ding macht – der schaue sich den Quelltext dieses Beitrags an =)

Übrigens: Die Textbasis ist derzeit die, die ihr hier grade lest. Das wird sich aber bald ändern. Außerdem stehen die Einstellungsmöglichkeiten noch nicht zur Verfügung – denn um ein halbwegs zufrieden stellendes Ergebnis zu erzielen, muss man ganz schön den Parametern rumjustieren.

Workshop: Brawler – Host scannen, Teil 5

Geschrieben am 15. Dez 2009 von Cem Derin

Zuvor:

  1. Workshop: Brawler – The Web Application Security Scanner, Teil 0
  2. Workshop: Brawler – Eine Frage der Lizenz, Teil 1
  3. Workshop: Brawler – Alles im Rahmen, Teil 2
  4. Workshop: Brawler – Not unplugged, Teil 3
  5. Workshop: Brawler – Der Rutengänger, Teil 4
  6. Workshop: Brawler – Code Review, Teil 5

Heute beginne ich mit einer der Kernfunktionen von Brawler: Das scannen eines Hosts bzw. eine Seite. Außerdem werde ich heute die Plugin-Schnittstelle implementieren, damit man Brawler direkt mit neuen Funktionen versehen werden kann. Für heute wird das lediglich das setzen eines eigenen User-Agents sein.


// mehr lesen

Des Kaisers neue Kleider

Geschrieben am 15. Dez 2009 von Cem Derin

Und da ist es auch schon: Das neue Layout: phph2010. In Rot-Grau und mit Helvetica in groß. Ich hoffe es gefällt. Nebenher hab ich den Syntax Highlighter mal schicker gemacht (irgendwie war der kaputt). Und weil ich das erste mal ein Wordpress-Theme komplett von Hand gebaut habe, muss ich erst einmal brechen gehen. So toll die Software nach außen hin aussieht, so schlimm werkelts unter der Haube. Ich war Stellenweise drauf und dran ein neues Frontend zu schreiben. Aber dann war ich auch schon wieder abgelenkt. So, und jetzt – hoffe ich – haut ihr alle fleißig auf den “Twittern”-Knopf, ich hab mich nämlich extra bei bit.ly angemeldet, damit ich die API nutzen kann!

Ach ja: Diesen Post plane ich nicht für Morgen um Trafficstarke Halb Neun, sondern hau ihn jetzt raus – um viertel vor Drei =)

(Fehlerreports bitte in die Kommentare)

Geschrieben in Interna 9 Kommentare

Ein Jahr “Der PHP Hacker”

Geschrieben am 14. Dez 2009 von Cem Derin

Genau heute vor einem Jahr – oder 118 Beiträgen -  habe ich dieses kleine Blog gestartet. Seit dem habe ich zwar nicht so viele Artikel wie Nils geschrieben, und ich habe auch nicht so eine gute Suchmaschinensichtbarkeit wie Tim, aber trotzdem macht mir das ganze hier immer noch Spaß. Negativ war lediglich meine etwas sehr lange Pause.

Um das ganze auch mal in Zahlen auszudrücken: Seit meinem ersten Artikel besuchten mich 6222 Unique Visitors, wovon ca. 50% Wiederkehrende Besucher (tatsächlich 50.05%) wurden. Mit Abstand beliebtester Artikel war meine kleine Realsatire 10 Tipps ein Projekt Zielsicher vor die Wand zu fahren. Den meisten Traffic bringt übrigens Nils mit phphatesme.com direkt gefolgt von Twitter. Die Keywords mit den meisten Hits sind “php blog“, “php hacker” und mehrere Selenium Suchen.

Aber was erwartet uns hier demnächst? Inhaltlich wird es weitergehen wie bisher. Derzeit läuft ja mein kleines Brawler-Projekt, was allein schon zu regelmäßigen Updates führen wird. Darüberhinaus wird es in den nächsten Tagen ein neues Layout geben. Ich hab geplant, das heute schon zeigen zu können, aber daraus wurde nichts. Außerdem läuft das alles unter dem Projekt “2010″ – impliziert also, dass das eh erst für das kommende Jahr angedacht war ;)

Ich stoße also an auf ein Jahr PHP Hacker und hoffe auf ein weiteres tolles Jahr.

Geschrieben in Interna 7 Kommentare

Workshop: Brawler – Code Review, Teil 5

Geschrieben am 11. Dez 2009 von Cem Derin

Zuvor:

  1. Workshop: Brawler – The Web Application Security Scanner, Teil 0
  2. Workshop: Brawler – Eine Frage der Lizenz, Teil 1
  3. Workshop: Brawler – Alles im Rahmen, Teil 2
  4. Workshop: Brawler – Not unplugged, Teil 3
  5. Workshop: Brawler – Der Rutengänger, Teil 4

Ich hab zwar beim letzten mal gesagt, dass ich die Plugin-Schnittstelle implementieren werde sowie die ersten Zeilen für das Scanning schreibe, doch beim durchsehen des Codes fielen mir schon so viele Stellen ins Auge, die ein Code Review mit einhergehendem Refactoring unumgänglich machen. Einige davon kamen sogar von Lesern. Vielen Dank an dieser Stelle.

Ein paar Worte zum Vorgehen: Ich gehe Datei für Datei und Zeile für Zeile durch. Ich werde hier allerdings nur Änderungen kommentieren.


// mehr lesen

Tiefe Verschachtelung – A common Code Smell

Geschrieben am 10. Dez 2009 von Cem Derin

Ich habe es schon getwittert: Heute habe ich keinen Bock auf mein Brawler-Projekt. Stattdessen gibt es mal wieder einen kleinen Praxis-Tipp von mir. Dabei geht es um etwas, das sicher jeder von uns kennt: Unverhältnismäßig tiefe Verschachtelung von Code. If-Condition in If-Condition, unnötige Else-Statements, dick vermantelte Methodenaufrufe.
// mehr lesen

Geschrieben in Entwicklung 10 Kommentare

Hectic Eletric

Geschrieben am 09. Dez 2009 von Cem Derin

Ich bin ein Nerd. Sagen jedenfalls alle meine Freunde. Ich finde zwar, dass dem nicht so ist, trotzdem läuft der Song (mal wieder) auf Heavy Roation bei mir. Und euch wollte ich damit auch noch mal nerven:

Danke übrigens an @woodworker für das in Erinnerung rufen!

Geschrieben in Interna Ein Kommentar
theme von mir, software von wordpress, grid von 960 grid system. funktioniert in allen browsern, aber der safari bekommt das mit der schrift am schönsten hin.