Archive

Posts Tagged ‘linkedin’

Why So Much Overlap?

May 18, 2010 1 comment

If, as some spiritualists say, we all create our own unique personal reality, then why is there so much overlapping commonality in what we see, smell, taste, hear and physically feel? Oh sure, there are different levels of pain, different shades of red, etc, but when 1 million people have their thumbs chopped off with a machete, I’ll assert that every single one of them will feel some level of pain and not ecstasy.

If there was no overlap in perception, we’d have nothing in common, right? We’d all be isolated and life wouldn’t be worth living, or would it? Am I taking this topic too literally? If you know the answer to my conundrum, please help me out here. Thanks.

Categories: spirituality Tags: , ,

Another Humbler

May 17, 2010 2 comments

It’s often frustrating but always well worth the pain to get humbled from time to time. If it happens often enough, it’ll deflate your head somewhat and keep you on the ground with the rest of your plebe peers. Too much humbling and you lose your self-esteem, too little humbling and you morph into an insufferable, self-important narcissist – like me. One of the reasons why I love zappos.com is that one of their core company values is “Be Humble”.

The other day, I was slinging some code and I was hunting for a bug. In order to slow things down and help expose the critter, I inserted the following code into my program:

//sleep for a second to allow already waiting subscribers a chance to discover us
boost::this_thread::sleep(boost::posix_time::milliseconds(2000));
std::cerr << “\nSleeping For A Bit….. Zzzz\n\n”;

I then ran the sucker and watched the console intently. Low and behold, the program did not seem to pause for the 2 seconds that I commanded. WTF? After the “Sleeping For A Bit” message was printed to the console, the program just zoomed along. WTF? Over the next 10 minutes, I reran the code several times and stared at the source. WTF? Then, by the grace of the universe, it hit me out of the blue:

//sleep for a second to allow already waiting subscribers a chance to discover us
std::cerr << “\nSleeping For A Bit….. Zzzz\n\n”;
boost::this_thread::sleep(boost::posix_time::milliseconds(2000));

Duh! This never happens to you, right?

Now, if I can only practice what I preach; walk the talk.

Categories: C++ Tags: , , ,

Plan, Plan, Plan…. Blah, Blah, Blah.

Preface

People followed Martin Luther King of their own free will because he had a dream, not a plan. – Simon Sinek

On the other hand, know-it-all business school trained weenies will profess (in a patriachical and condescending tone):

Failing to plan is planning to fail – Unknown

Irrelevant Intro

When I started this relatively loooong blarticle, I had no freakin’ idea where it would go but I followed where it led me. Led by the unknown into the unknown – it was the keystone cops leading the three (nyuk nyuk nyuk)  stooges (whoo, whoo, whoo, boink, plunk, pssst!).

As usual, I didn’t have a meticulously well formed plan for this time-waster ( <- for you, heh, heh) in my fallible cranium and I made many mid-course corrections as I crab-walked like a drunken sailor toward the finish line. Hell, I didn’t even know where the freakin’ finish line was. I stopped iteratively writing/drawing when I subjectively concluded that….. tada, “I’ve arrived!”.  Such is the nature of exploration, discovery, and exposition, no? If you disagree, why?

Pristine Profile – Full Steam Ahead!

The figure below shows the shape of a pristine, planned, cost vs time profile at “project start” for a long term, resource-intensive, project to do something “big and grand for the world”. Some one or some group has consulted their crystal ball and concocted a cost vs schedule curve based on vague, subjective criteria, and bolstered by a set of ridiculously optimistic assumptions and a bogus risk register “required for signoff“. To coverup the impending calamity, the schedule has been enunciated to the troops as “aggressive“. BTW, have you ever heard of a non-aggressively scheduled big project?

It’s interesting to note that the dudes/dudettes who “craft” cost profiles for big quagmire projects are never the ones who’ll roll up their sleeves, get dirty, and actually do the downstream work. Even if the esteemed planners are smart enough to actually humbly ask for estimates from those who will do the work, they automatically chop them down to size based on whim, fancy, and political correctness. <- LOL!

Typical Profile – Bummer

The figure below shows (in hindsight) the actual vs planned cost curve for a hypothetical “bummer” project. The project started out overestimated (yes, I actually said overestimated), and then, as the cost encroached into uncomfortable territory, the plan became, uh, optimistic. Since it was underestimated for “political reasons” (what other reason is there?), but no one had a clue as to whether the plan was sane, no acknowledgement of the mistake was made during the entire execution and no replanning was done.  The loss accumulated and accumulated until end game – whatever that means.

Crisis Profile – We’re Vucked!

The figure below shows (in hindsight) the actual vs planned cost curve for a hypothetical “vucked” project. Cost-wise, the project started out OK, but because it was discovered that technical progress wasn’t really, uh,  technical progress, bodies were thrown onto the bonfire.  Again, the financial loss accumulated and accumulated until end game – whatever that means.

Replan Profile – Fantasy Revisited

The figure below shows (in hindsight) the actual vs planned cost curve for a hypothetical “fantasy revisited” project. Cost-wise, the project started out OK (snore, snore, Zzzzz), but because it was discovered that technical progress wasn’t really, uh,  technical progress, bodies were thrown on the bonfire.  But his time, someone with a conscience actually fessed up (yeah, some people are like that, believe it or not) and the project was replanned in real-time, during execution. Alas, this is not Hollywood and the financial loss accumulated and accumulated until end game – whatever that means.

Iterative, Incremental Profile – No Freakin’ Way

Alright, alright. As everyone knows, and this especially includes you, it’s easy to rag about everyone and everything – “everything sux and everyone’s an a-hole; blah, blah, blah…. aargh!”. What about an alternative, Mr. Smarty Pants? Even though I have no idea if it’ll work, try this one on for size (and it’s definitely not original).

The figure below shows (in hindsight) the actual vs planned cost curve for a hypothetical “no freakin’ way” project. But wait a minute, you cry. There’s only one curve! Shouldn’t there be two curves you freakin’ bozeltine? There’s only one because the actual IS the planned. This can be the case because if the planning increments are small enough, they can almost equate to the actual expenditures. At each release and re-evaluation point, the real thing, which is the product or service that is being provided (product and service are unknown concepts to bureaucrats and executive fatheads), is both objectively and subjectively evaluated by the people who will be using the damn thing in the future. If they say “This thing sux!”, its fini, kaput, end game before scheduled end game. If they say “Good job so far! I can envision this thing helping me do my job better with a few tweaks and these added features”, then it’s onward. The chances are high that with this type of rapid and dynamic learning  SCRBF system in place, projects that should be killed will be killed, and projects that should continue will continue. Agree, or disagree? What say you?

This hypothetical project is called “No Freakin’ Way” because there is “no freakin’ way” that the system of co-dependent failure designed and kept in place by hierarchs in both contractor and contractee institutions will ever embrace it. What do you think?

Viable, Vulnerable, Doomed II

May 15, 2010 4 comments

As the title indicates, this blow-sst is an extension of yesterday’s inane blabberfest. While yesterday’s lesson (<— lol!) dealt with the static structure of Viable, Vulnerable, and Doomed (VVD) orgs, today’s BS-fest talks about the dynamic behavior of VVD social groups. Behold that if you’re conscious and you concentrate on observing the world around you, the structure plus behavior of an org will clearly and unambiguously reveal over time what it does. Forget what its so-called leaders say it does, observe for yourself how the stratified monolith is structured, how it behaves, and what it actually produces. If you’re diligent and astute, you’ll discover the principle of POSIWID: the Purpose Of a System Is What It Does (not what it’s leadership says it does).

The UML diagram below shows a state machine model of: the mutually exclusive states of a VVV system, the transitions between the states, and the events that trigger the transitions. But wait…… VVV? What happened to VVD? Well, in a dumbass attempt to inject levity and fruitlessly retain your interest, I changed the name of the “Doomed” state to “”Vucked” so that all states start with the letter “V”. Stupid, no?

Virtually all startup companies initialize into the viable state. After all, if they didn’t have a product or service that a market didn’t want to consume, they wouldn’t be born as a viable entity, right? Over time, if they neglect their explorers and single mindedly, greedily, milk their product/service to death, eventually they’d become vulnerable to competitors. If the leadership becomes drunk with success and their heads expand too far, they start resenting and rejecting their explorers – they become vucked!

Unless, as the figure below shows, an epiphany in the head shed occurs (and the chances of that occurring in fat headed executives rolling in dough are incredibly slim) it’s death to the org and all its membership – including the innocents who had no hand in the implosion. This ain’t a hollywood story so there’s no happy ending.

Viable, Vulnerable, Doomed

May 14, 2010 1 comment

Unless an org is subsidized without regard to its performance (e.g. a government agency, a pure corpocracy overhead unit like HR), it must both explore and exploit to retain its existence. Leaders explore the unknown and managers exploit the known, so competence in both these areas is required for sustained viability.

Exploitation is characterized by linear thinking (projecting future trajectory solely based on past trajectory) and exploration is characterized by loop thinking. Since these two types of thinking are radically different and prestigious schools teach linear thinking exclusively, all unenlightened orgs have a dearth of loop thinkers. Sadly, the number of linear thinkers (knowers) increases and the number of loop thinkers (unknowers) decreases as the management chain is traversed upward. This is the case because linear thinkers and loop thinkers aren’t fond of one another and the linear thinkers usually run the show.

The figure below hypothesizes three types of org systems: vulnerable, doomed, and viable. The vulnerable org has a loop thinking exploration group but most new product/service ideas are “rejected” by the linear thinkers in charge because of the lack of ironclad business cases. Those new product/service ideas that do run the gauntlet and are successful in the marketplace inch the org forward and keep it from imploding. The doomed org has an exploration group, but it’s just for show. These orgs parade around their credentialed rocket scientists for the world to see and hear but nothing of exploitable substance ever comes out of the money sucking rathole. The viable org not only has a productive explorer group, but the top leadership group is comprised of loop thinkers too – D’oh! These extraordinary orgs (e.g. Apple, Netflix, Zappos, SAS) are perpetually ahead of their linear thinking peers and they continually (and unsurprisingly) kick ass in the marketplace.

What type of org are you a member of?

Preserving The Problem

Because I’m a shirker, I love Clay Shirky. Not only does he have a kool name, the guy is an innovative thinker:

“Institutions will try to preserve the problem to which they are the solution.” — Clay Shirky

Like many rich and insightful quotes that I stumble upon, I didn’t quite get this one at first. But after thinking about it, I conjured this one up:

While espousing that they want unity of purpose, collaboration, esprit de corps, teamwork, and yada-yada-yada, the juntas in head sheds everywhere unwittingly (wittingly?) preserve the very same problem they supposedly want solved. In this example, the problem is poor corpo performance caused by fragmentation, isolation, stratification, disengagement, and mis-communication. CCRATS not only preserve the performance problem, I’ll go one better than the Clayster. I’ll assert that CGHs amplify the stank by nurturing and perpetuating their hand made caste system of divisive titles, arbitrary reward systems, and socially disconnected working units/departments/groups. It’s silo city – by design.

So why do head sheds everywhere perpetuate this Alice In Wonderland behavior in spite of the ominously growing evidence that it doesn’t work in an increasingly flat and globally connected world? Because changing the entrenched system they collectively built to take care of themselves would flatten the hierarchy and cause them to come tumbling down from the heavens. Do you think many of the “honorable and infallible” talking heads of our institutions want, or have the will, to give up their elevated personal standing for the greater good of  the whole? I suspect not many, but those who can and do will prosper in this age of rapid change.

Rules, Exceptions, Guidelines

Unlike natural laws (on the macroscopic level) which unremorsefully allow no exceptions, I think all human concocted rules should be flexible to exceptions, no? If you believe that, then maybe the word “rule” should be replaced with “guideline”. Doing this can be interpreted as splitting hairs, but I think it may positively affect those who are required to operate by the “rules”. It shows respect and implies that some freedom is allowed to continuously improve things. Since the yearning for freedom is built into the fiber of every human being, those in positions of authority who conjure up the “rules” should take heed.

Note: The model above is a UML “class diagram”, which is used to depict the static structure of a system. Other UML diagrams can be used to model the behaviors of a system. The diagram can be interpreted as follows:

  • A bureaucracy has NUM_BMS BMs and NUM_DICS DICs and a Rule Book.
  • The BMs make the rule book, which has NUM_RULES (usually a boatload) rules.
  • The DICs are obliged to follow the rules, written or unwritten (but understood) – or else.

Monolithic Redesign

On my latest assignment, I have to reverse engineer and understand a large monolithic block of computationally intense, single-threaded product code that’s been feature-enhanced and bug-fixed many times, by many people, over many years (sound familiar?). In addition to the piled on new features, a boatload of nested if-else structures has been injected into the multi-K SLOC code base over the years to handle special and weird cases observed and reported in from the field.

As you can guess, it’s no one’s fault that the code is a tangled mess. It’s because the second law of thermodynamics has been in action doing its dirty work destroying the system without being periodically harnessed by scheduled acts of husbandry. A handful of maintenance developers imbued with a sense of personal responsibility and ownership have tried their best to refactor the beast into submission; under the radar.

Because the code is CPU intensive and single threaded, it’s not scalable to higher input data rates and its viability has hit “the wall”. Thus, besides refactoring the existing functionality into a more maintainable design, I have to simultaneously morph the mess into a multi-threaded structure that can transparently leverage the increased CPU power supplied by multicore hardware.

Note that redesigning for distributed flexibility and higher throughput doesn’t come for free. Essential complexity is added and additional latency is incurred because each input sample must traverse the 3 thread pipeline.

Piece of cake, no? Since lowly “programmers” are interchangeable, anyone could do it, right? I love this job and I’m having a blast!

Making A Living

May 9, 2010 4 comments

In “Stewardship: Choosing Service Over Self-Interest“, Peter Block comically states:

No one should be able to make a living simply planning, watching, controlling, or evaluating the actions of others.

If corpo granite heads everywhere took that statement to heart (which they can’t, and thus won’t), they’d eliminate themselves and all the layers below them in an instant – poof! Alas, that ain’t gonna happen cuz someone’s gotta look pretty, run the show, and suck up the dough. Seriously, someone really does have to run the show to keep the CCF viable.

Actually, the dudes in the penthouse have others do the PWCE dirty work for them. The thugs in middle management and the pure overhead departments like Human Resources, Quality Assurance, Configuration Management, and Accounting serve nicely as the lower level sensors, alarm detectors, and actuators in the system. Because of this sleight of hand, the DICforce often targets their ire at those “support” functions and not where it rightfully ought to be targeted – the high priests living it up in the self-congratulatory head shed.

Spreading Happiness

Just like last year, as soon as I heard that Zappos.com’s 2009 culture book was available, I e-mailed the company to get one. Just like last year, I received my free, postage paid copy in the mail three days later. What a great way to spread happiness, no?

Right on page number 1, Zappos CEO Tony Hsieh states:

People may not remember exactly what you did or what you said, but they will always remember how you made them feel.

Who says there is no room in business for emotions? Ninety-nine percent of business schools and business executives do, that’s who: “It’s not personal, it’s business.” Over the years I’ve learned to question the assumptions that institutional bozeltines, oops, leaders operate under. Sadly, I’ve discovered that most of those taken-for-granted, 100 year old assumptions like “the separation of feeling from work” don’t hold true anymore. How about you?