I write code the way some people solve puzzles — piece by piece, with a mix of curiosity and stubbornness. Here I share the tricks, failures ...