Ignacio Darago

What came first: the chicken or the egg?

Using the datasets from Buenos Aires Datasets webpage we can plot some interesting information such as population density.

When we do that, we see that most of the population density follows the subway lines. Do the subway lines grow to reach dense areas or do densely populated areas grow around the subway lines?

read more

Visualizing COVID-19 Data

In this post we are going to show some visualizations of COVID-19 data obtained from the Buenos Aires Datasets webpage. This dataset is updated daily and contains the information of new cases and deaths in Buenos Aires, together with some extra information such as age and neighborhood.

The goal is to show how to work with this data, together with some geographical data, to obtain some nice visualizations using Bokeh.

read more

Implementing Neural Networks in C++

In this post we are going to explain how to implement a basic neural network from scratch using C++. This is mostly an excuse to explain how the basics of neural networks work and to learn some C++ in the process.

Neural Network

Schematic view of a Neural Network, using this nice online tool.

read more

Snakes on a plane

In this post we will explain how to implement a simple Snake game on Python using Pygame, and propose a very straightforward strategy for the computer to play the game on its own. In a later post, we will use Reinforcement Learning techniques!

Snake using BFS
Gameplay using our simple BFS algorithm.
read more

Knight moves

In chess, the knight is a piece that moves in an \(L\)-shaped fashion: that is, it may move two squares vertically and one square horizontally, or two squares horizontally and one square vertically.

The following snippet lets you click any two tiles on a chessboard and shows the shortest path a knight can take to go from one to the other.

read more

The Alias Method

In a previous post, we discussed different methods to simulate probability distributions. In this post, we are going to explain how to simulate discrete probability distributions in essentially \(O(1)\) time (after some preprocessing).

read more

Simulating random variables

Whenever we are dealing with random events, we would like to have some way to replicate experiments following certain probability distributions. For instance, flipping a (fair) coin is the experiment simulating a Bernoulli random variable of probability \(0.5\). However, when we deal with more complicated random variables, it’s not immediately clear how to produce an experiment to simulate them.

read more