Blog ...nicht noch einer

  • Watchever: Stream stottert auf der PlayStation 3April 2014

    Es ist nicht das erste Mal und es wird auch nicht das letzte Mal sein: Watchever auf der PlayStation 3 stottert hin und wieder beim Streamen. Es ist aber nicht etwa das übliche bandbreitenbezogene Ruckeln des Streams, sondern ein Fehler beim Dekodieren, der die Wiedergabe beschleunigt und Frames überspringt (Frame Skipping).Weiterlesen
  • MySQL TRIGGER - Risiken und NebenwirkungenMärz 2014

    Seit Version 5.0.2 unterstützt MySQL sogenannte TRIGGER. Wie der Name suggeriert, dienen sie zum Auslösen von Operationen auf SQL-Ebene. Beispielsweise lassen sich somit automatisch Datensätze generieren oder manipulieren, die explizite Datensätze ergänzen oder in deren Abhängigkeit stehen. Unter DB-Engines wie MyISAM kann man dank Trigger außerdem für ein aus InnoDB bekanntes Fremdschlüssel-System sorgen, das Abhängigkeiten und Beschränkungen (constraints) berücksichtigen lässt. Zwar gibt es diverse Einschränkungen, aber wir sind uns hoffentlich einig: Trigger sind hilfreich. (Wir lassen eine Diskussion über die Trennung von Datenbank- und Applikationslogik an dieser Stelle noch außer Acht.)Weiterlesen
  • Die Falle schnappt zu: getToken() ohne Standard-Trennzeichen!März 2014

    Mit getToken() schafft es Adobe wieder einmal ColdFusion möglichst irritierend für Entwickler darzustellen. Man könnte im ersten Moment annehmen, dass es sich um eine herkömmliche Listen-Funktion handelt. Der wohl größte Vorteil gegenüber dem "klassischen" listGetAt() ist, dass bei einem nicht vorhandenem Index keine InvalidListIndexException gibt. Somit ist getToken() also eine bequeme Alternative, um Listen zu parsen. Oder doch nicht?Weiterlesen
  • Chrome: "Neuer Tab"-Ansicht jetzt nur noch mit SuchleisteFebruar 2014

    Schon in 2013 führt Google eine neue Ansicht für den Aufruf von "Neuer Tab" ein. Die neue Ansicht beinhaltet über den Lesezeichen eine Suchleiste von Google. Da diese Neuerung einen gefühlt langsameren Seitenaufbau verursacht, konnte man bis vor kurzem über Chromes interne Konfiguration chrome://flags die Instant Extended API deaktivieren und dieser Neuerung entgehen.Weiterlesen
  • Die Caching-Falle: IIS und SymlinksFebruar 2014

    Mit Windows Server 2008 kam ein in der Linux-Welt schon lang existierender Standard in die Datei- und Ordnerverwaltung: Die symbolische Verknüpfung. Warum also nicht den Vorteil dieser Links nutzen, um ColdFusion-Templates untereinander zu teilen, z.B. um Projekt-Klone ohne Redundanz zu betreiben?Weiterlesen
  • Checkbox-Events und BrowserJanuar 2014

    Wer des Öfteren mit Checkboxen arbeitet, hat sicherlich auch schon mal via Javascript auf deren De-/Aktivierung reagieren wollen. Hier kommen dem gemeinen Entwickler zwei Events in den Sinn: onclick und onchange. Die gute Nachricht: Beide Events funktionieren. Die schlechte Nachricht: Die Reihenfolge, in der die Events ausgelöst werden, hängt von der Implementierung des Browsers ab.Weiterlesen
  • Missverstanden und verworfen: HTTP-Status-Code 302Dezember 2013

    Der HTTP-Status-Code 302 oder auch Moved Temporarily wird seit HTTP 1.0 (RFC 1945 aus dem Jahr 1996) neben seinem eigentlichen Zweck einer vorübergehenden Umleitung auf eine andere URL auch für PRG (POST-Redirect-GET) verwendet. Allerdings war es erstaunlicherweise nie Aufgabe der Browser das HTTP-Verb von POST auf GET anzupassen.Weiterlesen
  • PRG (POST-Redirect-GET)Juni 2013

    POST-Redirect-GET, kurz PRG, ist eine Bezeichnung für die Vorgehensweise, eine POST-Anfrage in eine GET-Anfrage enden zu lassen. Da die von POST-Anfragen betroffenen Ressourcen im Regelfall nicht idempotent sind bzw. sein dürften, sollte stets vermieden werden, dass der Client die Anfrage unbeabsichtigt wiederholen kann, z.B. durch Aktualisieren im Browser. Dazu wird serverseitig nach Verarbeitung der POST-Anfrage eine Weiterleitung (Redirect) über den Status-Code 302 FOUND (in HTTP 1.0) bzw. 303 SEE OTHER (in HTTP 1.1) veranlasst. Diese Weiterleitung ruft eine GET-Abfrage auf. Aktualisiert der Client nun im Browser, womit die letzte Aktion wiederholt wird, entsteht keine weitere POST-Anfrage, sondern eine idempotente GET-Anfrage.Weiterlesen
  • Microsofts kostenloses Backup-Tool: SyncToyDezember 2012

    Ich war vor kurzem auf der Suche nach einer kostenlosen Backup-Lösung, um regelmäßige Sicherungen von meinen Festplatten zu machen, da stieß ich auf diese Perle von Microsoft selbst: SyncToyWeiterlesen
  • Die Gefahren von HTTP-Status-Code 302August 2012

    Obwohl HTTP-Status-Code 302 in der Vergangenheit missverstanden wurde, so hat sich doch irgendwann ein Standard etabliert, den alle Browser erwartungsgerecht erfüllen. Oder auch nicht, denn Apples Browser Safari beweist, dass es manchmal doch auf die Details ankommt und das ist wie so oft: Caching.Weiterlesen