Understanding JavaScript Errors

There is no magic in programming languages. The fact that they are formal languages makes them deterministic. For every behaviour there is a reason. For every error there is a logical cause. Before googling for an odd error message, try to understand what the...

Programmer’s memory

By pairing with a wide variety of other programmers, I’ve noticed that the programmer’s memory has an important impact on the productivity. In order to be agile searching for code blocks within a file, we must remember the structure of the code, be...

First 10 minutes of the day: review and refactor

Do you want to know something that works really really well for me? I spend the first 10 to 15 minutes of the day reading the code  I (or we) wrote the day before. I always find out something to change. It’s often a rename or a method extraction, something that...

Marionette + Require + Jasmine 2.0

I am starting to work on a new project for a new customer, I’ll join the team for a couple of days or perhaps weeks. They have been spiking and eventually have decided they want to develop the front-end using Marionette.js a library on top of Backbone.js...

No, it’s not the money

I totally disagree with the idea that ultimately we write software for money, for someone to make money — or more money. I can’t bear with sad statements like “well, eventually we get paid to produce revenue” or “at the end of the day...

Watching Kent Beck test-drive

I’ve been watching and studying K. Beck’s video series on TDD this week. These screencasts are really good in my opinion, I am glad that Kent made them. I would like to see more of them. According to Amazon, I bought Kent’s book on TDD in January...

Code symmetry

Today, Peter Kofler and I have been pairing over the Internet to do deliberate practice. To improve our coding skills. We have been working on the word wrap kata, to practise the Transformation Priority Premise, this time using JavaScript. We’ve checked-in the...