Archive
Healthy And Stress Free
Via the Netflix “Watch Instantly” service, I recently viewed this wonderful and scary National Geographic documentary: “Stress: Portrait Of A Killer“. The program focused on the results of these two studies:
- A thirty year study on African baboon troupes by a dedicated Stanford University professor.
- A forty year study, called the “Whitehall Study“, on 18,000 British civil service employees (hint: hierarchy)
Ready to be surprised? In both studies, the results showed that the higher up in the hierarchy you ascend, the healthier and less stressed you become. Yepp, that’s right. Fuggedabout the crap that’s been drilled into your brain about the increased stress that comes with the so-called increase in “responsibility” as one ascends the corpo ladder. The reality is that the higher up you go:
- the more titles you accumulate (for your impressive LinkedIn profile),
- the more money you make for taking on more responsibility that you’re not held accountable for,
- the less “dirty and visible work” you have to do, uh, except for aimless and agenda-less meetings where you toot your own horn over others,
- the more control over “others” you have – to deflect blame when you screw up – which you never do.
How can that be stressful and detrimental to your health? By all means fellow DICsters, keep scratchin’ and clawin’ your way toward the top. It’s healthy fer ya.
I actually wasn’t surprised by the show. Well over 20 years ago, friend and mentor William L. Livingston opened my eyes to the Whitehall study results in his epically disturbing “Have Fun At Work” book. It stunned me back then, but makes me laugh now.
To be fair, I have no doubt that there are many non-BMs in hierachical DYSCOs who do feel the increased stress their job should bring on. These are the people who thoughtfully and endlessly struggle with the conflicting demands of the wide ranging set of stakeholders who have an interest in the org’s economic and social performance. Thankfully, I have known, and do know, some of these people. How about you?
Note: If you want more detail on the documentary, check out my notes plus audio livescribe pencast on the program here.
Where’s The Bug?
When you’re designing and happily coding away in the application layer and you discover a nasty bug, don’t you hate it when you find that the chances are high that the critter may not be hiding in your code – it may be in one of the cavernous homegrown libraries that prop your junk up. I hate when that happens because it forces me to do a mental context switch from the value-added application layer down into the support layer(s) – sometimes for days on end (ka-ching, ka-ching; tic-toc, tic-toc).
Compared to writing code on top of an undocumented, wobbly, homegrown BBoM, writing code on top of a professionally built infrastructure with great tutorials and API artifacts is a joy. When you do find a bug in the code base, the chances are astronomically high that it will be in your code and not down in the infrastructure. Unsurprisingly, preferring the professional over the amateur saves time, money, and frustration.
For the same strange reason (hint: ego) that command and control hierarchy is accepted without question as the “it just has to be this way” way of structuring a company for “success“, software developers love to cobble together their own BBoM middleware infrastructure. To reinforce this dysfunctional approach, managers are loathe to spend money on battle-tested middleware built by world class experts in the field. Yes, these are the same managers who’ll spend $100K on a logic analyzer that gets used twice a year by the two hardware designer dudes that cohabitate with the hundreds of software weenies and elite BMs inside the borg. C’est la vie.
Your Chetan Heart
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
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…..
- Directly or (better yet) vicariously experience a real-life situation involving people in which the outcome is a “surprise” to you.
- Judge the outcome as absolutely good or bad (no gradations allowed!)
- Strip and discard all messy contextual meaning from the situation.
- If you judged the outcome as “good”, then ignore it and kick out of this recipe – you’re done! Otherwise…..
- Concoct a reason why the outcome turned out “bad”.
- By removing all the uncomfortable details that don’t align with your existing UCB, vertically abstract your interpretation of the reason for the outcome.
- Horizontally generalize your cause-effect conclusion to subsume any and all situations with any remote resemblance to the experienced situation.
- Pour mental concrete around your newly discovered nugget of knowledge and jam it somewhere into your growing UCB pyramid.
- 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
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.
Eclipsed!
Steve Taylor‘s “The Fall” is an epic work. It’s both an academic and spiritual tour de force that covers the birth and subsequent explosion of the human ego throughout history. Using documented evidence from a wide range of archaeologists and anthropologists, he presents (what I opine is) an overwhelming argument that there is no innate “selfish gene“. You know, the one that everyone seemingly takes for granted and conveniently blames for man’s inhumanity to man.
In a nutshell, Mr. Taylor asserts that before 8000 BCE (yes, he goes all the way back to the dawn of man and painstakingly traces the life of the ego right up to us) all the available historical evidence points to the non-existence of war, oppression, patriarchy, and human exploitation of others. Please bookmark this page, read the book for the juicy details, and report your personal conclusions back here. Regardless of whether your UCB has been altered, I’d love to hear your before-and-after thoughts on the subject.
Improper Inheritance
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
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
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:

The Blog-Health-o-Meter™ reads Wow.
Crunchy numbers
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.
Strongly Typed February 2010
8 comments
UML And SysML March 2009
2 comments
Quantum Consciousness July 2009
1 comment
What The Hell’s A Unit? November 2009
About Me March 2009
2 comments
We’d Do This?
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.














