Skip to main content

Monkeys and Bananas

(I found this at http://paws.kettering.edu/~jhuggins/humor/banana.html, the origin of the story is unknown)

Start with a cage containing five monkeys.

Inside the cage, hang a banana on a string and place a set of stairs under it. Before long, a monkey will go to the stairs and start to climb towards the banana. As soon as he touches the stairs, spray all of the other monkeys with cold water.

After a while, another monkey makes an attempt with the same result - all the other monkeys are sprayed with cold water. Pretty soon, when another monkey tries to climb the stairs, the other monkeys will try to prevent it.

Now, put away the cold water. Remove one monkey from the cage and replace it with a new one. The new monkey sees the banana and wants to climb the stairs. To his surprise and horror, all of the other monkeys attack him.

After another attempt and attack, he knows that if he tries to climb the stairs, he will be assaulted.

Next, remove another of the original five monkeys and replace it with a new one. The newcomer goes to the stairs and is attacked. The previous newcomer takes part in the punishment with enthusiasm! Likewise, replace a third original monkey with a new one, then a fourth, then the fifth. Every time the newest monkey takes to the stairs, he is attacked.

Most of the monkeys that are beating him have no idea why they were not permitted to climb the stairs or why they are participating in the beating of the newest monkey.

After replacing all the original monkeys, none of the remaining monkeys have ever been sprayed with cold water. Nevertheless, no monkey ever again approaches the stairs to try for the banana. Why not? Because as far as they know that's the way it's always been done round here.

And that, my friends, is how company policies are made.

Comments

Popular posts from this blog

On sleep deprivation and Incan Monkey Gods

From: Dilbert comic strip for 08/03/1992 from the official Dilbert comic strips archive. I was trying to show this strip to a coworker who is dangerously toying with the harsh mistress that is Insomnia. What shocked me is how quickly I was able to look up the strip, which was published when he was just 11 years old, and two weeks before my just-out-of-college ass shipped out to US Army Basic Training.

Add custom speed settings to your ifit map workout

Ifit.com allows you to build a workout walk/race/bike route simply by clicking on a Google Maps interface. You can then use a compatible ifit-enabled workout machine to recreate the route automatically. The problem is that the user interface still isn't final, so there are features in place that aren't exactly obvious. For example, if you create a workout your machine starts at 1 MPH, because that's the default. But how to set it to start at say, 3 MPH? Easy, just switch from map view to graph view: That button switches from the Google Maps interface to a chart that allows you to visualize and control effort: You can't change the elevation, this is fixed due to the geography that you selected. But you can drag the yellow (speed line) to change the speed of your device.  What if you want to have segments at different speeds? Easy, just click and drag and it will break the line, and you can drag each segment of the line independently: ...

Software Entropy and the Strangler Fig: Surviving a 20-Year-Old Codebase

Right now, I find myself fighting a three-front war. Front one is keeping a 20-year-old behemoth of a B2B application alive. We are talking about decades of legacy ASP.NET and VB.NET where two decades of tweaks, patches, and "temporary fixes" have become permanent, load-bearing pillars of the architecture. Every time I touch it, it feels like playing Operation with oven mitts on—spending 90% of my week untangling logic just so a simple bug fix doesn’t cause a ripple effect that crashes a critical service. Front two is modernizing the architecture. I am actively trying to implement a rudimentary Strangler Fig pattern—slowly carving out legacy functionality and pushing it into a clean, testable shared library project so we can actually run proper unit tests and stop the bleeding. Front three is modernizing the team. While keeping the lights on and quietly rebuilding the engine, I am also pushing a retraining effort to get my peers up to current framework versions and embracing ...