Today I learned that you can dynamically change the type of an object in Python.
The 2 hardest problems in programming are naming, cache invalidation, and off-by-one errors.