Getting my mind repeatedly blown while reading the papers in this list. Some of the older classics are really illuminating and instructive in describing the stripped down origins of key pieces of early computer science.
Just finished the "Out of the Tar Pit" paper, describing a methodology for identifying and removing unnecessary state and then separating out the useful state, isolating it from the pure sections of the software. This is something I've been wrestling with as I work on Koha, which historically has had only a dozen or so pure functions amid its 130k sloc, making development and testing nightmarish for all the action-at-a-distance issues that arise from extensive mutability.
As a related longer-term project, I'm teaching myself Scheme by working my way through the old MIT textbook, "Structure and Interpretation of Computer Programs." I'm slowly getting over my fear of parentheses, but simultaneously acquiring a new one that I may end up creating a new language.