Diseño con procesos, usando Registry

¿Cómo construimos aplicaciones con OTP?

Hace tiempo hemos estado construyendo un juego de Domino, basándonos sólo en el ecosistema proveído por Erlang/Elixir, y lo que deseo explicar aquí es una segunda parte de los elementos que nos ayudaron a diseñarlo, sólo usando elementos basados en OTP, aquí explico otro de ellos. Aquí puedes encontrar la primer parte: Agentes y supervisores en OTP ETS Cuando estamos creando procesos de forma dinámica, queremos almacenar una referencia de ellos en alguna parte, y para ello nos sirve :ets; solamente recordar que no se recomienda usar ETS cómo un cache de forma prematura. [Read More]

Agentes y Supervisores en OTP

¿Cómo construimos aplicaciones con OTP?

Hace tiempo hemos estado construyendo un juego de Domino, basándonos sólo en el ecosistema proveído por Erlang/Elixir, y lo que deseo explicar aquí es una primer parte de los elementos que nos ayudaron a diseñarlo, sólo usando elementos basados en OTP, aquí explico el primero de ellos. Agentes en OTP Cuándo explico el funcionamiento de los procesos y llegamos a la parte de recursividad, toco la posibilidad de ¿cómo un proceso puede retener estado? [Read More]
elixir  otp  domino 

Meet Vim Sessions

A few weeks ago, while I was tracking and debugging a system in which I’m currently working, the client told me that another part of the system was having troubles. Suddenly, I’m on verge of close all the Vim’s buffer I’ve just opened because I need to switch branches meaning that I need a way to know in which files I was working before closing them. Needless to say, it was hard to found those files and I even haven’t made a change in them (I have just found them) Additionally, is a huge project with a lot of micro projects so, at this point, I didn’t know in which project I was working (I know my mistake). [Read More]

¿Cómo adopté Elixir?

LLevo ya un par de años escuchando y haciendo Elixir, no con la intensidad que quisiera pero tampoco lo he perdido de vista; soy un programador con preferencias dinámicas opcionales, sin embargo, me gusta mucho la magia(compilador) que Haskell ofrece al programar. De hace ya un par de años he querido comenzar una serie de artículos basados en LISP, sin embargo, el trabajo y los compromisos empresariales no lo han permitido, creo importante que los programadores conozcan las bases de la programación funcional, no por ser mejor, si no por que permite mejorar el/los paradigmas que estés usando. [Read More]

Testing Vert.x with Spock

Recently I was trying to test some components in Vert.x, to make sure of the behavior of the message’s receptions, how to store correctly in the Shared Map?, is the value in the Map?, and so on… So, Vert.x includes a testing tool, is based in JUnit, the best, it has a Runner the VertxUnitRunner.class for JUnit, and for scripts tests you can use TestSuite.create, but what is the thing, the sentence: Async async = context. [Read More]