Patitos de goma

¿Os ha pasado alguna vez eso de que tenéis un problema o una duda, y el simple hecho de explicárselo a otra persona ya hace que encontréis la solución? Y no porque la otra persona haya hecho nada en especial…

De hecho, «la otra persona» no tiene ni por qué ser una persona. Puede ser incluso una cosa, como por ejemplo un patito de goma.

yellow duck toy beside green duck toy

Y digo patito de goma porque precisamente ese es el nombre que se le ha puesto a esta técnica en el mundo de la informática: el método de depuración (de código) del patito de goma, o en inglés, the rubber duck debugging method.

Este método es muy útil para cuando estás programando y te atascas intentando resolver un error (o bug), que hace que la aplicación no se comporte como debería. La idea es explicarle la situación al patito de goma, y hacerlo con todo detalle, porque por supuesto el patito no sabe absolutamente nada de tu aplicación. Así que tienes que explicar el contexto, el problema concreto que estás intentando resolver, cómo estás intentando resolverlo, lo que llevas escrito de código línea por línea… Y muchas veces lo que pasa es que al ir repasándolo todo tan al detalle, de pronto caes en la cuenta de dónde está el problema, y de cómo solucionarlo.

Super chulo, ¿verdad?

Y os preguntaréis: ¿por qué precisamente un patito de goma? Pues la verdad es que no lo sé, igual todo empezó como una broma, pero la verdad es que este método es tan útil como sencillo (una vez que te acostumbras a hablar con un pato, o con cualquier otro objeto inanimado que elijas), y que se puede usar no sólo para depurar código, sino para la vida en general.

Me imagino que esta técnica funciona tan bien porque consigue que saques el problema de tu cabeza y lo veas desde fuera, desde otra perspectiva, con lo que dejas de darle vueltas y vueltas siempre de la misma manera. Y además, al forzarte a explicarlo en voz alta y paso por paso, te ayuda a fijarte en detalles que antes podrías haber pasado por alto, con lo que aumenta la probabilidad de identificar el verdadero problema y encontrar una solución.

¿Qué os parece? ¿Estáis dispuestos a probarlo? Yo a lo mejor la próxima vez que vea un patito de goma en una tienda, me lo compro para tenerlo aquí junto al ordenador 🙂

Equilibrando

¿Os ha pasado alguna vez que el día se os queda corto? ¿Que ya se os ha hecho de noche y tenéis aún una lista de cosas que os gustaría hacer? ¿Y que os cuesta elegir qué hacer hoy y qué dejar para otro día?

Esa soy yo en este preciso momento 🙂

notebook with four blank tasks for today

¿Debería…

  • Hacer un poco de yoga y estiramientos, para relajarme y sentirme mejor físicamente?
  • Estudiar un rato para el curso que estoy haciendo, y que no se me eche el tiempo encima?
  • Escribir otro post en el blog, para mantener el buen ritmo que llevo hasta ahora?
  • O irme a dormir ya, para mañana estar más descansada?

Esas son las cuatro opciones que me vienen ahora mismo a la cabeza, y eso sin contar las cosas «obligatorias» que por hoy ya están hechas (esas ya he aprendido que de nada sirve postponerlas – cuanto antes se las quite una de encima mejor, menos estrés).

Como podéis suponer, hoy he optado por escribir este post, no sin antes pensármelo durante un buen rato mientras acababa otras tareas… A veces me cuesta un poco decidir: por un lado, conociéndome, no quiero caer en la trampa de elegir siempre la opción fácil y dejar para última hora lo que cuesta más esfuerzo. Por otro, no quiero dedicarle demasiadas horas a una cosa sola cuando quiero ir progresando también en otras. Y además, sé que una vez que empiece con cualquiera de ellas, el tiempo seguramente se me pase volando…

¿Qué puedo hacer entonces? Pues ir equilibrando lo mejor que pueda.

La manera que se me ha ocurrido de momento es hacer un plan semanal. Los domingos escribo una lista de tareas para la semana siguiente, incluyendo X sesiones de yoga (sustituibles por paseos los días que haga bueno), los ejercicios del curso, los posts del blog, etc. No estoy asignando días en concreto para cada tarea, simplemente las voy haciendo como me convenga durante la semana y las voy tachando (¡y qué bien sienta eso de tachar tareas!).

Así le pongo más intención a mis días, voy progresando en todas las áreas que quiero, me puedo adaptar a cualquier imprevisto o darme un descanso el día que lo necesite, y como el fin de semana suele haber más tiempo libre, tambíen hay oportunidad de acabar ciertas cosas si no las he podido hacer antes.

De momento es mi segunda semana con este sistema, y sé que no siempre lo completaré todo, por supuesto. Pero me está resultando una referencia muy útil, y me ayuda a seguir progresando, que es lo que más importa al fin y al cabo.

Y tú, ¿cómo encuentras el equilibrio?