I feel like half of programming is remembering how weird stuff works and the other half is setting things up so that you do not have to remember the weird stuff