
Sign up to save your podcasts
Or


An elaboration on episode 49's description of the brain as a prediction engine, focusing on a theory of what emotions are, how they're learned, and how emotional experiences are constructed. Emotions like anger and fear turn out to be not that different from concepts like money or bicycle, except that the brain attends more to internal sensations than to external perceptions.
If the predictive brain theory is true, the brain is stranger than we imagine; perhaps stranger than we can imagine.
Main sources
Other sources
Credits
Picture of the University of Illinois Auditorium is from Vince Smith and is licensed CC BY 2.0. It was cropped.
Memories appear to be constructed by plugging together stored templates. Do concepts operate the same way?
Sources
Credits
Image of street warning from Dublin, Ireland, via Flickr user tunnelblick. Licensed Attribution-NonCommercial-ShareAlike 2.0 Generic.
We see a creature near us, and we describe it as a dog. Why that and not "mammal" or "animal"? And if that dog's a Springer Spaniel, and we know it's a Springer Spaniel, why do we nevertheless call it a "dog"?
In an apparent digression, I discuss the idea in cognitive science of a "basic level of categorization" (or abstraction). While we construct hierarchies and taxonomies, we tend to operate at one specific level: one that's not too abstract and not too concrete.
Sources
Credits
The image of the dog and cat is via https://fondosymas.blogspot.com. It is licensed as Reconocimiento-NoComercial-CompartirIgual 3.0 España.
It's fairly pointless to analyze metaphors in isolation. They're used in a cumulative way as part of real or imagined conversations. That meshes with a newish way of understanding the brain: as largely a prediction engine. If that's true, what would it mean for metaphorical names in code?
Sources
* Lisa Feldman Barrett, "The theory of constructed emotion: an active inference account of interoception and categorization," Social Cognitive and Affective Neuroscience, 2017. (I also read her How Emotions Are Made: The Secret Life of the Brain (2017) but found the lack of detail frustrating.)
* Andy Clark, Being There: Putting Brain, Body, and World Together Again, 1997.
Credits
Image of a glider under tow from zenithair.net.
When we name a class name `Invoice`, are we communicating or thinking metaphorically? I used to think we were; now I think we aren't. This episode explains one reason: ordinary conversation frequently uses multiple metaphors when talking about some concept. Sometimes we even mix inconsistent or contradictory metaphors within the same sentence. That's not the way we use metaphorical names in programming.
Sources
Credits
Picture of cats-eye marbles from Bulbapedia, the community-driven Pokémon encyclopedia.
In 1970, Winston W. Royce published a paper “Managing the Development of Large Software Systems.” Later authors cited it as the justification for what had come to be called the "waterfall process." Yet Royce had quite specifically described that process as one that is "simplistic" and "invites failure."
That's weird. People not only promoted a process Royce had said was inadequate, they cited him as their justification. And they ignored all the elaborations that he said would make the inadequate process adequate.
What's up with that? In this episode, I blame metaphor and the perverse affordances of diagrams.
I also suggest ways you might use metaphors and node-and-arrow diagrams in a way that avoids Royce's horrible fate.
In addition to the usual transcript, there's also a Wiki version.
Other sources
Credits
Dawn Marick for the picture of the fish ladder. Used with permission.
Conceptual metaphor is a theory in cognitive science that claims understanding and problem-solving often (but not always) happen via systems of metaphor. I present the case for it, and also expand on the theory in the light of previous episodes on ecological and embodied cognition.
This episode is theory. The next episode will cover practice.
This is the beginning of a series roughly organized around ways of discovering where your thinking has gone astray, with an undercurrent of how techniques of literary criticism might be applied to software documents (including code).
Books I drew upon
Two of the Metaphor and Thought essays have PDFified photocopies available:
Other things I referred to
Credits
The image of an old throttle assembly is due to WordOrigins.org.
In this episode, I ask the question: what would a software design style inspired by ecological and embodied cognition be like? I sketch some tentative ideas. I plan to explore this further at nh.oddly-influenced.dev, a blog that will document an app I'm beginning to write.
In my implementation, I plan to use Erlang-style "processes" (actors) as the core building block. Many software design heuristics are (implicitly) intended to avoid turning the app into a Big Ball of Mud. Evolution is not "interested" in the future, but rather in how to add new behaviors while minimizing their metabolic cost. That's similar to, but not the same as, "Big O" efficiency, perhaps because the constant factors dominate.
The question I'd like to explore is: what would be a design style that accommodates both my need to have a feeling of intellectual control and looks toward biological plausibility to make design, refactoring, and structuring decisions?
Sources
Mentioned
Prior work
What I'm wanting to do is something like what the more extreme of the Extreme Programmers did. I'm thinking of Keith Braithwaite’s “test-driven design as if you meant it” (also, also, also) or Corey Haines’s “Global Day of Code Retreat” exercises (also). I mentioned those in early versions of this episode's script. They got cut, but I feel bad that I didn't acknowledge prior work.
Credits
The image is an Ophanim. These entities (note the eyes) were seen by the prophet Ezekiel. They are popularly considered to be angels or something like them, and they're why the phrase "wheels within wheels" is popular. I used the phrase when describing neural activation patterns that are nested within other patterns. The image was retrieved from Wikimedia Commons and was created by user RootOfAllLight, CC BY-SA 4.0.
In the '80s, David Chapman and Phil Agre were doing work within AI that was very compatible with the ecological and embodied cognition approach I've been describing. They produced a program, Pengi, that played a video game well enough (given the technology of the time) even though it had nothing like an internal representation of the game board and barely any persistent state at all. In this interview, David describes the source of their crazy ideas and how Pengi worked.
Pengi is more radically minimalist than what I've been thinking of as ecologically-inspired software design, so it makes a good introduction to the next episode.
Sources
Chapman links
Other
Credits
The Pengo image is by Arcade Addiction. Retrieved from Wikipedia. Fair use.
Scientists studying ecological and embodied cognition try to use algorithms as little as they can. Instead, they favor dynamical systems, typically represented as a set of equations that share variables in a way that is somewhat looplike: component A changes, which changes component B, which changes component A, and so on. Peculiarities of behavior can be explained as such systems reaching stable states. This episode describes two sets of equations that predict surprising properties of what seems to be intelligent behavior.
Source:
Either mentioned or came this close to being mentioned
Credits
The image is from Maxwell's "On Governors", showing the sort of equations "EEs" work with instead of code.
From the publisher's feed