Go fatcontext golangci-lint linter Golang I wrote a linter! Creating a linter in Go is surprisingly easy! I wrote one and integrated it with golangci-lint to diagnose "fat contexts". This post documents the process.
Go Golang dependencies Go dependencies and binary size How to prevent your app binary from getting bloated by unused dependencies? How to design your library so it doesn't happen to your users?
Go performance fatcontext OVHcloud Golang OVH Context-induced performance bottleneck in Go Misused go contexts can lead to severe performance issues.
blog website command line Check your websites for broken links How I use linkchecker to help me keep my links fresh.
Go Golang http Unmarshal JSON from HTTP request in Go Use json.Unmarshal instead of json.Decoder, or a thin HTTP client library.
subscriptions subscription personal finances budget My subscriptions List of my monthly subscriptions and their cost
Go gin Golang http OVH OVHcloud Gin Method Not Allowed By default gin returns a 404 for an incorrect HTTP verb sent to a handled path. This can be fixed.
postgres postgresql docker upgrade self-hosting database Upgrade PostgreSQL in Docker Upgrading postgresql in Docker can't be done in-place, so here's a scripted version to help you do so.
find ubuntu unix posix command line terminal find to the rescue find has many filters to help you locate the files you're looking for.
dependencies pip-tools python pip-tools for Python dependencies management Here's how and why I use pip-tools for my side-projects.
development python shell virtualenv Setup rtx with direnv for Python Improve startup time and simplify your PATH
certificates OpenSSL quick note TLS Create a CSR with SAN How to generate a CSR for a basic certificate supported by modern browsers
Django Javascript frontend programming python Reduce your page load time with htmx in less than an hour HTMX is a wonderful piece of technology for backend developers who don't want to write frontend code but still provide nice UX.
certificates OpenSSL quick note TLS Certificates chain correct order Certificates in a chain file should start with the "final" certificate (the cert issued to you). Each following certificate should be the issuer of the previous one.
commons free software licensing Releasing my works into the public domain All my existing software projects and the articles in this blog have been released into the public domain.
devices self-hosting My Setup at Home (12/2021 update) In this post, I'm presenting my updated setup at home. The previous version was from May 2020. 👨🏻💻 Desk * MacBook Pro 15-inch 2017 (personal laptop) * development side projects * writing * office stuff * MacBook Pro 15-inch 2019 (work laptop) * development, research * meetings * Two 27-inch QHD displays (Dell P2720DC) * nice 3 monitors
bisect bugs git Automate bug findings with git 🔍 Git bisect When you're trying to troubleshoot a bug, finding the original commit is often helpful as it gives you context. Enters git bisect! If you haven't already, consider taking a short detour to the documentation. This command uses a binary search algorithm to find which
Docker ITSF chown history layer multi-stage builds Chowning files can take a lot of space in a Docker image Today I learned that recursively changing the owner of a directory tree in a Dockerfile can result in some serious increase in image size. 🚛 The issue You may remember how in a previous post we used a small example to discuss layers and final image size. Well, here's
Docker multi-stage builds poetry python Lighten your Python image with Docker multi-stage builds In previous posts we talked about poetry and Docker images layers and I promised I would write about Docker multi-stage builds, so here we go! 💡I will explain the basics of Docker multi-stage builds required to understand the post, but I won't repeat the documentation (see further reading)
ITSF dependencies poetry python Poetry for Python dependencies management At ITSF, teams using the same languages/frameworks regularly meet to share experience and decide on common guidelines. With the Python teams, we recently decided to change our dependencies management system to something more robust because we were not satisfied with pip alone. ✅ Requirements Here's a list of
pipx pyenv python How to use pipx with pyenv 👨🏻💻 TL;DR In my case with fish I added this line to my config.fish: set -gx PIPX_DEFAULT_PYTHON "$HOME/.pyenv/versions/3.8.5/bin/python" It's roughly the bash equivalent for export PIPX_DEFAULT_PYTHON="$HOME/.pyenv/versions/3.8.5/bin/
Docker cache layer Docker images layers and cache In this post, we'll walk through Docker image layers and the caching around them from the point of view of a Docker user. I'll assume you're already familiar with Dockerfiles and Docker concepts in general. ✌️ The two axioms of Docker layers There are two