Building Prototypes Calms Me

Originally published on 6/30/2015

The past few weeks have been filled with the kind of chaos that only really shows up every 4-5 years or so. Re-financing our mortgage, filing taxes, switching contract gigs, problems with those gigs, lower back problems that kept me from standing upright, and the list goes on.

With that much going on, my tendency is to keep mulling the problems in my mind, over and over to the point of unhealthy obsession. So, strategies that help me quiet that chatter are worth pursuing.

There are tons of studies that show exercise and meditation help in many ways with these issues. I'm getting 45+ minutes of walking most days, which I can tell is helping me stay sane. I'm working on the meditation.

It's one of those things that feels like there's not enough time for, but I know from experience that doing it ALWAYS provides more time back via clearer thinking than it takes. The more I resist, the bigger the indicator I need it.

But, there are a few other activities that I find help me clear my head as well. The first is playing music. When I've got a mandolin/tenor guitar/mandocello in my hands, and am playing, I can't really think about anything else. I've been insisting on at least 20 minutes of music a day.

Then there's building software prototypes.

There's something about building something JUST for the practice and learning experience that provides an environment for relaxed focus. There's no worry about the requirements or how it will work/perform in real life.

The stakes are REALLY low. If it doesn't work, you just scrap it and move on to something else. Even if it DOES work, you just keep it for reference for when you build the "real" version.

While I also worked on my presentation for my session at Twin Cities Code Camp across the weekend, I also built working prototypes that:

  • Generated PDF reports using Razor templates and an embeded WebKit dll.
  • Printed those PDFs directly to my printers using Google Cloud Print.
  • Ran .NET code on the new Mac runtime for the upcoming .NET release.
  • Got Dave Winer's new blogging/content server running via Node on Heroku and hooked it to his Javascript client to power this site.
  • Put an OData API in front of MongoDB data.

But, best of all, for large chunks of the weekend, I managed to forget about the crap that's bothering me.