SystemCraft Press logo

SystemCraft Press

Archives
Log in
Subscribe
Your JOIN is quietly doubling your numbers
September 25, 2026
SQL doesn't warn you when a JOIN multiplies your rows — it just quietly hands back more of them than you expected, and every SUM() and COUNT() downstream...

Git isn't blocking your push. It's protecting one you haven't seen.
September 22, 2026
You finish up some work, run git push, and instead of the usual quiet success, you get this: $ git push To github.com:you/project.git ! [rejected] main ->...

console.log isn't lying to you. Your await is missing.
September 18, 2026
You write a function to fetch a user, call it, and log the result to check it worked: async function getUser(id) { return fetch(`/api/users/${id}`).then(r =>...

Your variable exists. Python still calls it undefined.
September 15, 2026
The variable has a value elsewhere in your program — just not in the scope Python already decided this line belongs to. Here's how Python actually assigns...

'Permission Denied'? Don't reach for sudo
September 12, 2026
The file is right there. It's not corrupted, and you're not missing a typo. Linux just hasn't been told this file is allowed to run — here's the one-line...

VS Code running the wrong Python (again)
September 9, 2026
If you've had a venv that's active everywhere except where you needed it, this one's for you. You created a virtual environment, activated it, installed your...

Welcome to SystemCraft Press
August 8, 2026
Hi, Thanks for subscribing. As promised, here's your free printable cheat sheet: Git & GitHub Cheat Sheet (PDF). One more thing — as a subscriber, use code...

systemcraftpress.com
Powered by Buttondown, the easiest way to start and grow your newsletter.