Biological evolution is fundamentally a nonequilibrium process, as described by the tree of life on large time scales. In this talk, we discuss how the irreversibility of evolution is generated at the molecular level, and how it can be detected by today's genomics. A key role in this process is played by gene interactions, which build up temporal correlations between mutations. As an example, we discuss irreversibility in the evolution of influenza, or why last year's vaccine is no good for the next flu.