R. Chavarria's Blog

Proud of developing software, proud of being an Engineer

Down and out of the Magic Kingdom

de Cory Doctorow

Por qué lo he leído

No recuerdo exactamente quién lo recomendó, simplemente estaba en mi lista de lectura y quería leer un libro que no fuera técnico, una novela, un libro que contara una historia. Y tiene licencia libre, así que está disponible para la lectura de cualquiera. ¿Por qué dejarlo escapar?

Down and out of the Magic Kingdom

Programación reactiva con RxJS: comparando arrays con Observables

En el cuadrante del artículo anterior vimos cómo los Observables podrían verse como arrays asíncronos.

Los arrays son síncronos, y por lo tanto, se iteran síncronamente. En cambio, los Observables son observados (bienvenido Capitán Obvio) y reaccionan en cuanto hay un nuevo valor presente en el flujo asíncrono.

Imagen basada en Bees de Keith, algunos derechos reservados, licencia: CC BY-NC-ND 2.0

Madrid Software Crafters 2018

En este post dejo las notas que tomé en el Open Space Madrid Software Crafters. La verdad es que tenía ganas de que se celebrara un evento así por Madrid. La distancia y sobretodo la pereza, me pueden, y todavía no me he decidido a asistir a eventos similares que se celebran en Barcelona o Pamplona.

El día fue espectacular, no tanto por las charlas, pero sí por las personas con las que tuve el placer de compartir el día

Imagen reproducida con permiso de Helder de Oliveira, autor de la misma. Gracias!!

Elixir: duodécimo asalto

Este será el último asalto relativo a Elixir por ahora, y en él aprenderemos qué son las Tasks y los Agents, que se podrían traducir como tareas y agentes.

Éstas serán las dos últimas abstracciones de Elixir que vamos a estudiar. No son de tan bajo nivel como las primitivas spawn, send y receive que vimos en el séptimo asalto y tampoco son tan pesados como el framework OTP.

Son un punto intermedio. Utilizan funcionalidades de OTP, pero nos aíslan de muchos detalles, lo que hace que trabajar con procesos y procesos distribuidos sea muchísimo más fácil.

Practical Object-Oriented Design in Ruby

de Sandi Metz

Por qué lo he leído

Éste es un libro que lo recomienda mucha gente cuando se habla de programación orientada a objetos, es muy mencionado en conversaciones por twitter y el mundo online. Pero la guinda del pastel vino cuando ví que lo recomendaba Carlos Blé en su blog. Entonces supe que era una lectura obligada.

Programación reactiva en JavaScript

¿Qué falta en JavaScript para completar el siguiente cuadrante? Para elementos únicos y de forma síncrona, tenemos las variables y las llamadas a los métodos. Para múltiples elementos de forma síncrona, tenemos los arrays. Para elementos únicos, pero asíncronos, las promesas (Promise).

Así fue mi Codemotion 2017

¡Vaya! Otro Codemotion más a la colección, y ya van 6, ¡cómo pasa el tiempo! A pesar de ello, sigue siendo el evento técnico más grande de España, creo: dos días a tope, más de 2000 asistentes, cientos de charlas y unos cuantos talleres bastante intensos. Y para que veas que no me invento los datos, echa un vistazo al newsletter que han mandado. Si es que, este año incluso, hasta ha habido eventos dentro del evento.

Muchísimas gracias a los organizadores: Nacho, Abraham y Laura. Y gracias también a los patrocinadores y voluntarios, que con todo su curro hacen que este pedazo de evento sea posible.

Global day of code retreat 2017

Al igual que el año pasado, he tenido el placer de participar en el Global Day of Code Retreat 2017, un evento sobre programación de intensa práctica, enfocado en los fundamentos del diseño y desarrollo de software. Este año ha habido 136 eventos repartidos por todo el mundo. No he encontrado estadísticas sobre cuantas personas participamos, pero estoy seguro de que con tantos eventos tuvimos que ser miles.

¿Impresiona eh? ¿Te animarás el año que viene? El funcionamiento es sencillo: se trata de resolver el problema del juego de la vida de Conway, donde unas células viven o mueren de acuerdo a una serie de reglas preestablecidas. Siempre se programa por parejas (o tríos), nunca solo. El día está dividido en iteraciones de una duración determinada, y al final de cada iteración hacemos una pequeña retrospectiva. Y así es como fue nuestro día.

Imagen propiedad de Helder, reproducida con su permiso

Elixir: undécimo asalto

Nos acercamos al final y en este asalto aprenderemos qué son las Aplicaciones OTP, aunque en realidad ya hemos estado usando algunas. Aprenderemos cómo mix facilita mucho la tarea y cómo esta herramienta nos permite empaquetar nuestra aplicación para ser distribuida. Aprenderemos a definir el punto de entrada de ejecución y cómo pasar parámetros iniciales. Las aplicaciones, junto con los servidores y supervisores OTP hacen de este framework una herramienta potentísima para desarrollar aplicaciones.

Todo esto, siguiendo el método de aprendizaje con el que comenzé la serie:

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

99 bottles of OOP

de Sandi Metz y Katrina Owen

Por qué lo he leído

No conozco personalmete a ninguna de las 2 autoras, pero soy un fan de Sandi y colaboro en un proyecto open source de Katrina, ¿cómo no iba a leer 99 bottles of OOP?

Ya había leído con anterioridad el libro de Sandi, Programming OODR y me gustó muchísimo, así que este libro prometía. También había visto alguna charla de Katrina sobre refactorizaciones, y me asombraron muchísimo, por su claridad y por su calidad.