Engage an R-mode to L-mode Flow

Although I’ve been extolling the virtues of the R-mode, that’s not the complete story. There was a spate of self-help books a few years ago that promised all manner of benefits based on the right side of the brain. I think there was even a Right Brain Cookbook.

That’s nonsense, of course. Half-witted, even.

Although we can take advantage of R-mode processing that we have traditionally neglected, it’s not a silver bullet or panacea. By itself, it won’t solve all our problems—it can’t even process language, after all.

Instead, what we need is a better way of synchronizing our L-mode and R-mode processing so the whole mind can work better and more efficiently.

There’s a particular technique that will let you accomplish this, and I found out about it quite by accident. I didn’t exactly stumble on it; I sort of climbed over it.

Go Climb a Wall

Once upon a time, my wife thought it would be fun for us to try rock climbing. Many of the participants looked a little uncertain—none of us had ever attempted anything like this before, but we were determined to soldier on.

The instructor came out and made sure everyone was properly fitted in their safety gear. Once we were all fitted up and checked out, he stood in front of the group; we fell silent, ready for the lecture.

But there wasn’t going to be a lecture. Instead, he told us to go start climbing. Just like that. For thirty minutes; then we’d all meet back here. There was some grumbling in the crowd—we had paid good money for this introductory package, and here the instructor was just throwing us to the wolves (or to the rocks, as the case may be). He went and got a coffee.

images/RockClimbing.png

So, we cavorted on the rocks for a while, not really knowing what we were doing. And after a half hour, the instructor reappeared and then began the lecture, explaining to us how to climb. Now, having had some experience (however brief), his explanations made much more sense. We had some context in which to place his instruction: when he talked about shifting your weight in a certain way, it made sense—much more sense than if he had simply begun with the lecture.

In fact, thinking back on it, this instructor really did the correct thing: he provided us with a safe environment in which to explore (remember, he made sure everyone’s safety gear was correctly fitted and adjusted before turning us loose). He first presented us with a multisensory, experiential context so that we could “get our heads around it,” as it were. Then he followed up with a more traditional, fact-filled lecture.

What he did here was create a sort of R-mode to L-mode flow. As it turns out, that’s exactly what you want to do to facilitate learning.

Engage an R-mode to L-mode flow.

The Lozanov Seance

In the late 1970s, Bulgarian psychologist Georgi Lozanov began experimenting with what he termed a seance.[52] The idea was to create a learning environment that would help create an R-mode to L-mode flow, in this case, specifically for foreign language training.

Prof. Lozanov took his students into a darkened room, with gentle baroque music playing in the background (because this was the 1970s, no lawsuits were imminent). By using yoga-inspired breathing techniques and rhythmic exercises in this relaxed, comfortable environment, he hoped to improve the student’s ability to concentrate and assimilate the new material.

While the students were in this state, the professor bombarded them with foreign language examples. No lecture, no footnotes, no explanations—just exposure. In other sessions, they would follow up with more traditional skills and drills.

It worked well, and the students who followed this intensive regimen outperformed those who participated in the normal classroom regime. In the years since, many educators have seized this idea of leveraging the R-mode for its acquisition capabilities.[53]

As with any exciting new technique, some folks took it too far in one direction and advocated pure R-mode techniques that completely ignored the L-mode. There were faddish books pushing right-brain bowling and a host of other ill-conceived ideas.

That’s throwing the baby out with the bathwater. You can’t ignore either mode of thinking; you need both working in concert. You want to let the R-mode lead and then switch to L-mode to “productize” it, if you will.

Recipe 13Lead with R-mode; follow with L-mode.

Both ways of thinking work naturally together; for instance, start with the analogic processes for connections and theories, and then use the analytic processes to validate your thinking. But remember it’s not a one-way trip; you need to return to R-mode to keep the ideas flowing. R-mode is the source, and you want to give it free, uninhibited reign.

Write Drunk, Revise Sober

There’s an old writer’s adage that advises would-be authors to “write drunk; revise sober.” Now before you go stock up on Patrón Silver or Guinness, let’s take a look at what this means.

You want your creativity to have free reign, unrestricted by “common sense” or “practicality.” There’s plenty of time to rein it in or discard the absurd later, but to begin with, you want to let ’er rip.

Just as creativity can be stifled by trying to tie ideas down prematurely, learning can be impeded by trying to memorize minor facts when you don’t yet grasp the whole.

Don’t be in such a hurry. When problem solving, learn to be comfortable with uncertainty. When creating, be comfortable with the absurd and the impractical. When learning, don’t try so hard to learn and memorize; just get “used to it” first. Try to understand the meaning first; get the overall gist of it.

Get used to it.

Then follow up with traditional L-mode activities to get to the next step: an R-mode to L-mode flow.

There’s a bit of a push in educational circles along these same lines. Dr. David Galin is a noted researcher at the Langley Porter Neuropsychiatric Institute, University of California at San Francisco. He believes that teachers these days have three main responsibilities to the whole student:[54]

  • Train both hemispheres, not only the verbal, symbolic, logical left mode (as is traditional) but also the spatial, relational, holistic right mode.

  • Train students to use the cognitive style suited to the task at hand.

  • Train students to bring both styles to bear on a problem in an integrated manner.

You have the same responsibility to yourself. You want to end up using both L-mode and R-mode in concert, as needed, effectively.

But those of us in the learned, white-collar, technical professions are at a greater disadvantage than the general population. We have become so highly focused on (and rewarded for) the L-mode style of thinking and learning that we neglect the R-mode. We need to honor, respect, and foster attention to these largely ignored R-mode processes.

Let’s look at a few other ways to get the L-mode and R-mode working well with each other.

Pair Programming

An interesting way to get L-mode to work with R-mode is to use another person for the other mode. In other words, have your L-mode work with another person’s R-mode or their L-mode work with your R-mode.

One of the more effective—and controversial—practices espoused by Extreme Programming is pair programming. In pair programming, you have two programmers working at a single keyboard and monitor. One person types code in the IDE (the driver), while the other (the navigator) sits back and offers suggestions, advice, and kibitzes in general.

One reason this might work so well is that while the driver is locked in verbal mode at a particular level of detail, the navigator is free to engage more nonverbal centers. It’s a way of using R-mode and L-mode together at the same time, using two people. Reader Dierk Koenig describes the experience:

Work with one person in L-mode, one in R-mode.

“While pair programming, I often experience that the navigator falls into a kind of ‘pattern-matching’ mode when the driver cannot. This is sometimes a source of disagreement; the navigator says: ‘All that code over here is exactly the same as that other thing over there, I mean—beside all the words.…’ And the driver disagrees, because he just cannot see it while driving.”

The navigator is free to see these larger relationships and the larger picture. And most of the time, you cannot see these relationships if you’re driving. So if you aren’t pair programming, you definitely need to stop every so often and step away from the keyboard.

When you talk to another person or work hand in hand with someone at a whiteboard or a paper, your thinking tends to get more abstract. You are more likely to discover new abstract patterns, which is what all of us programmers are trying to achieve.

This phenomenon of increased abstract awareness was demonstrated in a study[55] of secondary-school students who were given the following problem: five meshing gears are arranged in a horizontal line much like a row of quarters on a table. If you turn the gear on the far left clockwise, what will the gear on the far right do?

Some students were selected to work alone, others in pairs, as the researchers steadily increased the number of gears. By 131 gears, it was easy to see who had discovered the abstract pattern (in this case, the well-known computer-science parity rule) and who hadn’t. Only 14 percent of the solo workers discovered the rule, but a whopping 58 percent of the pairs did.

In another experiment, one pair of students came up with an abstract matrix representation based on a very concrete problem statement. The researchers reported the following:

…The experimenter asked the members how they came up with the matrix. One member stated, ‘He wanted to make columns and I wanted to make rows.’ To negotiate their two perspectives on the problem, they managed to come up with the matrix formalism that included both columns and rows.

Schwartz, et al.

Working together is a provably effective way to discover helpful and interesting abstractions.

Meeting in Metaphor

As we’ve seen, L-mode and R-mode processing are radically different, and yet there may be a common meeting ground between them in your own mind, a place where creativity gives birth to new ideas. L-mode and R-mode meet in metaphor—in the act of creating analogies.

“Metaphor, a common ground for both verbalizations and images, is a way to voyage back and forth between the subconscious and conscious, between right and left hemispheres.”[56]

The use of metaphor is a powerful technique to open up creativity.

Recipe 14Use metaphor as the meeting place between L-mode and R-mode.

Now, when you hear metaphor and analogy, you might have a flashback to some horrid English class in grade school. But in fact, we use metaphors all the time. What we call windows on the computer screen aren’t really windows at all. The mouse isn’t actually a rodent. A folder on your hard disk isn’t a real folder, and the trash can isn’t a real can.

When you write a concurrent program using threads, you’re not sewing. It’s just a metaphor. Don’t even get me started on zombie processes in Unix or the typographic flotsam of widows and orphans.

We use metaphors constantly; in fact, cognitive linguist George Lakoff (Women, Fire, and Dangerous Things: What Categories Reveal About the Mind [Lak87]) maintains that we can’t even think at all without the use of metaphor. Most humans aren’t particularly good at dealing with the abstract; using a metaphor to relate some abstract notion to something concrete, something found in everyday life, makes it much easier for people to grasp.

But metaphors have differing potency. Common, everyday ones seem to be more like the symbolic representation of L-mode. Grander metaphors, on the other hand, are much more powerful. They can change our thinking and generate their own answers. What makes the difference?

Juxtaposing Frames of Reference

Metaphor comes from the Greek meaning “to transfer,” with the idea that you are transferring the properties of one object to another in a way that is not literally possible.

This notion of combining two different, incompatible ideas is the very definition of creativity according to researcher/philosopher Arthur Koestler.[57] In his model, some particular topic area forms a particular frame of reference. The sudden switch from one self-consistent frame of reference to a different, unexpected, incompatible frame of reference is the basis of a strong metaphor. That junction of the two different frames is called a bisociation.

The more unlikely the association—the further apart the frames of reference—the greater the creative achievement when bisociated. This idea is the basis of Edward de Bono’s Po technique.[58]  Po is an invented word that tries to go beyond the binary notion of “yes” and “no.” Several techniques involve Po; for now, you might think of it as a super-powerful version of suppose.

One of the Po techniques is random juxtaposition. You take a word from your subject area and combine it with a completely random, unrelated word. For instance, consider the words cigarette and traffic light. The challenge is to form a bisociation from these completely unrelated ideas. For example, cigarette and traffic light might meld into the concept of using a red band on the cigarette as a stop-smoking aid.

Use random juxtaposition to create metaphor.

The further away the ideas are, the harder it is to join them in a metaphor that works. When we come across a particularly inventive metaphor, one where the frames of reference are suitably distant, we praise the author for centuries:

But soft! What light through yonder window breaks? It is the East, and Juliet is the sun!

Love is a smoke made with the fume of sighs.

Adversity’s sweet milk, philosophy.

William Shakespeare

What is that bright light in the window? It’s not a celestial object; it’s this girl Romeo just met at a masquerade ball.[59] Love is an emotion; it has nothing to do with smoke, fumes, or sighs in a literal sense, but what a fantastic image that conjures up. You can almost see the wisps of smoke from a young lover’s obsessive desire building into a cloudy, potent fog.

The characteristics of the “smoky” frame of reference joins with the frame of reference for emotion (love); it begins to impart many of its known (but unstated) features onto the emotional frame. That sort of imprinting from one frame of reference to another is very powerful and something we can use to our advantage.

There’s metaphor, and then there’s metaphor.

System Metaphor

The original published version of Extreme Programming (described in Extreme Programming Explained: Embrace Change [Bec00]) featured a fascinating practice: system metaphor. The idea is that any software system should be able to be guided by an appropriate metaphor. For instance, a payroll system might be considered analogous to a post office, with discrete mailboxes, delivery schedules, and so on. Or maybe a scientific measuring system could be thought of as a manufacturing system with conveyor belts, storage buckets, and so on.

All metaphors break down eventually, but the idea was that a sufficiently rich metaphor could help guide the design of a system and help answer questions that come up during development (this idea is somewhat similar to our discussion of system invariants in The Pragmatic Programmer: From Journeyman to Master [HT00]).

The features of the metaphorical frame of reference can imprint themselves onto the software system; implicit, well-understood properties of the real world start to transfer into the software itself.

But coming up with good metaphors—ones that help answer questions instead of causing more—can be hard. System metaphor, as a practice, is not as widely accepted as, say, test-first development or pair programming.

I was talking to Kent Beck, the father of XP, about metaphors in general, and he said this:

“Metaphorical thinking is fundamental in programming, as it is in all abstract thought. When we aren’t aware of our metaphors, we can lead ourselves astray. Mixing metaphors negates much of their power. Why do we override a method in a subclass? Clear metaphors make it easier to learn, reason about, and extend code.”

Clear metaphors are a powerful tool, but we don’t always get it right. Kent goes on: “Why is it that we mess up metaphors? Why is the converse of add not always delete? Why do we insert something into a container instead of add it? Programmers are sloppy in their use of metaphors—tables that aren’t at all like tables, threads that aren’t like threads, memory cells that aren’t like memory or cells.”

We use metaphors so much that we’re not even aware of many of them (as with windows, mice, and so on). It’s really easy to latch onto the first metaphor that presents itself without thinking too much about it. However, that’s probably not the best metaphor you could use.

Coming up with a really good metaphor that has generative properties suitable for your context is much harder. There is no “metaphor compiler” that can tell you whether it’s right or not; you have to actually try it in practice. Use the metaphor to guide your design, and be aware of how it helps—or not. You won’t know immediately; the outcome will be uncertain. And as we saw in Engage an R-mode to L-mode Flow, you need to be OK with uncertainty. Don’t force the issue; just be aware of it.

Generative metaphors are hard.

After some experience, you might suddenly realize that the metaphor you started out with was wrong, but this other idea really fits more closely (and that’s of course fine; it will just take some code refactoring).

If you’re not used to deliberately creating metaphors, you might find the practice of a system-level metaphor difficult.[60] But there is a way you can improve your ability to create metaphor and analogy, funnily enough.

So, This Duck Walks into a Bar…

Humor is neither a waste of time nor a harmless diversion; instead, it reflects an important ability necessary for thinking, learning, and creativity. It’s all about connections.

Humor arises from making novel connections across disparate ideas. It may be absurd, but humor is often based on identifying relationships and distorting them. For instance, “My best friend ran away with my wife. I’m sure going to miss him.” You assume the primary relationship is between the man and his wife, but instead it turns out that his relationship with his best friend is more important to him; the skewed connection makes it funny.

Or the all-time classic line from Henny Youngman: “Take my wife. Please.” You initially think that “take my wife” is merely an idiom that means “Consider my wife’s behavior, for example,” only to realize it is a plaintive request instead. That sudden linguistic U-turn is the source of humor. The creativity comes from realizing that “take my wife” can have multiple meanings and from exploiting the potential for misunderstanding.

Take my wife.

Comedian Steven Wright was famous for drawing interesting parallels, as with his friend the radio announcer who would disappear when driving under a bridge. That is, Wright drew the analogy that just as a radio signal can sometimes fade out under a bridge, so might the radio announcer himself. He also describes accidentally using his car keys on his apartment door and taking the building for a spin around the block.

Instead of drawing an analogy, you might also extend an existing idea past what’s reasonable. For example, if an airplane’s black box can survive a crash, then why can’t they make the whole plane out of the stuff?

In either case, the talent for humor comes from drawing or extending relationships beyond the norm, truly seeing “out of the box.” A quick wit—being able to draw connections between things that aren’t related or to extend an idea past its breaking point—is a skill well worth practicing, honing, and encouraging in your team.

Recipe 15Cultivate humor to build stronger metaphors.

Have you seen my fishbowl? The implicit, habitual frame of reference would lead you to think I’m looking for the glass bowl in which my fish resides. But if the answer is, “Yes, he just got a strike!” then we’re in a completely different, cartoon frame of reference where bowl was actually a verb.

By practicing making these far-flung connections, you’ll become better at doing so. In fact, you’ll actually begin to change the very fabric of your brain to accommodate this new activity.

Next ActionNext Actions
  • Make more metaphors. You can do this as part of software design or something more artistic—your own jokes, fables, or songs.

  • If you’re new to creating metaphors, start with something simple: a thesaurus (you know, that thick book that’s sold next to the dictionaries in the bookstore or that “other” window in your online dictionary program).

  • For more in-depth exploration, try playing with WordNet (available for all platforms from http://wordnet.princeton.edu). This gives you not only synonyms but also antonyms, hypernyms, hyponyms, and other derivations of various flavors.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.143.239.231