Object references, state and side effects

C#, Java and other languages have the same behaviour when it comes to reference types. public class SomeClass { public string someField; } var instance1 = new SomeClass(); // instance1 is a reference to an object in memory var instance2 = instance1; // instance2 is a...

Everyone is potentially a teacher

In order to learn from others I must trust them and open my mind enough to see them as potential teachers even if  they are – apparently – less experienced than me in certain knowledge area. The lessons to be learned may not necessarily come from the...

XP Team Building

Let the team walk its path Every team walks at its own pace and I haven’t found a way to speed it up myself, I don’t think there is one regardless of whether you are an external coach or a regular member of the team. Trying to push the team will screw up...

EventBus in a Windows 8 app

How to communicate different pages of a Windows 8 App? How to manage the life cycle of the pages? Pages are instantiated by the framework when asked to navigate: *.xaml.cs: frame.Navigate(typeof(MyPage)); It will be a new instance of MyPage everytime unless the pages...

ES6 + browserify + babel + gulp + jasmine

During Socrates Conference 2015 we decided that it’s the right time to jump in ES6 to developer a green field project that our customer is starting. Given that ES6 is already the stable and latest version of JavaScript, it does not make sense to start a new...

Notes from Socrates 2015

The 5th Socrates Conference in Germany has been my first continental Socrates Conference (I’ve been to UK twice plus another one in the Canaries). What a mind blowing unconference! I got even more value from Socrates than I expected! this has been the biggest in...

Pdf made up of pictures

I had to embed 50 pictures in a pdf file for print – don’t ask me why. Dependencies (on Debian): apt-get install imagemagick apt-get install pdftk This is the Python script. It uses commands “montage” (from imagemagick) and pdftk: from...

Using C# Collections

There are many ways to work with collections. We are following Microsoft Guidelines for Collections  plus some ideas that Kent Beck explains in Implementation Patterns. I’ve created a repository with code examples so that anyone can play with them. All the unit...

Identifying aggregates

An aggregate is particular kind of entity so first of all we need to know whether the model is an entity or a value object. Once we know it’s an entity let’s figure out whether it is an aggregate. A transaction should modify a single aggregate instance so...

Te recomiendo escribir en un blog

Cualquiera que esté aprendiendo puede beneficiarse de tener un blog. En la profesión de desarrollador uno aprende constantemente por lo que tener un blog es imprescindible en mi opinión. Es importante que entiendas que estas escribiendo para tí, para tu...