Oof those if statements in the lower snippet. So much C code happens within the condition of a conditional branch, it can be hard to grok. Especially if you get used to less “line-noisy” language like Python.
There’s a part of me which is like “please just make your code flatter”. But another part of me understands the value of making your code not too long, vertically (for readability). You do end up having to be really good at designing APIs in some languages to get readable code. I’m happy that I get to use languages where mediocre APIs are still pretty readable.
Tenacity is such an important trait to cultivate for successful engineering, and especially debugging. I find Rachels debugging stories deeply inspirational.