Archive
An Unexpected Honor
What Do You Do?
While perusing Dan Pink’s FLIP-Manifesto, point number 5 triggered a “WTF?” moment within my being:
“Outraged” at Dan’s audacity to attack one of the pillars of my UCB (the burning desire to continually search for personal passion), I navigated directly to the blasphemous pages that rationalize his assertion.
I discovered that Dan is right. In lieu of wrestling with an “endless self-examination and searching for some inscrutable holy emotional grail“, ask “what do I do?” instead of “what is my passion?“.
What do you think? More importantly, “what do you do“?
Structure, Not Content
The problem is not the content, it’s the conditioned structure of the human mind – Eckhart Tolle
If the structure of one’s mind has been conditioned and molded into a crystallized pyramid from birth (and whose mind hasn’t?), then its time-varying content will be heavily distorted by pyramidal thoughts. You know, those thoughts that put you at the top of the pyramid so that everyone will know beyond a shadow of a doubt that you’re smarter and more important than they are.
Still Waiting…..
Holy shite! Look at what my wordpress blog dashboard says today:
One thousand freakin’ published posts. BD00 is quite the bullsh*t l’artiste, no?
Alas, I’m still waiting for my….
Vectors And Lists
In C++ programming, everybody knows that when an application requires lots of dynamic insertions into (and deletions from) an ordered sequence of elements, a linked list is much faster than a vector. Err, is it?
Behold the following performance graph that Bjarne Stroustrup presented during his keynote speech at “Going Native 2012“:
So, “WTF is up wit dat?”, you ask. Here’s what’s up wit dat:
The CPU load happens to be dominated by the time to traverse to the insertion/deletion point – and KNOT by the time to actually insert/delete the element. So, you still yell “WTF!“.
The answer to the seeming paradox is “compactness plus hardware cache“. If you’re not as stubborn and full of yourself as BD00, this answer “may” squelch the stale, flat-earth mindset that is still crying foul in your brain.
Since modern CPUs with big megabyte caches are faster at moving a contiguous block of memory than traversing a chain of links that reside outside of on-chip cache and in main memory, the results that Bjarne observed during his test should start to make sense, no?
To drive his point home, Mr. Stroustrup provided this vector-list example:
In addition to consuming more memory overhead, the likelihood that all the list’s memory “pieces” reside in on-chip cache is low compared to the contiguous memory required by the vector. Thus, each link jump requires access to slooow, off-chip, main memory.
The funny thing is that recently, and I mean really recently, I had to choose between a list and a vector in order to implement a time ordered list of up to 5000 objects. Out of curiosity, I wrote a quick and dirty little test program to help me decide which to use and I got the same result as Bjarne. Even with the result I measured, I still chose the list over the vector!
Of course, because of my entrenched belief that a list is better than a vector for insertion/deletion heavy situations, I rationalized my unassailable choice by assuming that I somehow screwed up the test program. And since I was pressed for time (so, what else is new?), I plowed ahead and coded up the list in my app. D’oh!
Update 4/21/13: Here’s a short video of Bjarne himself waxing eloquent on this unintuitive conclusion: “linked list avoidance“.
Ghastly Style
In Bjarne Stroustrup‘s keynote speech at “Going Native 2012“, he presented the standard C library qsort() function signature as an example of ghastly style that he’d wish programmers and (especially) educators would move away from:
Bjarne then presented an alternative style, which not only yields cleaner and less error prone code, but much faster performance to boot:
Bjarne blames educators, who want to stay rooted in the ancient dogma that “low level coding == optimal efficiency“, for sustaining the unnecessarily complex “void star” mindset that still pervades the C and C++ programming population.
Because they are taught the “void star” way of programming by teaching “experts“, and code of that ilk is ubiquitous throughout academia and the industry, newbie C and C++ programmers who don’t know any better strive to produce code of that “quality“. The innocent thinking behind the motivation is: “that’s the way most people write code, so it must be good and kool“.
I can relate to Mr. Stroustrup’s exasperation because it took perfect-me a long time to overcome the “void star” mental model of the world. It was so entrenched in my brain and oft practiced that I still unconsciously drift back into my old ways from time to time. It’s like being an alcoholic where constant self-vigilance and an empathic sponsor are required to keep the demons at bay. Bummer.
A Succession Of Funerals
Science advances one funeral at a time. – Max (walk the freakin’) Planck
As implied by the quote above, new and more effective ideas/techniques/practices/methods take hold only when the old guard, which fiercely defends the status quo regardless of the consequences, “dies” off and a new generation takes over.
Frederick Winslow Taylor, who many people credit as the father of “theory X” management science (workers are lazy, greedy, and dumb), died in 1915. Even though it was almost 100 years ago, theory X management mindsets and processes are still deeply entrenched in almost all present day institutions – with no apparent end in sight.
Oh sure, many so-called enlightened companies sincerely profess to shun theory X and embrace theory Y (workers are self-motivated, responsible, and trustworthy), but when you look carefully under the covers, you’ll find that policies and procedures in big institutions are still rooted in absolute control, mistrust, and paternalism. Because, because, because…, that’s the way it has to be since a corollary to theory X thinking is that chaos and inefficiency would reign otherwise.
Alas, you don’t have to look or smell beneath the covers – and maybe you shouldn’t. You can just (bull)doze(r00) on off in blissful ignorance. If you actually do explore and observe theory X in action under a veneer of theory Y lip service, don’t be so hard on yourself or “them“: 1) there’s nothing you can do about it, 2) they’re sincerely trying their best, and 3) “they know not what they do“.
The Principle Objective
The principle objective of a system is what it does, not what its designers, controllers, and/or maintainers say it does. Thus, the principle objective of most corpocratic systems is not to maximize shareholder value, but to maximize the standard of living and quality of work life of those who manage the corpocracy…
The principal objective of corporate executives is to provide themselves with the standard of living and quality of work life to which they aspire. – Addison, Herbert; Ackoff, Russell (2011-11-30). Ackoff’s F/Laws: The Cake (Kindle Locations 1003-1004). Triarchy Press. Kindle Edition.
It seems amazing that the non-executive stakeholders of these institutions don’t point out this discrepancy when the wheels start falling off – or even earlier, when the wheels are still firmly attached. Err, on second thought, it’s not amazing. The 100 year old “system” demands that silence is expected on the matter, no?
Order Imposition
When functioning correctly, the purpose of “rational thought” is to impose the illusion of order on chaos. As you well know by now, BD00, whose thoughts are dysfunctional, irrationally prefers chaos-squared over order. Actually, he doesn’t prefer it. It’s just the way it is. D’oh!















