Groove failure and reacquisition

Into every creator’s life, a few non-creative events must fall. Sometimes its meetings, maybe it’s a bunch of business-related emails, or a bunch of support tasks have piled up and it comes time to empty the queue. Whatever the cause, the result is often the same: my day is robbed of chunks of time that are sufficient for tackling the code I wanted to work on. Total Groove Failure.

Going with the assumption that eliminating Total Groove Failure and its causes is impractical, I’m left with the question of how to recover from these sorts of days. I asked about this the other day. I got two sorts of responses.

On the one hand, you can withdraw. Get away from the computer, maybe get some sleep or enjoy an adult beverage. One the other hand, you can take action. Get outside, go for a walk or exercise. Maybe work on a side project. Start some code and leave it for the next morning to finish. These are some of my Groove Reacquisition Tools.

Discovering a new Groove Reacquisition Tool is a wonderful thing. None of them are silver bullets, but each one is little slice of confidence that, even if I get derailed, I can get back on the productivity train.

Whether through action or inaction, it’s important to get away from the computer and/or that which sliced your day into fragments. From there, I’ve often found it helpful to consider what it is that’s stealing my focus and react appropriately. Some days I know that diving into some open source work will do the trick. Others, I need a nap, to exercise, or to wrap myself in a book.

The crucial bit is to realize I’ve lost my groove. Not every interruption leads to Total Groove Failure. There are days where I respond to a few emails in the morning and quickly get into my coding happy place. But if I find myself frustrated at every turn, I resort to one of my Groove Reacquisition Tools.

Breaking with tradition

For the like-minded aficionados of the non-traditional: A Redis implementation of Twitter, designed for learning about non-relational datastores and Clojure’s creator Rich Hickey on state (bonus track: Jonas Boner on the same). Derek Sivers on the fatal determinism of declaring a goal or as I like to say, “the reason you find so many weblogs with one post promising to post a lot”. Michael Heilemann on the lack of good fiction in contemporary games.

Shippin' ain't easy

Shippin’ web apps ain’t easy. The Contrast guys lay it out. Garrett Dimon shows what goes into an iteration on Sifter. My experience with Dash matches what these folks are saying: building web apps is exciting, but a lot of the work is below the waterline, per se. A lot of work goes into support and infrastructure, but doesn’t manifest itself as new functionality.

Neat because you can: living frugally, JavaScript pixel art and hand-built microprocessors. Also, C as a functional language is nicer to think about than I’d first thought. If you ever get bored, check out the C output of the Glorious Glasgow Haskell Compiler it doesn’t even look like C. This makes my brain hurt even more.

Finally, for future reference: my mantra for the week was “cut the Gordian knot.”

Reverse shoulder surfing

Rands In Repose: Saving Seconds:

This is the presentation I want to see at the next conference: in a room full of people, anyone is welcome to walk up to the mic and plug their laptop in to the projector. They’ll be asked to complete three simple tasks:

# Send a mail to a friend
# Find something on the Internet
# Save a bookmark or an image.

I would be fixated.

I’ve been independently wanting to do this for a while now. Clearly, Rands was telepathically borrowing ideas from my brain when I met him at SXSW this year :). I’ve been wanting to do something like this at a BarCamp for a while now. Personally, one of my favorite past-times at conferences is to shoulder surf other people. The idea above takes shoulder surfing, turns it around and formalizes it. I’d have a blast watching it, especially if you get a good mix of Windows/Linux/OS X people and GUI/terminal folks.