> Category: Programming

Metaprocrastinating on writing a book by writing a text editor

If you have been following my Essential Tools and Practices for the Aspiring Software Developer posts and were anxious to read more, you might have noticed that they stopped coming after a while. I have a draft for the last chapter, and I regularly think about getting back to it, at least to get some closure. Alas, procrastination being what it is, I never did. My procrastination level became really interesting when I convinced myself that one of the reasons that I didn't want to write that final chapter was that my text editor was standing in the way. I was either using a full-fledged code editor (Sublime Text/VSCode) riddled with complex features I didn't need (autocompletion, linting, etc) or getting lost in configuring vim into the perfect markdown editor. Either way, these were the wrong tools for the job, and my only way to get back to writing was to.. write my own?

How to setup a personal wireguard VPN

This article will provide guidance about how to setup a Wireguard VPN between a server and your phone, allowing you to avoid being snooped on while you travel.

Managing my infra like it's 2019

I recently realized that I was routinely managing thousands of servers and petabytes of data in my daily job, but was still managing my own personal infrastructure like I was living in 1999.

my-infra


With the advent of configuration management tools such as Ansible, Chef, and the like, it became easier …

Allocating unbounded resources to a kubernetes pod

Note: this article assumes that the reader is familiar with Kubernetes and Linux cgroups.


When deploying a pod in a Kubernetes cluster, you normally have 2 choices when it comes to resources allotment:

  • defining CPU/memory resource requests and limits at the pod level
  • defining default CPU/memory requests and …

On meritocracy, identity and context

Before reading

This is a deeply personal article, that hasn't been easy to write, especially with all the tension currently occurring in the tech industry, around inclusiveness, gender, code of conducts, etc. I've done my best to explain my thoughts on the matter, while being as respectful as possible. If …

Solution to Advent of Code "Day 3: Spiral Memory"

After an unsuccessful attempt at learning Rust earlier this year (I mainly read through the documentation without applying it in any project), I recently started to tackle the 2017 edition of Advent of Code, in order to practice Rust for real.

The 3rd challenge, Spiral Memory is interesting because you …

On working from home while remaining sane

Since I started working at Datadog, I've had the opportunity of working from home full-time (for the second time in my career). Although I consider this to be a real privilege, it comes with its own set of challenges that I'd like to pinpoint and address in light of my …

The story of the 20°C cronjob

For the last month or so, the lifespan of my beloved Thinkpad X1 Carbon battery had been getting down the drains, from 5-6 hours to less than 3. Following @padenot's advice, I installed powertop and started investigating what was draining this good'ol battery of mine.

Looking at the powertop …

Preparing the SRE interview

I recently interviewed for an SRE position. I spent a full week learning (or refreshing my memory) on the subjects and topics that could be covered in such an interview. I'll try and lay down the list of topics I covered and resources I used.

What is an SRE?

Having …

Celery best practices

I've been programming with celery for the last three years, and Deni Bertović's article about Celery best practices has truly been invaluable to me. In time, I've also come up with my set of best practices, and I guess this blog is as good a place as any to …