Two Weeks of Real Open Source Contributions Five pull requests, a stale-branch bug that looked like a CI failure, a maintainer who caught a comment worth trimming — and what actually happened after the code was right.
A Beginner's Glossary to Pull Requests Fork, clone, branch, diff, CI, merge — the vocabulary and the actual sequence of events, in the order you'll hit them if you've never sent a PR to a project you don't own.
How to Tell If a Project Will Merge Your PR Four numbers predict whether a maintainer will read your diff, and the star count is not one of them. Includes the forty-line screener and the blind spot it has.
A Check That Could Never Be True Nanocoder tested for a string prefix its own code never emits, so a flag was permanently false. Fixing the string alone would still have left it broken.
Fixing a 404 in Medusa's Admin A shipping profile row linked to a route that was never registered. The fix is one line; the work was proving which of four callers disagreed with the router.
I Read the Source of the Job Bot I Have Been Running. Two Bugs, One File, Same Root Cause. Both bugs come from the same place: an import graph that does not agree with the runtime dispatch, and capability detection written as a hardcoded allow-list. If you support more than one LLM provider, you have probably written at least one of them.
Publishing to Ghost from a Script: Five of the Seven Failures Look Like Auth A complete Ghost Admin API publisher in sixty lines of standard-library Python — no PyJWT, no requests. Plus the four errors that will stop you first, including a 403 that is not from Ghost and a 404 that means it worked.
I Went Looking for Open Source Contributions. Four of the Seven Were Traps. Filtering GitHub by "good first issue" mostly returns contribution farms and moods dressed up as tasks. Seven candidates survived a first look, three became pull requests, and the four I threw away are the more useful half of the story.
Self-Hosted Ad Blocking Over WireGuard, Without Opening Port 53 to the World I run a small self-hosted stack on a cloud VPS (Coolify managing a pile of Docker services). I wanted network-wide ad blocking on my phone and laptop, using Pi-hole as the DNS resolver. The catch: the server is remote, there is no LAN between my devices and
I Built a Bot to Auto-Apply to Jobs. Then I Had to Build a Way to Survive Its Inbox. A while back I wrote a bot that logs into LinkedIn, searches for roles that match my profile, screens each one with an LLM, and applies on my behalf while I sleep. It works. A little too well, actually — at 30 applications a day, my inbox turned into a wall