Subscribe to this blog’s RSS feed.

¿Deberías llevar un diario?

Es difícil mantener un diario, pero vale la pena.

Desarrollar gráficos interactivos es adictivo

Me encanta trabajar con gráficos interactivos, especialmente en la web. Es muy fácil compartir con otros mis proyectos, ya que solamente basta con enviar un enlace y de inmediato tienen acceso a una aplicación interactiva que combina diseño, arte, matemáticas y algoritmos. Otra de las ventajas de la web es la cantidad de APIs que los navegadores modernos integran. CSS, SVG y Canvas son suficientes para crear aplicaciones con buen diseño y apariencia.

Developing interactive graphics is addictive

I love working with interactive graphics, specially on the web. It’s very easy to share my projects with others, as you only need to send a link and immediately they have access to an interactive application that combines design, art, mathematics, and algorithms. Another advantage of the web is the amount of APIs that modern browsers integrate. CSS, SVG and Canvas are enough to create applications with a good design and appearance.

Lift - A small stack-based programming language

An incomplete introduction to a programming language I wrote for fun.

Listening to music while working

What do I listen to while working?

A guide to golfing in Lua

Tips for golfing in Lua

You should also define what software is not

Prevent projects from spiralling out of control with this one simple trick

Setting up a personal Lua library

A small Lua tutorial

Short is better than nothing

Just write, and then write some more.

Writing a Markdown Parser Is Hard!

Parsers are hard to write. More often than not regular expressions are not enough to properly parse some text into a data structure a computer can easily manipulate. Take for instance the Markdowm markup language. Seems pretty easy at first sight. We split our text into lines and look for special characters: If it begins with one or more #, then it is a header If it begins with >, then it is a blockquote If it begins with *, +, or -, then it is a list item.

Now Generated by Hugo

I finally got to work and moved the website to Hugo. It took me some time to understand how all its features worked together, but its great documentation really helped a lot. I was using pandoc for converting my markdown files to HTML since I was familiar with how it worked and was using it to convert some documents to PDF for a while. It has a simple templating system that was good enough for the job.

Un Cambio Dramático en el Paisaje

Un Cambio Dramático en el Paisaje

La diferencia entre la lluvia y la sequía.

Demystifying the Analemma

Demystifying the Analemma

Learn how analemmas work and are calculated.

Inkscape and D3.js for Map Makers

Inkscape and D3.js for Map Makers

Automating map making using Python and Javascript.

Programmatic SVG with Python

Programmatic SVG with Python

A Python module for creating SVG graphics and animations


Cambios a la estructura del sitio web.

Rasters and Vectors

Two different approaches to art and design.

El Paisaje Espacial

El Paisaje Espacial

¿Qué define a un paisaje donde no hay nada que ver?

Password managers: More necessary than ever

Privacy and security during remote work and learning



Una inesperada visita astronómica.



An unexpected astronomical visit.

Por qué debes querer a tu computadora: Independencia y control a través del software libre

Algunas ideas de cómo el software de código abierto nos puede ayudar a cambiar nuestra relación con la tecnología.

Why you should love your computer: Independence and control through free software

Some thoughts about how open source software can help us change our relationship with technology.