Skip to content
Carlos' Dev Stream

Carlos' Dev Stream

@precioso.design
0Readers
5Posts
1mo agoLast active
Stacked PRs explainer
Jul 21, 2026
Stacked PRs are the new GitHub implementation of an already-existing concept: stacked changes or stacked diffs. Stacked changes are a method for split a big change into independent, incremental pieces. The typical example is a new feature that requires refactoring an existing system. We'd like the refactor to be reviewed by itself for correctness, and the new feature to build on top of if, but simplify review by not having the refactoring changes dirtying focused work on the new feature.
I think AI is swapping code debt for tooling debt
Feb 25, 2026
I talked with an engineer recently who told me he was single-handedly (or rather, Claude-handedly) paying down tech debt in his company's codebase. And, at the same time, implementing a bunch of tools in their CI to catch all the kinds of quality slop problems that vibe coding everything could bring with it. I am thinking that this is representative of switching to a new mode of thinking about tech debt. The classic tech debt is code. Code debt starts at 0, when you have 0 code. When you add mor...
AI
APFS is case-sensitive on first write and case-insensitive afterwards
Jan 29, 2026
APFS on macOS is case-insensitive by default. I guess this is done to keep traditions, since HFS+ (its predecessor) was case-insensitive by default too; and I actually think it is, in general, a good idea. Most persons, technical or not, would usually regard a document titled Financial results the same as Financial Results in the real world; so Apple translated that expectation to the computer world. The implementation is done like this: when you write a file for the first time, it will actually...
TIL: `join` over `(->)`
Jan 23, 2026
I discovered a neat pattern: using join with the function arrow ((-)) as a Monad. When you join over functions, you get: This lets you pass the same argument twice: once to determine what to do, and another to actually do it. In , we have validators with the signature type Validator = input - Validation. Most of our validation helpers are written in a point-free, un-applied style, which works great, except recently when I needed to inspect the input to decide which validator to run.
HaskellTIL
TIL: AbortSignal.timeout
Jan 23, 2026
For Promise timeouts, I was overworrying about doing setTimeouts with an AbortController, and cleaning them up afterwards to avoid memory leaks: The gods of JS smiled in my favor this week when I found out about AbortSignal.timeout (thanks to ). It simplifies timeouts to a single call:
TILJS
You've reached the end.