Image for post
Image for post
Open Democracy is a platform to provide electoral data visualization in an affordable way and give data power to people

What is Open Democracy web app and what was my rol in it

Open Democracy takes electoral data and visualizes it in interactive maps for all citizens interested in the democratic process, for academic or campaigning purposes. Our team members are Camilo Moncada, Javier Charria, Christian Nazareno, Javier Jaramillo and myself.

My main responsibility in the project was defining the data strategy, which involved identifying and obtaining the proper datasets for the project’s scope and the market’s requirements, transforming and storing it in the most efficient way, and guiding the discussion about the better data display. …


Image for post
Image for post

Here you will find an example on how to make a proper postmortem or incident report.

As we work in the tech industry, we find that problems arise once in a while no matter how much planning our teams do or the quality of their code.

The best way to deal with this reality is to look at incidents as a good opportunity to learn so the same mistakes happen no more.

I recommend you to don’t focus on “who is to blame”, but on “what conditions led this to happen”, because the punitive approach will make it harder for…


Image for post
Image for post
SSL Certificates guarantees data encryption and trust in the internet

Hi. In this tutorial you will get to know how to implement HTTPS in your servers by using a free certificate from Certbot and implementing it in your Load Balancer with HAProxy.

I work with Ubuntu 16.04 LTS servers, where my-lb is the load balancer name and web-a and web-b are the web servers, using Nginx open source software. The subdomain www is pointing to my-lb as well as the @ domain name, and is only this subdomain I want to receive HTTPS requests in my webstack.

Install certbot

In this page introduce your server configuration to get the exact install instructions…


Image for post
Image for post

In Python everything is an object, and each object has one or multiple references. By object, I refer to a collection of data and methods that is physically stored in memory under one single direction. Every object corresponds to an instance of a class, which is like the mold from where it comes and determines its characteristics.

In this blog post, I will do my best to introduce you to the basic concepts around Python objects and how to work with them. Welcome!

Id and type

All the Python objects have an individual, constant, and unique identification number which will not be assigned…


Image for post
Image for post

Let’s start with a simple definition: a library is a collection of functions. Those functions are stored in object code format so they are executed very fast by the operating system.

It sounds simple, and it is in fact simple. The kind of simplicity that precedes a great dischard of power, because libraries are the nutshell of the very reason why humans are the most successful species on earth: collaboration.

We use libraries because they store functions that others before us have written and taken to an utmost state of reliability. …


In this tutorial you will go through the steps to code your very own simple shell in C language. This is an exciting journey to the bowels of bash and the creative way it is built. After this tutorial, you will understand the different processes, the functions involved and, hopefully, have learned a clear working path to code it yourself.

What is a shell?

A Shell is a program that takes the command inputs written from the the user’s keyboard and passes them to the machine to execute them through the kernel. It also verifies if the command inputs from the user are correct.

Image for post
Image for post
Figure 1. A shell is a messanger between the user, the kernel and the machine.


Image for post
Image for post
Airport to land ASCII code to printf as string. Source: Istockphoto

I just had hard times trying to solve an apparently simple problem with variadic functions in C programming language, and there was no accurate information wherever I searched. So here is my experience so you can save a lot of time.

I had to write a function with the following prototype that needs to print the strings it is inputed with as argument:

void print_strings (const char * separator, constant unsigned int n, …)

The first argument is how to separate the inputs, the second argument, the number of arguments incoming, and from there on, the strings:

print_strings(“, ”, 3…

In the world there are contest of all kinds: baby crying contest, pancake races, cheese rolling championship, air guitar competitions… and they usually seem some how… well… silly. The coding community also have their own weird competition. It is the International Obfuscated C Code Contest. And yes, good practices are not enforced there.

Image for post
Image for post
Source: https://www.foxnews.com/entertainment/curly-howard-grandson-three-stooges-tells-all

In 1988, Jim Hague, from University of Kent at Canterbury, created a really obfuscated code by abussing of the C preprocessor. This code would take ASCII characters and translate them into the vintage Morse Code. …


All you need to know about Static Libraries in C.

Index: What is a library in C and what does it contains — Why are C libraries Giants’ shoulders to step on? — How a C library works?–

Once, Isaac Newton said: “if I have seen further it is by standing on the shoulders of Giants”, using the phrase coined by Bernard de Chartres. …

Ricardo Hincapie

Software developer from Colombia.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store