It's been a while since I tried to write an end-user facing program. I'm realizing my pain point is error-handling. Not that I'm bad at it; rather, I'm *really* good at thinking about *all* the things that can go wrong. This is painful to track, painful to code, and not much fun.