-
Notifications
You must be signed in to change notification settings - Fork 0
TheVoid
The void is one of ChristopherAlexander's fifteen fundamental properties of living structure.
Examples from architecture and urban planning include plazas, courtyards, fields, lawns, and the bare floor of a Shaker schoolroom.
Superficially, a void may appear to be just empty space, and therefore inherently Dead—the opposite of living structure. However, the "purpose" of a void is not to remain void, but to be intermittently filled with the blooming of smaller, shorter-lived structures.
A void represents a region of low entropy. Due to the LawOfNoHeadroom, a void "wants" to be filled: since there is ample opportunity for entropy to increase—a vast store of unharvested negentropy ripe for the taking, as it were—voids tend to host the structures and processes that make Life possible.
A bare kitchen counter is a void. Its purpose is not to remain bare, but to give the cooking Process Headroom to produce temporary disorder without becoming roadblocked or destructive. If you start an ambitious cooking project without first tidying the kitchen, you'll quickly run into a situation where you have to clean something in order to make progress (e.g. you're out of clean saucepans, or there's no counter space left to prep the next ingredient). Starting from a void delays the point at which this happens.
A void, then, is a venue where value-producing cycles of temporary disorder and order can take place.
In The Phenomenon of Life, ChristopherAlexander writes,
differentiation of minor systems almost always occurs in relation to the "quiet" of some larger and more stable system.
In software, innovation blooms when programming languages, operating systems, and other platforms change slowly, and are unopinionated, quiet, and "empty". The stability of platforms creates the headroom, the region of local negentropy, that allows the complexities of applications to flower and bear fruit.
Freshly-tidied code can also be considered a void. The purpose of tidying is to make it easier to implement the next feature—i.e. to create local negentropy that we can harness. Tidied code rarely stays tidy for long, for this reason—implementing feature after feature uses up the negentropy until we reach the point where we must tidy again. Of course, it's best to refactor continuously to keep a healthy amount of headroom.
Voids exert a powerful "sucking" force. They want to be filled with complexity. If this sucking force is uncontrolled, it can pull the wrong kinds of complexity into the void. For example, if we're designing a new application, we might feel an urge to fill it with complex and speculative features. Giving in to the power of the void in this way is rarely productive.
My personal view is that one of the benefits of meditation is that it trains one to not react to every void by trying to fill it with stuff. Meditation is the practice of simply allowing the void to exist. Once we've learned how not to give in to the sucking force of the void, we can be more deliberate about how we spend its negentropy.