Unix goodies to the rescue - Vol.2

A couple years ago I wrote a post presenting a few unix commands that save me on a daily basis, and I thought it’s probably time to expand on that lists and add stuff I’ve grown fond of over the past few years.

Read on →

Intro to React for busy people

In order to get our backend team to familiarize with React, I ran a quick intro to the library, based on “evolving” a JSFiddle from a single, static component to adding UI interactions, using props / state and so on. Nothing groundbreaking but something that covers the most important bits of React.

I summarized my intro in a repo called “React in 1000 words” and wanted to share it here as well, in case anyone finds it useful.

Read on →

Concise async / await in ExpressJS

Async / await is one of the biggest revolutions (read: one of the sweetest syntactical sugars) that has come to JavaScript over the past few months, and has personally helped me appreciate the language a lot more.

At work, we rely quite a lot on ExpressJS to build small services deployed in our architecture and, as you can imagine, have converted a whole bunch of them to async / await over time.

One interesting problem, though, has been converting express routes to use async functions: my personal solution has been to write express-async-await, and I want to share the reasons and ideas behind the library in this post.

Read on →

Book review: Code simplicity

People who work with me tend to realize, quite soon, how much I strive towards trying to build simple software: simplicity keeps code reusable, open and easy to maintain or evolve — the toll abstractions take is generally a heavy one, and I try to avoid it every time I can (been guilty of building complex, and some time complicated, stuff too!): to me, simplicity is king.

Now, I was really excited to find out that the main dev behind Bugzilla, the OS bug tracker, wrote a book about simplicity in software as – I thought – he could give me a really good overview of keeping things simple in such a huge (and dated) project.

Read on →

Book review: The Go programmming language

Some books are so good you feel honored to be able to read them, and “The Go programming language”, in my opinion, happens to make that list: it’s a real gem.

Read on →

Book review: Kubernetes cookbook

As I mentioned in my previous post, writing about an evolving piece of software such as Kubernetes must be quite of a task, and rarely gets done right.

Read on →

Book review: Kubernetes management design patterns

Writing about an evolving piece of software such as Kubernetes must be quite of a task, and rarely gets done right.

Read on →

HTTP cache 101: scaling the web

I recently gave another read at my original post “REST better: HTTP cache” and I felt compelled to write a more in-depth dive into the subject, especially since it’s one of the most popular topics in this blog; at the same time, with the advent of new technologies such as sevice workers, people jumped into the bandwagon of offline applications without, in my opinion, understanding that the HTTP cache provides some basic but extremely interesting features for offline experiences — thus, I want to shed some light on one of the most ingenious sections of the HTTP protocol.

Read on →

Local development with rkt containers

A few weeks ago I stumbled upon an interesting hackernews discussion about setting up development environments: from what I could tell it seemed like most people have been ditching Vagrant and VMs in order to move towards docker containers, through docker-compose or minikube.

Compose, to be fair, provides a painless user experience and allows you to extend your Dockerfiles to be able to run containers with specific “dev” settings, like local volumes and different commands (think node index.js vs nodemon index.js).

What if we could have a similar experience with rkt?

Read on →

SPA, isomorphic and back to the server: our journey with JS

This morning I gave a talk at the JsDay in Verona, describing how we went “back to the basics” with our latest revamp of our mobile website.

Read on →