I worked for a company once where we ran this dodgy shipping software on prem that integrated with our backend via SQL access. When there was an issue, their techs would rdp to a server and run this little VB app that turned out to be a dialog box that could run arbitrary SQL code against our production database.
I trust that more than this nonsense. WTF are we doing?
It wasn't just hooking up a new faucet. It was hijacking an API key intended for ClaudeCode specifically. So in this metaphor it would be hooking up a secondary water pipe from the water company intended only for sprinklers they provide to your main water supply. The water company notices abnormal usage coming from the sprinkler water pipe and shuts it off, while leaving your primary water pipe alone.
Possibly a better comparison (though a bit dated now) would be AT&T (or whatever telephone monopoly one had/has in their locality) charging an additional fee to use a telephone that isn't sold/rented to them by AT&T.
Comcast pulled this on me recently through what I can only describe as malicious bundling.
Internet + shitty "security" software that only runs on their hardware + modem rental is cheaper than internet only + bring your own equipment. You can't buy the cheaper internet+security package without their hardware (or so they claimed).
In addition to the standard ways of dealing with this given by other commenters (keeping the original input around), perhaps more interesting is to imagine how befreak might compute 12 mod 4 using repeated subtraction.
I'm not clever enough to write the solution, but I imagine a loop using the branching operators (<, >, v, ^). Since each time through the loop pushes a bit onto the control stack, you have a built-in count for the number of times the loop was traversed.
In the example of 12 mod 4, the program would loop through 3 times and break once giving you 0001 (or 1110) on the control stack and something like 12, 8, 4, 0 on the stack. Then when reversing, control bits would be popped off and you'd end up going back 0, 4, 8, 12.
Yeah... I think this article is bullshit. A better analogy, imo, is the somewhat cliche rocks in a jar. I'm my experience, you get ONE big thing in your life. But there can still be room for other, smaller rocks.
But the overall message is fine, if obvious. You have to prioritize, you can't do everything.
I used this fact in an interview ages ago. The interviewer wanted a function, in Java, that shuffled a deck of cards such that every permutation was equally likely. I pointed out this was not possible using the standard library random functions since the seed is a long (akshually... it's 48 bits).
I trust that more than this nonsense. WTF are we doing?