A meta programming post --- looking at my thought process when coding and trying to pin down what is
programming knowledge. Turns out, a significant fraction of that is just reducing new problems to
a vocabulary of known tricks. This is a personal, descriptive post, not a prescriptive post for you.