Sunday, January 19, 2014

Designing Programs, Caballo Blanco Style

I enjoy picking up new ideas on programming from different sources. It is
cool how the mind can take an idea from one domain and naturally fit it into a
totally different one. In this case I have picked up some programming tips from
Caballo Blanco, the lone ultrarunner from the book,
Born to Run

It is a great book even if you are not into running at all and it also
contains tips about programming. (Of course this depends on having a warped
mind, like I do :)

The text below is from the book but I have altered the wording to put it into a
programming context.

Don't fight the code, take what it gives you. If you have a choice between one
function or two, make three!

Caballo has spent so many years solving problems so he even has nicknames for
them. Some are ayudantes, reliable problems which behave as you expect,
problems that look and are straightforward to solve. Others are tricksters
which look like ayudantes but will become difficult when you start digging into
them. Some are chingón sitos, little bastards, just dying to trip you up.

Think, easy, light, smooth, and fast!

You start with easy because if that is all you get, that's not so bad!
Then, work on light. Make it effortless like you don't give a shit how big the
problem is or how long it is going to take. When you have practiced this so
long that you have forget you are practicing, you work on getting it smooooth!
You don't have to worry about the last one. If you get those three and you'll
be fast!

I like this text because it makes it clear that what is important is to focus
on the doing and not on being done. We don't need to think about being fast
because if we fully focus on the problem at hand, we will automatically be as
fast as we can!