Octopus Paul: Spanje wint WK voetbal

Misschien kunnen we Paul samen met de Duitsers grillen en dan oppeuzelen.
Of je kunt geloven dat de enige ware voorspeller een parkiet is.

Misschien kunnen we Paul samen met de Duitsers grillen en dan oppeuzelen.
Of je kunt geloven dat de enige ware voorspeller een parkiet is.
I wrote a (very) small Javascript function to dynamically load Javascript files. In modern Javascript development you usually have more than one Javascript file in your page (e.g. jQuery, a few plugins, a main javascript file) that depend on each other. Loading them using the <script> tag works, but sometimes you get a dependency problem because scripts are not guaranteed to load from top to bottom in the order they appear in on the page.
The script is based on this version by Nicholas C. Zakas but adds an extra option to load an array of Javascript files.
Fork it on Github or get a minified version.
Here’s how you use it:
// Loading a single file
jsDynaLoad("single.js", function() {
alert("callback after the single file");
});
// Loading an array of files
var files = ["1.js", "2.js"];
jsDynaLoad(files, function() {
alert("callback after the array of files");
});
// A callback is not required
jsDynaLoad("nocallback.js");
To get a better performance remember to place your scripts at the bottom of your page, close to the closing </body> tag. You can also include the minified version of loadScript inline in a <script> tag to save a HTTP request.

When using Freemarker in Magnolia, you often get errors. For example, because you tried to use an undefined value and didn’t add the required ‘!’ symbol. When that happens you see the infamous red-on-yellow “FreeMarker template error!”. During development, that’s not a problem, but on a production site you don’t want to confuse your visitors with cryptic Java errors.
Unfortunately, it’s not that easy to turn those errors off, and you probably do want people to report these errors because they might indicate a serious bug in your website.
For this purpose i wrote a small Javascript function that you can use to ‘prettify’ the Freemarker error. It replaces the stacktrace with a general error message, but the user can still see the original error by clicking on a link. The script requires jQuery, which is included in the STK or can be downloaded from jQuery.com. To run in, just add it to your $(document).ready() function.
To view the script read the Magnolia wiki page.
When developing stuff in Javascript and jQuery you often need to concat lots of HTML for output. That gets ugly pretty fast.
$("#mydiv").html('<div id="lightbox-container-image-data-box">' +
this.something + '<div id="lightbox-container-image-data"><div' +
'id="lightbox-image-details"><span id="lightbox-image-details-caption">' +
v + '</span><span id="lightbox-image-details-currentNumber"></span>' +
'</div><div id="lightbox-secNav"><a href="#" id="lightbox-secNav-btnClose">' +
'<img src="'+settings.imageBtnClose+'">');
There are a few different ways to concat strings in Javascript and make your code more readable.
Using the + operator:
var html = "<table>" +
"<tr>" +
"<td>" +
"</td>" +
"</tr>" +
"</table>";
I don’t like this notation. To make it readable you need an extra space after the closing " and you can’t nicely line up all the strings.
Another way is using the Array.join("") method:
var html = [
"<table>",
"<tr>",
"<td>",
"</td>",
"</tr>",
"</table>"
].join("");
This has the disadvantage that you need a method at the end of the array, and in modern browsers it is a little slower than native concatting.
Another way is using the String.concat() method
var html = (new String("")).concat(
"<table>",
"<tr>",
"<td>",
"</td>",
"</tr>",
"</table>"
);
I especially like this last method. Unfortunately the syntax is a little clunky. My colleague Frank suggested a slightly different notation
var html = ''.concat(
"<table>",
"<tr>",
"<td>",
"</td>",
"</tr>",
"</table>"
);
This is valid because '' is equivalent to (new String(“”)). This works great and makes passing HTML as an argument to jQuery methods a lot more readable:
$("#mydiv").html(''.concat(
'<table>",
'<tr><td>',
'</td></tr>',
'</table>'
));
Vier jaar geleden schreef ik op deze plek een evaluatie van het lijsttrekkersdebat. Het is interessant om te zien hoe het politieke landschap zich nu manifesteert. Balkenende, Rutte en Wilders zitten nog steeds op hun plek, maar de verhoudingen zijn veranderd, ten gunste van de VVD, ten nadele van het CDA. Een evaluatie van de lijsttrekkers.
Het blijft knap hoe Emile Roemer zich in acht korte weken heeft geprofileerd als de opvolger van Jan Marijnissen. Zijn taal was duidelijk, eenvoudig en vaak origineler dan de andere deelnemers. Van de andere kant: zijn betoog over ‘de uitverkoop van de sociale sector’ werd wel erg vaak herhaald, misschien nog wel vaker dan de moslims van Wilders.
Femke Halsema positioneerde zich als het ultieme alternatief voor linkse besluitelozen. Voor sommige zwevers werkte dat misschien, maar ik kan me ook voorstellen dat kiezers dat juist een teken vinden van besluiteloosheid van haar kant.
André Rouvoet en Alexander Pechtold waren zo goed als onzichtbaar. Dat is vreemd, want beide zijn goede debaters.
Pechtold probeerde op te vallen door grappen te maken die geen van allen aankwamen. En de laatste oproep aan Rutte om toch vooral duidelijkheid te scheppen over Wilders als vice-premier was ook geen succes.
Jan Peter Balkenende zal zijn achterstand met dit debat niet goedmaken. Het enige wat een beetje aankwam was zijn verhaal over ‘wat een goede premier maakt’, de rest was zijn eeuwige stroom van verhaspelde woorden en dooddoeners als ‘u zegt het wel, maar het is niet zo’. Balkenende kan na dit debat definitief de handdoek in de ring gooien.
Geert Wilders was als altijd verbaal sterk, maar na 4 jaar alles te hebben gezegd wat er te zeggen valt over wat er fout is aan moslims is het een grijsgedraaide plaat geworden. Voor de eerste keer deed Wilders zenuwachtig aan, Rutte was hem op alle momenten de baas. En of het nou zo’n slim idee was om te zeggen dat hij als Minister-President als eerste naar Israël zou gaan?
Ondanks dat Job Cohen claimt dat hij ‘van zijn eerdere fouten in de campagne heeft geleerd’ was dat vanavond niet te merken. Wat hij zegt lijkt op de taal van Wouter Bos, maar hij doet het lang niet zo charismatisch en overtuigend. Hij klonk af en toe bijna, en dat is wel heel pijnlijk, als Ad Melkert, die zinnetjes opdreunde van zijn voorlichters. Dat is jammer, want op de momenten dat hij wat meer improviseerde was het een stuk beter. Hoe dan ook, met dit slappe optreden is Cohen naar mijn mening de verliezer van het debat.
Mark Rutte heeft de afgelopen vier jaar veel geleerd en was ontzettend kalm en duidelijk in het uitleggen van zijn standpunten.Het is knap hoe Rutte zijn VVD neerzet als een sociale partij die er ook voor de minder bedeelden is (of dat nou waar is of niet). Alleen de ‘morele oproep’ van Femke Halsema om aan te geven waar de pijnpunten van zijn programma zitten liet dat beeld even verwateren. Toch bleef het beeld overeind, en Rutte is daarom de winnaar van het debat.
Voor wie het geweldige Linkse Hobby Live feest afgelopen zaterdag heeft gemist hieronder mijn presentatie over de WIlders Uitspraken Generator en een paar foto’s. Dank aan Leonieke en de Linkse Hobbyisten voor de foto’s!

Naar aanleiding van het Linkse Hobby feest heb ik de beruchte Wilders uitspraken generator uitgebreid met twee nieuwe speeltjes.
Ten eerste kun je Geert’s uitspraken nu overal genereren met de mobiele versie. Net zo goed, maar dan ook prettig in het gebruik op je iPhone, Android of andere smartphone.
En als je Geert werkelijk een warm hart toedraagt kun je ‘m ook op je eigen website zetten met behulp van de superhandige gadget. Kopieer de volgende code in je blog, website, Hyves-profiel, wat dan ook om al je vrienden en familie te amuseren met de uitspraken van het blonde orakel uit Venlo:

Ik heb bij menig persoon wenkbrauwen laten fronzen door te melden dat ik de muziek van Heino goed vind. Heino? Inderdaad, die blonde, volarische Duitse Schlagerzanger die hits als Karamba, Karacho, ein Whisky, Blau blau blüht der Enzian en Komm in meinen Wigwam op zijn naam heeft staan. Camp! Zeggen de meeste mensen dan, of het allerergste wat er in Duitsland op muzikaal gebied ooit is uitgebracht naast Schnappi das kleine Krokodil.
Waarom kan ik Heino goed vinden terwijl ik ook hou van ‘echt goede muziek’ zoals Radiohead, The Smiths of Belle & Sebastian?
Het punt is dat je Heino helemaal niet moet vergelijken met dat soort muziek. Heino is volksmuziek, net zoals we hier De Zangeres Zonder Naam hebben, Johnny Jordaan of Frans Bauer. En laat Heino in dat specifieke genre van de volksmuziek nou ontzettend goed zijn. Vooral als je het vergelijkt met de volksmuziek hier in Nederland. De meeste volksmuziek in Nederland is langdradig, goedkoop gearrangeerd en de hele tijd hetzelfde: één nummer van Johnny Jordaan is leuk, maar na 12 keer te hebben gehoord dat hij is geboren in een keldertje in de Jordáááán heb je het wel gehad.
Hoe anders is Heino! Natuurlijk, Heino heeft ook z’n slechte periodes gekend, en hij heeft genoeg rommel opgenomen, maar vooral in de ‘goude periode’, aan het begin van de jaren zeventig, waren de nummers van Heino voor het grootste deel prachtig gearrangeerd, afwisselend en vooral: kort en krachtig. Waar hier iemand als Vader Abraham nummers uitmelkt tot ver na de vijf minuten door nog een keer een refrein te herhalen houd Heino het na drie minuten wel voor gezien: niet langer dan strikt noodzakelijk. En dan die stem: Heino kan in alle toonsoorten zingen, en had met gemak een gevierd klassiek zanger kunnen worden.
En die kwaliteit hoor je! Luister bijvoorbeeld eens naar één van de grootste hits van Heino: Carneval in Rio:
http://www.youtube.com/watch?v=2pxmhWECE7E
Luister naar die fantastische stem van Heino, het aanstekelijke ritme, het refrein wat niet uit je hoofd gaat. Dit is niet zomaar volksmuziek, dit is een meesterwerk!
Ik daag je uit om te luisteren naar de muziek van Heino, en te ontdekken wat je al die tijd hebt gemist.

Ik was vandaag voor het eerst in jaren weer eens in de openbare bibliotheek in Nijmegen. Toen ik nog daar woonde was ik kind aan huis bij de muziekafdeling: in de tijd dat nog niet alles makkelijk en snel online was te downloaden kon je voor 1,50 een cd voor twee weken lenen en ‘luisteren’ (lees: kopiëren). Heel veel van de bands die ik nou nog steeds graag luister heb ik daar voor het eerst ontdekt, en ik had het idee dat ik dankzij de bibliotheek altijd behoorlijk bij was.
Nog steeds hadden ze cd’s bij de bieb en ook nog steeds hadden ze de ‘toppers’ die je voor een week mag lenen omdat ze ‘net nieuw’ waren.
De toppers van dit moment waren:
* Vampire Weekend – Contra
* Editors – In This Light and on This Evening
* Fuck Buttons – Tarot Sport
* De Staat – Wait for Evolution
Op Vampire Weekend (januari 2010) na zijn dat allemaal platen uit 2009, De Staat komt zelfs uit januari van dat jaar. Als je dus geen internet had en alles via de bieb moest luisteren zou je een heel jaar achterlopen met de nieuwste muziek. De nieuwe platen van Joanna Newsom, Hot Chip, Owen Pallett, Yeasayser: je zou ze pas allemaal in de zomer van 2011 leren kennen en er over praten met je vrienden.
Is het nou beter dat je al die platen ‘rustig’ leert kennen? Misschien dat je er wel beter over kunt oordelen zonder alle recensies in de krant te hebben gelezen. Misschien moet ik maar weer eens cd’s gaan lenen bij de bieb…
![]()
The Konami code is a pretty cool way to hide easter eggs on your website. If you want to include the code on your site but something like Konami-JS is a little too heavy you could try this small jQuery snippet.
function konami(fn) {
var input = "";
var pattern = "3838404037393739666513";
$(document).keydown(function(e) {
input += e.keyCode;
if (input.indexOf(pattern) !== -1) {
fn();
input = "";
}
});
}
The function gets one argument: a function that is executed when the code is passed correctly. Use it like this:
$(document).ready(function() {
konami(function() {
alert("You did the Konami! W00t!");
});
});