Archive

Posts Tagged ‘linkedin’

Your Chetan Heart

January 9, 2011 1 comment

OK, OK. The title of this post has nothing to do with its content. It just “felt” right.

The “Chetan” in the post title is a placeholder for “Chetan Dhruve”, the author of the splendidly candid and hard-hitting “Why Your Boss Is Programmed To Be A Dictator“. Recently, Chetan (I don’t know how to pronounce his name but I’ll bet it doesn’t sound like “cheetin'”) contacted me via LinkedIn. He graciously asked if he could use the content of my “Leader Or Dictator” post on his web site. Of course, being the needy, fame-seeking, egomaniac that I am, I used my “power of authority” to “approve” of his request – after he filled out all of the proper forms and paid the licensing fee, of course. Check out Mr. Dhruve’s site here – and then buy the freakin’ book.

Note: The “man” on book cover is actually a collage of six of the most notorious dictators of all time. Can you guess who they are? If not, you can find out on Mr. Dhruve’s site.

Super Secret Recipe

January 8, 2011 Leave a comment

Wanna know what the super secret recipe is for building an impenetrable UCB pyramid? OK, you said no – but that t’aint gonna stop me from loosening my lips and sinking ships. Here we go…..

  1. Directly or (better yet) vicariously experience a real-life situation involving people in which the outcome is a “surprise” to you.
  2. Judge the outcome as absolutely good or bad (no gradations allowed!)
  3. Strip and discard all messy contextual meaning from the situation.
  4. If you judged the outcome as “good”, then ignore it and kick out of this recipe – you’re done! Otherwise…..
  5. Concoct a reason why the outcome turned out “bad”.
  6. By removing all the uncomfortable details that don’t align with your existing UCB, vertically abstract your interpretation of the reason for the outcome.
  7. Horizontally generalize your cause-effect conclusion to subsume any and all situations with any remote resemblance to the experienced situation.
  8. Pour mental concrete around your newly discovered nugget of knowledge and jam it somewhere into your growing UCB pyramid.
  9. Pat yourself on the back for “knowing” how the world worx. Whoo Hoo!

Every man, wherever he goes, is encompassed by a cloud of comforting convictions, which move with him like flies on a summer day. – Bertrand Russell

One-Two Punch Combo

January 7, 2011 Leave a comment

Check out this one-two punch combo on creativity and innovation (which fit together like hand and glove) that I randomly stitched together from Chris “The Long Tail” Anderson and Scott “Myths Of Innovation” Berkun:

Scary stuff, no? That’s why I think that the first and biggest obstacle to self-realization through the “create and innovate” dynamic duo is yourself, and not the inevitable downstream naysayers that will peck and gnaw away at your innards. Nevertheless, the second obstacle is huge too, especially if you work in a big, stuffy, corpricracy with an endless queue of risk-averse, (dis)approvers in the way.

Improper Inheritance

January 5, 2011 Leave a comment

Much like Improper Inheritance (II) can wreck family relationships, rampant II can also destroy a project after large and precious investments in time, money, and people have been committed. Before you know it, BAM! All of a sudden, you’ve noticed that you’re in BBoM city; not knowing how you got there and not knowing how to get the hell out of the indecipherable megalopolis.

Here’s what the “C++ FAQ” writers have to say on the II matter:

Here’s what Stephen Dewhurst says in “C++ Gotchas” number 92:

Use of public inheritance primarily for the purpose of reusing base class implementations in derived classes often results in unnatural, unmaintainable, and, ultimately, more inefficient designs.

Herb Sutter and Andrei Alexandrescu‘s chapter number 34 in “C++ Coding Standards: 101 Rules, Guidelines, and Best Practices” is titled “Prefer composition to inheritance“. Here’s a snippet from them:

Avoid inheritance taxes: Inheritance is the second-tightest coupling relationship in C++, second only to friendship. Inheritance is often overused, even by experienced developers. A sound rule of software engineering is to minimize coupling: If a relationship can be expressed in more than one way, use the weakest relationship that’s practical.

On page 19 in Design Patterns, the GoF state:

“Favoring object composition over class inheritance helps you keep each class encapsulated and focused on one task. Your classes and class hierarchies will remain small and will be less likely to grow into unmanageable monsters.”

Let’s explore this malarial scourge a little closer with a couple of dorky bulldozer00 design and code examples.

The UML class diagram pair below shows two ways of designing a message. It’s obvious that a message is composed of a header and payload (and maybe a trailer), no? Thus, you would think that the “has a” model on the left is a better mapping of a message structure in the (so-called) real world into the OO world than the multi “Is a” model on the right.

I don’t know about you, but I’ve seen many mini and maxi designs like this implemented in code during my long and undistinguished career. I’ve prolly unconsciously, or consciously but guiltily, hatched a few mini messes like this too.

For our second, more concrete example, let’s look at the mixed design and code example below. Since the classes and member functions are so generic, it’s hard to decide which one is “better”, no?

By looking at the test driver below, hopefully the “prefer composition to inheritance” heuristic should become apparent. The inheritance approach breaks encapsulation and exposes a “fatter” interface to client code, which in this case is the main() function. Fatter interfaces are more likely to be unknowingly abused by your code “users” than thinner interfaces – especially when specific call sequencing is required. With the composition approach, you can control how much wider the external interface is – by delegation. In this example, our designer has elected to expose only one of the two additional interface functions provided by the Base class – the ifaceFunc1() function.

Like all heuristics in programming and other technical fields of endeavor, there are always exceptions to the “prefer composition to inheritance” rule. This explains why you’ll see the word “prefer” in virtually all descriptions of heuristics. Even if you don’t see it, try to “think” it. An equivalent heuristic, “prefer acceptance to militancy“, perhaps should also hold true in the world of personal opinions, no?

C++ Dudes To Follow

January 4, 2011 Leave a comment

If you’re a twit like me, and you also “do” C++, you might want to follow these people and resources on twitter:

They don’t tweet much, but when they do, they’re worth listening to. Do you know of any other C++ twitter resources that I should add to my list?

2010 Blog Metrics From WordPress.Com

January 3, 2011 Leave a comment

Note: The content of this post was auto-generated by the folks at WordPress.com.

The stats helper monkeys at WordPress.com mulled over how this blog did in 2010, and here’s a high level summary of its overall blog health:

Healthy blog!

The Blog-Health-o-Meter™ reads Wow.

Crunchy numbers

Featured image

A Boeing 747-400 passenger jet can hold 416 passengers. This blog was viewed about 10,000 times in 2010. That’s about 24 full 747s.

In 2010, there were 350 new posts, growing the total archive of this blog to 587 posts. There were 614 pictures uploaded, taking up a total of 25mb. That’s about 2 pictures per day.

The busiest day of the year was March 2nd with 127 views. The most popular post that day was Strongly Typed.

Where did they come from?

The top referring sites in 2010 were linkedin.com, Google Reader, en.wordpress.com, and stumbleupon.com.

Some visitors came searching, mostly for quantum physics, do you design the classes diagrams before writing code, accountability, sysml, and quantum.

Attractions in 2010

These are the posts and pages that got the most views in 2010.

1

Strongly Typed February 2010
8 comments

2

UML And SysML March 2009
2 comments

3

Quantum Consciousness July 2009
1 comment

4

What The Hell’s A Unit? November 2009

5

About Me March 2009
2 comments

We’d Do This?

January 2, 2011 1 comment

Wise ole’ Ron Jeffries and dumb ole’ Bulldozer00 go back… way, way back. Ron prolly won’t remember the multi-week e-exchange we had, but back in the 90’s we engaged in a passionate, tete-ah-tete tango on the merits and “perceived lack-thereof” of the eXtreme Programming (XP) software development process. That historic exchange (which changed the course of history!) actually happened before the invention of social networking and effortless person-to-person comm – OMG!.

After the dust was settled, the chaw was spat, the pistols were re-loaded, and the ‘nads were comfortably repositioned back into the sack, Ron graciously sent me a signed copy of “Extreme Programming Installed“. I’ll never forget his generous gesture.

It Has To Be This Way

January 1, 2011 Leave a comment

This Fortune blarticle, “When you’re the boss, who gives you reviews?”,  starts out with:

“A chief executive at a fast growing tech start-up recently approached executive coach Dave Kashen with an all-too common problem. The CEO frequently reached out to his executive team for feedback, but whenever he sought their opinions, his subordinates seemed to shut down and withdraw.”

Well, duh. This systemic behavior is the result of the cultural environment that CCH forms of governance auto-install into each bozone layer – all the way down the pyramidal stack. In corpo CCHs, the dudes at level N-1 are “taught” by the system to be subservient to their bosses at level N. Dudes at level N-2 are “taught” to be even more subservient to the bosses at level N than their own boss man at level N-1.

This “that’s just the way it has to be” indoctrination is so successful that it works the other way too. The dudes at level N are “taught” by the system to require subservience by the lessers at all levels below them. I wonder if the flustered CEO in the quote realizes this.

If the corpo system wasn’t designed to work this way, there would be anarchy and annihilation. No “ifs“, “ands“, or “buts” about it……… right?

FOSTMA And NASHMA

December 31, 2010 5 comments

Whoo Hoo! I thought of a positive complement to my negative FOSTMA acronym. It’s, it’s, it’s….. NASHMA = Nayar, Semler, Hsieh MAnagement:

Of course, in order to prevent chaos, NASHMA orgs still have hierarchical structures, but they’re not run as stratified caste system CCHs. In NASHMA orgs, there’s real, two way accountability; and symmetric relationships exist up and down all levels. Most managers in NASHMA groups are PHORs and not STSJs who spend all their “valuable” time planning, watching, controlling, and evaluating.

Now mind you, to avoid the trap of dualistic thinking, an org shouldn’t be judged as fully belonging to one class or the other. There can be pockets of FOSTMA groups in a NASHMA org and vice versa. Nevertheless, my scientifically collected and analyzed data revealed this current distribution of institutions along the FOSTMA-NASHMA continuum:

Over time, hopefully the threshold will move to the left – increasing the currently miniscule NASHMA to FOSTMA ratio. However, there will always be powerful and scary psychological forces opposing the movement.

Double Loop Learning

December 30, 2010 Leave a comment

Chris Aryris is a giant in the field of organizational development. LinkedIn e-colleague Gene Bellinger recently posted this classic Argyris article, “Teaching Smart People How To Learn“, to his “Systems Thinking” group. In the missive, Mr. Argyris gives a great example of double loop learning:

I have coined the terms ‘‘single loop’’ and ‘‘double loop’’ learning…. To give a simple analogy: a thermostat that automatically turns on the heat whenever the temperature in a room drops below 68 degrees is a good example of single-loop learning. A thermostat that could ask, ‘‘Why am I set at 68 degrees?’’ and then explore whether or not some other temperature might more economically achieve the goal of heating the room would be engaging in double-loop learning.

Because of the Law Of Impermanence (LOI), it’s inevitable that what worked in the past won’t work at some unknowable time in the future. The top half of the figger below illustrates the LOI in action. On the left, we have a successful org or individual happily humming along. The successful “entity” repeatedly performs actions that lead to success. As long as the external environment doesn’t change, this self-reinforcing loop of success can be sustained for quite a long time. However, since the LOI is constantly and relentlessly operating in the background, insanely doing the same thing over and over again will eventually guarantee failure. The failure may occur instantaneously like a broken axle while driving on the freeway, or it may manifest gradually like an excruciating death by a thousand cuts. Bummer.

Possibly the only way of keeping the LOI at bay is to institute double loop learning. The figger below shows the painful, transformational process of adding a second action-result-reflection loop to the system. By adding the skill of reflection, deteriorating results can be detected and action can be periodically tuned to accommodate a changing world.

Just because “deteriorating results can be detected and action can be tuned” doesn’t mean they will be. The forces against truthful org and individual reflection on poor results are formidable. Denial, angst, and fear, which are all dysfunctions of the individual and collective human ego, conspire against improving system robustness and viability via change. Reorgs, appointing the same people to funky new titles, bumping up compensation/perks, cutting costs, and attempting to apply all other textbook management tools amount to wrapping bandaids around a massive hemorrhage. Double bummer.

The hardest aspect of getting a double learning loop into operation is connecting the “Reflection” node back to the “Action” node so that actions can be changed. As I know too well, it’s relatively easy to reflect on one’s actions while exhibiting the same insane behavior over and over and over and over………..

“Without deviation from the norm, progress is not possible.” – Frank Zappa