R. Chavarria's Blog

Proud of developing software, proud of being an Engineer

Global Day of Code Retreat 2016

Siento que el título esté inglés, no he encontrado una traducción que suene bien en español: ¿Día global del retiro del código? Uff, no lo veo.

A lo que vamos, el pasado día (day) sábado 22 se celebró a nivel mundial (global) un evento en el que programadores se reúnen (retreat) para… programar (code).

Sí, como lo oyes. Hay gente a la que le chirría que unas personas que se dedican profesionalmente a programar se reúnan con compañeros de profesión para seguir programando un día no laborable. Pero es que este evento no tiene nada que ver con lo laboral, aunque sí con la profesión. Una definición tirando a formal sería:

Un «code retreat» es un evento de un día, de intensa práctica, enfocado en los fundamentos del diseño y desarrollo de software. El formato ha demostrado ser un medio efectivo de mejora de habilidades dado que proporciona a los desarrolladores la oportunidad de tomar parte en prácticas focalizadas, dejando de lado las presiones de tener un que terminar un trabajo.

(traducción libre de la definición sacada de Code retreat)

Foto: «Global Day of Code Retreat 2016», por Eduardo Ferro

Zen y el arte en el mantenimiento de motocicletas

de Robert M. Pirsig

Por qué lo he leído

El título no es que sea muy llamativo, parece más un libro sobre filosofía (con un subtítulo un poco extraño eso sí). Pero estaba recomendado por Mattias (@mpjme) en el capítulo 18 de FunFunFunction, su canal de YouTube, y no era la primera vez que oía hablar de Zen y el arte en el mantenimiento de motocicletas.

Así que… si recibes varias referencias de un libro por distintas personas y en distintas ocasiones, es que puede ser un libro interesante.

Elixir: séptimo asalto

El aprendizaje va avanzando, ya vamos por el séptimo asalto. Éste trata sobre cómo Elixir maneja múltiples procesos, por lo que trataremos algún tema de concurrencia. También veremos algunas cosas básicas sobre cómo monitorizar los procesos de los que consta nuestra aplicación.

Sin olvidar del método de aprendizaje con el que comenzé:

  • Aprender lo suficiente para comenzar
  • Experimentar, jugar, buscar puntos desconocidos, hacerse preguntas
  • Aprender lo suficiente para hacer algo de utilidad
  • Enseñar lo aprendido

Elixir: sexto asalto

Sexto asalto. En esta ocasión no veremos nada del lenguaje, si no del ecosistema de Elixir. Elixir viene acompañado de unas magníficas herramientas que complementan en lenguaje de programación en sí: mix, la herramienta de construcción de aplicaciones y herramientas de testing como ExUnit y DocTests. Además de estas herramientas, exploraremos también los sitios web donde los desarrolladores alojan la mayoría de las librerías y proyectos Elixir disponibles.

Sigo con la metodología de aprendizaje explicada en el primer post sobre Elixir:

  • Aprender lo suficiente para comenzar
  • Experimentar, jugar, buscar puntos desconocidos, hacerse preguntas
  • Aprender lo suficiente para hacer algo de utilidad
  • Enseñar lo aprendido

Elixir: quinto asalto

Y ya vamos por el quinto asalto, el quinto de la serie sobre el aprendizaje del lenguaje Elixir. En este asalto aprenderemos estructuras de control de flujo, esenciales en cualquier lenguaje de programación. No sé en otros lenguajes funcionales, pero en Elixir, estas estructuras no son muy bien acogidas. De todas formas, son parte del lenguaje, son sencillas y nos servirán para establecer conexiones con lenguajes que ya conozcamos.

Para seguir con el aprendizaje, sigo con el método seguido en otros asaltos partiendo del post aprendiendo Elixir:

  • Aprender lo suficiente para comenzar
  • Experimentar, jugar, buscar puntos desconocidos, hacerse preguntas
  • Aprender lo suficiente para hacer algo de utilidad
  • Enseñar lo aprendido

Elixir: cuarto asalto

Éste es el cuarto asalto en mi aventura aprendiendo Elixir. En esta ocasión trato con tipos de datos binarios, cadenas y sigils. No es mucho, pero las cadenas son una parte esencial de cualquier lenguaje de programación. Y dominarlas significa dominar una gran parte del lenguaje.

Por supuesto, sigo aprendiendo con el método descrito en el post sobre aprender Elixir:

  • Aprender lo suficiente para comenzar
  • Experimentar, jugar, buscar puntos desconocidos, hacerse preguntas
  • Aprender lo suficiente para hacer algo de utilidad
  • Enseñar lo aprendido

Practical Vim

de Drew Neil

Por qué lo he leído

Hace un tiempo decidí que quería aprender a utilizar Vim. Entre los muchos recursos para aprender se encontraba este libro, pero encontré más prácticos una serie de videos. Pero más adelante, escuchando el podcast Giant Robots, hablaron de este libro, y cuando recibes varias señales, quiere decir algo.

Elixir: tercer asalto

Éste es el tercer asalto para aprender Elixir, y las cosas se van poniendo interesantes, aunque todavía siento que estoy muy verde y me falta todavía mucho para ser capaz de hacer las cosas más sencillas.

En este asalto, aprendo nuevas cosas proporcionadas por los módulos Enum, Stream y otras coleciones, así como las comprehensions, que me recuerdan mucho a los clásicos bucles for.

Sigo aprendiendo siguiendo el método descrito en el post sobre aprender Elixir:

  • Aprender lo suficiente para comenzar
  • Experimentar, jugar, buscar puntos desconocidos, hacerse preguntas
  • Aprender lo suficiente para hacer algo de utilidad
  • Enseñar lo aprendido

Elixir: segundo asalto

Sigo aprendiendo Elixir, despacio, pero sigo con ello. Éste es el segundo asalto del aprendizaje. En este asalto, lucho con estructuras de datos un poco más complejas, como listas, diccionarios, structs o sets. Estas estructuras ya existen en otros lenguajes de programación, pero en Elixir son tratadas de una forma un poco diferente.

Por supuesto, en este asalto también sigo el método de aprendizaje descrito desde el post sobre aprender Elixir:

  • Aprender lo suficiente para comenzar
  • Experimentar, jugar, buscar puntos desconocidos, hacerse preguntas
  • Aprender lo suficiente para hacer algo de utilidad
  • Enseñar lo aprendido