DDeploy OpenFaas to minikube

May 21, 20203 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.


CConfigure Grafana to pull metrics from Prometheus

April 18, 20205 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.


TThe Optional anti-patterns in Java

September 27, 20196 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.


UUse Android SDK Manager with Java 11

June 09, 20192 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.


UUninstall older versions of Java from macOS

February 11, 20191 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.


HHow to use different SSH keys

December 12, 20183 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.


UUse gRPC/protobuf with C++ and Go

July 24, 201710 Min Read

In this guide I will show you how to use gRPC to write a simple client (in C++) and server (in Go) for your service.

For this tutorial we will use the code available in the following Github project: pasdam/grpcExample.

For the client, in this article I'll show how to write a command line one, but in the repository there is also a GUI client written with the Qt framework.