Book review: Node.js Design Patterns (1st edition)

This is a book that was recommended to me by one of my former colleagues, but turned out to be pretty disappointing.

Read on →

Makefile 101

It seems like developers are afraid of using make as they link it to the painful experience of compiling things from scratch — the dreaded ./configure && make && make install.

Part of this fear is due to the description of what make(1) does:

The purpose of the make utility is to determine automatically which pieces of a large program need to be recompiled, and issue the commands to recompile them.

Not everyone is aware that make can be easily used to manage tasks in your projects, so I wanted to share a brief introduction ad how Makefiles help me automate some tasks in my day to day activities: this brief guide will focus on using make as an automation tool for tasks rather than a tool for compiling code.

Read on →

Emit a beeping sound with JavaScript

When you go to your favorite grocery store and the cashier processes your products, he or she will most likely scan them through a barcode scanner which will emit a sound — a sound that’s only there to signal that the scan was successful, and he or she can move onto the next product.

When you develop user interfaces for repetitive tasks, and especially when some sort of scanning is required, it might make a lot of sense to think of giving your users additional feedback so that they don’t have to go back and look at the screen every time they process an action — they can probably simply hear a confirmation sound, or feel an alarming buzz.

Let’s dig a bit deeper.

Read on →

mssqldump, a small utility to dump MS SQL Server data

In the past few months I found myself busier with moving data here and there, so much that scripts ending with load(transform(extract())) have become my bread and butter — sad life, some say!

Last night I wanted to import a bunch of data stored in SQL Server into a MySQL database, but didn’t want to get my hards dirty with a GUI or PowerShell because, well, PowerShell.

The result was mssqldump, a small utility – similar to mysqldump – to export data into TSV.

Read on →

#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 →