iBert droomt; schaf de NMBS af!

een niet zelfrijdende peseroEen mens moet durven dromen! Bert Van Wassenhove deed dat ook en in zijn “Laat ons een begin maken met de ontmanteling van de NMBS” stelt hij dan ook voor om treinen te vervangen door -zoals een innovatie-minnende entrepreneur betaamt- zelfrijdende busjes van Google, Apple, BMW of Tesla.
De kern van zijn betoog (mijn samenvatting, lees het artikel vooral zelf):

De NMBS kost te veel en de reizigers zijn ontevreden door vertragingen en andere problemen. De trein kan onze mobiliteitsproblemen dus blijkbaar niet oplossen. De spoorwegen zijn immers een concept uit de industriële revolutie, want we rijden al lang niet meer met z’n allen naar één kantoorgebouw of fabriek naast een station in Brussel. Vandaag zijn er andere revoluties aan de orde die een oplossing kunnen brengen; zelfrijdende busjes die zoals de Pesero’s in Mexico-city volledig vrije-marktgestuurd reizigers oppikken waar het meeste vraag is.

Ik schreef (een deel van) deze blogpost op de vroege dubbeldekker tussen Lokeren en Brussel. De bezetting: pakweg 1.000 pendelaars. We zijn vanzelfsprekend niet de enige trein die van/ naar Brussel rijdt; cijfers van 2013 geven een dagelijks gemiddelde van 180.000 instappende reizigers in de Brusselse stations en het merendeel daarvan (120.000?) zal er ongetwijfeld tijdens de piekuren moeten op- en op de terugweg weer uitstappen. Volgens andere cijfers telt Brussel in totaal 330.000 pendelaars, die dus met openbaar vervoer of de auto komen. Je moet geen doordachte transport-economische analyses maken om hieruit te besluiten dat een héél grote groep mensen nog steeds en masse “naar één kantoorgebouw of fabriek naast een station in Brussel” moet en dat er zonder de trein dan ook bijna de helft meer auto’s in en rond Brussel zouden rijden. De trein vervoert volgens de cijfers van statbel overigens jaar na jaar meer reizigers, met tussen 1997 en 2010 een stijging van 144 naar 224 miljoen reizigers. Dat kan tellen, als (significante bijdrage aan) het verlichten van het mobiliteitsprobleem? Het nadeel; net zoals het wegverkeer, is de trein tijdens de piekuren oververzadigd en dat zorgt inderdaad voor heel wat problemen.
Met die cijfers van de benodigde (piek-)capaciteit in het achterhoofd lijkt inzetten van al dan niet zelfrijdende Pesero’s dan ook een utopie; 120.000 mensen in Brussel afzetten/ oppikken, gerekend aan een capaciteit van pakweg 10 passagiers per busje, dat geeft al snel 12.000 extra busjes in en rond Brussel tijdens de ochtend- en avondpiek. Indien we, zoals Bert voorstelt, één trein-traject als test zouden vervangen door een vloot aan Pesero’s en dat toepassen op “mijn” lijn (Sint-Niklaas -> Brussel -> Kortrijk), dan zouden alleen al voor het deel-traject tot en met Brussel 100 busjes moeten rijden om de 1.000 pendelaars op het piekuur tot in de hoofdstad te krijgen. Ik weet niet wat U, maar ik zou de impact daarvan op de mobiliteit liever niet in de praktijk testen.
Maar het artikel van Bert is niet zonder verdienste; terwijl 100 pesero’s met die ex-treinreizigers van Sint-Niklaas, Lokeren en Dendermonde het fileprobleem alleen maar erger zouden maken, kunnen diezelfde 100 zelfrijdende busje ook 1000 personenwagens vervangen en dus voor aanzienlijk minder drukte op de weg zorgen. Dat zou nog eens een bijdrage aan de oplossing van het mobiliteitsprobleem zijn!
Blijft het probleem van grote groepen mensen die op ongeveer hetzelfde moment op ongeveer dezelfde plaats moeten zijn en daar komen we bij de droom die Bert al als realiteit ziet; wat als we inderdaad niet meer met z’n allen naar één kantoorgebouw of fabriek naast een station in Brussel zouden moeten komen? Want (nog) meer thuis, decentraal of lokaal werken is inderdaad de enige fundamentele oplossing voor de capaciteitsproblemen tijdens de piekuren van zowel de auto- als spoorwegen. Hoe kunnen we grote en kleinere bedrijven en hun werknemers daarvan overtuigen? Misschien is dat juist Bert zijn ultieme bedoeling; het probleem erger maken door de spoorwegen af te schaffen om zo een mentaliteitswijziging af te dwingen? Een sluwe dromer, die iBert!

QuirksMode: “The problem with Angular”

I’ve previously already expressed my doubts about the how well-suited AngularJS is for mobile web development (in Dutch, though, as I was discussing the merits of the mobile news-site of the Flemish broadcaster VRT).
QuirksMode’s PPK dove in a lot deeper in his “The problem with Angular“, stating amongst other things;

Angular is aimed at corporate IT departments rather than front-enders, many of whom are turned off by its peculiar coding style, its emulation of an HTML templating system that belongs on the server instead of in the browser, and its serious and fundamental performance issues. I’d say Angular is mostly being used by people from a Java background because its coding style is aimed at them. Unfortunately they aren’t trained to recognize Angular’s performance problems.

The performance problems PPK mentions are not the initial download of angular.js in the browser (which is one of the reasons why I dislike it), but the fact that angular.js does a huge amount of DOM-manipulations, which are costly, especially on mobile. This quote says it all;

Although templating is the correct solution, doing it in the browser is fundamentally wrong. The cost of application maintenance should not be offloaded onto all their users’s browsers — especially not the mobile ones. This job belongs on the server.

But do read PPK’s article for more insights on Angular and the road it is heading down with AngularJS 2.0!

WP YouTube Lyte and YouTube API v2 end of life

The YouTube API v2 is now officially to be shut down soon after April 20th. That’s bad news for WP YouTube Lyte, which uses this version of the API to perform unauthenticated read-only requests to fetch a.o. video title and thumbnail information (example here). The v3 API is supposed to simpler yet more powerful and migrating should not be a big problem, except for that little detail that v3 doesn’t allow unauthenticated requests at all. So I’ll need to add authentication (via an API key) to the mix, leaving me with the dilemma of having to choose between these approaches, none of which I really like:

  1. Tell WP YouTube Lyte users to get their own API key and have them enter it in the plugin’s settings-page. Risk: upsetting users who all of a sudden have to get an API key (“huh, what key?”)
  2. Get an API key myself and hardcode that in WP YouTube Lyte. Risk: abuse of that key (and neither a server key nor a browser key is applicable really), reaching limits, being denied access.
  3. Create and operate a proxy application that sits between the v3 API and each and every WP YouTube Lyte instance, taking care of authentication with an API key. Risk: having to write & install that proxy application, making sure it is available 24/7 (it’s a single point of failure) + obviously the same abuse-risk as in (2).

No, I’m definitively not happy … 🙁

Sad Musicians Make Better Music

While waiting for a meeting to begin, I perused the Spotify playlist of a colleague. One of the only names I recognized was Sia.
Aaaah Sia, … How I used to love her. Beautiful songs (both solo and with Zero 7) , wrought with pain, doubt, passion and a splash of quirkiness. Think “Soon we’ll be found” or “Destiny” and above all “Breathe me” (which also featured in the most impressive final of one of the most beautiful and slightly quirky TV shows ever), here in a live version in the KCRW studio’s in 2007;

Sia - Breathe Me (Live at KCRW 2007)

But I’m afraid the love affair is over, Sia confessed to being happy now and the song on the Spotify playlist was David Guetta’s rather horrible Titanium which Sia provided vocals for. And recent Sia-tracks like “Chandelier“,  “You’re Never Fully Dressed Without a Smile“, “You’ve changed” or these “7 Songs You Didn’t Know Were Written by Sia” don’t really move me either. I wish Sia all the happiness in the world, but I wish she was still sad. If only a tad.

Nieuwe m.deredactie.be niet meer mobiel!

(Update December 2014: ik bouwde zelf een alternatieve versie die sneller en toegankelijker is op http://futtta.be/redactie/)


m.deredactie.be homepageIk ❤ mobiele websites, zelfs op de desktop. Bij het refreshen van m.deredactie.be vandaag (12 mei) kwam ik op de nieuwe versie uit. De developers hebben zich ongetwijfeld goed geamuseerd om niet alleen de nieuwe look & feel te implementeren, maar ook om de achterliggende technologie grondig te herbouwen naar een JavaScript-based UI volgens de “single page application“-filosofie (iemand heeft zich wel héél erg in angular.js verdiept, daar aan de Reyerslaan).
Maar ik, eenvoudige gebruiker, ben minder enthousiast. De site ziet er misschien moderner uit, maar is minder bruikbaar; zonder javascript is er niets te zien (neem een voorbeeld aan “cut the mustard“, progressive enhancement zoals de BBC die predikt), “above the fold” staan er enkel afbeeldingen en vooral; alles is plots trager!
Want over snelheid kun je niet discussiëren; sneller is beter, trager is slechter, zeker mobiel. De voorgaande versie van m.deredactie.be “woog” pakweg 150KB en laadde volledig in minder dan 2 seconden, maar de nieuwe versie tikt af op 2560KB in 6 seconden (gemeten op webpagetest.org met “cable” bandbreedte-profiel, met “fast mobile” wordt dat 17s).
Is m.deredactie.be een mobiele site? 2 megabyte aan data zeggen van niet.

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!

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.

Facebook force-feeding Messenger, going mobile web instead

So Facebook wants me to install yet another permissions-greedy app just to read messages? That is so frustrating! So no, don’t think so guys. I’m putting Facebook back into the (slightly) safer sandbox that is the mobile web;
facebook forces users from app to web
So thanks for reminding me why I love my mobile browser that much Facebook!