About
I’m Johannes. During the day, I work in education. Outside of work, I spend a lot of time running a small homelab, tinkering with Mac and Linux systems, and experimenting with local AI tools.
At some point, I became the kind of person who keeps a Proxmox server in a closet. What started as curiosity about how home networks work grew into a small collection of machines connected with Tailscale, each handling jobs they were never really designed for.
My daily driver is a Mac, and most of my setup is managed with Homebrew. I like how brew install and brew bundle can make a new machine feel familiar again.
I split my time between macOS and Linux and enjoy figuring out where the two systems work well together—and where they behave in completely different ways.
I also run language models locally. Some work surprisingly well. Others mostly serve as expensive ways to make a laptop warm. I’ll write about both, along with the shell scripts and small tools I use to connect everything.
This blog is where I document what I learn: Homebrew setups, self-hosted services, shell scripts, and the occasional local LLM experiment that either works brilliantly or teaches me something the hard way.
If something here saves you an evening, then it’s doing its job. And if I get something wrong, let me know—I’d rather be corrected than confidently mistaken.