RSSAmplifier

Blog

Stan's blog

Recent content on Stan's blog

stanislas.blogRSS feed ↗10 posts

Latest posts

Building a self-hosted cloud coding agent

I’ve been building Netclode recently and it was a lot of fun! There are a lot of interesting parts, so I thought it would be nice to share a bit. The use case # A lot of ideas for my projects come up when I’m away from the keyboard: when running, commuting, travelling, etc. I usually write things down in Notion, create reminders, or brainstorm with an LLM on the go. The problem with…

Building a TUI to index and search my coding agent sessions

This is the story of how fast-resume came to life and evolved, as I was trying to search and resume my coding agent sessions more easily across different local CLI agents. There should have been a video here but your browser does not seem to support it. The problem with resuming sessions # I use many coding agents these days: Claude Code, Codex, OpenCode, Copilot, and more. Sometimes I remember…

Building a macOS app to know when my Mac is thermal throttling

This is the story about how I built MacThrottle . I’ve been very happy with my M2 MacBook Air for the past few years. However, when using an external display, especially a very demanding one like a 4K 120Hz display, I’ve noticed it started struggling more. Since it lacks fans, you can’t hear it struggling, but you can feel it as everything becomes very slow or unresponsive:…

Migrating my web analytics from Matomo to Umami

Quickly after starting French blog in 2014, I switched from Google Analytics to Piwik for my web analytics. It’s been since renamed Matomo in 2018 . It’s been working pretty well for more than 10 years, and I’m thankful for the creator and maintainers. Finding a modern alternative to Matomo # In 2022 I started using Umami as well, with the intention of replacing Matomo. Matomo…

How Claude Code is helping me as an open source maintainer

10 years ago I was really into privacy and encryption, and I wanted to run my own VPN server. At the time, OpenVPN was the standard open-source VPN software, and that’s how openvpn-install came to be. Then WireGuard came along, and I created another script: wireguard-install . Over the years, these projects have been quite popular: currently 15k and 10k stars respectively, tens of thousands…

Doing my cloud exit (kind of)

In a previous post, I shared how I migrated my personal infrastructure to Kubernetes . That transition also involved a shift in underlying hardware. In this post, I’ll explain why I ultimately decided to return to a single baremetal server. Previous setup: scattered VMs # While I have largely cut down on running personal and public services in the past few years, I still have a few things to run.…

Moving my personal infrastructure to Kubernetes (single-node k3s)

I recently moved my personal infrastructure from a few VMs managed by Ansible to a single-node Kubernetes cluster. I will cover the hardware part in the next post. First, let me explain why k8s. How I got there # The way I manage my personal infrastructure has evolved over the years. I started on my Raspberry Pi and then got my first VPS 10 years ago (link to my French blog). I started hosting…

Doing in-place, single-node Postgres upgrades with almost no downtime

On my Debian servers, I use PostgreSQL from the PostgreSQL Global Development Group (PGDG) APT repository . This allows me to install any version of PostgreSQL, including the latest one, even on an older Debian release. For example, on Debian 11, the packaged Postgres is 13 , which was released 5 years ago. Thanks to the PGDG APT repo, I can install version 17, which was released a few months ago.…

My writing workflow with LLMs

The old days: web-based editors # I began blogging in 2014, in French using WordPress as my CMS. When I launched this blog, I chose Ghost . Both platforms offer web-based editors, allowing me to take advantage of built-in spell checking from the operating system or browser. Additionally, browser extensions like Grammarly (or Language Tool ) provided more sophisticated checks for grammar and style.…

Visualizing the correlation between my training intensity and health metrics with Apple Health and Python

When it comes to technical subjects, I tend to dive into many things at once and switch topics frequently. Over the past 3 years, my two main sports have been weight lifting and running. My motivation levels have varied in both. I try to balance the two, though there have been instances where I almost completely stopped one in favor of the other, for example, in the weeks and months leading up to…