Book review: Scalability Rules

I recently finished reading Scalability Rules: 50 principles for scaling websites (2nd edition) and wanted to share a few thoughts on the book.

Read on →

Eval no more: a journey through NodeJS’ VM module, VM2 and Expression Language

How many times have you heard of how evil eval is? Are there safer alternatives in the modern, server-side JavaScript ecosystem?

Read on →

Book review: NodeJS High Performance

It’s been a couple months that I started reading more aggressively compared to the past couple of years, and today I want to give you an honest review of a book I found extremely underwhelming, NodeJS High Performance.

Read on →

Book review: An Introduction to Stock and Options

For $2.99 you surely can’t complain: this book certainly offers what you’re looking for.

Read on →

Better performance: the case for timeouts

Most of the larger-scale services that we design nowadays depend, more or less, on external APIs: you’ve heard it multiple times, as soon as your codebase starts to look like a monolith it’s time to start splitting it into smaller services that can evolve independently and aren’t strongly coupled with the monolith.

Even if you don’t really employ microservices, chances are that you already depend on external services, such as elasticsearch, redis or a payment gateway, and need to integrate with them via some kind of APIs.

What happens when those services are slow or unavailable? Well, you can’t process search queries, or payments, but your app would still be working “fine” — right?

That is not always the case, and I want to run a few benchmarks to show you how a little tweak, timeouts, prove beneficial when dealing with external services.

Read on →

The 2017 blogging pledge

Last year I wrote 12 posts, which makes it a decent average of once a month.

Even though I would have liked to be able to blog more often (and do some more public coding: there are at least ¾ projects I have worked on without getting them far enough to make it to github), I’m still happy with the outcome so far — at the end of the day this blog still attracts a few hundred visitors a day and I’m happy as long as I retain those numbers.

For 2017 I would like, though, to follow a different approach while try to put in the same amount of effort, with – hopefully – better results.

Read on →

2 Web APIs I’m particularly excited about

In the past few months we have seen Google and Apple push in 2 very different directions — as much as Apple has been steady pushing publishers to embrace their app market, Google has been working on a bunch of initiatives to improve the “web platform”, rolling out projects like AMP and giving a lot of coverage to technologies like PWAs.

I’m particularly excited about the work that Google is putting on the web as they’re slowly bridging the gap with the native experience, and there are 2 Web APIs I can’t really wait to use in production to give our users an enhanced experience on the web.

Read on →

A tech team of ~10 people

I am currently in Berlin, attending the 2016 Rocket Tech Summit: what a good opportunity to share some insights on how we run our business with such a small tech team.

Read on →

Why did Google create the Go language?

A few days ago a very interesting digest popped up in my inbox, straight away from Quora:

The key point here is our programmers are Googlers, they’re not researchers. They’re typically, fairly young, fresh out of school, probably learned Java, maybe learned C or C++, probably learned Python.

They’re not capable of understanding a brilliant language but we want to use them to build good software.

So, the language that we give them has to be easy for them to understand and easy to adopt.

Dockerize it: stop living in the past and embrace the future

The guys from the codemotion recently released a bunch of videos from the last event they held in Rome — among those there’s one of my talks about adopting docker for fun and profit :)

Read on →