The Magic of Patterns
Patterns mean everything to living and nonliving things. They are so fundamental that the nature itself is built around patterns. We take them for granted in our daily lives and treat them as “expectations" or “familiarities". They are also known as behaviors, routines, statistics, science and mathematics. In the world of computers, we call them programs, functions, services, APIs etc. Admittedly, I do not have enough background to write about patterns authoritatively. But features of these patterns are so intriguing and evident that even laymen like me can write a line or two.
When we wake up in the morning, we “expect" the sun has risen. We keep a mental clock throughout the day. That clock decides when to eat, drink, work and go back to bed. We can make a flowchart the pattern of our daily activities. We expect that everything happens during the day will fit nicely into the flowchart. When they do not fit, we simply call it a “bad day”!
Why do we (our brain) prefer patterns ? I believe it is because we are fundamentally lazy! But not in a bad way. The brain tries to conserve the processing power whenever possible. When we follow a pattern, our brain doesn’t have to process the information in the real-time. Repeated activities are a set of “pre-approved” steps. Besides, our brain feels “safe” when we follow such pre-approved patterns. I have noticed that I unknowingly follow the same movements when I brush my teeth in the morning!! By doing that, my brain can use that time to think about the things that I am supposed to do that day.
I play musical instruments. I have learned from my own life that the easiest way to receive a loud howl from the audience is to miss the beats. When I miss the beats, people seem to realize it instantaneously and react! Is it because they don’t like me personally ? No, it is because they know music! Music is a mysteriously beautiful pattern of beats and audio frequencies. Without any prior training, audience’s brain can magically figure out the patterns of music and easily follow it. Once it embraces the pattern, the brain sets the expectations. When I miss the beat, I am breaking their brain’s expectations and triggering frustration instead - which often comes out as the howling (sadly)
Patterns = familiarity
We have gone great lengths with patterns. Look around and see the things that we have invented/built over the time. If you have watched the Disney movie “Cars", you know that all automobiles look like animals. Two eyes, 4 legs, a mouth, ears… some even have a mustache!! Look at the design of our buildings. Why are the roofs always darker? Are we growing hair on the buildings? Planes, trains, ships, spacecrafts, computers even alien characters have a face and a body. Are we trying to make them look familiar/friendly ? Or is that the only way we (our brain) can design it?
Here is another weird observation. Pay attention to the multi-processing compute systems. You will see that each running process has a human like caricature. Let’s start with the concept of “address space”. It is the “virtual personal space” of a running program. It is analogous to our personal space. Each process knows there are other processes in the system, but they cannot breach into the other process’s address space - just like two people sitting next to each other. For IPC (Inter Process Communication) we use handles/descriptors which are numbers (area code not needed). More examples: Everyone knows what is meant by the “death” of a process. On Android platform, the app launcher module is called the “Zygote”. Consider the system design terminologies. “Server”, “Client”, “Actor”, “Publisher”, “Subscriber”... Hold on… are we trying to replicate our own lives here ? Or is it because we just don’t know any other way to express it?
No pattern = OMG!!!
The opposite is also true. Our brain cannot understand or process randomness. When the randomness strikes, YOU WILL KNOW IT!!. Remember you saying “...I was shocked!!” ? That simply means your brain has found something totally out of order and it did not know how to deal with it!! Data protection technologies in computer security relies on this brain behavior. If you are familiar with cryptography, you know that generating a secure encryption key is paramount. The term “secure” is in this context indicates the randomness or the entropy of the key. Couple of years back I came across a technology at the RSA conference which uses the CMBR (Cosmic Microwave Background Radiation) to produce the ultimate randomness! Yes, we finally turned towards the nature to solve a security problem!
The Chain of Definitions
An interesting thing about our brain is that it always try to understand one object based on another one. If I get a pencil, I know that it is made of lead and wood - even though I don’t call it “Lead Wood”. When I think about wood, I know it comes from tree… and the tree comes from the forest and so on and so forth. In other words, our brain makes a “chain of definitions”. The furthest end (the tail) of the chain will be the “unknown”. You realize it or not, our brain measures the length of the chain before dealing with the object. If the chain is too small (say I don’t know what are wood and lead) then my brain will not let me pick up the pencil right away.
Dealing with the Chain
Imagine the chain of definitions described above as a geometric model (a list of connected nodes). Given its simple structure, we can easily derive some basic properties and fun facts (totally my personal perspective)
- The information held near the tail end of the chain is abstract, static and usually large in volume. But the information at the head end is concrete, volatile and usually concise. The pencil example above, “wood” is at the tail end and pencil is the head. We know a lot more about wood and that information seldom changes. But the pencil node has less information and changes whenever we find a new pencil.
- For a common person, the tail end of all chains point to null. Of course, until we figure out the origin of the universe, this will remain null even for the intellectuals.
- The head end is always ready to accept a new node.
- Nodes can be connected laterally. This makes a complex geometry like a graph or a cluster.
- The longer the chains, the more reliable they are.
- Isolated nodes are the unknowns or mysteries.
- Scientists who works at the LHC, try to extend the tail end of the chains.
- Innovators try to extend the chain forward or create lateral links.
- The problem solvers fills the gaps and makes the chain cleaner and adds information to the nodes.
- Philosophers create long chains, but they usually belongs to an isolated cluster.
- Religious/Ethical clusters are isolated, but they are so close to the normal clusters so that we may create links to them.
- Fiction writers create clusters in a separate dimension
- Artists create simple representations of the complex clusters
I would have written a conclusion if I could have. I did not, because I cannot.