A Kalman Filter to Avoid Annoying the Server (or the Guilty Pleasure of Over-Engineering)

I have a menu bar app that needs to know a single number. A percentage from 0 to 100. To fetch it, it pings a server every 30 seconds. Do the math: 30 seconds equals 2 calls per minute, 120 per hour, 960 over an 8-hour workday. Nearly a thousand HTTP requests a day to check a number that sometimes doesn’t change for 20 minutes. That’s not monitoring. That’s harassment. ...

March 12, 2026 · Fernando

How to estimate your Claude quota when Anthropic cuts off the tap

I’m building Tokamak, a menu bar app for macOS that monitors your Claude Max quota. A couple of weeks ago, Anthropic published this in their Terms of Service: “You may not use OAuth or similar authorization mechanisms to allow third-party applications to access Claude on behalf of users.” And there I was, reading Claude Max quota using browser cookies to call an undocumented endpoint, staring at the screen thinking: “What now?” ...

February 22, 2026 · Fernando

macOS Notarization: the nightclub bouncer Apple put on your app

It’s 2 AM. Your app compiles. You sign it. You package it in a DMG. You run notarytool submit. Apple says “In Progress”. You wait 5 minutes. 10. 20. An hour. Two hours. The submission is still “In Progress”. You go to bed. The next morning: Invalid. With no more explanation than “The signature of the binary is invalid”. For both architectures. Thanks, Apple. Very helpful. Notarization is one of those processes that works perfectly… until it doesn’t. And when it fails, it leaves you with a .dmg that Gatekeeper won’t let open and an error that tells you nothing. After fighting with this for a couple of days with Tokamak (my menu bar app for monitoring Claude quota), I decided to document everything I learned and write a linter so I never have to go through this again. ...

February 22, 2026 · Fernando

macOS Virtual Machines in a Single Command

I’m building a menu bar app for macOS. It works perfectly on my Mac. Now I need to know if it works on a clean macOS: without my settings, without my permissions, without my data. A user installing it from scratch. How do you test that? You need a virtual machine. “Easy,” I thought. “I have UTM installed. I’ll open the wizard, create a macOS VM, and we’re good to go.” ...

February 21, 2026 · Fernando

Apple installed 84GB of jellyfish on my Mac. Duplicated.

Kimi K2 will have to wait Yesterday I wanted to download the latest Moonshot model, Kimi K2 Instruct. A pretty promising model that I’d been wanting to test for days. I went to make some space, checked the disk, and found this: Disk: 927GB Used: 644GB Free: 283GB Hmm. 283GB free isn’t bad, but what the hell is taking up 644GB? I keep my Mac pretty clean, don’t store movies locally, and use the cloud for almost everything. ...

January 29, 2026 · Fernando

10 GB VM for a chatbot: What the hell is Claude doing on your Mac

The 10 GB surprise You install Claude Desktop on your Mac. Everything’s fine, the app is lightweight. But one day you check your disk and discover this: ~/Library/Application Support/Claude/vm_bundles/claudevm.bundle 10.8 GB. Excuse me? Ten gigs for a chatbot? What’s in there, the extended Lord of the Rings trilogy? Nope. It’s Ubuntu. The Claude product trinity Before I explain the what, let me explain the why. Anthropic has three ways to give you access to Claude: ...

January 25, 2026 · Fernando