In the previous entry in this series on survival, success, and significance, we looked at the concepts of abstraction and computation, from the perspective of the natural world. We saw that abstraction and computation are not human inventions as commonly thought, but are instead aspects of how nature itself, process information.
We looked at a particularly powerful example of natural abstraction and computation, in terms of DNA transcription and translation. Finally, we spent some time on the remarkable insights of computer pioneers Alan Turing and John von Neumann. We saw how both men had an eerie capacity for modeling abstract processes, that would unexpectedly turn out to be excellent models, for describing some of the most complex and mind-blowing aspects of nature.
In this article, we will flip sides, and look at abstraction and computation specifically from the perspective of the human experience. We will talk specifically about abstraction and computation in human made electronic devices. Further, we will discuss how humans ultimately harnessed abstraction, and turned it into a superpower that changed the world as we know it. Finally, we will look ahead to some of the implications that abstraction had on our relationship with survival, success, and significance.
Abstraction and Computation in Human Devices
The device I am currently writing on (a 2018 iPad Pro, to be exact), is an electronic computer. It has circuits and transistors, that instantiate Boolean logic. This is a powerful concept to understand itself, but here is not the place for going into the weeds of computation. Our purpose here, is to just use modern computers to illustrate a concrete example of abstraction, and why it is so powerful in general.
Computation in Electronic Hardware
So, while I sit here at my desk, typing away on my iPad, I am only needing to deal with thinking about what I want to write, and typing it. I am not worried about the voltages, or the logic gates, or the number of bits required to represent this sentence. Imagine that someone showed me an X-ray image of my iPad, with all the circuitry and chips magnified, and asked me to locate this exact sentence on the device. I would be able to point out that it’s in the RAM if I’m actively working on it, and that it's somewhere on the SSD and also in iCloud, when I’m not working on it, but that’s about it. In other words, I know that I am writing on this iPad, and I know that my words must be represented in the RAM while I’m writing. I could not say anything beyond that, about the location of the sentence in the physical device, if my life depended on it.
This prompts us to question how it is possible for me to write anything at all, on my iPad. How is it that I can do anything coherent with a computer, whatsoever? How can I have enough control and competence, to type what I want, and display it on the screen? How can I set millions upon millions of transistors to do my biding, when I am utterly incapable of specifying the location of the data I am working on, or any of the operations that need to be performed in the CPU?
So, here is an example where I am clearly doing something that requires all of this lower level activity of voltages representing bits, and logic gates performing operations on inputs, to transform them into outputs. We know that somehow, my fingers typing on the keyboard are interacting with, and influencing, all of that lower level activity. Yet at the actual level of nanometers and nanoseconds, I have absolutely no idea what needs to happen, in order for this sentence to show up on my screen.
This is a prime example of abstraction, and why it can be so powerful. It means that we can do these higher level activities, without the lower level details. I can write an article, and although it requires a tremendous amount of lower level operations to accomplish this, we do not need to directly interact with each lower level detail and operation. We use our computers at a higher level of abstraction, than the voltages representing the bits, in the transistors and circuits themselves.
Here we can notice something about abstraction that is vital to understand. Abstraction allows you to operate above the lower level details and constraints. Abstraction also becomes a tool for top-down control, in the sense that it allows you to guide lower level activities towards an outcome, that would otherwise be nearly impossible to orchestrate at that lower level itself.
Writing can be hard enough as it is (for me, the editing is the hard part). Just imagine a world without the ability to use higher levels of abstraction. Imagine if people had to encode each character in a sentence, in terms of the voltage registered in the transistors and logic gates, at the lowest level of their computing devices.
Forget novelists struggling with writer's block, It might take a whole lifetime just to write a high school essay, if all of that lower level specification was required. Fortunately, this is why we have “software” known more commonly today as “apps”. These are sets of instructions in the form of computer code, that allow us to operate on a much higher level of abstraction, above the transistors and logic gates.
Abstraction as Software
All that an “App” or “Application” really does, is to make manipulations of the lowest level parts, possible at a higher level of abstraction. At this higher level of abstraction we have apps to edit videos, apps to listen to music, apps to send emails and texts, apps to creat graphic layouts etc. The reason that all of these “apps” can even run on the same device, is because of abstraction. The electronic computer, is the closet humans have come to creating an “everything machine”.
There was a time when people who edited video needed to physically cut film at large editing bays, and manually create transitions and frames by taping film together. I was fortunate enough to experience this first hand. I can assure you that after the cool factor wore off in the first few days, I was dying to get back to Final Cut Pro, to escape the constraints of physically having to alter a strip of film.
When we make something virtual in a computer, like a virtual filmstrip, a virtual desktop, a virtual page for writing, we are abstracting the concept to a higher level above the physical mechanical substrate and interactions. This is why we can do so many things on a computer, that we cannot do in the real world.
Even if you go all the way back to Charles Babbage and Ada Lovelace, they understood abstraction (in case you didn’t know, the first computer primmer we know of, also happens to be a woman). It was the “Analytical Engine” a mechanical computer of gears and shafts that Babbage and Lovelace imagined as a machine that could essentially do any calculation. This was a giant leap in thinking and ability. Babbage and Lovelace envisioned machines that could do anything, rather than being stuck to a single purpose, such as the many adding and multiplication machines that existed at the time. Unfortunately, Babbage was never able to construct the Analytical Engine, do to its complexity and the limited machining abilities of the day. All these years later, computational historians have simulated the Analytical Engine, and shown that it would actually have worked. At some point, an industrious group and even used 3D printing to build a scale model of the contraption. They were able to show that Babbage was onto something, that the beast of a machine would have worked, and that Ada’s programs really could have run.
Alas, time is a cruel warden. Babbage and Lovelace were so ahead of their era, that they would never get to see with their own eyes, what their minds had grasped in imagination. Let us make sure that we do our part to recognize true genius wherever and whenever it arises, and not let luck and timing hold the scoreboard hostage.
Fast-forward to Alan Turing and the advent of the so-called “Turing Machine”, and we again see abstraction and computation going hand in hand. The whole concept of a Turing Machine, was itself an attempt to create an abstract representation of the real computers of that time, which were generally women who were able to do calculations rapidly. Turing modeled the abstract notion of a human doing mathematics, and he realized that fundamentally mathematics was essentially a form of abstract mechanics. In other words, he saw that mathematics could be separated from all the notation and details of how humans do it. Instead, he could represent the process of doing mathematics by imagining an infinite tape, with a read and write head, that could perform simple operations based on symbols on the tape. It is this basic conception of computation, that underpins the modern computers we know and love today.
When you open YouTube to see the latest viral video, you do not want a miles long report of the activity of each transistor on your phone, or the color code for each pixel on your screen. You just want to see someone do a funny dance and fall on their face, before the microwave is done with your popcorn. The fact that you can fulfill that seemingly small desire, is, in fact, nothing short of a miracle. Just you consider everything and everyone involved, from Babbage and Lovelace, to Turing, Shannon, and Von Neumann, to Bill Gates and Steve Jobs, to you just having a laugh at some dumb guy doing a dance on YouTube.
This is the power of abstraction.
Computation and Abstraction in the Human Brain and Mind
Now that we have some sense of abstraction in terms of computation, and can see how important it is to the modern world, we can look at the concept of abstraction in the context of the human experience itself.
Abstraction is so powerful that it is essentially the human superpower. Most of what we associate with being human, is only possible due to our capacity for abstraction and symbolic representation.
Our use of language relies entirely on abstraction. Here we are just taking a range of sounds that can be produced and perceived, with natural human physiology, and yet we somehow decide that some sounds mean one thing, while other sounds mean something different. Again, this may seem strange because we normally don’t think about it, but have you ever realized that none of these sounds we make, “mean” anything. Just watch an American go to China and try to order dinner. Just watch someone from Japan go to India and try to get tickets to a concert. If you have any doubts, you then find out, how arbitrary and meaningless these sounds we make really are, when taken out of their original context.
We have different languages, precisely because there is no one language that is “right” in any sense. This again, is a feature of abstraction. At higher levels of abstraction, we can see that many lower level forms can be represented by the higher level item. We know that cars exist all over the world, in more shapes and sizes and varieties than we can count. That said, somehow we still have a word “car”, that we can apply to all these individual instances. How is this even possible?
We can only do this because the concept of a car is a high-level abstraction. This means that we can map that concept to any specific example that fits our definition. This includes, all the words from all the languages, that refer to the same general concept of a car. We use the ladder of abstraction to go up from the specifics, to the general, and then back down from the general to the specifics.
Deduction VS Induction
Another way to think about abstraction, and particularly, how it plays out in the human experience, is to consider how we use induction vs. deduction. Deductive logic means starting from a general concept and then getting progressively more specific. In contrast, induction, means starting from specifics and getting progressively more general.
Deduction allows us to go from the more abstract to the lower level specifics, while induction takes us from the lower level specifics, to the higher level abstraction. This ability to go up and down this ladder of abstraction at will, is literally a human superpower compared to other animals. It allows humans to map their experiences, and environment, to all manner of thoughts and behaviors, that only become meaningful at certain scales.
This power of abstraction is akin to having a personal LHC (Large Hadron Collider) to image the smallest scales, and the James Webb Space Telescope at our disposal, to peer deep into the cosmos. We can operate in the world differently than other animals because we do not experience the same world as other animals. This capacity to climb up and down the ladder of abstraction, gives us a special kind of “vision”. The kind that allows us to “see” not only at different scales, but to imagine entirely new worlds, that we could never see with our eyes because they don’t exist in the present moment.
Most animals are stuck to the specific niches and behaviors they perform to survive. They can't abstract the notion of themselves, and their survival, above the level at which they are tightly coupled with the natural world.
Humans, on the other hand, are radically different. We are the animals that decoupled from the natural world, through the scaffolding of abstraction, and this is what changed everything.
In this article, we covered abstraction and computation from the perspective of the human experience. We looked at electronic devices made by humans, and saw how they implement abstraction and computation to do so many useful things for us.
We also took a step back to look at how abstraction in general, became a human superpower, that enabled us to truly separate from the natural world in many important ways.
Looking ahead to the next entry in this series on survival, success, and significance, we will focus on a very specific kind of abstraction, that is central to the human experience. We will look into the way that humans have abstracted animal survival, into notions about the “success” of a “self”. A being that lives not in a world of trees and rocks that exist in the present. But instead, a being that lives in a world of narratives, and anxieties, about a future yet to arrive, and a past forever, out of reach.