SIGAVDI #88: Endless Beans Edition
It smells like autumn. This will likely be an autumn without apple-cidering and hayrides, which makes me sad.
I'm still on a dead-tree kick, so more book quotes this week…
In the wake of human history thus far, devastation and destruction point to a misconception about the "way of things" or, as some might say the "order of life". What are the errors are, they are brutal to our inner worlds in the larger ecology of which we are a part.
— Nora Bateson
If I were to compose a keynote right now it would be about values that have turned out to be anti-values, or at least woefully inadequate. Including, but not limited to:
These are all, in their own way, problems of reductionism.
When asked about "failure" and "failure rate", Lick said "We're not playing golf!"
Meaning: we are not going to cry about losing a stroke here and there. We are playing something more like baseball, where successfully getting hit 30% of the time is considered excellent. "But what about the 70% failure? Yikes!" Lick pointed out then in baseball, getting a hit is the hardest thing in the sport — hitting a round thing with a round thing both going over 100 miles per hour and with less than 1/3 of a second to see and decide. So the 70% is not a failure but the overhead required to get the 30% of hits.
— Alan Kay
This touches again on the insufficiency of the values of optimization and efficiency. Some processes require "majority waste" to succeed.
From the same article:
Another example of seeming "unreasonableness" was that the ARPA-PARC community made virtually all of their own tools from scratch — including giant computers, operating systems and programming languages. In fact, diving into extensive tool building has delayed and crippled many projects, and vastly run up the costs, so this had to be avoided. so this is an important example of a 1st order theory about something being true, and a completely opposite 2nd order theory also being true.
Never trust a universal value.
Back to Bateson:
So much of what I face now can be attributed to what I have come to call 'Mental Mono-Cropping': generating ideas in singular fields that are bred to be resistant to cross-pollination. Education, media, and social structures present overlapping patterns of compartmentalization. Why just once concept of birth, marriage, death, friendship, economy, right, or wrong? To generate swathes of homogenized perception is not only zombie-like, it is a crisis of metaphor. It is, in fact, just the sort of metaphor that leads to the practice of mono-cropping agriculturally. The snake eats its tail. Evolution prefers diversity.
Mental mono0cropping is imprisonment. Emancipate the ideas and they will burst into co-evolutionary bloom in a nearly unreadable knot of spiraling influemces. They will be untidy in another way. They will leak into each other.
Biology is history is communication. Anthropology is architecture is what some old women have known all their lives.
I swear I just record these quotes as I find them, but they have a way of assembling themselves into a story: 'ware reductionism, and 'ware the embrace of "best" theories.
"…what some old women have known all their lives"—this reminded me, indirectly, of a bit from The Spell of the Sensuous:
… privacy, in turn left a magician free to attend to it he acknowledged to be his primary craft and function. A clue to this function may be found in circumstances that such magicians rarely dwell at the heart of their village; rather, their dwellings are commonly spatial periphery of the community or, more often, out beyond the edges of the village— amid the rice fields, or in a forest, or a wild cluster of boulders…
For the magician's intelligence is not encompassed within the society; its place is at the edge of the community, mediating between the human community and the larger community of beings upon which the village depends for its nourishment and sustenance. This larger community includes, along with the humans, the multiple nonhuman entities that constitute the local landscape, from the diverse plants and the myriad animals[…] to the particular winds and weather patterns that inform the local geography, as well as the various landforms—forests, rivers, caves, mountains—that lend their specific character to the surrounding earth.
— David Abram
I have recently been taken with the notion that the sorcerers and shamans of tribal societies served the function (among others) of systems thinkers for the tribe. Systems thinking is the antithesis of reductionism. It says: identify the level you're thinking at, and think one level up and one level down from there. It says: break encapsulation. It says, the whole isn't just more than the sum of its parts, the whole is different from its parts. It says: imagine that phenomenon that you know for a fact can have no impact on each other, do somehow influence each other… and then look for the implications.
That last point implies that successful systems thinking requires a form of mysticism. You have to be ready to suggest absurd linkages. Such as: that a disconnected switch could crash the machine. Or that believing that a medicine will work may cause it to work. Or that observing a thing can change the state of the thing. Or that the difference between clemency and callousness can be a sandwich.
In Domain-Driven Design, Eric Evans says that a successful design refactoring can be accomplished with:
An ad-hoc team that self-organizes around the design problem (something doesn't "feel" right; changes seem harder than they should be)
A series of meetings with a few days in between for rest and reflection.
The intimate involvement of a domain expert.
That last point seems to be the one that most organizations trip over. I don't know how many theoretically "agile" teams I've talked to that didn't have a domain expert anywhere close to embedded. All too often, when they are in the room, it's more about the developers patiently explaining to them what their domain looks like in Rails (or Spring, or whatever) than it is about drawing and re-drawing boxes until the domain expert says "yes, THAT is how I think about it".
Graceful software design requires humility. It also requires diligence… but less the kind involving endless pondering, and more the kind that involves sending out meeting requests and nags until you get everyone into one (possibly virtual) room to think as a symmathesy.
And now, a word from our sponsor: me! Love SIGAVDI? Want to help me drown my social-distanced-autumn sorrows in sweet, sweet apple cider? Why not support me on Patreon! As little as a buck a month gets you into the Tensegrity discord server, where you can chatter with other symmathecists and join me for occasional events.
Remember last year when I kept talking about a mysterious video project for a corporate client? Well, it's finally public: I did a series of tutorial videos on building a mobile app with Flutter, Dart, and the Square SDK!
Learn more than you ever knew you wanted to know about Ruby's symbol literal syntaxes! This is a classic RubyTapas episode that's now free for all.
For RubyTapas subscribers, there are new episodes on Unrolling Test Loops and Line-Ending Processing Mode!
Adapted and updated from a five-year-old SIGAVDI, here's a blog post on codes of conduct and ethical software organizations.
What did I do
Last week I spent most of my time on The Writing Project That Shall Not Be Named For Fear Of Jinxing My Momentum. I'm still planning a related workshop which will give attendees a sneak preview of that material.
Start scheduling weekly meetups/events with Tensegrity (Patreon) members
Film an episode on the bubble sort / quicksort playing-card games I've been developing.
That's all for this "Sunday". Talk to you soon!
SIGAVDI September 23, 2020
The ultimate software taboo
Why and how to use Ruby's Hash#fetch for default values