Twitter-fight leidt tot onzin over dansmuziek in de krant

Kort over “Generatiekloof leidt tot koude oorlog op de dansvloer“: Rommel is er altijd geweest, ook in de electro. De recente disco-exploten Daft Punk zijn evengoed saai. Er wordt nochtans nog zo veel fantastische muziek gemaakt; Four Tet, Flying Lotus, Floating Points, … En Modeselektor. En Gold Panda. En Jon Hopkins. En deze Jono McCleery;

Jono McCleery - 'Ballade' (Djrum Remix)

Maar een Twitter-fight is altijd goed voor wat extra aandacht, de kranten moeten gevuld en wij moeten onze meninkjes toch ook ergens kwijt? Dus tuurlijk is er een generatiekloof, tuurlijk leidt die tot een koude oorlog. Wankers!

Music from Our Tube; Wilson, Crosby & Nash singing “Cecil Taylor”

Listen to Jonathan Wilson and Crosby & Nash having this little sing-along. Not a simple tune mind you, but an evolving piece of music featuring beautiful harmonies, a non-obtrusive drum-computer, a Gilmoresque guitar-solo that fades into a soundscape-like climax and a “Secrets of the Beehive”-worthy ending with a piano, trumpet and silence.

jonathan wilson cecil taylor 2013

Irregular Expressions have your stack for lunch

I love me some regular expressions (problems), but have you ever seen one crash Apache? Well I have! This regex is part of YUI-CSS-compressor-PHP-port, the external CSS minification component in Autoptimize, my WordPress JS/CSS optimization plugin:
/(?:^|\})(?:(?:[^\{\:])+\:)+(?:[^\{]*\{)/)/
yo regex dawgExecuting that on a large chunk of CSS (lots of selectors for one declaration block, which cannot be ripped apart) triggers a stack overflow in PCRE, which crashes Apache and shows up as a “connection reset”-error in the browser.
Regular expression triggered segfaults are no exception in the PHP bugtracker and each and every of those tickets gets labeled “Not a bug” while pointing the finger at PCRE, which in their man-pages and in their bug tracker indeed confirm that stack overflows can occur. This quote from that PCRE bug report says it all, really;

If you are running into a problem of stack overflow, you have the
following choices:
  (a) Work on your regular expression pattern so that it uses less
      memory. Sometimes using atomic groups can help with this.
  (b) Increase the size of your process stack.
  (c) Compile PCRE to use the heap instead of the stack.
  (d) Set PCRE's recursion limit small enough so that it gives an error
      before the stack overflows.

Are you scared yet? I know I am. But this might be a consolation; if you test your code on xampp (or another Apache on Windows version), you’re bound to detect the problem early on, as the default threadstacksize there is a mere 1MB instead of the whopping 8MB on Linux.
As for the problem in YUI-CSS-compressor-PHP-port; I logged it on their Github issue-list and I think I might just have a working alternative which will be in Autoptimize 1.8.

Looking at 2013 disappearing fast in the rear view mirror

rearview mirror by Alvaro on FlickrAnother year behind us, another overview in numbers (as done previously for 2011 and 2012).

On a personal note, 2013 has not been the easiest of years, but our lovely daughter’s “lentefeest” (a non-religious rite of passage for 6-year olds) and our holiday in Italy were great highlights though.