A year ago I tried learning ActivityPub, and more or less failed. I was confounded by a spec that was so abstract I couldn't make heads or tails of it. Turns out I was missing some key things.
I have written a guide to learning about ActivityPub that I wish existed a year ago when I first set out to learn how to write social media servers that conform to the spec: