2024

How Kubernetes picks which pods to delete during scale-in

2023

Moving to HyvorBlogs

No heroes needed

2022

How to prepare for the Certified Kubernetes Administrator (CKA) exam

Why K8s deployments need `matchLabels` keyword

Managing Helm CRDs with Terraform

Why you should contribute to GitLab

Managing Rust crates in private Git repositories

2021

The inconsistencies of AWS EKS IAM permissions

How to make Terraform waiting for cloud-init to finish on EC2 without SSH

Adding comments to the blog

Reading env variables from a Tauri App

Integrating JetBrains Qodana with GitLab pipelines

2020

Fail a Gitlab pipeline when code coverage decreases

Create a PyTorch Docker image ready for production

Introducing Daintree.app: an opensource alternative implementation of the AWS console.

Leveraging AWS Lambda to notify users about their old access keys

2019

My year on HackerOne

Exploring Gitlab Visual Reviews

Using AWS Textract in an automatic fashion with AWS Lambda

Responsible disclosure: improper access control in Gitlab private project.

Glasnost: yet another Gitlab's client.

2018

Responsible disclosure: retrieving a user's private Facebook friends.

AWS S3 + GitLab CI = automatic deploy for every branch of your static website

2017

A generic introduction to Gitlab CI

How to automatically create new MR on Gitlab with Gitlab CI

2016

Auto deploy a Jekyll website with Gitlab CI

A talk about the future of Ubuntu with Mark Shuttleworth

A review of my 2015

2015

My opensource contributions in Oct and Nov 15

Ubuntu Community Appreciation Day

Let's encrypt the world!

Falldown 0.3.1: choose your theme!

My opensource contributions in Sep 15

How many Ubuntu Phones there are?

Falldown 0.2.2: settings are here!

Falldown for Ubuntu Phone is here!

My opensource contributions in Jul&Aug 15

CCCamp 2015

Meizu MX4 is awesome after OTA-5

My opensource contributions in Jun 15

The most inspiring week of my life

Thoughts on Meizu MX4

Discerning Duck 0.1.3: call for developers

My opensource contributions in May 15

Ubuntu Phone: Announcing two new launches!

My new bazaar workflow

How to start to contribute to Ubuntu

My opensource contributions in April 15

My first job

My vps configuration

Calculator 2.0.155: Here we are

My opensource contributions in March 15

Calculator Reboot 2.0.139: The final countdown

Two years later...

My opensource contributions in February 15

Scopes are not widgets (they are better)

New Bacon2D API

Ubuntu Phone: The hardware

My opensource contributions in January 15

Calculator Reboot 2.0.85: Favourite mode

Ubuntu Phone Glimpse: The Hardware

Calculator Reboot 2.0.73: call for translations!

Ubuntu Phone Glimpse: Aggregated Scopes

Launchpad on DuckDuckGo

Ubuntu Calculator App Reboot is in the store

Qt Day 2015, March 13-14th, Florence

Why opensource model rocks

ubuntu-it had an awesome year!

2014

Ubuntu Calculator App Reboot

Ubuntu Phone seen by my friends

New blog

Create your first game with Bacon2D

How to know proprieties and values of an object in QML

Canonical Sprint in Malta

One year later...

2013

Farewell Google

Why you should contribute to Ubuntu Touch

I'm here too