#OffFacebook: half a year later

At the end of last year I decided to try completely removing Facebook from my life: truth to be told, FB does a great job at letting you disconnect by deactivating your account and decide when to come back — so it was an easy experiment.

In this post I’d like to report a few observations 5 months down the line.

Read on →

Import a Google spreadsheet into a MySQL table with docsql

There’s a lot of open-source software I’m not proud of; probably, though, nothing compares to docsql, as this rare piece of Golang qualifies as one of the weirdest of my creations.

Read on →

This is how a (dumb) hash table works

How beautiful is {}?

It lets you store values by key, and retrieve them in a very cost-efficient manner (O(1), more on this later).

In this post I want to implement a very basic hash table, and have a look at its inner workings to explain one of the most ingenious ideas in computer science.

Read on →

The simplest template engine for NodeJS

This is the story of how I decided to dump nunjucks and use the best templating engine hack in the world.

…with one line of code.

Read on →

TSV, better than CSV

Lately I’ve been getting a few questions on why one should use .tsv files since CSVs are “standard” and virtually everyone knows how they work — so I wanted to clarify this once and for all.

Read on →

Istio is the real deal

I don’t generally spend time blogging (or bragging) about technologies I don’t use in production, but today I wanted to make sure Istio gets a special mention on this blog.

Read on →

How to easily deaggregate an IP address range

A few days ago I needed to nullroute an address range, so I found myself with the incredibly tedious task of de-aggregating IP ranges.

Read on →

Bloom filters: when data structures get smart

Keeping up with my quest on exploring probabilistic data structures, today I am going to present you Bloom filters, an ingenious idea that allows us to quickly verify membership within a set.

As usual, I sound awful when using grown-up words: filters? Membership? Verification? Just bear with me for a few minutes as we’re about to delve into one of the most ingenious ideas in the world of computer science, one that was born almost 50 years ago.

Read on →

My favorite algorithm (and data structure): HyperLogLog

Every now and then I bump into a concept that’s so simple and powerful that I want to stab my brain for missing out on such an incredible and beautiful idea.

I discovered HyperLogLog (HLL) a couple years ago and fell in love with it right after reading how redis decided to add a HLL data structure: the idea behind HLL is devastatingly simple but extremely powerful, and it’s what makes it such a widespread algorithm, used by giants of the internet such as Google and Reddit.

Read on →

Running out of space because of docker containers / images?

Almost 3 years ago I published a much-needed post around cleaning up space taken by docker (it’s been one of the most popular posts on this blog according to Google Analytics), but since a year or so there’s a much better way to achieve the same.

Read on →