A short tour of /proc
Anya P. · Feb 19
There's a kind of premature optimization that comes from imagining a future team. "What if someone needs to swap this out?" Often, no one does.
Caches solve a problem and create three new ones: invalidation, observability, and the slow drift between what the cache thinks is true and what the source thinks is true.
I keep a small log of decisions in a text file. Not architectural — just small ones. "Picked X over Y because Z." Future me reads it more than I thought he would.
Most of the trouble I see in production comes from boundary cases someone promised would never happen. The code is fine. The plan is fine. The promise is what ages badly.
I write smaller commits than I used to. The commits are uglier in isolation and much easier to read in sequence.
The fastest debugging trick I've learned is to write out, in one sentence, what the system is supposed to be doing. Half the time I notice the bug while writing the sentence.
← back to index