Back in 2016 I posted my emacs setup for finding files globally. It unifies find-file and switch-to-buffer, and also lets me find files without switching folders. I've been improving it since then and wanted to post an update.

Find files globally

The biggest change is speed. I profiled the code and found two bottlenecks in the construction of the global file list. The list is roughly 15000 elements, so I precomputed as much of that as I could, and the startup time went down from 0.8 seconds to 0.1 second. It feels instant now.

I wanted to understand the relationship between particulate matter measurements (PM2.5) and the U.S. air quality index (AQI).

Chart of PM2.5 to AQI

The formula is on wikipedia, defined as a piecewise linear function. But it's weird that the slope isn't monotonic! It starts at 4.2, then drops to 2.1, but goes up to 2.5, then drops to 0.5, then goes up to 1.0, then back down to 0.66. Weird!