This is an ongoing collection of longer form thoughts on the design and philosophy behind the Coalescent Computer.

Blog < Understanding Coalescence

@jakintosh | May 17, 2023

The name of this project was chosen carefully and intentionally, because it perfectly describes what it is: a coalescent computer. I expect that the vast majority of people who encounter this project will know exactly what I mean when I say “computer”, but will have almost no idea what I mean when I say “coalescent”. Even if you're familiar with the word, my definition is quite a bit more nuanced and developed than just the conventional meaning. So to truly understand what I'm trying to do with this project, the first thing we need to do is understand exactly what I mean by “coalescence”.

The Philosophy of Coalescence

Before we dive in, it's important to explain the base that I'm working from. From my personal philosophical viewpoint, I see everything to be rooted in bottom-up emergent systems. Particles have certain properties that make them behave in a way that create the concept of atoms, atoms then have emergent behaviors that allow for the creation of molecules, and so on. A human being is not a top-down “soul who owns a body”, but a complex system whose consciousness emerges from the connections between its cells, tissues, and organs. (I still think that the complexity creates a beauty that matches the spiritual notion of a soul.)

This emergence at each layer of abstraction—whether it's particles into atoms, atoms into molecules, or organ systems into human consciousness—follows a pattern where a few simple rules and relationships create a set of possible outcomes that are obvious. For example, the inherent nature of particles make it obvious and natural that they would come together into different kinds of atoms. This tendency for things in the universe to have obvious and natural ways to structure themselves into systems of a higher complexity is the origin of what I mean when I say “coalescence”.

Coalescent Beliefs and Information

This bottom-up understanding of the universe—where everything is matter that coalesces into obvious structures that have higher degrees of complexity—allows us to see many things from a new perspective. One of the most profound ways this has shifted my thinking is how it has changed the way I see human beliefs, and to a larger extent how I see collections of information in general. But let's start with the beliefs, since it's an easier story to tell.

When we think about our beliefs, we generally see them from the “top-down”. We believe that the world is a certain way, that humans have a certain nature, that some idea is good or bad. Underneath those beliefs is evidence in the form of supporting ideas or direct experience. In a coalescent understanding of belief, it is the supporting ideas and direct experience that come first, and then the “belief” emerges from the sum of all that evidence. In fact, as sensory agents, the only type of evidence we can have is direct experience, because supporting ideas come either through observation or from someone else telling us about an idea; in other words, the only way to get ideas into our brain is through direct experience.

As an example: if we believe a coworker is lazy or unreliable, it may stem from our experience of witnessing their late arrival to work every day, reinforced by our experience of office gossip. However, if we one day over hear that the coworker had been given an ongoing early morning task outside of town that is challenging and inconvenient, this piece of information changes the context of all the previous information; the emergent structure of the belief changes, and we can no longer see them as lazy. With a top-down understanding, we may hold onto our original belief even in the face of new information and find ways to dismiss the evidence or find new justifications. However, this causes cognitive dissonance because it is going against the natural, emergent, coalescent structure of a belief.

If you squint a little, you can look at this whole thought experiment to be not just about human beliefs but about information more broadly, as I alluded to earlier. Sets of data points when collected together coalesce into the more complex form of information, and sets of information coalesce into knowledge. Just like particles have layers of abstraction that create forms of greater complexity, so does information, but that information can be seen to coalesce through a pattern of aggregation.

Exploring this further, if we are given a set of information, we can take any number of subsets of the information and get different “conclusions” based on which pieces of information are included in the subset. In this way, the “conclusion”—the more complex information formed from the coalescent aggregation—is defined by the content of its component information. We can give a name to the conclusion to make it easier to reference, but that is just an abstraction, similar to how an “atom” is just an abstract name for a set of particles behaving in a certain way. And so, just like we showed matter to be coalescent, information (or “ideas”, or “concepts”) are also coalescent. (If you want to read an even more obtuse and long winded exploration about how these two things are related, check this out.)

The Coalescent Computer

With this exploration, I hope that it has become a little more clear what I might mean when I say “Coalescent Computer”. Its goal is to embody the principles of coalescence that we've covered above, especially as it pertains to information. My hunch is that while information is naturally capable of coalescing, different data structures can make this process easier than others, and that a computing system designed from the ground up to promote coalescence is a fundamental shift that will allow social computing to be more human-centric and rooted in natural systems thinking.

The key design component of this system, which will be explored in detail in a future post, is called “Coalescent Data”. This is the unified data model for the Coalescent Computer that enables "information coalescence through aggregation", and exists as both a specified protocol that can be implemented, and also a general approach to data structure design that permeates the project.