All Posts


Opensouthcode is an event whose target is to promote open source code technologies and is based on Málaga (Spain). This year I was there talking about Infrastructure as code using Terraform and showing some examples that were deployed to AWS: from a simple server to a Kubernetes cluster. If you want to learn more, check all the sources: Githug repo with the examples Slides (Spanish)

Chat Server using asyncio of Python 3.7

Python is one of the most used languages because the ramp up is really low. A good example is the API of ayncio for building I/O bound applications. Creating asynchronous code could be really tough, but using asyncio could be a child’s play. We are going to try to build a simple chat server in this post using Python 3.7. As the server will be a TCP server, the clients only need to use Telnet to interact with.

Mesos for Local Development

Last week I felt so nostalgic about working with Mesos because I do not have more projects which work with this technology and people are only demanding Kubernetes. Mesos is a project which was born in Berkeley, now under the Apache umbrella, and whose target is the management of computer clusters. It will help us to create distributed systems with the feeling that we are only working with a really big machine.

EFK for non-cloud-native Applications in Kubernetes

Recently I worked in a project where I had to migrate a Mesos infrastructure to Kubernetes and one of the key requirements was to replace ELK (elasticsearch - logstash - kibana) with EFK (elasticsearch - fluentd - kibana). You can find a lot of information of how to use EFK in Kubernetes when your applications logs in the standard output putting a Fluentd agent in every node, but that did not happen with all the applications in the Mesos infrastructure.

Remote Elixir/Erlang Node connected to Kubernetes

Kubernetes is becoming the standard container orchestrator because of many reasons: Open Source Google Huge community Developed in Go and so on Today we can work in very complex projects which involved too many languages and technologies. Containers (like Docker) and orchestration tools help a lot in these cases. Elixir and Erlang are two languages that I work with, especially when I have to deal with problems of concurrency and low latency.

My Experience learning Elixir with Books

I like to read about everything but I like too much (yes, too much) to read about tech. Nowadays we are able to find a lot of kinds of books which are a good introductory step when you are going to begin with a new technology, however most of them are only a kind of Hello World. Although you have read a book, you probably know nothing about the technology. And when we talk about a non-mainstream technology the problem of finding a book which covers your needs grows.

Welcome Back

New Web, let’s start again I have been offline for a lot of months, but it does not mean that I have been doing nothing (just the opposite). One of the things that I wanted to do is to move my blog from Weebly. It was not bad, but the writing experience was a bit unpleasure. After being experimenting with Hugo and writing in Markdown I decided to do the same with my blog.

Elixir to Run Python in Parallel

Data Scientist is considered the sexiest job around the world, at least in the tech world, and it is true that sometimes the results that you can get applying Machine Learning techniques seem to be sorcery. Therefore a lot of people are trying to become data scientist. A lot of them use Python and almost all the on-line courses use also Python to teach the concepts. Python is a lovely programming language.

The Easiest Distributed Producer-Consumer System

Two months ago I published in hex the first version of Galena , a Topic producer-consumer library built on top of GenStage for Elixir . It was initially designed to create some flows of producers , producer-consumers and consumers where the message has to be delivered as soon as possible. Each consumer or producer-consumer can receive messages from several producers and/or producer-consumers. Besides, consumers and producer-consumers can select the messages that want to receive thanks to a topic approach.

Handling Streaming Data with Dependencies using Elixir

Life is a succession of asynchronous events which could depend on each other. Some weeks ago my friends and I wanted to play a football match, therefore we booked a football pitch of a sport centre for the next Saturday at 17pm. On that Saturday, I arrived to the sport centre at 16:44 and other guys were already there and they had arrived between 16:31 and 16:42.