Build an ecosystem around an ethos – The bottom line is no longer the bottom line

Sliced up hundred dollar bill

photo by

Once upon a time, in an economy far far away, the measure of a company was its balance sheet alone.

While a company must be profitable in order to stay in business, focus today is shifting to a more broad collection of measures, many of which have nothing to do with the bottom line. Organizations focused on achieving long term success are adept at firmly establishing their core values, attracting and retaining talented individuals and teams who embody these values, and communicating with customers authentically and transparently.

“As individuals and companies, everything that we say and do is a symbol of who we are. And it is only when we communicate our beliefs authentically that we can attract others to our cause, and form the bonds that will empower us to achieve truly great things.”

~Simon Sinek
This principal applies to organizations of all shapes and sizes. When choosing local produce the other day, I was presented with a choice between tomatoes grown by a local organic farmer and another set of similar tomatoes with simply a PLU 4064 and a somewhat smaller price tag. While I’m a frugal person at heart, seeing the name of the farmer and her nearby community made the choice clear to me, and I went with the local option because of the value provided to both myself and my local community. Ten or twenty years ago, this choice might have been unheard of. Individuals have started caring about “where” their food comes from, and this relates directly to the “why” of the person or organization who produced the food.

In the more ephemeral software realm, it can be hard for a customer to differentiate between a software platform from Initech Corporation or a similar product from Hooli. There was a time when companies could remain competitive on simply the number of features offered and the price, but the relevance of those two factors alone is waning, especially as the sales price of millions of pieces of software and apps approaches zero.

In software, a bullet-proof strategy is to have an ecosystem built around an ethos. While there is more to it than the field of dreams mantra “If you build it, they will come,” with other things equal, a clearly communicated “why” will separate the passionate innovators from the rest.

Companies and organizations are a powerful force in the world, and are able to organize and operate based on the ecosystem around them. There are limitless opportunities out there for us humans, as stewards of this planet, to make it a better place. Sir Richard Branson sums this up well.

“…imagine all the good that can be done when all companies place emphasis on purpose. Many customers want to buy from businesses that share similar values to their own, so more and more consumers are aligning themselves to impactful companies that sell social or environmentally-conscious products and services.”

~Sir Richard Branson

I encourage each of you to get out there and build successful organizations or work to effect positive change in the organizations you are a part of.


Ten years ago, today, I lost my mentor, but his teachings were timeless

Reach for the Summit, Mt Rainier, 2011
“Reach for the Summit, Mt. Rainier, 2011”

Twenty-four years might be considered a long time for a mentor-ship, but this one was unique, and started way back in 1981.

What I didn’t know at the time was that the principles and rules I had gleaned over those 24 years would continue to mature and gain new relevance during the years to follow.

Learning / Technology

I can trace my career path back to a single day, July 12, 1986 when my mentor presented me with a hunk of metal, silicone, and glass that would keep me busy for the next 30 years and counting. That Commodore 64 is still in my closet, and the last time I fired it up, it booted up just like it did all those years ago. He somehow knew that putting me in front of this strange new machine would alter the arc of my life and career in so many interesting ways. I’ve always had a stubbornly inquisitive mind, and this was the perfect way to channel it.


He taught me to be loyal, fiercely loyal, to family – which can mean your blood relatives or close friends who you consider family. Their safety is your responsibility, and it’s your job to do whatever it takes to protect them from any harm that might come their way. On multiple occasions, he would tell me, “Take care of your brother. Long after I’m gone, you two will have each other and I expect you to look out for each other.” As an infantryman in Vietnam for two tours and as a Policeman in my home town for 33 years, he was a walking example of making sacrifices of self to protect others.

Do the right thing, even when no one is watching

So many times I’ve kept myself out of trouble by remembering his words to behave “as if people are always watching what you do, and they have a camera to take pictures as evidence.” Simple as this is, this perspective has kept me on the right track many times.

Reach for the Summit, but…

When I was very young, he gave me a pewter Ram with a motto that he subtly encouraged me to follow. The meaning of “Reach for the Summit,” has changed for me over the years as I have learned it applies not only to “Charge the hill,” but also to “Charge the right hill,” and “Don’t charge the hill if it is a volcano.” Several years ago I was leading a hike on Mt. St. Helens in Washington with a couple of colleagues from Microsoft. As we neared the top, I took a hard look at the situation and realized that “Reach for the Summit,” also included re-assessing the situation during the ascent and altering the plan if necessary – even if this includes not actually reaching the summit. I had under-budgeted on water for the team, and we got a late start on the mountain due to unforeseen circumstances. When I saw that reaching the summit was indeed possible, but only at the expense of the safety of my team, I made the call to turn back. In the end, we all made it safely home, and that’s more important than reaching any summit.


Others may be more skilled, but don’t let them outwork you. Once you’ve set your mind to accomplishing a goal, you keep chipping away at it. Whether you’re slow or fast, as long as you’re moving toward your goal, you’re on the right track and every day you get closer to achieving what you set out to do. Getting discouraged is fine, but push past it. Oddly, he passes this along to me as a lesson he learned from the opposing force in the Vietnam War. While his side was under orders to fight the Viet-Cong, he respected the way they leveraged their persistence as a strength and were able to evade a more powerful army. “Know your enemy,” as Sun Tzu might say. There is much you can learn from them.


They say that time heals, but this is patently false. If someone truly made a mark on your life, there’s an indelible scar left when they’re gone and you’re never quite the same again. What time does do, is to help those scars feel less painful, and to make the voids feel less empty. Scars remind us of where we came from, and that makes them pretty important. Seldom a day has gone by in the past ten years when I haven’t thought of my Dad and how he somehow prepared me for challenges I would face, even years after he was gone.

In 2006, he checked 10-42* far too soon, but left me with a lifetime of advice that I’m constantly reminded of.

* (10-42 is a law enforcement term for end of watch)

Becoming a Journeyman vs hiring a Craftsman

Brick mailbox project


I recently decided to set out on the somewhat mundane task of replacing my (nearly falling over) mailbox with a nicer brick one. It’s certainly not the epitome of an exciting project, but I came upon an interesting bit of insight along the way.

When I set out have something built my first instinct is to built it myself. I’ve come to learn that is a double-edged sword. Sure, I get to learn a new skill or technique and have the unique sense of pride found in having sweat equity in the end result. I love both of those aspects of DIY, which is why I tend to lean toward it. The flip side is that unless I’m going to build one of these things more than once, ever project I complete is the work of an amateur, regardless of how diligent I am in doing the best job possible.

Over the years, I’ve had to force myself to always evaluate the equation of build vs buy. This applies to projects around the house, and software at the office. There are many factors, but the main ones are these…

  • Cost
  • Time
  • Quality
  • Control


I’d say 95% of the time, my initial back-of-the-napkin estimates indicate that it is cheaper to build than buy. The full implication of DIY on TCO (Total Cost of Ownership) is something I sometimes willfully choose to ignore. Questions I have started asking myself to counter this are

  • Do I already have the tools I need to accomplish the task? If not, and can I use them to accomplish other tasks?
    • How much will the necessary tools cost?
    • Will these tools be useful for other tasks?
    • How much space will these tools take up in my garage
    • Can I just rent the necessary tools instead of buying them?
    • Would a person I hire be able to complete the task for cheaper than I can?
  • Do I already possess the knowledge I need to accomplish the task?
    • How long will it take to obtain this knowledge?
    • Can I apply this knowledge in other parts of my life?


  • Do I have time to complete the task myself? This includes any ramp up or tool and material procurement.
  • Can I complete the task myself faster than hiring someone?
  • How long will it take to find and hire someone to complete the task?
  • If I hire someone, how long will it take them to finish the project?
  • How quickly do I need the task completed? This has to balance my time vs finding and hiring someone else.


  • Will I be able to hire someone that will deliver a result of sufficient quality?
  • If I do it myself, will quality suffer?
  • Will my perfectionist tendencies prevent me from ever completing the project?


  • Am I willing to give up control of the project to someone else
  • How important is having complete control – taking other factors into account such as cost, time & quality?
  • Will I be able to hire someone to complete the task with autonomy?

Taking the time to do a quick evaluation of these four factors have helped choose a more effective route and achieve better results rather than just always falling back to DIY.

As much fun as it is to DIY everything that comes along, it’s not the right route for every project.

As far at the mailbox goes, I decided to hire someone instead of slinging hundreds of pounds of bricks and mortar myself. When he came out to do the estimate I could tell this guy was a craftsman, not a Jack-of-all-trades and I’m pleased with the result.

“I don’t know” is almost always the wrong answer.

Whether you’re asked about the circumference of the Earth, the number of cups in a gallon, or the land speed velocity of an unladen Swallow – answering, “I don’t know,” is wrong 100% of the time.

While I would never advocate making up an answer in the hopes of your inquisitor not knowing the answer themselves, It’s never okay to say only “I don’t know,” and leave it at that. It is important to admit your knowledge gaps, but to not seek to fill them in is selling yourself short.

Monty Python – crossing the Bridge of Death

When you reach a mythical ‘Bridge of Death,’ which you must cross, the Keeper of the Bridge requires you to answer three questions. Telling this guy you don’t know the answer, is a really bad idea. After all he will cast you into the Gorge of Eternal Peril if you get it wrong or don’t know the answer.

Take your time, ask clarifying questions if need be, but if you really have no idea, the correct answer is “I’ll find out.”

Nearly every interview I’ve been on has included a question or two that I flat-out didn’t know the answer to. Each time, I made sure to remember or write down the question that had stumped me and to research the answer afterwards. With a little time and concerted effort, you can find the answer, and it’s a great opportunity to follow-up.

Ultimately, the answer to anything you don’t presently know is, “I don’t know … yet.”

Apparently I’ll read whatever is on the cue card.

This afternoon, I went out for my usual afternoon coffee at Rush Espresso in Latta Arcade. while I was walking, I was responding to a question about the specs for some servers in a test lab.

Coffee Steam CC Flickr waferboard coffee break

Coffee Break by flickr/waferboard

I was also formulating my order at the coffee shop and barely caught the error below just before I pressed send. This is also why I initially leave the TO: line blank and re-read almost every email I send before I press the send button.

“These machines are self-contained and we will only need access on ports 80 and 443, as well as a medium decaf latte, RDP access”

I should know better than to order a server with Java on it ๐Ÿ™‚

“When I saw you strap on a helmet, I knew you meant business.”

As a student of both my Dad, and Sun Tzu, the following advice has proven useful to me over the years.


– Sun Tsu, The Art of War, 6th century BCE

The English translation I prefer is:

“The best victory is when the opponent surrenders of its own accord before there are any actual hostilities… It is best to win without fighting.”

Being prepared for what is ahead, and framing your perceived position to be one of strength, can often yield a successful outcome without the need for a more involved, high-risk, confrontation.

One of the stories my Dad told me gives a great example of this…

Dad was behind a car at a traffic light and noticed the driver seemed very nervous and kept glancing in the rear view mirror. It was a long light, so he had time to run the plate to check for any abnormalities.

Sure enough, the driver had reason to be nervous, as he had just stolen a shiny new sports-car, and the marked police car behind him seemed to have figured this out.

For whatever reason, Dad ended up in a lot of car chases in the 33 years as a cop and started carrying a helmet to keep from getting banged up as much.

When the car came back stolen, he reached over, grabbed his helmet, put it on, and tightened the chin strap.

Expecting the guy was going to run as soon as the light turned green, he caught the driver looking back at his now-crash-helmeted self and gave a huge grin indicating he was ready for an epic car chase.

As soon as the light turned green, the driver went through the light and pulled over before Dad even turned on the lights and siren.

When Dad got to the window and asked him why he pulled over, the driver says…

“Sir, this car isn’t mine, and honestly I was gonna make a run for it… But when I saw you strap on a helmet, I knew you meant business.”

Posture and preparation can often provide a shortcut to the desired outcome without the struggle and risk of conflict.

Crash helmet

Dad’s Crash helmet (similar)

Hiking Buffalo Mountain in Floyd County, Virginia

Buffalo Mountain is a great short hike in Southern Virginia. I find it hard to believe that I had never been there until yesterday.

Buffalo Mountain
Buffalo Mountain from a distance – Photo by Bob Smith

When I was a kid, my family spent a bit of time in Laurel Fork at a cabin my Grandfather built himself in the 1970’s. On the drive there, and from the top of the hill behind the cabin, you can see a tall rock face on the horizon. Just five miles away, and something I had seen hundreds of times, I didn’t know the name of this mountain until one of the locals asked if I had hiked it.

The tallest thing in several surrounding counties and I haven’t stood on top of it? This must be remedied in short order.

On a previous visit to Laurel Fork with my wife, we tried to locate a trailhead just by casually driving in the direction of the mountain. We got within a couple of miles, but there wasn’t a proper trailhead. We could get there just by following a topographical map, but crossing private property in Confederate Battle Flag country is not something I would recommend.

After more research than should have been necessary, I found the correct name (by mistake I was looking for “Bull Mountain”) and this post with plenty of great info.

Getting there

If using GPS, you can plug in this address to get you most of the way there, then enter these coordinates to get you to the trailhead.

Buffalo Mountain Trailhead Parking
Trailhead parking lot on this foggy day

There were a couple of routes to the top that I explored. The route I took up is the more travelled and better maintained route, so I’d recommend it for at least the route up. If you’re feeling a bit more adventurous on the way back down, just follow the ridge-line, don’t fall off a cliff, and you’ll find the parking lot again without much trouble. The route up is marked with red blazes and the route back is somewhat well marked with pink surveyor flags.

Note for hikers with dogs

If you have a fawn-colored pup that even remotely could be mistaken for a deer, make sure you bring an orange blaze vest of some sort for them to wear during hunting season. The season had just opened a week prior and I forgot to bring anything, so Lina got to wear this stylish grocery bag.

IMG 5634

Lina with stylish MacGuyver’d anti-hunting target device

Unfortunately it was very foggy on this day and nothing to see further than 50 feet or so. Fortunately this is the perfect excuse to go back one day soon.

Check out my track here on GaiaGPS.

Additional photos

Trail market

Trail marker

Foggy Trail
Foggy Trail

IMG 5641
Foggy view from the summit

IMG 5646
Summit Marker

Lina and I walking toward the cliff side
Lina and I walking toward the cliff side

Stay on the trail - probably good advice
Stay on the trail – probably good advice

Hiking back down on along the ridgeline trial

Hiking back down on along the ridge-line trail is a bit overgrown – and perhaps not actually a trail

Old power-line pole
Old power-line pole

IMG 5653
Downed Tree

Park Info
Park Info

Hiking App recommendations

For travel in the US, I recommend either TopoMaps or GaiaGPS if you have an iPhone. Outside the US, GaiaGPS is the best option I’ve found as it was perfect for my ten day tour of Iceland’s Ring Road.

Automating the whole process instead of fixing the printer

This morning, my wife asked me to fix the printer so that she could print some forms. Sure, I could have spent a few minutes fighting with printer drivers and what-not, but I hate printing and printers – They seriously stab at my soul.

So my solution was to automate her whole process instead.

If you remember the MadLib notepads you had as a kid, then this will be very familiar to you.

Mad libs

MadLibs – shared under Fair Use

The premise is that you have a story with words cut out by type.

For example, “_______ (person in the room) is an excellent _______ (job / profession) who once _______ (verb) a/an _____ (noun) with his/her bare hands”

There would be a separate page with the following form, and while filling it out you can’t see how the words will fit into the final narrative shown above.

Person in the room   _________
Job / Profession _________
Verb _________
Noun _________

Once completed, the form might look like this…

Person in the room   George
Job / Profession fireman
Verb impaled
Noun shark

Then you transfer the words into the narrative from earlier and you get the unusual story of George the fireman who impales sharks.

George is an excellent fireman who once impaled a shark with his bare hands”

Since I was unsure of her internet access at the location of the event, I needed to build something that was completely self-contained and did not need internet access while it was running. She has a Mac, so slapping together a WPF app wasn’t a straightforward option without installing a VM.

I’ve been learning Node.js in my spare time (since @chimon1984 thinks it might catch on one day), so this was a perfect real-world scenario for me. I had about an hour to time-box the project and set off to code it up in my pajamas on a Saturday morning.

The technologies used are all free and very simple to install and get running with. I’m assuming Linux or OS X, but it could be made to run on Windows without many additional steps.

If you want to check out the code and try it yourself, hop on over to the GitHub where I’ve posted the code. Feel free to use it any way you like, as it has a standard MIT license and submit Pull Requests for improvements and updates. There’s a todo.txt section with things I might add to it as I have free time (whenever that mythical time might be).

Iceland Adventure – Day 0 – Loading Up

Of all the things in the world that I procrastinate about – and there are a few – packing for a trip is the one thing I try to put off the most. 

My wife finished packing yesterday and clearly has better Tetris skills than I do.  She did a week in Tokyo last year with just a carry-on.

Granted, I’m not traveling as light as I had planned from a photography standpoint.  I had this grand idea to switch to a mirror-less primary like my wife shoots with, but I forgot to actually buy one and make that switch.  

So out rolls the Pelican.  This thing is bomb-proof, but sitting empty it’s already halfway to the 10kg weight limit for carry-on bags.  I’ve had to check it once, just once, on an overbooked  flight back from shooting a wedding in San Francisco and was on pins and needles the entire time.  
I’m trying to cut everything that’s not necessary but I can’t bring myself to leave the 500mm telephoto at home and miss out on obligatory Puffin close-ups.  At 2000 grams, this lens is case and point why I’m over the limit.

For my checked bag (autocorrect thinks “cracked” bag and may be correct) I can have up to 23kg in it, but nothing breakable.  

I find myself weighing things on a kitchen scale, 50 grams here 75 grams there, and so forth.  Did you know a AA battery weights 25g?  That really adds up and not in my favor.  After taking the batteries out of everything and moving it to my checked bag, I have ended up with a bunch of batteries zip tied together in what I can only imagine looks like a redneck dirty bomb on an X-ray machine.
The trick is to see when they are weighing things and make some modifications once I’m in the tunnel to board.  My backpack and Pelican collectively weigh 20kg, the allowed limit for steerage like myself flying coach.  However the split is uneven due to the weight of the hard case.  By switching my three lenses to my backpack and being exceedingly careful with it for weigh-in, I can switch them back to the safety of the Pelican once I’ve made my fighting weight.

So I’m off with 41kg of gear and clothes for 10 days near the arctic circle.

I seriously need to make the switch to mirror-less.

Gear list

  • Canon 5Dii
  • Canon 550D
  • Canon 24-105mm F4
  • Tokina 11-17mm F2.8
  • Sigma 150-500mm F5.6
  • Siri carbon fiber tripod
  • LED lamp (for fill and light painting)
  • Pelican 5150 with mesh upper dividers.
  • Cokin graduated ND filter kit
  • 3-stop 77mm round ND filter

Cherry picking commits with GIT

I have a project in which I’m maintaining both a beta and a release branch. Bugfixes need to be applied to both branches, except in cases where the bug has already been fixed in the release branch, in which case it would only need to be addressed in the beta branch.

Yesterday I ran into a case where I wanted to just merge a single commit from “beta” to “release” in order to apply a fix from “beta” directly to “release.”

It Kind of blew my mind how easy this was…

Mind Blown!


1. Find the commit you want to take from the source branch beta. In this case its hash was af19aadbcfa61d2d2816307044318d637d35cee5.

git log

2. Switch to the branch where you want to apply the commit.

git checkout release

3. Apply the commit from dev as a new commit of equivalent changes to the beta branch.

git cherry-pick af19aadbcfa61d2d2816307044318d637d35cee5

4. Resolve any merge conflicts(this may happen automatically if no conflicts)

git mergetool

5. Commit (this may happen automatically, I forget)

git commit

6. Push your changes to your GIT remote.

git push

Commit in beta [insert image a]

Commit in release [insert image b]

Charts and explanation stuffs

You can also string these together to apply more than one commit at a time, but that’s content for another post.

In addition to not imploding our universe into a parallel one with talking sheep, this just worked as expected. Slightly shocking…

Happy GITing.