Changing the World, One Paper at a Time

Software Engineering is an important field. Millions and millions are spent every year on developing software even though, frankly, we suck at it: Software is delivered too late. Software has bugs. Software is completely incomprehensible to its users. So, companies and governments around the world invest in software engineering research. Professors and PhD students areContinue reading “Changing the World, One Paper at a Time”

InfoQ: Mobl a DSL for Mobile Web Development

After the InfoQ news article about mobl, I was invited to write a full-length article there as well. Well, I did, and here it is: 2900 words of mobl goodness: Application development for mobile devices such as smart phones and tablets is popular. Apple’s AppStore (for iPhone, iPod and iPad) has over 350,000 applications andContinue reading “InfoQ: Mobl a DSL for Mobile Web Development”

Planning Ahead: the Async Javascript Problem

Yesterday [I posted about spaghetti-free Javascript code](https://zef.me/3715/three-routes-to-spaghetti-free-javascript). A [lot](http://news.ycombinator.com/item?id=2279862) of [reactions](http://www.reddit.com/r/javascript/comments/fvrhj/three_routes_to_spaghettifree_javascript/) [followed](http://www.reddit.com/r/programming/comments/fvrhf/three_routes_to_spaghettifree_javascript/). As it turns out, most people misunderstood my point. That’s probably my fault. Here is at again, more concisely: When you write Javascript you have to think ahead: in the code I’m about to write, is there going to be an asynchronous callContinue reading “Planning Ahead: the Async Javascript Problem”

Three Routes to Spaghetti-Free Javascript

_(If you are familiar with the problems of moving from synchronous to asynchronous programming, feel free to move to the next section.)_ **Update:** A lot of people misunderstood the main issue: [here is another shot at explaining it better.](https://zef.me/3753/planning-ahead-the-async-javascript-problem) Let’s build a script that determines the titles of a set of URLs. Let’s start simple,Continue reading “Three Routes to Spaghetti-Free Javascript”