Keep raising the bar.

We have yet to see a ceiling, we just top what we top, Cause the bars don’t struggle and the struggle don’t stop
— Jay Z

It's easy as shit to become complacent, to stay within the areas of comfort, to get to a level of your game where you don't push yourself to the point where you are in the neighborhood of uncertainty. But sometimes it takes getting lost to find something awesome, because when we are in a place of the unknown our brain actually has to turn back on.

The human brain is a pattern recognizer and an amazingly brilliant one at that, think of cognition as a heuristic algorithm that does not stop working. Processing data from the senses, prioritizing our eyes over the other senses allowing us to see what we believe (thus our fascination with magic, a trick is just that a game played with human perception and the fundamental bending bending of the rules).

This is a pattern that plays out over the course of our lives, as we learn and become more comfortable with our patterns, we rely on them, we have to. Think about the pattern of driving, you get into your automobile with the understanding that everyone else is going to play by the same rules and when they don't it's disastrous.

But when it comes to our careers, or what we want in our lives it's important as any good scientist should to question ALL assumptions, it's one of the fundamental rules of science, one of the core tenants of software, one of the basic rules for debugging. 

A fun example here recently for me personally involved ripping content from my pair of google glass.

 

➜  platform-tools  ./adb devices
List of devices attached
(wtf... there should be a google glass listed here!!!)

Having moved from Lion to Mountain Lion, I assumed something was jankey with my setup, the upgrade broke my brew setup, my X-Code developer profile, and other apps that just didn't play well without having upgraded them. System Profiler noticed the device but only intermittently and would charge it.

So I hit the Google hard, searching for solutions coming across interesting stackoverflow solutions:

  • Replacements of the USB driver
  • running adb via VMWare and trying windows (what the fucking fuck??)
  • Using a usb powered hub (this seemed credible)

So, I go to a Malmö computer store and pick one up, bring it home, try a powered hub and sure enough!! 

BIG ASS BAG OF FAIL 

What the hell? Ok I'm an engineer, this is clearly something dumb, but having to install a full android development toolchain on my buddies computer seemed like a reasonable idea, ok my machine is borked, let's go do that. So I grab my buddies Swedish Macbook Pro and begin the process of installing the toolchain. 45 mins later, I'm plugging my glass into his computer and getting....

BIG ASS BAG OF FAIL

Ok, what the nuts??? 

Maybe I should try a different micro usb cable. 

BIG ASS BAG OF WIN

I'm now reminded of the trite american colloquialism of how when we assume we make an ass out of you and me. Assume less, test more, and always keep raising the bar.

This problem was enough to drive me to spend the afternoon drinking 11 dollar swedish beers and thus their bars don't struggle, but it's important to always remember that the struggle never stops ;-)