Notes to Self

Blog

Join me as I share insights from my business and side-projects. Each post is a humble reminder to myself that there’s always more to learn.

Setup

My Fish Shell Config (2025 Update)

I still love Fish, but I've updated my setup quite a bit since my original post. The big changes? I switched to Ghostty as my terminal and I'm using Starship for my prompt now. Here's how it all works together.

November 26, 2025 · 7 min read

Testing

How We Cut Test Overhead by over 50% with Shared Fixtures

Maintaining test data feels like a drag? Learn how we used a single set of JSON fixtures across Cypress, Vitest, and Mockoon to reduce duplication, speed up development, and ensure consistency in a frontend development and testing workflow.

November 19, 2025 · 7 min read

CI/CD

Faster Docker Builds on CI

Ever wondered why your Docker build is so slow on CI, while it is reasonably fast on your local machine? Chances are it is slow on CI because layer caching is not working as it should. Let's fix that and get fast(er) builds!

October 13, 2025 · 7 min read

Setup

Sync Your Mac’s Downloads Folder with iCloud Drive

Tired of your Mac’s Downloads folder not syncing with iCloud Drive? Learn how to seamlessly sync your Downloads across all your Apple devices - Mac, iPhone, and iPad - using a simple symlink trick. Step-by-step guide.

September 13, 2025 · 4 min read

Ruby

bundle exec be gone

Hate prefixing ruby commands with `bundle exec`? Run your ruby CLI tools without `bundle exec` thanks to the power of binstubs.

August 21, 2025 · 5 min read

Setup

Switching to asdf

Switching from rbenv to asdf for managing my Ruby installations, and start using asdf for managing Node.js and Python runtimes.

June 30, 2024 · 4 min read

Setup

My Fish Shell config

My shell of choice is Fish, and here's my basic setup, including setting the locale to English for Terminal, while my main system language is German.

June 22, 2024 · 3 min read

Javascript

How to use Clipboard API in Safari async

Safari support the Clipboard API, but only when directly triggered by a user interaction. You can't write to the Clipboard in an async context. Or can you?

May 20, 2024 · 3 min read