W Why I migrated my personal blog from GatsbyJS to Hugo

August 26, 2024 — 6 Min Read

Over the years my personal blog went through different iterations, using different stacks. When I started using GatsbyJS I thought that would have been my last stack as I was initially very happy with it: React is a very good and easy to use library to develop frontends, the Gatsby community is big, and there are plenty of resources or example about implementing common frontend features.

Unfortunately through the years I faced quite some challenges in maintaining the blog, given that the amount of time I was willing to spend on it was very limited and the (relatively) big effort required to keep the framework updated.

This is the journey that brought me to ditch GatsbyJS in favour of Hugo.


D Deploy OpenFaas to minikube

May 21, 2020 — 2 Min Read

OpenFaas is an open source FaaS platform that allows to deploy event-driven functions and microservices to Kubernetes quickly.

In this tutorial we will see how to deploy it. In particular we will use minikube, which implements a simple local k8s cluster.


C Configure Grafana to pull metrics from Prometheus

April 18, 2020 — 4 Min Read

Grafana is a great tool to create dashboards to visualize data, it can use different sources to pull data from. In this article we’re going to use Prometheus for this role.

We won’t investigate all the features of it, for example it can be used for alerting as well, but in this post we’re going to use it simply as a data source.

We’re going to setup the whole stack using docker-compose. For the impatient the code is in a github repo.


T The Optional anti-patterns in Java

September 27, 2019 — 6 Min Read

Traditionally, Java programs have returned null as a way to represent that a value isn’t present. The version 8 of the SDK includes a new class which was made specifically to manage missing values.

I won’t describe the details of the Optional class, but very briefly it’s a container object which may or may not contain a non-null value. Therefore, it is possible to manipulate null values as if they were normal instances without necessarily having to perform a null check at every step.

In this article, I’m going to talk about experiences I gathered while working with Java and describe some anti-patterns I’ve seen about such class.


U Use Android SDK Manager with Java 11

June 9, 2019 — 2 Min Read

Since with the release 11 some deprecated packages used by the Android SDK were removed, it’s not yet possible to run it with the latest Java versions. As a workaround it’s possible to download the required classes separately and add them to the classpath, or install the latest supported version, java 1.8. This latter approach is the recommended one.


U Uninstall older versions of Java from macOS

February 11, 2019 — 1 Min Read

Sometimes it happens that after installing different versions of Java you want to remove the old/unused ones: in this brief tutorial we’ll see how to list all the installed versions and remove the one that are not required anymore from macOS.


H How to use different SSH keys

December 12, 2018 — 2 Min Read

As a developer you might have to deal with SSH keys to access specific API/machines, and a common approach is to have one key for everything. For security reasons it’s good to use different ones so that if one of them is compromised the other services are safe and you don’t need to revoke and regenerate the keys for all your API/machines.

In this guide I will show you how to use a different SSH keys for each domain.