When starting a project from scratch, it's important to create prototypes. For
programming, you usually create small snippets that demonstrate what you want.
Fortunately, software is quick to compile, so you're free to create
hyper-specialized programs that exist only to test out particular theories. With
hardware, the build cycle is