RSSAmplifier

Blog

(blog 'zezin)

Minimalistic Hugo blogging theme

RSS feed ↗9 posts

Latest posts

You might not need Tailscale

A couple of years ago, the bespoke VPN setup of a medium-sized company (~250 employees back then) I used to work for needed replacement, and babysitting it was not really the best use of our time. Picking Tailscale as the replacement VPN was a no-brainer, but was it worth it? This question actually doesn't follow the Betteridge's law of headlines . The answer is "it depends", and not "no". Anyway,…

Blogging with org-mode, Hugo and Cloudflare Pages

Five years ago, I published a post about the setup of this blog. Satisfied with it, I added some posts until I read this japanese post . In there, a mate read my metro-clojure post describing the step by step of how to convert a generic metro map into a git graph. He then included the Tokyo metro system and wrote about it. It was gratifying but at the same time terrifying because I started this…

The day Alpine broke exponentiation

A few jobs ago, I was migrating the test suite of a Ruby app from CircleCI to Jenkins —don't ask, it's usually the other way around—and faced a weird unit test failure related to a different exponentiation operation. This post tries to shed some light on what went wrong. Prologue In CircleCI, a Rails app used Ubuntu to run its test suite. Jenkins ran the lighter Alpine docker container with the…

Who's killing my pods?

In the past few days, I've been trying to deploy a Kubernetes cluster using kubeadm in Debian. After kubeadm configured the control plane, something was killing the pods randomly after a while. This post follows the story of how I tried to fix this issue. TL;DR; Always match the same cgroup driver of the container runtime with the one from the kubelet The setup Instead of using docker and avoiding…

Bluetooth, PipeWire and Whatsapp calls

Whatsapp is, unfortunately, the de-facto messaging app today, especially among older people. When someone calls me and I'm on the desktop (the majority part of the day), I need to perform the following steps: Remove the headphone Pick up the call and tell the caller to wait for a second Search for the wired headset (I don't like to speak directly through the phone) Plug the wired headset into the…

From metro connections to a git graph

A few years ago, I was learning Clojure, had read some books and was looking for an interesting project to practice what I've learned. Then I remembered reading about the project MetroGit , which consists of building a Git graph from the metro system of Paris. In my opinion, this project is so creative that the original scope could be extended. So, the idea is to generate the necessary git…

Giving (emacs-)purpose to your tiling window manager

One fine day, imagine you're modifying a ruby file in Emacs. Suddenly, you wanna open a REPL, run some tests or make some magit operations. The problem is that all those buffers tend to compete with each other to a space in your window; they keep overlapping each other. This is truly a problem that Emacs users face: organizing the window layout. Whit this post, I'm going to show how the awesome…

Blogging with org-mode, Jekyll and Gitlab Pages

I invested a little of my time to setup this blog so, in this post, I'm going to tell you my experiences so far. Dafuq's org-mode? Org-mode was originally created to take notes and organizing assignments with Emacs. Today, however, it's used to get things done , clock tasks , manage pomodoros and Jira issues and (why not?!) write blog posts with it. All of these features are written using org…

A Modular Tetris Library

To identify the correct boundaries among the software components is a hard task. A good modular and extensible structure is one of the features that identifies a healthy code base. To show an example software reusability, this post will show you the architecture and the details of a simple and extensible Tetris game library. Goals First of all, the main requirement of this library is that it…