Last Sunday I shared on social media my excitement for the first alpha release of the Zig OpenTelemetry SDK!
This is the culmination of an investment of my personal time over the past 15 months, and I am so happy that it is finally usable. 
 Why OpenTelemetry for Zig? 
 If you’ve read my previous post about why Zig is great for observability , you already know my point of view on…
After years of building observability tools and working with various languages, I believe I am i the position to express a strong opinion: Zig is the most suited language for building Observability systems. 
 This is a bold claim, especially in a field dominated mostly by Go (hello OpenTelemetry) and more recently Rust. But after exploring Zig’s design philosophy and capabilities, I have…
I was introduced to type embedding (or embedding, in short) by Filippo Valsorda in one of his talks. 
 Apparently this is a lesser known (and lesser used) feature of the Go language, although it’s been around since the beginning.
I hope I can spread with this post how it works and how it can be pragmatically helpful to create more expressive and reusable code. 
 What is…
I mentioned sustainable performance in a previous post , telling that it
“could be a blog post on its own”, and after noting interest on the matter from people I highly respect,
I decided to write this post. 
 What is sustainable performance? 
 If you worked as a software engineer for some time, you must have faced at least once the question:
“is my code…
In the past few days I have been doing maintenance on a pet project of mine: a URL shortener. 
 I initially built “ 4pres ” in 2013 as a way of experimenting with the Go programming language.
It is a URL shortener, it does one simple thing: it generates a random short URL (prefixed with the domain 4pr.es )
for a longer one. 
 Despite its “dumbness”, it…

 
 gRPC NGINX 
 
 

 
 gRPC 
 
 

 
 k8s 
 
 

 

 In a previous post we saw an NGINX configuration to allow gRPC traffic mirroring. 
 Is the same technique applicable on Kubernetes?
Yes! Using the ingress-nginx ingress controller! 
 Traffic mirroring 
 Use the following configurations snippets in the…

 
 gRPC NGINX 
 
 

 
 gRPC 
 
 

 

 Recently at work with the Optimyze team we faced the necessity of copying traffic from our current customer-facing environment to a new environment.
We have assumptions and ideas about architectural changes that cannot be validated only with synthetic tests and require cloning traffic to a separate,…
I have been using micro-committing for some time now, during which I have adapted the usage of this technique to my needs,
bringing it to a level that makes me more productive than ever in software development. 
 Combining micro-committing with Git, while doing TDD 
is now my favorite development experience: I like how this workflow helps to deliver changes with speed and confidence.…
Yes! Yesterday I received an awesome email stating that I cleared the Certified Kubernetes Administrator exam! 😎
Here I want to report my experience in preparing and taking the exam, hopefully this info can help others Kubernetes practitioners get the certification too. 
 Preparation 
 I consider myself lucky because for the past two years I had the chance to use Kubernetes working at…
I’m more and more fond of finding the perfect solution to manage application delivery: dev teams want to be fast but their ops counterpart is not happy to loose control over the growing number of deployments that could cause an outage. We as an industry need to find the right balance to have features delivered in time and keep the service up and running for our users! And that’s where…
I’m in the train back from GoLab 2018 and I am so happy that I attended this conference!
It’s been definitely one of most beautiful con I have attended in Italy, with tremendous speakers from all over the globe like Filippo Valsorda, Eleanor McHugh, Ron Evans and Bill Kennedy among many others; I have to say the organizers were just perfect in everything from the venue setup to the…
Cloud-native : sounds attractive right? What does it even mean? Wikipedia has no page on it already so anyone can give its own definition… Here’s mine: 
 A Cloud-native application has only concern on the functionalities that it has to deliver as it is completely decoupled from the infrastructure it runs on 
 So how can software delivery be cloud-native? Isn’t software…
Continuous Delivery should be a solved issue: the practice is well-defined and there is a plethora of tools implementing it with more or less peculiarities, but still many struggle implementing it. The dream of a perfect continuous deployment flow from the developer to the production environment with software quality gates based on automated tests is still alive in me, I tried and tried several…
Kubernetes is the de facto platform for running modern applications: its broad adoption in 2017 and the velocity of the project made it so and it’s been accepted as the standard for many companies, from small to planet scale. It was impossible that such an extensible platform would be left out the serverless party, so here are the 4 main players offering FaaS to be run via k8s. 
 A…
In the early days of Go the language was often tailored towards “system programming” due to its C-stlye syntax and ability to write high-performance applications. Few time after, Go adoption was starting to gain traction for distributed systems development and projects like etcd, docker and kubernetes revealed the power of the networking capabilities offered by the internals in the…
Work experiences 
 March 2026 - Now() » Senior Software Engineer 
 Stealthium 
 As world grows AI adoption, offering a GPU via the web exposes providers to all sorts of threats: privilege escalation, data exfiltration, remote commend execution, and so on.
At Stealthium we provide the security layer for your AI workloads, a Rust + eBPF agent that hooks into hypervisors and extract…
One of the advantages of containerized applications is the standardization, some would say “write it once, runs everywhere” but that’s another motto for another product. Anyway with a new packaging technology the same problems are faced: build reproducibility, or the necessity for people doing Ops to know they are going to deploy the same exact piece of code the Dev team used in…
Recently I received a mail pointing me to a post about DevOps culture and some anti-patterns and misconception on how to build and grow a DevOps culture in a company. Whoever like me works in the Enterprise (“the one with the big E” - Kelsey Hightower) knows that applying DevOps practices often is limited to the adoption of some tools or the creation of a “DevOps team”…
Letsencrypt is cool: automated, free TLS certificates for everybody! They are sponsored mainly by internet corps and they started a crowd-funding campaign to avoid the influence of this corps in the future of the project. I recently moved the blog to hugo on AWS and I’m now porting the TLS management scripts I wrote a while ago on AWS: this is a nice exercise to give a proper TLS automation…
Last month I felt I was a little late for the #serverless party going on all over the internet and I started taking a look at what the pros and cons would be to actually not manage any server myself.
Shutting down my VPS hosting my apps I will lose my mail server, my MySQL instances and my Docker registry but: who cares? There are cloud services I can use with hundreds of times more…
Bio 
 I’m a passionate technology enthusiast, an engineer in love with Computer Science and a part-time musician and writer; I started my career in IT as a sysadmin and became a Go developer in 2013 when approaching distributed systems.
Since then, I grew my interests in SRE and Software Engineering. 
 I like to study how things work, understand the mechanics of technology…
In times of experimenting, I am now having a lot of fun with docker, rkt, kubernetes and containers ecosystem in general. But one thing I never forget to play with is content editing and publishing! So here I am, trying to migrate all my blog and website to Hugo :) 
 So instead of a bare VPS I am moving my blog to AWS S3 + Cloudfront CDN. This will be more scalable and far less expensive. And…
Amazon Web Services Elastic File System has been to my knowledge the service to have the longest beta testing period: reason for this may be that not as many client as expected tested it and AWS received too few feedback on it or that there were issues not to release GA. I don’t want to speculate on which one is correct but now that it has been officially released I decided to give it a try and of…
If you’re an AWS administrator you know that managing web console security is pretty tough unless you know what you want and you know what you’re doing. So if what you want is let each AWS user manage their own MFA device configuration without you and force them to have MFA active to use the web console, here is your solution. 
 TL;DR 
 
 Create one or more groups with your web users…
As a coding challenge I was asked to provide a generic list implementation using a language of my choice and using only primitive types, avoiding the use of high level built-ins. I chose Go because I want to learn it and I know it can be useful to create an abstract, generic implementation. 
 The challenge request to implement at least 4 methods on the generic type: 
 
 Filter() –…
A friend asked me if I was able to get back working a Windows 98 PC he had in his house; I have never done it so I said “sure I can!” just to have the opportunity to learn something new, and of course do a friend a favour. 
 My idea was to copy the whole PC and get it running on a virtual machine thus doing what I later discovered is called a “P2V” (Physical to Virtual); the result of which…
[TL;DR] 
 I wrote a Pub/Sub message queue in Go , branch “master” is stable but missing some interesting feature like distributed memory synchronization between nodes in a cluster and encryption. Code at 
 https://github.com/inge4pres/gmq 
 Being a cloud system engineer, my work is to design and implement distributed systems: one of the key principles in designing such architectures is…
It is true: I fell in love with Go , not because I love Google and his products, but because it really fits my ideology of simplicity and power in a programming language. I started experimenting with the language and thank to his web-oriented approach I quickly came up with one of the simplest single task web application I could write: a URL shortener. 
 What is a URL shortener? It’s a service…
During the last years I’ve been experimenting with GlusterFS and his functionalities as distributed object store; a lot has changed in the software, overall since Red Hat acquired it . I have been using it and find it useful for many projects but not for others: what I love is the community oriented approach with a very responsive team and support for any kind of users (meaning from the 2 nodes…
One of the very basic need of any startup is setting up a LAN in the workspace and configuring the Internet most used service: DNS. Relying on a public DNS may give you full functionality towards WAN connectivity, but when you need to address some hosts inside your LAN it can be handy to use names instead of IPs (especially with IPv6). 
 Here’s a straight forward guide to get you started with…
In an attempt to make someone happier I wrote a script to notify a server admin when his child has gone through a year of uptime 🙂 
 Platform suggestions accepted, enjoy! 
 happy_bday_server script
The last weekend my colleagues and I had a nice time moving an existing application from a bare-metal infrastructure to AWS. I would like to share some of the focal points involved in such process, in case you’d go through it and would like to know: 
 
 don’t expect everything to work as usual : you are changing the underlying hardware, moving to a virtualized environment. You can test…
Here’s a thing I came up with: you’re administering a Linux system with 100 users circa and you’re moving to a new server, you can save crontabs per user with this: 
 mkdir crontabz && cd crontabz; for user in `cat /etc/cron.allow`; do crontab -l -u $user > cron_$user; done 
 you will end up with a list of files cron_xxx , each one has the users’ cron. Hopefully your cron version will use…
It may come in mind to any IT system engineer to know what is the status of the network, server by server, instance by instance; it happened to me when I was given the responsibility to manage my company’s infrastructure and I was wondering which tool could have helped to do the job. 
 I chose Zabbix to monitor my infrastructure because: 
 
 despite it’s a bit difficult to install (you…
Ieri in ufficio mi è capitata una disgrazia, una rara occasione in cui non c’è capacità o competenza che possano aiutarti a risolvere il caso, serve solo fortuna: nel pomeriggio rientro dalla sigaretta e mi sento dire “non abbiamo più rete”. 
 L’azienda dove lavoro si occupa di fornire servizi IT, senza la connessione internet siamo un’auto senza motore, una penna senza inchiostro, inutili.…
Ieri mi sono trovato con parte della mia famiglia nella loro sala a suonare un po’ il pianoforte, mio fratello Gianmaria e io ci siamo esibiti riproducendo la semplice (ma efficace) musica che accompagna la pubblicità dell’iPad Mini. 
 Il motivetto è in Do maggiore così come viene proposto suonando i due iPad nella pubblicità, di seguito il video. Enjoy! 

In Italia abbiamo molti problemi, ma l’ultimo dei nostri problemi era l’istruzione che vantava uno dei primi posti al mondo fino a pochi anni fa. Ora invece il declino strutturale del nostro Paese ha colpito anche questo settore che era di valore. Parlo di mancanza di fondi per università e ricerca, di formazione non orientata al lavoro e tutto ciò che ne consegue: l’aumento della disoccupazione…
Stamattina ho lavorato all’Arena Civica di Milano come tecnico del suono. La manifestazione che ho seguito era la cerimonia di chiusura del Ramadan islamico, l’equivalente della Pasqua cristiana. La cerimonia di per sè è stata breve, circa un’ora, ed è stato affascinante assistere a una manifestazione religiosa a cui non avevo mai assistito prima. Il programma è stato il seguente: 
 
…
Una cosa che adoro di questo millennio è l’abbondanza di dati: nella storia l’uomo ha sempre cercato di tramandare ai posteri la propria vita e io credo che i dati raccolti e archiviati dall’umanità nel secolo scorso siano in valore di molte volte superiori a ogni calendario Maya o testo sacro. Trovo fantastica la sensazione che si prova guardando un pezzo comico di Valter Chiari di 50 anni fa e…
Ed eccolo!! 
 Il mashup che stavate aspettando dopo la cena con più argomenti di economia della mia vita! 
 Impressionante… 
 
 http://inge.4pr.es/files/2014/07/tranx-mashup.ogg
Mio amato ferro da stiro, è da 4 mesi che ci conosciamo e il nostro rapporto è intenso e caloroso tanto quanto la tua piastra in acciaio Inox. Sei un compagno di molte sere in cui, poichè non ho proprio niente da fare, ti accendo e passiamo insieme momenti fantastici mentre lisci le pieghe dei miei vestiti… Devo dire che era da molto che non avevo un rapporto così intenso e infatti, parafrasando…
Ho appena avuto la fortuna di fare un incontro, un incontro speciale di quelli che ti restano impressi per sempre. Non credo nel destino o fato o casualità che dir si voglia, seppure una serie di circostanze che hanno portato a questo incontro potrebbero farmi cambiare idea. 
 La storia è questa: da pochi mesi ho deciso di inziare con mio fratello Gianmaria la ristrutturazione di uno studio…
Come dice Oscar Giannino, giornalista e conduttore radiofonico, nonchè grande conoscitore dei meccanismi dell’economia italiana, lo stato italiano invece di salvaguardare i propri cittadini, li deruba, li sfrutta, si prende gioco di loro; per utilizzare una frase del sempre impeccabile editorialista bisogna cercare di difendersi dallo “Stato LADRO!!!”. 
 La situazione dell’economia…
Ho sempre vissuto in città di provincia (MI) dove è abitudine frequentare una cerchia ristretta di persone. Questo mi ha permesso di stringere legami molto forti con chi considero i miei amici, ma allo stesso tempo non mi ha favorito nello sviluppo di una sensibilità verso la gestione delle informazioni personali nella vita reale; la mia lingua lunga ha solo fatto piovere sul bagnato… 
 
…
Il blog è tornato in vita dopo 24 ore dalla sua distruzione totale a causa di un mio errore di configurazione. Ho anche perso i primi tre post perchè le copie di backup non funzionavano… :'( 
 Beh tutti sbagliano: alla PIXAR hanno distrutto il lavoro di 4 mesi su Toy Story 2 per un comando sbagliato lanciato sui server di storage…guarda il video !