Moral behaviour and inequality

moral and unequal pay

We tend to think that the sense of morality and equality are only human traits. However, Psychology has proven that this trait is shared among many different animal species.


It is of particular interest the work of Frans de Wall a biologist and primatologist known for his work on the behavior and social intelligence of primates. We can see in his experiments that monkeys among other animals share a sense of morality. 


For instance, if two monkeys execute the same task and are rewarded unequally, then the monkey who was rewarded poorly will complain and even protest. It is something better seen than explained so I would like to share one of Frans de Wall‘s conferences in TED that illustrates what I’m talking about here.


Here is the short version (for people with less time or who just want a quick peek at the experiment)



The two monkeys are rewarded with pieces of cucumber (the poor reward) and grapes (the better reward).


I think that moral behavior is based upon a sense of fairness / reciprocity and empathy / compassion. What I like about this experiment is that it allows to focus only on the fairness and reciprocity component of moral behaviour because the way they reward the monkeys is not something that they can share.


Of course, humans may react differently in case of inequality because we have “deeper and more complex” reactions, or rationalized reactions.… Read the rest of “Moral behaviour and inequality”


Influence and marketing (1)

Birds of a feather

Human beings are not perfect, and one of the many defects we have is that we confuse correlation and causation. I would like to talk about how it affects Social Influence and then about some of the consequences it can have in marketing.


Influence is when one person is affected by others in an emotional, rational or behavioral manner. Let’s take for example someone famous on TV, a Rockstar or a politician. We know that these people’s actions can have a big impact on the rest of the population. A president’s speech for instance can change the course of a whole country, go to war or achieve a peaceful resolution to a conflict.


But social influence isn’t caused only by big names. We’ve all got a friend who has persuaded us to go with him to a concert, to an opening, or to buy a product we did not even knew it existed. Social influence is also present in these cases where the average guy can influence someone else. If we add social networks to the equation the power of influence can be even higher than we sometimes think.


However, what if the impact of social influence was not that high, or at least not always that high? what if we are overestimating the real impact of social influence? Chances are we do.


One of the main reason is that social influence is really hard to measure and separate from all the other psychosocial possible explanations.… Read the rest of “Influence and marketing (1)”


The economy works like a machine

price of the economy

I would like to share a 30 minutes video that shows the economy working like a simple machine. The video provides a simple and understandable approach to the complexity of the economy.


The main elements that are used to describe this machine-behaving economy are basic but mostly misunderstood: Transactions, Credit, Money, Debt and Productivity.


This video is explained by Ray Dalio, founder of the investment firm Bridgewater Associates and according to Forbes the 88th richest person in the world. He is one of the most influent men in the world, listed in Time 100 list of the most influential people. He has been labeled the “Steve Jobs” of investing.



If you want to read the full 210 pages long document created by the Bridgewater Firm that provides a more in depth coverage of the economic principles where you can find all the data used for the video, you can follow this link. Enjoy the video!


Use Version Control for software development

Git version control

Allow me to explain shortly version control first.


Version control or revision control consists in the management of changes of a software project. Every change made to the code and uploaded to the version control system is tracked along with who made the change and comments explaining why they made the change.


There usually is a central repository where the code is stored along with all the history of those files. People connect to that repository, get the files, work on their own programming environment and then submit the changes back to the central repository. That way people always know which is the most “up to date” version, instead of having to ask everybody.


The “standard” way of working with a version control system is:

  1. Check out the project from the central repository
  2. Make Modifications to your code
  3. Submit the changes back to the central repository


You also have “branches“, which are a copy of the repository  in order that you can have modifications that can happen in parallel along both branches. They are very useful for new features, testing or fixes. After you verify that the branch is working correctly than you can merge the changes to the main


version control branches
version control branches


For instance, imagine you have an Instagram like website and you would like to add a new feature consisting in new types of images where the user uploads a picture and a message and it appears written over the image.… Read the rest of “Use Version Control for software development”


Development, Test and Production environments


When you are developing something with a little more complexity than a hello world software (which should be all the time) it is REALLY important to have at least three different environments: Development, Test / Staging  and Production. This is even more important in web development as it is “fairly” easy to do in small / medium projects.


The Development environment is where developers live and breathe, where they make all the changes, mistakes and fixes that you need. It’s like a small lab where nobody judges you, where it does not matter if you break the CSS or your whole webpage as nobody is going to notice. Once you achieve something, like developing a new item of a list, fix a bug, or a new functionality, you should stop and move your functionality to the Testing environment.


The Testing / Staging environment is a little different. Actually, there is a slight difference between testing and staging environments, but to distinguish them is not the point here. You need something that acts as a copy of your corporate site, a copy of the live version. It should be EXACTLY the same, because you are going to test in this environment your new developments, you want to know how it will work and IF it will work live before going live. Only once you have verified that everything works, that your new functionality has not broken anything, you can migrate the changes to the production environment.… Read the rest of “Development, Test and Production environments”


What motivates us


I would like to share a video that from my point of view should be a classic about what motivates us.

It’s an adaptation of Dan Pink’s talk at the RSA.



It is related to Maslow’s hierarchy of needs, focusing on the top of the pyramid where the classical reward system is not as effective as it would seem.


I think one of the biggest truths it speaks is that contrary to popular beliefs, rewards can be a double edge sword. They can sky rocket productivity in repeatable tasks but can also decrease creativity and productivity in mind challenging tasks.


Of course, this does not mean that people should not reward intellectuals, but that different kinds of needs require different kinds of incentives: there is no “one-size-fits-all” solution.


About Software Engineering

Barcelona Ruby Conference

I’d like to share one of the best conferences I’ve seen on Software Engineering.

It’s a talk from Barcelona Ruby Conference 2012, featuring Paolo Perrotta, author of “Metaprogramming Ruby”.



This conference really offers another point of view about the whole programming, technology and engineering industry with a nice historical and social side. It’s surprising how he analyzes big mistakes in the computer industry and explains them as conceptual mistakes from a human point of view. Worth seen 100% for tech people!