For some months I hosted this site using Bunny’s file storage and CDN. Bunny’s CDN is minimally opinionated about serving HTML. It does have some default behavior that is reasonable. For example, not caching HTML. Other than that, it’s on you to use their Edge Rules for anything custom like redirects, managing headers, caching HTML, rate limiting, etc. Update: In June 2024, Bunny renovated its edge rule system, making it easier to create and maintain edge rules. However, the logic to im...| Notes on Gabriel Garrido
Using git push remains one of my favorite ways of deploying software. It’s simple, effective, and you can stretch it significantly until you need more complex workflows. I’m not referring to using git push to trigger a Github action which builds and deploys software. I’m talking about using git push web main to deploy your main branch to a server that you’ve named web. I learned this workflow from Josef Strzibny’s excellent book Deployment from Scratch, which I’ve adapted somewhat...| Notes on Gabriel Garrido
I recently refactored a Next.js single-page application to support white-labeled deployments. No requirements called for pulling and defining the configuration at runtime. Instead, the configuration is pulled once at build time and saved to the project root as a JSON file. This configuration is referred to both during the build and at runtime. For example, at build time the configuration is used to define a color scheme in Tailwind’s configuration file. At runtime, the configuration is used...| Notes on Gabriel Garrido
I follow a handful of Ghost-powered sites that don’t serve their articles fully in their RSS feed. Most of the time this is because an article requires a paid or free subscription to be read. This turns out to be a nuisance as I prefer to read things using an RSS reader. For example, 404 Media’s recent article on celebrity AI scam ads in Youtube ends abruptly in my RSS reader. If I want to read the entire article then I am expected to visit their site, log in, and read it there. Article i...| Notes on Gabriel Garrido
I recently learned about Redbean, a single-file distributable web server authored by Justine Tunney. redbean is an open source webserver in a zip executable that runs on six operating systems. The basic idea is if you want to build a web app that runs anywhere, then you download the redbean.com file, put your .html and .lua files inside it using the zip command, and then you’ve got a hermetic app you can deploy and share. If the above sounds like magic that’s because it kind of is. Zip a ...| Notes on Gabriel Garrido
I use KDE Plasma 6 as my desktop environment. Among my petty grievances is the fact that KDE does not provide a way to automatically switch themes. In my case, I like to use a light theme during the day, and a dark theme as soon as the sun sets. An option to configure theme switching would be niceI searched for a solution and found an old thread on reddit where someone recently shared a command that you can use to set a theme manually using lookandfeeltool. For example, to set “Breeze Dark...| Gabriel Garrido
Caching Hugo resources in Forgejo actions| Gabriel Garrido
Archiving and syndicating Mastodon posts| Gabriel Garrido
Backing up a Thunderbird profile in Flatpak| Gabriel Garrido
Caching HTML in CDNs| Gabriel Garrido
Using Rclone to automate CDN cache invalidation| Gabriel Garrido
Being found in Mastodon when all you have is my email address.| Gabriel Garrido