Blog personal
Cuando escribo, entiendo mejor el mundo.
Blog personal
Cuando escribo, entiendo mejor el mundo.
Fluent API for test doubles
There are several good frameworks out there to create test doubles with JavaScript. Jasmine and Sinon provide test spies and stubs. JsMockito looks good too. However, creating your own API for test...
London Tester Gathering Workshops
Next week, I'll be taking part in the London Tester Gathering Workshops at SkillsMatter. I'll be giving a 4 hours workshop on JavaScript aimed at software testers on Thursday. Inspired by the...
A week in the UK
Talking at SkillsMatter Last week was very intense indeed. I gave my first talk at Skills Matter (video here). BDD for RIAs with JavaScript - Skills Matter from Carlos Ble I must say I am not...
Push the query down: Tell, don’t ask
"Feature envy" is a typical code smell in Object Oriented Programming. It can be appreciated when code talking to an object accesses directly to that object's fields or properties, from the outside,...
Getting started with Mercurial and TortoiseHG Workbench
A version control system should be easy to use, at least when you just need to perform basic tasks. This is why I like Mercurial. It's powerful yet easy. And TortoiseHG is an excellent client app....
Recording screencasts with Linux
I am recording some screencasts for a TDD training. I will tell you more about that later. For now, let me write how am I doing it for me to remember in the future. For recording I am using Kazam,...
Configuring Targus keyboard
I've bought a new keyboard to use it with my laptop when I travel and also for coding dojos. It's small, cordless and with US layout which is what I use for coding. Very handy. It's a Targus...
RIAs: the domain is not in the server side
Rich internet applications bring a powerful user experience. But in order to achieve that, they must be written totally different from traditional webs. The paradigm is totally different and so the...
This was SpainJS 2013
The 2nd edition of the SpainJS conference was held in Madrid last week. On Thursday there were workshops the whole day. Talks and networking happened on Friday and Saturday. I attended to the...
¿Agile Spain o España Agil?
No puedo decir que esté contento con cómo lo he hecho en la organización de AOS2013 y no me gustaria que este post fuese punto de discusión sobre lo ocurrido en AOS. Para eso esta la lista de...
Do you want to be a CAT? (Certified Agile Tester)
Potsdam is beautiful specially in this time of the year, it's definitely a must see, I am loving the place. However, I am not here for tourism reasons. I am attending a special training called...
The best coding dojo ever
I've got goosebumps on my arms most of the day. And it doesn't happen very often. This is the most emotional coding dojo I've ever facilitated. It's been in Gran Canaria, at the Universidad...
Programming through VNC
I connect to my desktop PC (which is very powerful) from my laptop (very old), when I feel like coding from the other room, the couch or the bed. Desktop is a Windows 7 machine, laptop is Ubuntu. I...
Add the feature where you would like to find it
A new change or feature is about to be implemented. There are several places where it can fit in, and all of them seem to respect the Single Responsibility Principle. My tendency used to be adding...
What methods should Value Objects contain?
Value objects can contain methods. Otherwise they are just anemic models. Those methods prevent the feature envy code smell and ease refactoring. They manipulate object internals promoting cohesion...
What would you expect the code to do?
Writing quality code is about satisfying the expectations of the reader. And the reader might be yourself a couple of months later. Let me tell you a mistake a made recently. I was test-driving a...
Careful with JavaScript object literals
JavaScript object literals are very handy, they are just key-value pairs. Very convenient to implement dictionaries and also a very simple implementation of the Singleton pattern: var message =...
Push the “how” down: Cukeup! 2013
It's been my first time attending to an event at Skills Matter and it's been awesome 😀 Cukeup! is the annual conference about BDD and Cucumber. This was the third edition. Let me share with you...
Unit testing JavaScript with Promises and Jasmine
Promises are a nice solution to write readable asynchronous code in JavaScript. If you understand Spanish, I highly recommend this great talk on Promises by Enrique Amodeo. But, is the code with...
Segunda edición del PMA
Acabo de regresar de impartir mi clase sobre Clean Code y TDD en el Postgrado de Métodos Ágiles de La Salle (#PMA), en Barcelona. Se trata de la segunda edición de este postgrado único en el mundo....