Progressive enhancement with handlers and enhancers

var handlers = { 'overlay' : function(e) { // This function is executed on click of any element with // 'overlay' in its data-handler attribute. // The click event is in 'e', $(this).attr('data-foo') holds the // value of data-foo of the element the user clicked on }, 'another-function-name' : function(e) {} …

Mobile Development with a #devops mindset

Kick-ass presentation which Patrick Debois – the one and only – gave as a lecture to my students Web & Mobile Development. In the presentation he reflects on a recent high profile mobile app Small Town Heroes, the company he works at, launched: This presentation shows how you can improve your mobile development cycle when …

Textures.js – SVG patterns for Data Visualization

Textures are useful for the selective perception of different categories var svg = d3.select(“#example”) .append(“svg”); var t = textures.lines() .thicker(); svg.call(t); svg.append(“circle”) .style(“fill”, t.url()); A multitude of predefined styles is available. It’s also possible to define your own styles. Textures.js →

ES6 ES2015 Arrow Functions and this

Why you’d want to use arrow functions (next to them being shorter to type): Arrow functions will maintain the this value of the enclosing context Yes, this will work just fine: function Wilto() { this.age = 32; setInterval(() => { this.age++; console.log( “I am now ” + this.age + ” years old”); }, 3000 ); …