PTom Logo

Full Brain Programming

A Geek’s Take on Multi-Hemispheric Neurology and Software Development

The Brain

The human brain is separated into two distinct hemispheres, split down the middle front-to-back. Anyone familiar with basic biology will have seen this on cross section diagrams, as well as the generalized labels of specialization for the two halves. While it’s true that the functions of higher consciousness within the neocortical regions of the respective hemispheres differ, it’s also important to note the operative similarities and redundancy in the design as well.

Each half is equally paired to sensory stimuli as provided by taste, smell, sight, touch, and sound, as well as input from the limbic and primitive sub-areas of the brain which process and filter reactions to those stimuli before insertion into consciousness. The redundancy is not perfect, however, in that the signals received are those generated by a fixed half of the body directly wired into the respective hemisphere. The simultaneity of the combined experiences prevent this from being a disorienting experience however (since anything we hear with one ear is generally heard with both, for example) and is reassembled into a single contiguous phenomenon, leveraging hemispheric disparities to be able to proved depth perception and rudimentary echolocation, etc.

The real divergence comes when one reaches the frontal lobes. These portions are responsible for housing operations dealing with conscious thought and complex reasoning, doing so with a high degree of specialization. The right tends more toward the spatial, intuitive, abstract, emotional and creative tasks, while the left provides language, critical and logical thought, and temporal referentiality (chronological awareness). These are not separations of “personalities” inherently conflicted with one another, nor a contest of dominance within which there is any “proper” way to think or behave. Personality is a construct expressed across both sets of functions, and what matters to the personality matters equally within them, in their own ways.

Hemispheric (Un)Cooperation

But they don’t communicate very well with each other. Which is not to say that there is an inhibition or implicit miscommunication which will confound information as it crosses between the the two. There is also, to borrow hardware design terminology, no latency or bandwidth restrictions on the communications bus. This bus takes the form of the corpus callosum, a dense bundle of nervous (meaning “of nerves,” not “anxious or excitable”) fibers whose only duty is to provide a channel by which information and data may be exchanged.

The difficulty in exchanging that data is based on differing APIs: the right hemisphere has no mechanism to appreciate the number 5, although it can be familiar with the shape and sound of it, and spatial groupings which miraculously come to the same total when counted. Similarly, the left hemisphere cannot comprehend the color yellow other than as a word (non-pictorially), wavelength of light, or hexadecimal RGB representation (my favorite tends a little more toward the golden variety with a touch more red/less green, an #FFED00). How then is it possible for a word to evoke spacial concepts, or for creative concepts to be placed within the logical structures required by software development?

It’s interesting to note here that complex structures are almost always based on abstract spatial relationships rather than strict logic, and it is the rigidity of rules in the medium in which they are represented which forces them to appear complex. Most accountants are left-handed, showing a clear preference for the abstract processing capabilities of the right hemisphere – meaning they’re also cut from the more emotional and creative fabric of society, directly opposite of the bean-counter exactitude embodied by the more simple and stereotypical book-keep the word “accountant” usually invokes. Real rules of accounting are difficult for us right-hander folk to grasp at a glance because we make the mistake of attempting to process them solely in within the logical realm of the left hemisphere, rather than correctly mapping them into their true spatial connotations on the right.

How does one establish this ability to do that translation if the two halves don’t speak the same neurological language?

Memory & Concurrency

The first way is through the parallelism of experience, mentioned briefly earlier, and then through concurrency of processing.

Memory is stored across the entire brain as coordinated by the hippocampus (found in the limbic system atop the brain stem). Even though there are very different types of memory we’ll treat them under the generic class name here just to be easier on the science. An event/experience or concept is stored in the brain the same way it is initially represented, as a series of impulses in a variety of locations. The memory is committed to long term storage as this impulse pattern is reinforced by branching of the synapses, which is literal physical growth and extrusion on the dendrites of neurons. The formation or reinforcement of the connections created by this growth make it more probable that subsequent stimulation in similar areas will reproduce a similar pattern or portion thereof, like the path-of-least-resistance in any electrical circuit. Trigger cells, regular neurons which just happen to fill this particular role during the memory formation, are then specifically assigned to be the gateway to the reproduction of the pattern in its entirety. The number and strength of the connections to the trigger help determine the likelihood and ease with which it can be remembered. Thus all habit and practice in the brain changes its shape, and does consume massive amounts of resources from the bloodstream; it’s OK to be tired if all you’ve done all day is think really hard.

Since the experience takes place in both hemispheres simultaneously, there is a temporal coordination: a time-index which can be used to reproduce coinciding patterns. Returning to the example of color, a child knows what ____ is long before it knows what “yellow” is. Putting the two together is a matter of hearing the word at the same time the color is physically present, in enough different contexts (different objects of the same color, different textures and materials, smells, etc.) that the color stands out as the sole common right-brain event which overlaps with all of the times the funny-looking big person has been making the same new sound with their face. Once this gels and is well practiced, remembering and interacting with the stored fact in a variety of partial contexts becomes easier because the whole pattern is subconsciously reiterated. Largely through the acquisition of language, the process of learning simultaneously with both halves of the brain becomes a simple habit.

Once enough patterns are stored in this fashion, dwelling on their recall while exploring new territory creates the opportunities for the synthesis of new associations based on the discoveries of either hemisphere, still effective across the whole because they’ve coincided temporally once again.

The Full Brain

How then to use this to the advantage of a software developer or any discipline requiring interaction with highly-complex systems? Making the most of the specialization of both halves must be done by engaging each of them fully in the task at hand through the channels in which they are most apt.

For me, I’m barely able to function when I crack open a new API regardless of whether or not I’m already familiar with the language. The features and structures required by the unfamiliar interfaces have to be walked through, step by step, module by module until I can grasp them categorically and generically. Even then it takes a fair amount of practice within that framework before it becomes comfortable and intuitive, which it manages to do all at once with enough of the right kind of exposure: it just clicks. It is then that an analog for the logical structures has been created, and I can leverage the spatial navigational strengths of the right hemisphere to make my way around the program seemingly blindfolded.

The spatial mapping happens piece by piece, understanding the code as its general “physical shape” (patterns of line lengths or syntax highlighting), its relative position within its containing file (amount of code above vs. below), and more nebulously it’s “flavor.” This is an intentional synaesthetic translation of logic into kinds of phantom sensations: how the code makes me feel regarding its elegance and efficiency, the degree to which it needs to reach out to other modules vs. self-containment/sufficiency, etc. These become aspects of spatiality, but not something that can be drawn well or represented in three-dimensions because it is abstract enough to be not so constrained. The process may sound exotic, but happens largely unconsciously, and most developers do it to some degree or another.

Once a portion is in place, others then build off of it by using it as a point of reference, and soon the entirety of the application has a feel to it as well as a virtual expansive layout. The whole of this “abstractification” is like defining a subroutine – a simple function which stands in for a body of logic and can be comprehended simply by identifying the name of that function in the future. This allows for a higher-level overview, essentially zooming out on the granularity of the code all the way to an architectural flow diagram. It’s the reason those things are ever drawn in the first place, and these methods of whole-brain analysis are the key for reverse engineering or developing the visual/logical relationships which result in a usable, maintainable product without overloading the mind. Which means, for you non programmers out there, we have some secret tricks we do to make all the gobbledygook into something meaningful; participation in this field is not an automatic indicator of intelligence or even aptitude (just take a look over at TheDailyWTF, which celebrates “Curious Perversions in Information Technology”).

The conclusion? Try bringing the unconscious analysis to the foreground and more intentionally leverage the kinesthetic aptitudes. There are several ways of doing this and even artificially jump-starting it (diagramming with a non-dominant hand, for instance). Perhaps in a future article I’ll explore exercises and tests designed around that, but for now this should be enough food for thought to expand your universe just a little more. And if not, it was a free read.


Merry Christmas!


(click for a larger version)

Conference Calls

Todays B.S. was brought to you by the letters C, Y, and A!

It’s interesting how somewhat loose business acronyms frequently stand for foul language, especially where it butts up against the geek realm.


Why I Write

Venn DiagramAt least this most recent Brian Singer film falls short of being overtly self-congratulatory (unlike some films); and that’s about the best thing I can say for it.

I was greatly disappointed by the picture. It made frequent un-subtle alliteration to the original motion picture, attempting to attach itself to the bygone sentiment and show its “roots.” However, said roots were completely disconnected from the meat of the new narrative and incompatible with the advancement of the story, feeling tacked-on and pointless.

Everything went downhill from there: The original Christian allegory (as voiced by Brando and reused verbatim) was taken too far in both imagery and recitation (especially given that the Man of Steel apparently fathered an illegitimate child), feeling disrespectful in light of the fact that nothing in the film made me want to care about, respect, or hold any affection for the characters and thus their association with those things I do respect sullies the esteemed principal rather than redeems the character. The new plot, attempting to portray itself as epic in scope, moved slowly and never once inspired a sense of danger or immediate peril (nor long-term peril). The displays of physical jeopardy were trotted out and predictably resolved, even re-using gags in the process and holding all of the supposedly tense moments for several beats too long. Physics, of course, were completely disregarded – which is fine in a superhero flick, but I do expect some measure of internal consistency and found none here.

Which brings me to Why I Write: too often I cross paths with this kind of mediocre creativity and find it frequently lauded as success. I’m a terribly harsh critic, though not because I lack compassion or a desire for entertainment: there are those works which satisfy and I deeply enjoy them. Most simply fail to live up to my expectations of quality and originality (read nothing penned by Kevin J. Anderson, I beg of you). My goal is to compose something which does meet with my standards for approval, if only to put my money where my mouth is and justify my armchair editorials. Once I walk that shodden mile I hope to be either humbly corrected or vindicated in my judgments.

In the mean time, to anyone with $204MM laying around: there are far better investments than handing it over to the likes of Brian Singer. Please do collective humanity a favor and put culture ahead of profits.

Older posts

Newer posts