Posting this under the heading it deserves: Revisiting: Patterns that reliably precede a problem, documented Everything below is what sits behind that.
Patterns, from the point of view of someone who has read the documentation and is still stuck.
Saying which parts I have understood so that nobody wastes time re-explaining them, and where exactly the understanding stops.