Blog personal
Cuando escribo, entiendo mejor el mundo.
Blog personal
Cuando escribo, entiendo mejor el mundo.
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...
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...
I had a blast at SocratesUK 2014
Last week I participated in SocratesUK for the second time. I learned many things, met amazing people and had a lot of fun. I flu from Tenerife to London the day before and met Sebastian Larsson in...
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...
Argument’s names may improve the method’s signature expressivity
In a previous post I wrote some examples of method names that use their arguments' names to form an expressive expression: Users findBy(String name){...} It reads well when looking at the method...
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...
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...
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...
A week to remember in Barcelona
Last week was awesome, I went to Barcelona to run two training courses. Well, one of them was my yearly session at the Postgraduate on Agile Methods at La Salle (Universitat Ramon Llull). The first...
I was an IronHacker at the 2nd edition
Last week I was the teacher in the second edition of the IronHack, well for the last two days of the week. This time I've joined the group on their second week rather than the fifth. So I've been...
Good names should consider their context
With good names for packages, classes, methods, variables,... code should be self-explanatory. Long method names are not a problem if they really make code read better and don't reveal too much...
PDF manipulation…. oh my god!
I am using LeanPub to create some manuals and it's a very nice service. You just have to use Markdown to write your document and it generates a good looking pdf document from it. Well, as far as...
My experience at the IronHack
I am one of the lecturers/mentors of the first IronHack edition, a training program for people who want to become professional developers. My part takes only three days and it's been this...
Mock objects on JavaScript
Many frameworks use the word "mock" for what in reality are "spies". But that's OK, the work "mock" in English covers actually all the possible test double types... However according to G. Meszaros,...
Isolation with jMockit: Stub out System from Java JRE
In general I prefer to wrap up system functions so that I can inject test doubles and test drive my designs easily. In general is not a good idea to mock objects you don't own. But this time I was...
Do not create unnecessary methods
Methods should be short, from 1 to 7 lines of code, maximum 10 in some cases (with the exception of some algorithms). Because a method does just one thing its name should describe it precisely. But...
Return: get out as soon as possible
I believe the idea of a single exit point for functions comes from the 70's. A function used to have only one exit point, a single return statement. I still see some developers doing this but it's...
Case study: Audience Response
Wow, AgileTestingDays 2013 it's being awesome! I gave my talk today, a practical "live coding" session. Last week I created a real-time application to communicate with the audience so that when I am...
WebSockets and Android
I didn't know that the default browser installed on Android is called Webview. I haven't created any native Android app ever. But I wanted my web app to run on Android using Websockets....
Online training course/class: Test doubles
No long ago in the Spanish TDD mailing list, some friends said they were struggling with test doubles. A typical question is how to use them to design collaboration a la test-first. Test doubles are...