Things I learned making a game engine
joelotter.com