Archive

Author Archive

The Dog Did It!

December 1, 2010 Leave a comment

How dare you question my credentials, character, judgment, and integrity. – Anonymous

I think this latest Wikileaks fiasco is both serious and funny. Since the press has analyzed the seriousness of the situation to death, I’m only going to comment on the funny-ness of the event.

I find it hilarious that the press and regular “little” people like you and me seem to be shocked that U.S. government representatives would diss other world “leaders”; both allies and adversaries. As the sarcastic quote that begins this post implies, no one is special and beyond reproach, including the so-called best and brightest. Some are just better, much better, at hiding the fact that they are (OMG!) regular, fallible human beings. They fart and blame the dog; they pick their noses; they fantasize about Brad Pitt and Scarlett Johansson; they experience and express “negative” thoughts just like you and (especially) me. They just don’t get caught – usually.

Networks make organizational culture and politics explicit. – Michael Schrage

Of course, I wrote this post in a fruitless attempt to dissolve the guilt that I carry around for incessantly raging against the machine.

If you feel special in any way, then enlightenment has not occurred – Adyashanti

Categories: miscellaneous

Infinitely Late

November 30, 2010 Leave a comment

In deference to Fred Brooks‘s “adding more people to a late project makes it later“, I present you with the enhanced version: “adding more people to a late project makes it later, and at some critical size K, adding more people makes it infinitely late“.

As more smart and competent people are added to an org or project, the capability of the group to accomplish great things increases. The really sad thing about poor management is that this increased capability is countered by increased fragmentation and growth in fatty middle corpo layers that slowly snuff out productivity. The lag time between the addition of people and degraded org productivity can be can be so great that the correlation is totally missed and the probability of recovery goes to zero.

At a really dysfunctional institution, productivity plummets to zero and the immobilized institution withers away – unless some sugar daddy starts subsidizing the beast without regard to performance.

In the cases where the hapless institution is a government, it can become is its own sugar daddy. Since it has the bullying power to subsidize itself via taxation of its constituency, it can maintain its comatose state for essentially infinity. DYSCOs are not so lucky. They can, and often do, run out of money before they even know what hit them.

Love Before Fear First, And Fear Before Love Second

November 29, 2010 2 comments

One of Niccolo Machiavelli‘s most famous dicta is:

It is better to be feared than loved.

But wait….. that’s not the whole story. It’s certifiably time-proven and unassailable advice after you’ve parked your svelt butt on the throne, but not before. As you rise through the power rankings on your way to becoming alpha dog, it’s better to be loved than to be feared so that you can be swept into power by the very same people that you’ll need to fear you after you’ve secured Fort Knox.

You get it, right? If you’re not loved on the way up, chances are that you won’t even make it “up”. Hence, you’ve got to cleverly morph into one of those “nice guys” at work. You know, one of those stereotypical Stepford dudes that everybody speaks fondly of, but whose contributions and accomplishments are mysteriously unknown.

Thus, I, Bulldozer00, illegitimate son of Bulldozer and 00, have successfully catapulted brother Machiavelli’s quote for success into 21st century:

Before you acquire power, it is better to be loved than feared. After you’ve acquired power, it is better to be feared than loved” – Machiavelli and Bulldozer00

Moo, hah , hah, hah. MOO HAH HAH HAH!!!!

Self Inquiry

November 28, 2010 2 comments

I used to follow a bunch of spiritual and motivational teachers on Twitter, but I’ve “unfollowed” most of them since I didn’t connect much with their tweets – meh. It reached the point where I equated their mostly-boring tweet floods with spam. However, brite2briter hits the sweet spot because her tweets invite her tweetees to practice “self inquiry” like the more well known Byron Katie (Is it absolutely true?) and Ramana Maharshi (Who am I?).

Recently, brite2briter fired off a couple of tweets that hit home. Here they are, along with my replies:

Do these examples do anything fer ya? Too far out and new agey? Meh?

Requisite Knowledge

November 27, 2010 Leave a comment

In “Item 3. Design Patterns” of Stephen Dewhurst’s “C++ Common Knowledge: Essential Intermediate Programming“, he states the following:

Design patterns are often described as “micro-architectures” that can be composed with other patterns to produce a new architecture. Of course, selecting appropriate patterns and composing them effectively requires design expertise and native ability. However, even your manager will be able to understand the completed design if he or she has the requisite knowledge of patterns.

Uh, Stephen, you’re kidding, ain’t ya? In a project mini-corpricracy like the one below, you’ll be lucky if even the software lead knows what a pattern is, let alone the lofty manager. The software “Rocket-tect” will most likely know what a pattern is  – but probably not how to apply it since he/she will be stuck in “lemme-show-u-how-smart-I-am” jargon-land. On the bright side, everybody in the power structure (which excludes the programmers, of course) will know what a Microsoft schedule, spreadsheet, and powerpoint deck are.

Fixed Vs Variable Sleep Times

November 26, 2010 Leave a comment

Consider the back end of a sensor system as shown below. Now, assume that you’re tasked with building the Sample Processor and you need some way of testing it. Thus, you need to simulate the continuous high speed sample stream that the Sensor will produce during operation in the real physical world.

Since the analog real world is wonderfully messy and non-deterministic, the sensor/probe combo will produce data sample detections in bursty clumps as modeled below.

However, since you don’t need the high fidelity and fine grained controllability in your sensor simulator implied by the figure, you simplify your approach by modeling the sensor output as a deterministically time sliced (slice size = T) and “batched” device as shown by the yellow boxes in the diagram below.

After thinking about it, you sketch out a simple core sensor simulation algorithm as:

As the figure below shows, there are two options for determining how long to “sleep” after each yellow sample batch has been generated and transmitted: fixed and variable. In the simpler approach, the code sleeps for a fixed time duration “T” after every batch – regardless of how long it took to generate and transmit the batch of sensor samples. In the higher fidelity variable sleep approach, the time to sleep is calculated on the fly during runtime as the slice time “T” minus the time it took to generate and send the current batch. As the batch processing time approaches the time slice period T, the software sleeps less in order to maintain true real-time operation.

As the figure shows, implementing the sensor simulator with variable sleep time logic results in truer real-time behavior. In the fixed sleep design, the simulator starts lagging behind real-time immediately and the longer the sensor simulator runs, the further its behavior deviates from the real-time ideal. However, for short simulator runs and/or large relative time slice periods (see the box above), the simpler fixed sleep time approach tracks real-time just about as well.

For the project I’m currently working on, I’ve coded up a sensor simulator and sample processor pair that can be configured either way. I just thought I’d share the analysis/design thought process that I went through just in case it might interest or help anybody who’s working on something similar.

DYSCO Dancer

November 25, 2010 Leave a comment

The figure below shows the top three levels of an N level textbook corparchy. Virtually all corpo monarchs present some visual camouflage like this to model their beloved corpricracy. The massive illusions that a diagram like this intends to project are:

  • an orderly flow of timely, accurate status information upward;
  • intelligent direction and guidance downward;
  • cooperative collaboration both sideways and diagonally;
  • a paragon of efficiency and excellence for all external and (especially) internal observers to embrace without inquiry.

Now, splash some cold water on your face and observe an example of a pseudo-realistic model of a typical DYSCO dance:

If you’ve inferred that the lightning bolt connections represent clever, but antagonistic and counterproductive relationships between rival DYSCO dancing factions, then you’d be right.

Some of my friends(?) have told me that I’m an elite DYSCO dancer. Are you?

Woodstock Refugee

November 24, 2010 4 comments

I’ve taken some flak from some prim and proper people for the dorky, woodstock-refugee-like pic I’ve posted on my LinkedIn.com profile:

(In case you’re interested, that’s actually a pic of me on Bourbon Street down in Nawlins during Mardi Gras.) One of the comments that I’ve received on this totally “unprofessional” photo is:

Are you looking for companies who want to hire clowns?

LOL! Well, yeah, I am. If I do want, or have, to start looking for a new company to work for, I don’t want to draw attention from any big and stodgy institution whose HR department members think pictures are important. You see, I think those types of orgs are probably stuck in 1920’s FOSTMA mindsets and I’d rather not spend 40+ hours a week working for them. Of course, this tactic will drastically reduce the number of opportunities available to me, but so what. I’ll take my chances and change tactics if I absolutely have to.

whatIsThisFor

November 23, 2010 4 comments

Check out this C++ code fragment at the beginning of  the MessageBase class template definition:

After staring at it for a few minutes, I was able to distill the essence of the idiom(???) used in the code as:

I can’t figure out why B was designed as a class template and not just a plain ole’ class that simply inherits from A (see below). It reminds me a little of the CRTP idiom but it’s not the same. Would you happen to know what problems it is intended to solve? Is it some template meta-programming technique?

Where Elitism Is Proper?

November 22, 2010 4 comments

Ever since I stumbled upon Fred Brooks‘s meta-physical idea of “Conceptual Integrity” in his classic book, “The Mythical Man Month“, I’ve strived mightily to achieve that elusive quality in the software work that I do. Over twenty years ago, Mr. Brooks stated that the greatest conceptually integral designs were the product of one, or at most two, human minds. Fred asserts that his “one or two minds” principle still holds true today:

My fictional alter ego, Bulldozer aught aught, would’ve re-worded the beginning of the statement to “Most, if not all… “, but Fred’s message stills rings loud and true.

According to Fred, in today’s world of exponentially growing complexity and team sizes, conceptual integrity is more difficult to achieve than ever:

Why the increased difficulty? Because as a team grows larger, more minds will collide with each other to express and manifest their incompatible design ideas. Big projects can, and usually do, devolve into “design by committee” fiascos where monstrously over-complicated contraptions get created and foisted upon the world.

Ok, Ok, you say. Enough disclosure of the pervasive problem – we get it Yoda. What’s the solution, bozo? Here it is:

Even though it sounds simple to enact this policy, it’s not. The role of “Chief Designer” in a group of highly educated, independent thinking people is fraught with peril. It requires a dose of discipline imposition that can be perceived as “meanness” to external observers. Too much perceived meanness can cause a supporting team to morph into an unsupporting team and lead to the ejection and ostracism of the chief designer. Too little meanness and the possibility of achieving conceptual integrity goes right out the window – it’s Rube Goldberg city. Bummer.

Does your org explicitly recognize and implement the “Chief Designer” role – which is not the same as the softer, less technical, more politically correct, and more administrative “software lead”, “project manager”, “product manager”, and…….. “software rocket-tect” roles? If your org does formally implement the “Chief Designer” role, are your chief designers kept on a tight leash by higher ranking BUTTS, BMs, BOOGLs, SCOLs or CGHs that have no idea what “conceptual integrity” means? Worse, do your “Chief Designers” (again, if you have any) handcuff themselves in order to increase their promotability?

I’m not into corpo caste systems or stratified command-control hierarchies and I struggle endlessly to fight the instinct to play the “I’m smarter than you” game, but I agree with Mr. Brooks when he asserts that world class product design is one of those rare situations…..

How about you? Where do you stand…… or sit?

Note: The snippets in this blarticle were copied and pasted from Fred Brooks’s “The Design Of Design” pitch at the Construx Software Executive Summit. You can download and study it in its entirety from here:  Summit Materials.