Understanding the systems we exist in: Computing machines as an analogy

Eric Hekler
10 min readNov 21, 2020

In a previous post, I wrote a way of thinking about the story of humans in a non-human-centric way. I brought up this idea that humanity grew out of a series of emergent properties coming out of increasingly more complex systems built upon and interacting with other systems, including the physical, life, eco, social, and technology systems. Central to this idea was that each system has concrete rules and ways of balancing out the countervailing pressures between resonance and diversity, but those pressures manifest differently within each system.

I’ve realized now that what I wrote was probably way to abstract for anyone but me to find useful. In an effort to make this more understandable, the focus of this post is to offer an analogy: computing machines.

Now, before we go any further, I imagine some of you had the thought I first had. Computers?! Really?! Using computers as an analogy is totally cliché. And, it’s often a bad analogy. So why go to computers?

Well, first let me say I agree. It’s not a perfect analogy, which I’ll get to at the end. Still, I’ve thought about hardware, firmware, operating systems, software packages, and the internet and realized that they are surprisingly well aligned, as an analogy, with the systems I wrote in that previous piece. Let me explain.

Computers have multiple layers of emergent complexity; from the very concrete physical systems (i.e., the hardware), to facets that enable greater complexity and flexibility of use including firmware, operating systems, software programming languages, internet-programming languages, graphical user interfaces for software and internet tools, add-ons within software, etc.

The physical system from my original post is analogous to the hardware of a computer. All computers, when looked at in one sense, are physical things. They are physical configurations of molecules, chemicals, and the like organized into very particular ways, such as circuits, transistors, and what not, which are combined to create key tools like processors, memory, RAM, monitors, keyboards, and the like. The physical computers are that which is embodied and exists in the world. Returning to the original post, the physical systems of matter and energy are where all other systems manifest from. Without physical stuff, there is no life, ecosystems, humanity, etc. Just like how the hardware of a computer (e.g., circuits, transistors, memory, etc) supports all of the other computing tools, the physical system supports all of the other systems.

The life system is analogous to the firmware of a computing machine. Firmware is the basic language and code that transforms the otherwise inert physical objects of a computer into something that can actually “compute” and, thus, “come alive.” The firmware is much like the basic building blocks of life including DNA, proteins, and the spark of life that is embodied for a time within physical forms (for a computer, that life comes from electricity). Just like how firmware provides the basic instructions to transform the hardware of a computer into a thing that can “come alive,” so to do the basic building blocks of life provide the starting features that other emergent systems build on top of to come alive. If there were no firmware, there would be no operating systems, software applications, or the internet, just like there would be no ecosystems, technologies, or social systems without the fundamentals of the life system.

The ecosystem is analogous to the operating system (OS) of computing machine. An operating system, like Windows, MacOS, iOS, or Android, establishes the context and the ground rules for how the hardware and firmware will produce things and what is in scope vs. out of scope for any particular hardware/firmware/OS instantiation. Is this particular computing machine something that is used for games? Navigation? Taking photos? Supporting work? Running statistical models? multiple things? The OS uses the building blocks of the hardware and firmware to enable emergent complexity of higher order possibilities related to human intentions. What is possible and desirable is different for different hardware/firmware/OS mixtures. For example, an Android phone (which is a very specific instantiation of hardware, firmware, and an OS) does different things than a MacBook laptop. Like an ecosystem, a specific hardware/firmware/OS mixture establishes what is possible within that specific device and space. Further, the longer an operating system exists in a healthy way, the greater the diversity of uses emerges, as evidenced by the continued growth and evolution of different apps available on iPhones and Android phones as well as on personal computing, and the like. Overall, these operating systems are like different natural ecosystems, such as deserts or jungles that support different emergent manifestations of life interacting with one another, in ways that are appropriate for that ecosystem. Just like how the operating system transforms the hardware and firmware into a complex computer that can support a variety of functions and different instantiations of computing, so to do ecosystems establish the context for physical materials and the building blocks of life to transform into emergent complexity of organisms co-mingling into inter-connected, inter-related, and increasingly more complex organisms interacting with other organisms.

The technology system, which is the emergent system that transforms physical/life/ecosystem manifestations into tools that can accomplish aspirations, goals, and tasks, is analogous to applications (e.g,. Office Suite, Adobe Creative Suite). These applications use the ground rules of the operating system, firmware, and hardware but then produce new and emergent complexities that are inspired by the goals, aspirations, and tasks of people. Often, what people use the tools for go well beyond any of the dreams and ideas of the people who created the hardware, firmware, or operating systems. For example, I highly doubt the original creators of iOS could have possibly imagined the incredible array of different apps that exist today to support so many different types of goals (e.g., healthful living, productivity, etc). Just like how applications make it possible for computers to be used by a wide range of people for a staggering array of activities, technologies, very broadly speaking (from fire to artificial intelligence and everything in between) enable organisms to transform the raw materials of the physical and life systems, and the ground rules laid out by ecosystems into tools that enable their intentions and desires to manifest.

Finally, the social system, which includes all of the ways living organisms have devised to communicate, organize, share resources, and do things together, is analogous to the internet. The internet, after all, is a tool of connection. It establishes the rules that enable people and groups of people to communicate, connect, interact, and do things together. Just like how the internet establishes pathways, rules, and other structures to support interaction between people, so to do the social systems organisms create (e.g., tribes, packs, governments, nations, international organizations) provide the socio-cultural structure that guides how organisms interact. The internet enables emergent concepts that, in reality, are not bound to specific physical systems but, instead, can be transferred “through the cloud.” Thus, both the internet and social systems involve emergent systems that are inherently intersubjective; meaning that the stuff that happens within this layer of complexity can only be fully understood in the context of the specific people, their subjective perspectives and backgrounds, and the ways in which those concepts and perspectives have co-evolved together. This can be seen with the many many different groups and sub-groups, and sub-sub-sub groups, etc that can be found on the internet based on different sites (e.g., Reddit, 4Chan, Wikipedia, GitHub) and then the discussion boards, connections, and the like within and across sites. It would be quite literally impossible to understand anything about the internet through careful study of the hardware, firmware, or OS as, ultimately, the “action” in this layer is not physically embodied in the same ways as the other systems. This is also true for social systems. They cannot be understood with careful study of the physical, life, eco, or technology systems alone. They require engagement with the subjective experiences and understandings of the actors as, ultimately, the social system is all about intersubjectivity.

OK… so that’s the analogy. Now that you have that in mind, I invite you to re-read the previous post. My hope is that it might make more sense.

Returning though to key things I brought up there, I hope you can see from this computing machines analogy that everything is both highly inter-dependent and, simultaneously independent.

In terms of interdependence, the higher order systems, such as social systems and technology systems are completely reliant on the underlying needs and requirements on the lower-level systems of the eco, life, and physical systems. What this means is that, if the ecosystems, life systems, or physical systems collapse, so will the social and technology systems that are reliant on them, which is in line with Attenborough’s predictions, discussed here. This point is easy to see when looking at the analogy. Can the internet exist without operating systems, firmware, and, ultimately, hardware to run it? Similarly, can software like Microsoft Office exist without operating systems, firmware, and hardware? The answer to both is, obviously, no. Higher order structures are reliant on these lower order systems.

The higher order systems are also, in some very interesting ways, independent. Do you think someone with deep knowledge of computing hardware will be able to fully describe, predict, and facilitate the evolution of all that happens on the internet? Of course not! Each time a new emergent system comes into being, it creates new rules and ways of being. Those new ways of being, while interdependent, are also independent as they run by their own set of rules. This can be easily be seen in computing machines via the concept of programming languages. The programming languages needed to work on firmware (e.g., working in binary code) are very different from the programming languages used to work on the internet (e.g., HTML, CSS, Javascript). It is crazy to think that those who are really good at binary code will be able to deeply understand what happens in advanced uses of the internet. The reason why this point is important is that there is a notion among some engaged in science, technology, engineering, and mathematics that, if the physical, chemical, biological, and ecological systems can be understood well enough, then human desires, aspirations, and goals and the ways in which humans and other living things interact will be fully understood. The analogy helps make clear just how ridiculous that notion is. While the physical, life, and ecosystems enable emergent complexity, that does not mean they can explain the emergent complexities.

Being simultaneously interdependent and independent is the fundamental tension of existence and, by extension, a core challenge for living organisms interested in understanding one’s place. On one hand, having full understanding of lower layers (e.g., the physics layer/hardware), in no way, will ever allow you to understand how to work, function, and thrive in specific social or technology systems. Why? Each layer functions with different ways of being, ways of knowing, routines and rituals, and, different success criteria and, particularly the technology and social systems, are highly context dependent and defined through the intersubjective understanding and actions of the people involved. With that said, it is quite possible to try and do things or make things happen, that make sense in one specific social of technology system instantiation but that, ultimately doesn’t work. Returning again to computing as an analogy, computing has the notion of a leaky abstraction. Each higher order programming language, such as those used to build an operating systems vs. firmware, are reliant on the lower order programming language’s rules and operating procedures. The higher order programming languages abstract things out to make it easier to work on more emergent concepts. For example, rather than writing in binary code, operating systems enable people to write out commands using written word text. Further, graphical user interfaces enable people to make things happen through clicking and interacting with graphics. A leaky abstraction is when the higher order programming language encoded rules and ways of being that are not possible in the lower layer language. For example, one could click on a series of activities in a graphical user interface but, because it was not programmed properly in a layer below, nothing happens. That experience of, “but this should work” is like a leaky abstraction. It SHOULD work and the only way you would know why it isn’t working is if you dig into the layer below.

This leaky abstraction issue is also a problem with physical, life, eco, technology, and life systems. For example, economics has long made the assumption that humans are rational actors. But, based on neuroscience, it is increasingly obvious that our brains and neurology are not set up for us to be nearly as rational as we think we are. Thus, perfectly resonant predictions about how people will exchange resources made by economists don’t work out because their assumptions about how our brains work are wrong.

Interdependent independence establishes a fundamental challenge for all living organisms who wish to understand their place and role among other living things. We must simultaneously seek to understand and honor the rules, processes, and ways of being that exist within each system, and, simultaneously, recognize the inherent interdependencies, particularly of higher order systems to lower order systems, which make it imperative to seek to understand the ways in which these interdependent, independent systems are reliant upon and connecting to one another. My hope is that the computing machines analogy provides a way to make this abstract idea a bit more concrete.

With that though, it is also essential to highlight the ways in which this analogy is bad. Most important is that, unlike computers that have humans creating these new interdependent, independent systems, the layers of systems, physical, life, eco, technology, and social systems are not nearly as clearly distinct from one another. Indeed, the framework I’m using to describe the real-world is merely a way to try and make something unfathomably complex a bit more understandable. Thus, its essential to recognize that the framework and analogy are both not literally true. That said, just because they are not literally true (this is why I called it an origin story in the original post) does not mean that they can’t be useful. My hope is that this way of thinking is useful to help you, the reader, understand the complexity you are a part of. Once you start to internalize the implications of this, I strongly invite you to not get stuck on the analogy or even the labels of the systems I offered and, instead, play with other frameworks and ways of describing that work best for you and your way of being in your context with others.

--

--

Eric Hekler

Reading and writing about ideas for creating a society of health, well-being, and equitable participation. Science | Design | Behavior | Psychology