One thing I really find extremely interesting is change, otherwise known as time. Code changes over time and we spend much time comparing that change. But how does that comparing work if textually there is no possibility (for all of those who have ever compared two versions of a flows.json will know)? What remains is the visual comparison and this is one of the things I've been working on in the past year. (Plug to own node: flowcompare).
I put together a quick article presenting some animations of change - admittedly it's more of a friday afternoon piece but today is close enough!
As I say in the article, for me, animating change as a film where each frame is a revision of my code, tells me a story of my code and my learning in changing that code.