Rubber ducks

Have you ever been in a situation where you have a problem or a question, and simply by explaining it to another person, you find the solution yourself? And not because the other person did anything in particular...

In fact, “the other person” doesn´t even have to be a person at all. It can even be an object, like a rubber duck for example.

yellow duck toy beside green duck toy

And I say rubber duck because this is exactly the name that´s been given to this technique in the IT world: the rubber duck debugging method.

This method proves really useful when you´re programming and get stuck trying to resolve an error (or bug) that´s preventing your application from behaving as it should. The idea is to explain the situation to the rubber duck, and to do it in great detail because of course, the duck knows absolutely nothing about your application. So you have to explain the context, the exact problem you´re trying to solve, how you´re trying to solve it, the code you´ve written line by line… And very often what happens as you´re going through it with such a level of detail is that you suddenly realize where the problem is, and how you can solve it.

Super cool, right?

You might be wondering: ¿why a rubber duck? Honestly, I don’t know, maybe it all started out as a joke, but the truth is that this method is as useful as it is simple (once you get over the awkwardness of talking to a duck, or any other inanimate object of your choosing), and can be used not only for debugging code but for life in general.

I imagine this technique works so well because it forces you to take the problem out of your head and see it from the outside, from a different perspective, so you stop going about it in your head the same way again and again. Moreover, the action of going through it step by step and out loud helps you to focus on details that you may have overlooked before, that way increasing the chances of identifying the real problem and finding a solution.

What do you think? Are you willing to give it a try? Perhaps next time I see a rubber duck in a shop, I´ll buy it to keep it here by my computer :-)

Conscious songs: Unwritten

When you´re listening to music, do you pay attention to what the lyrics are saying? I do it sometimes, and to be honest, I find all kinds of things in there...

Every once in a while I´m going to share with your the lyrics of a song I particularly like. Let´s start with Unwritten by Natasha Bedingfield, I hope you like it:

Original lyrics in English:

Spanish translation of the lyrics:

Optional

A conversation that plays out quite often in our house, and one that you can probably relate to, is negotiating in a given moment what´s mandatory and what´s optional.

My daughter Alicia is the expert in all this, though her sisters are not far behind. When I ask her to do something she´s not convinced about, Alicia asks: “do I have to?”. And my answer, most of the time, is “yes”.

But not always. So she´s right to ask :-)

In fact, this is something that most of us should ask (ourselves) more often: this thing I have in front of me, this thing “I have to do”, do I really have to do it? ¿According to whom? What happens if I don´t do it, or if I do it differently?

Clearly, the answer can be a yes, it needs to be done, and it may still be yes most times, but it may also surprise us and end up being a no more often than we thought. Or we could come up with another alternative, an intermediate solution that´s even better than the previous one… By asking the question we allow ourselves to see the options, and we have more ability to choose.

Of course, whatever we decide, we have to be responsible and fully accept the consequences. But the key point is that we have options, even if we don´t always see them, even if we don´t always like them. But we do have options. And once we realize this, we can choose whatever we see fit, and “I have to…” becomes “I choose…”, and the burden becomes a little lighter.

Here are a couple of quotes that I love on this topic, as they go a step further, inviting us to choose how to relate to what is happening in our life:

Pain is inevitable. Suffering is optional.

Buddha

This one I heard for the first time in a yoga class (thanks Carsun!), and felt it especially close when giving birth to my girls, before realizing that it can really be applied to everything in life, not only physical pain.

And this other one I only heard recently; it seems to me that it´s very fitting to the times we´re now living:

Change is inevitable. Growth is optional.

John C. Maxwell

Now you choose!

Binary words

Today I felt like reflecting on the title for this website and blog: binary words... but what do words and binary have in common?

Computers and language? They do have a lot in common.

Did you know that we as people are not so different from computers? We have hardware, our body, which needs energy in order to work. Of course, we don't work on electricity; our energy comes from feeding and hydrating ourselves properly, and from recharging batteries by sleeping and resting :-)

We also have software, a set of "programs" that are running inside our mind. Some of the programs we kick off ourselves, as in the case of computers, and we see them and use them consciously; but in addition to those, the operating system runs many other programs that remain unseen, in the background, making everything work... 

That's our unconscious programming, our autopilot, based on beliefs and values that are well established within us and that we rarely question, even though they may not even be ours, and we may have inherited them or acquired them without realizing. And that unconscious programming pulls the strings in our day-to-day a lot more than we can imagine.

Perhaps that autopilot is producing some results that we don´t want in our life. The good news is that we can re-program it, once we find that program or programs that are causing us trouble, or are preventing us from moving in the direction we wish to go.

But how? How can we bring to the light those troublesome "lines of code", and replace them with better ones?

A programming language that we can use is words.

There is a lot of power in words, and this is something we often forget. The way we talk to others matters a lot. And the way we talk to ourselves matters even more, because we give it even less attention, not realizing that it's a crucial factor in how things turn out for us in life. 

So let's pay attention to the words around us, the ones that make up our world, the ones we use almost without realizing. How is our internal dialogue? How do we talk to ourselves, and in turn, to other people? What are our words conveying? Complaint, criticism, defeat, negativity?

Those words will give us clues about the programs that may be undermining our efforts to move towards where we want to be. And bit by bit, digging deeper, we will get to see clearly what's behind those words, and we will have the power to transform them into other that help us and encourage us, instead of holding us back. We will have the power to choose our destiny.

And following on with the computer metaphor: we, like computers, need connecting to be able to fully function. Nowadays very little can be done without an internet connection... With people, it may be less obvious, but at the end of the day we are social beings, we need to connect with others emotionally in order to live a full life. And even less obvious, but equally necessary, is to connect with ourselves, to have an interest in getting to know and learning to love ourselves. 

The confinement months have tested our ability to connect, and maybe thanks to that, we now appreciate connections more than ever. As the saying goes, it´s all fun and games until you lose your wifi signal!