Het tofste gratis festival van Nederland begint vanavond: de-Affaire, tijdens de zomerfeesten in Nijmegen. Met zoveel bandjes om de komende week te zien is de vraag natuurlijk: waar moet je heen, en waar niet?
Gelukkig hoef je je daar niet meer het hoofd over te breken: ik heb alles geluisterd en lijstjes gemaakt waar je zeker heen moet, wat eventueel leuk is, en wat je het beste links kan laten liggen. Inclusief Spotify playlists, wat voor soort muziek het is en waar het op lijkt.
Gnucci. Woensdag vanaf 20.00 bij Club Voerweg.
Ragga, dance, of iets er tussen in. In ieder geval heel dansbaar. Lijkt op: M.I.A, Thunderheist.
Great Mountain Fire. Woensdag 21.15 Boog.
Melancholische electronica met gitaaraccenten. Lijkt op: The Bony King of Nowhere, Daryll-Ann, Belle & Sebastian.
Sinds een paar maanden heb ik een iPad. Leuk om dingen op te lezen, zoals bijvoorbeeld de krant. Zelf lees ik dan het liefst de Volkskrant, maar helaas werkt dat voor geen meter. Waarom? Lees dit artikel. Ook voor hoe het dan wel moet.
Volkskrant op iPad
De Volkskrant heeft besloten om een Newsstand-app te maken voor de iPad. Dat betekent dat ze abonnementen en losse nummers mogen verkopen, maar wel 30% moeten afdragen aan Apple. Elke nacht wordt (in theorie) de complete krant gedownload via wi-fi en kun je er doorheen bladeren (layout hetzelfde als in de papieren versie) en artikelen lezen op een iPad-vriendelijk formaat.
Bugs en tekortkomingen
De app zelf ziet er aardig uit, maar in de praktijk zijn er ontzettend veel bugs en tekortkomingen:
Artikelen die in de papieren krant over meerdere pagina’s zijn gedrukt (bijvoorbeeld een inleiding op de voorpagina die verder gaat op pagina 10) zijn in de digitale versie niet samengevoegd. Je komt dus regelmatig artikelen tegen met de op een iPad lachwekkende zin ‘Lees verder op pagina 10’.
Puzzels zijn niet in te vullen. Waarom zitten ze dan toch in de digitale krant?
De krant zelf duurt lang om te downloaden (een gemiddelde krant is schat ik rond de 200mb). Vandaar de mogelijkheid om ‘m ‘s nachts op te halen via wi-fi. Maar als je op 3G zit en de krant wilt ophalen heb je een probleem: het duurt superlang en je databundel is zo op.
Al die tekortkomingen zouden nog tot daar aan toe zijn als de krant niet zo ontzettend vaak half, incompleet of zelfs helemaal niet binnen komt. Zie de afbeelding: vanochtend kreeg ik de tekst van de krant wel binnen, maar niet de afbeeldingen en de pagina’s.
De app crasht regelmatig, en dan ben je je ‘state’ (de plek waar je was in de krant) volledig kwijt en moet je helemaal overnieuw bladeren naar waar je was gebleven.
Stelt u zich eens voor dat je de papieren krant regelmatig half, kapot of helemaal niet in de bus kreeg. Wat zou u dan na een paar weken doen?
Prijs / kwaliteit
De bottom line: hoeveel betaal je voor het abonnement? 24 euro per maand. Dat is maar 3 euro minder per maand dan de papieren krant. En voor die 3 euro meer krijg je de iPad-versie er geheel gratis bij.
De logische vraag is: waarom zou iemand in vredesnaam voor 24 euro per maand zo’n slecht product willen?
Volkskrant op de iPhone
Behalve de iPad-versie is er ook een iPhone versie. Helaas is die zo mogelijk nog slechter. De app heeft al bijna een jaar geen update meer gekregen, zodat cruciale bugs (zoals bijvoorbeeld het volledig ontbreken van afbeeldingen in teksten) nog steeds niet zijn gefixt.
Ook de iPhone versie crasht regelmatig en kranten komen vaak half, of helemaal niet binnen.
Het enige lichtpuntje: voor de iPhone-versie betaal je slechts 8 euro per maand.
Probleemkindje
Het is dus duidelijk dat de iOS-strategie van de Volkskrant faalt. Zowel de iPad als iPhone-versie hebben al maanden geen updates meer gekregen, er zijn ontzettend veel bugs en de apps crashen regelmatig. De enige reden die ik me kan voorstelen waardoor dat komt is omdat er vanuit de Volkskrant helemaal niemand zich met dit project bezig houdt. Het idee is blijkbaar geweest om een app te maken ‘en dan zijn we klaar voor de toekomst’.
Helaas werkt het in de praktijk niet zo: het laten slagen van een app vergt een team van mensen die er continu opzitten, de kwaliteit in de gaten houden en de apps beter maken.
Een andere aanpak
Goed, de Volkskrant iOS-apps falen dus. Maar hoe moet het dan wel? Ik heb geen biet verstand van kranten, maar ik weet wel wat ik prettig vind werken op mijn iOS-apparaten.
Maak één app voor iPad en iPhone. Geen newsstand-app, want dan draag je 30% af aan Apple. Dan kun je geen losse nummers of abonnementen meer via de app verkopen, maar dat doe je lekker via de website, net zoals Spotify. Geen verschil tussen iPad en iPhone-abonnement: voor een tientje per maand kun je op beide apparaten de krant lezen.
Schrap het idee dat de digitale krant er net zo uit moet zien als de papieren krant. Kijk naar apps als Zite of Flipboard om te zien hoe je een echte digitale krant maakt. Vraag slimme techneuten om iets te bedenken waardoor je het aantal mb’s beperkt zodat het ook over een 3G-connectie is te downloaden. Haal alles er uit waar je geen tijd voor hebt om het goed digitaal uit te voeren (zoals de puzzels).
En zorg voor iemand die elke dag de complete krant checkt op fouten, die er voor zorgt dat er geen half functionerende kranten worden gedownload en reageert op feedback van eindgebruikers.
Misschien kan ik dan eindelijk eens fijn de krant lezen op mijn iPad.
I’ve just released version 0.5 of my little Javascript MVC framework, Stapes.js.
New features and improvements in this release are focused around events. The most important one is the ability to add Stapes’ event handlers to any Javascript object or function:
var person = {
"sayName" : function() {
this.emit('name', 'Johnny');
}
};
Stapes.mixinEvents(person);
person.on('name', function(name) {
console.log('my name is: ' + name);
});
person.sayName(); // 'my name is Johnny'
So you don’t need to create a Stapes object to get event handlers in an object.
mixinEvents also works with functions and the new, operator, just make sure you set the mixin in the constructor.
var Person = function(name) {
Stapes.mixinEvents(this);
this.name = name;
}
Person.prototype.sayName = function() {
this.emit('name', this.name);
};
var p = new Person("Emmylou");
p.on('name', function(name) {
console.log('my name is: ' + name);
})
p.sayName(); // 'my name is Emmylou'
The cool thing is that all mixed-in events are also thrown on the global Stapes
object, so you can also do stuff like this:
The other big feature of 0.5 is the addition of the off method for event handlers. I haven’t come across many usecases where you need this, but it is an obvious addition if you also have on and emit methods.
The last big redesign of this website was released on january 1st 2007. Quite a long time ago, considering Facebook was still in its infancy, people surfed with Internet Explorer 6 and the iPhone wasn’t released yet (that happened nine days later).
So, what kept me from redesigning this site? I guess a lack of time, or interest, or both. I’ve started work on this new redesign somewhere in autumn 2011, and the files on my laptop tell me i’ve been thinking about a new design since at least summer 2010.
For this new design i decided to go with the mobile first approach: focus on the most important stuff first, make that as nice and simple as possible, than go for fancy bells and whistles. Try viewing this website on your phone or tablet, it will look pretty nice as well.
This also means performance and bandwidth is really important. The current homepage loads under a second and uses as little HTTP requests as possible. I’ve switched to using Zepto instead of jQuery as a Javascript framework for reduced filesize and optimization on mobile.
I’ve switched to English for the main pages and navigation. I’ve tried a multi-language approach for the old site and failed. I’ll still be blogging in Dutch from time to time, but i won’t be bothered by trying to invent some way to make the common interface elements available in both languages.
I’m interested to hear what you think about this redesign. Are you missing anything? Things you don’t like? Please let me know in the comments.
And i surely hope the next redesign won’t have to wait until 2017 :)
For those of you who are experiencing nostalgia now, here are some screenshots of previous versions of the site (click for a bigger version):
U kent die situatie: u wilt een feestje organiseren (of verkiezingen, ook leuk). U heeft alles al gepland, de ranja ingekocht, mensen uitgenodigd, en dan bekruipt u dat gevoel: speelde het Nederlands elftal niet op mijn feestje?
Om dat probleem te voorkomen: hier zijn ze: alle mogelijke data waarop ‘onze jongens’ het gras betreden.
Jep, het is weer zover. Geen jaar gaat voorbij zonder dat de muziekliefhebber zich wijd aan het maken van het lijstje. Het beste, mooiste, bijzonderste van 2011.
Over het algemeen vond ik 2011 wat tegenvallen. Weinig wat er echt heel erg uitsprong, geen grote klassiekers. Desondanks genoeg platen om een top 20 mee te vullen.
Zoals ik vorig jaar al schreef is de introductie van Spotify een bijzonder evenement geweest. Alle albums op mijn lijstje van dit jaar zijn dan ook te luisteren op Spotify door te klikken op het icoontje.
Verder heb ik ook een YouTube-mix gemaakt met van elke plaat mijn favoriete nummer. En ook die playlist (met wat aanvullingen) kun je beluisteren via Spotify.
YouTube Mix
Hay’s 20 platen van 2011
1. James Blake – James Blake
Nee, geen grote verrassing, en soms is James wat saai. Maar 2011 is het jaar van dubstep, en James is de koning. Toch wel heel erg goed.
Ideale combinatie: luister na James Blake z’n twee EP’s uit 2009: CMYK en Klavierwerke.
2. Oneohtrix Point Never – Replica
Superabstracte bizarre instrumentale muziek, maar toch prettig in het gehoor. Op elk nummer lijkt er een nieuwe plaat te beginnen. Muziek voor de 21ste eeuw.
3. The Field – Looping State of Mind
Nog steeds: oneindig rekken van ultrakorte samples met een simpele 4-to-flour beat, maar waarom ook niet? The Field klinkt op deze plaat warmer dan ooit. Ideale muziek voor als je ‘in de zone’ bent.
4. Cut Copy – Zonoscope
Cut Copy is volwassen geworden. Heerlijk aanstekelijke electropop met een dansbaar randje.
5. Wilco – The Whole Love
Verrassende nieuwe plaat van een band die alles al eens gedaan heeft. En dat nu allemaal op één plaat doet. Supergoed.
6. araabMUZIK – Electronic Dream
Het lijkt een goedkoop concept: pak een hoop foute househits uit de jaren negentig, remix ze een beetje en hoppa: een plaat. Saai? In tegendeel. Heel goed. Het werkt.
7. Bon Iver – Bon Iver
De intimiteit van zijn eenzame-man-op-een-gitaar debuutalbum is hij kwijt, maar het geluid is wel veel rijker geworden. Heel mooi. Toch, ietwat degelijk en niet zo spannend.
Simpel: Sufjan Stevens in het muziekgebouw in Eindhoven, begin dit jaar. Misschien wel het beste concert wat ik de afgelopen vijf jaar heb gezien. Kippenvel, de hele tijd. Ook al speelde Sufjan slechts één nummer van zijn beste plaat Illinois toch kon hij de hele zaal urenlang ontroeren en boeien met zijn folkpop met een elektronisch randje.
Note the ending * at the first line. I didn’t know what got into me, but this caused logrotate to rotate the rotated logfiles, hence 100% CPU and hence, a broken system.
I fixed it (by replacing the ‘*’ with a ‘g’), but logrotate still didn’t work. CPU stayed at 100%, logs didn’t rotate. So i ran a strace -f logrotate and got lots of these:
A little bit of Googling turned up this blogpost: apparently lograte‘s own log got corrupted. A simple rm /var/lib/logrotate/status did the trick and everything worked perfectly again.
Consider this case: you have a blogpost with an image, a heading, and some text. You want a little margin on the top of every heading to divide the different sections. Your HTML might look like this:
<article>
<img src="photo.jpg" alt="A nice photo" />
<h3>My heading</h3>
<p>Text. Bla bla bla</p>
<h3>Another heading</h3>
<p>Even more bla bla</p>
</article>
Now here’s a problem. The very first <h3> will have an ugly margin at the top, so it doesn’t line up with the image. How would you style it so that it won’t have a margin at the top? My first guess was to use the :first-child selector:
article h3:first-child {
margin-top: 0;
}
However, that doesn’t work. The spec is not very clear about it: but here’s the problem: :first-child only selects the very first element and doesn’t care about the element you give it. That’s great if all your elements are the same (such as <li> elements in a list) but it sucks when having a case like this.
Fortunately, there’s a new CSS3 property that’s perfect for this case. It’s called :first-of-type and does exactly what you want.
article h3:first-of-type {
margin-top: 0;
}
Browser support is mostly pretty good, although you’re out of luck on Internet Explorer 8 and earlier.
When i downloaded the Couchbase Single Server 1.1.2 for Mac OS X i tried replicating a database and tried to view a view. Unfortunately all i got was endless errors in my log:
[error] [<0.159.0>] OS Process Error <0.17372.0> :: {os_process_error,{exit_status,1}}
[error] [<0.159.0>] OS Process Error <0.17375.0> :: {os_process_error,{exit_status,1}}
[error] [<0.159.0>] OS Process Error <0.17378.0> :: {os_process_error,{exit_status,1}}
When i looked in the configuration i noticed this value in my ‘query_servers’: