Have you ever experienced a software bug and thought to yourself, “I could fix that”? If you could, would you? How could that even be possible? There are two fundamental approaches to building ...