SnakeByte[17] The Metropolis Algorithm

Frame Grab From the movie Metropolis 1927

Who told you to attack the machines, you fools? Without them you’ll all die!!

~ Grot, the Guardian of the Heart Machine

First, as always, Oh Dear Reader, i hope you are safe. There are many unsafe places in and around the world in this current time. Second, this blog is a SnakeByte[] based on something that i knew about but had no idea it was called this by this name.

Third, relative to this, i must confess, Oh, Dear Reader, i have a disease of the bibliomaniac kind. i have an obsession with books and reading. “They” say that belief comes first, followed by admission. There is a Japanese word that translates to having so many books you cannot possibly read them all. This word is tsundoku. From the website (if you click on the word):

“Tsundoku dates from the Meiji era, and derives from a combination of tsunde-oku (to let things pile up) and dokusho (to read books). It can also refer to the stacks themselves. Crucially, it doesn’t carry a pejorative connotation, being more akin to bookworm than an irredeemable slob.”

Thus, while perusing a math-related book site, i came across a monograph entitled “The Metropolis Algorithm: Theory and Examples” by C Douglas Howard [1].

i was intrigued, and because it was 5 bucks (Side note: i always try to buy used and loved books), i decided to throw it into the virtual shopping buggy.

Upon receiving said monograph, i sat down to read it, and i was amazed to find it was closely related to something I was very familiar with from decades ago. This finally brings us to the current SnakeByte[].

The Metropolis Algorithm is a method in computational statistics used to sample from complex probability distributions. It is a type of Markov Chain Monte Carlo (MCMC) algorithm (i had no idea), which relies on Markov Chains to generate a sequence of samples that can approximate a desired distribution, even when direct sampling is complex. Yes, let me say that again – i had no idea. Go ahead LazyWebTM laugh!

So let us start with how the Metropolis Algorithm and how it relates to Markov Chains. (Caveat Emptor: You will need to dig out those statistics books and a little linear algebra.)

Markov Chains Basics

A Markov Chain is a mathematical system that transitions from one state to another in a state space. It has the property that the next state depends only on the current state, not the sequence of states preceding it. This is called the Markov property. The algorithm was introduced by Metropolis et al. (1953) in a Statistical Physics context and was generalized by Hastings (1970). It was considered in the context of image analysis (Geman and Geman, 1984) and data augmentation (Tanner (I’m not related that i know of…) and Wong, 1987). However, its routine use in statistics (especially for Bayesian inference) did not take place until Gelfand and Smith (1990) popularised it. For modern discussions of MCMC, see e.g. Tierney (1994), Smith and Roberts (1993), Gilks et al. (1996), and Roberts and Rosenthal (1998b).

Ergo, the name Metropolis-Hastings algorithm. Once again, i had no idea.

Anyhow,

A Markov Chain can be described by a set of states S and a transition matrix P , where each element P_{ij} represents the probability of transitioning from state i to state j .

Provide The Goal: Sampling from a Probability Distribution \pi(x)

In many applications (e.g., statistical mechanics, Bayesian inference, as mentioned), we are interested in sampling from a complex probability distribution \pi(x). This distribution might be difficult to sample from directly, but we can use a Markov Chain to create a sequence of samples that, after a certain period (called the burn-in period), will approximate \pi(x) .

Ok Now: The Metropolis Algorithm

The Metropolis Algorithm is one of the simplest MCMC algorithms to generate samples from \pi(x). It works by constructing a Markov Chain whose stationary distribution is the desired probability distribution \pi(x) . A stationary distribution is a probability distribution that remains the same over time in a Markov chain. Thus it can describe the long-term behavior of a chain, where the probabilities of being in each state do not change as time passes. (Whatever time is, i digress.)

The key steps of the algorithm are:

Initialization

Start with an initial guess x_0 , a point in the state space. This point can be chosen randomly or based on prior knowledge.

Proposal Step

From the current state x_t , propose a new state x^* using a proposal distribution q(x^*|x_t) , which suggests a candidate for the next state. This proposal distribution can be symmetric (e.g., a normal distribution centered at x_t ) or asymmetric.

Acceptance Probability

Calculate the acceptance probability \alpha for moving from the current state x_t to the proposed state x^* :

    \[\alpha = \min \left(1, \frac{\pi(x^) q(x_t | x^)}{\pi(x_t) q(x^* | x_t)} \right)\]

In the case where the proposal distribution is symmetric (i.e., q(x^|x_t) = q(x_t|x^)), the formula simplifies to:

    \[\alpha = \min \left(1, \frac{\pi(x^*)}{\pi(x_t)} \right)\]

Acceptance or Rejection

Generate a random number u from a uniform distribution U(0, 1)
If u \leq \alpha , accept the proposed state x^* , i.e., set x_{t+1} = x^* .
If u > \alpha , reject the proposed state and remain at the current state, i.e., set x_{t+1} = x_t .

Repeat

Repeat the proposal, acceptance, and rejection steps to generate a Markov Chain of samples.

Convergence and Stationary Distribution:

Over time, as more samples are generated, the Markov Chain converges to a stationary distribution. The stationary distribution is the target distribution \pi(x) , meaning the samples generated by the algorithm will approximate \pi(x) more closely as the number of iterations increases.

Applications:

The Metropolis Algorithm is widely used in various fields such as Bayesian statistics, physics (e.g., in the simulation of physical systems), machine learning, and finance. It is especially useful for high-dimensional problems where direct sampling is computationally expensive or impossible.

Key Features of the Metropolis Algorithm:

  • Simplicity: It’s easy to implement and doesn’t require knowledge of the normalization constant of \pi(x) , which can be difficult to compute.
  • Flexibility: It works with a wide range of proposal distributions, allowing the algorithm to be adapted to different problem contexts.
  • Efficiency: While it can be computationally demanding, the algorithm can provide high-quality approximations to complex distributions with well-chosen proposals and sufficient iterations.

The Metropolis-Hastings Algorithm is a more general version that allows for non-symmetric proposal distributions, expanding the range of problems the algorithm can handle.

Now let us code it up:

i am going to assume the underlying distribution is Gaussian with a time-dependent mean \mu_t, which changes slowly over time. We’ll use a simple time-series analytics setup to sample this distribution using the Metropolis Algorithm and plot the results. Note: When the target distribution is Gaussian (or close to Gaussian), the algorithm can converge more quickly to the true distribution because of the symmetric smooth nature of the normal distribution.

import numpy as np
import matplotlib.pyplot as plt

# Time-dependent mean function (example: sinusoidal pattern)
def mu_t(t):
    return 10 * np.sin(0.1 * t)

# Target distribution: Gaussian with time-varying mean mu_t and fixed variance
def target_distribution(x, t):
    mu = mu_t(t)
    sigma = 1.0  # Assume fixed variance for simplicity
    return np.exp(-0.5 * ((x - mu) / sigma) ** 2)

# Metropolis Algorithm for time-series sampling
def metropolis_sampling(num_samples, initial_x, proposal_std, time_steps):
    samples = np.zeros(num_samples)
    samples[0] = initial_x

    # Iterate over the time steps
    for t in range(1, num_samples):
        # Propose a new state based on the current state
        x_current = samples[t - 1]
        x_proposed = np.random.normal(x_current, proposal_std)

        # Acceptance probability (Metropolis-Hastings step)
        acceptance_ratio = target_distribution(x_proposed, time_steps[t]) / target_distribution(x_current, time_steps[t])
        acceptance_probability = min(1, acceptance_ratio)

        # Accept or reject the proposed sample
        if np.random.rand() < acceptance_probability:
            samples[t] = x_proposed
        else:
            samples[t] = x_current

    return samples

# Parameters
num_samples = 10000  # Total number of samples to generate
initial_x = 0.0      # Initial state
proposal_std = 0.5   # Standard deviation for proposal distribution
time_steps = np.linspace(0, 1000, num_samples)  # Time steps for temporal evolution

# Run the Metropolis Algorithm
samples = metropolis_sampling(num_samples, initial_x, proposal_std, time_steps)

# Plot the time series of samples and the underlying mean function
plt.figure(figsize=(12, 6))

# Plot the samples over time
plt.plot(time_steps, samples, label='Metropolis Samples', alpha=0.7)

# Plot the underlying time-varying mean (true function)
plt.plot(time_steps, mu_t(time_steps), label='True Mean \\mu_t', color='red', linewidth=2)

plt.title("Metropolis Algorithm Sampling with Time-Varying Gaussian Distribution")
plt.xlabel("Time")
plt.ylabel("Sample Value")
plt.legend()
plt.grid(True)
plt.show()

Output of Python Script Figure 1.0

Ok, What’s going on here?

For the Target Distribution:

The function mu_t(t) defines a time-varying mean for the distribution. In this example, it follows a sinusoidal pattern.
The function target_distribution(x, t) models a Gaussian distribution with mean \mu_t and a fixed variance (set to 1.0).


Metropolis Algorithm:

The metropolis_sampling function implements the Metropolis algorithm. It iterates over time, generating samples from the time-varying distribution. The acceptance probability is calculated using the target distribution at each time step.


Proposal Distribution:

A normal distribution centered around the current state with standard deviation proposal_std is used to propose new states.


Temporal Evolution:

The time steps are generated using np.linspace to simulate temporal evolution, which can be used in time-series analytics.


Plot The Results:

The results are plotted, showing the samples generated by the Metropolis algorithm as well as the true underlying mean function \mu_t (in red).

The plot shows the Metropolis samples over time, which should cluster around the time-varying mean \mu_t of the distribution. As time progresses, the samples follow the red curve (the true mean) as time moves on like and arrow in this case.

Now you are probably asking “Hey is there a more pythonic library way to to this?”. Oh Dear Reader i am glad you asked! Yes There Is A Python Library! AFAIC PyMC started it all. Most probably know it as PyMc3 (formerly known as…). There is a great writeup here: History of PyMc.

We are golden age of probabilistic programming.

~ Chris Fonnesbeck (creator of PyMC) 

Lets convert it using PyMC. Steps to Conversion:

  1. Define the probabilistic model using PyMC’s modeling syntax.
  2. Specify the Gaussian likelihood with the time-varying mean \mu_t .
  3. Use PyMC’s built-in Metropolis sampler.
  4. Visualize the results similarly to how we did earlier.
import pymc as pm
import numpy as np
import matplotlib.pyplot as plt

# Time-dependent mean function (example: sinusoidal pattern)
def mu_t(t):
    return 10 * np.sin(0.1 * t)

# Set random seed for reproducibility
np.random.seed(42)

# Number of time points and samples
num_samples = 10000
time_steps = np.linspace(0, 1000, num_samples)

# PyMC model definition
with pm.Model() as model:
    # Prior for the time-varying parameter (mean of Gaussian)
    mu_t_values = mu_t(time_steps)

    # Observational model: Normally distributed samples with time-varying mean and fixed variance
    sigma = 1.0  # Fixed variance
    x = pm.Normal('x', mu=mu_t_values, sigma=sigma, shape=num_samples)

    # Use the Metropolis sampler explicitly
    step = pm.Metropolis()

    # Run MCMC sampling with the Metropolis step
    samples_all = pm.sample(num_samples, tune=1000, step=step, chains=5, return_inferencedata=False)

# Extract one chain's worth of samples for plotting
samples = samples_all['x'][0]  # Taking only the first chain

# Plot the time series of samples and the underlying mean function
plt.figure(figsize=(12, 6))

# Plot the samples over time
plt.plot(time_steps, samples, label='PyMC Metropolis Samples', alpha=0.7)

# Plot the underlying time-varying mean (true function)
plt.plot(time_steps, mu_t(time_steps), label='True Mean \\mu_t', color='red', linewidth=2)

plt.title("PyMC Metropolis Sampling with Time-Varying Gaussian Distribution")
plt.xlabel("Time")
plt.ylabel("Sample Value")
plt.legend()
plt.grid(True)
plt.show()

When you execute this code you will see the following status bar:

It will be a while. Go grab your favorite beverage and take a walk…..

Output of Python Script Figure 1.1

Key Differences from the Previous Code:

PyMC Model Usage Definition:
In PyMC, the model is defined using the pm.Model() context. The x variable is defined as a Normal distribution with the time-varying mean \mu_t . Instead of manually implementing the acceptance probability, PyMC handles this automatically with the specified sampler.

Metropolis Sampler:
PyMC allows us to specify the sampling method. Here, we explicitly use the Metropolis algorithm with pm.Metropolis().

Samples Parameter:
We specify shape=num_samples in the pm.Normal() distribution to indicate that we want a series of samples for each time step.

Plotting:
The resulting plot will show the sampled values using the PyMC Metropolis algorithm compared with the true underlying mean, similar to the earlier approach. Now, samples has the same shape as time_steps (in this case, both with 10,000 elements), allowing you to plot the sample values correctly against the time points; otherwise, the x and y axes would not align.

NOTE: We used this library at one of our previous health startups with great success.

Optimizations herewith include several. There is a default setting in PyMC which is called NUTS.
No need to manually set the number of leapfrog steps. NUTS automatically determines the optimal number of steps for each iteration, preventing inefficient or divergent sampling. NUTS automatically stops the trajectory when it detects that the particle is about to turn back on itself (i.e., when the trajectory “U-turns”). A U-turn means that continuing to move in the same direction would result in redundant exploration of the space and inefficient sampling. When NUTS detects this, it terminates the trajectory early, preventing unnecessary steps. Also the acceptance rates on convergence are higher.

There are several references to this set of algorithms. It truly a case of both mathematical and computational elegance.

Of course you have to know what the name means. They say words have meanings. Then again one cannot know everything.

Until Then,

#iwishyouwater <- Of all places Alabama getting the memo From Helene 2024

𝕋𝕖𝕕 ℂ. 𝕋𝕒𝕟𝕟𝕖𝕣 𝕁𝕣. (@tctjr) / X

Music To Blog By: View From The Magicians Window, The Psychic Circle

References:

[1] The Metropolis Algorithm: Theory and Examples by C Douglas Howard

[2] The Metropolis-Hastings Algorithm: A note by Danielle Navarro

[3] Github code for Sample Based Inference by bashhwu

Entire Metropolis Movie For Your Viewing Pleasure. (AFAIC The most amazing Sci-Fi movie besides BladeRunner)

A Book Review – Scythe

Nice Robe

I am the blade that is swung by your hand,

Slicing a rainbow’s arc,

I am the clapper; but you are the bell,

Tolling the gathering dark.

If you are the singer, then I am the song,

A threnody, requiem dirge.

You’ve made me the answer for all the world’s need,

Humanity’s undying urge.

~ “Threnody,” from the collected works of H.S. Socrates

First as always i hope everyone is safe. Second, i hope everyone had an indulgent and superlative holiday season heading into the New Year! Third, i decided i wanted to write a book review since i haven’t in quite some time and given the number of books i have read recently figured hey lets do a book review!

This review deserves a little context. My middle progeny was assigned this book for a winter break reading assignment. i believe it is important to take an interest in your progenies’ activities and well reading is definitely one to promote and take interest. Thus when i was talking to her about what she was assigned, she said, “i think you will like this book.” She handed it to me, and i opened it to this page:

“It is the most difficult thing a person can be asked to do. And know what it is for the greater good doesn’t make it any easier. People used to die naturally. Old age used to be a terminal affliction, not a temporary state. There were invisible killers called “diseases” that broke the body down. Aging couldn’t be reversed, and there were accidents from which there was no return. Planes fell out from the sky. Cars actually crashed. There was pain, misery, and despair. It’s hard for most of us to imagine a world so unsafe, with dangers lurking in every unseen, unplanned corner. All of that is behind us now, and yet a single simple truth remains: People must die.”

~ From the gleaning journal of H.S. Currie

My daughter knows me well. So i said ok let us read it together but don’t think this is a race I’ll probably have this book finished in a week.

Ok this had my attention. So immediately i thought of Soylent Green meets Logan’s Run but there is a twist. In reading the back cover it paraphrases a world with no hunger, no disease, no war, no misery. Humanity has conquered all those things and has even conquered death. However, who are these scythes that are mentioned, and are the only ones who can “glean” life? So with the context out of the way let us get down to business.

The cover above depicts a Scythe. As most know or should know from Websters we have the following definition:

scythe (pronounced /sīT͟H/)

noun: a tool used for cutting crops such as grass or wheat, with a long curved blade at the end of a long pole attached to which are one or two short handles.

verb: cut with a scythe as in scythed.

Given many aspects of our so-called society today and social normalizations i believe this is a wonderful teenage adventure novel that sets the stage for some more esoteric readings in science fiction such as 1984, Something Wicked This Way Comes, Brave New World, Do Androids Dream Of Electric Sheep (DADOES), Snowcrash and Neuromancer.

The book’s premise is that humans now exist in a conflict-free world where human-kind have conquered death. The world they live in is a Post Age of Morality world where one no longer has true crimes against humanity; poverty is not an issue, and hunger is solved via synthetic food engineering. As such over-population has overrun Mother Earth and elected Scythes must cull the human population. This culling process is known in the vernacular as “gleaning”. The Age of Mortality is the duration of time before the scythedom, revival centers, and the Thunderhead were established.

To this end, artificial intelligence has been amplified via the “ThunderHead” which monitors, recommends, and predicts AllTheThings. As such, there is no need for the concept or construction of a government.

Tyger shrugged, “One Splat Too Many. They gave up. Now I am a ward of the ThunderHead.”

“I’m sorry Tyger”

“Hey don’t be. Believe it or not, the ThunderHead’s a better father than my father was. I get good advice now and get asked how my day was from someone who actually seems to care.”

Just like everything else about the ThunderHead its parenting skills were indisutable.

~ Apprentice Rowan

Two teens find themselves volunteered as apprentice-Scythes which leads to a world of corruption greed and the finality of death.

Scythes are volunteered as apprentices and taught the ways of all of the classics, philosophy, chemistry (poisons), neural linguistic programming (person-reading), and of course, skilled in all the ways one can end a person’s life or if you will extreme social engagement called “killcraft”.

Scyhtes choose which lives to glean based on statistics of past Age Of Morality morbidity rates and behaviors, social class, and ethnicities. They however cannot show bias.

Scythes are ruled by a worldwide committee and meet on a quarterly basis where concerns are raised, appretences are tested, and old friendships are renewed. Did i mention that humans now live indefinitely and can rewind physical age and appearance to no lower than 21? However, given that most Sychtes choose ages between 35-45.

The Scythes lived by the following commandments:

  1. Thou Shalt Kill
  2. Thou shalt kill with no bias, bigotry or malice of afterthought
  3. Thou shalt grant an annum of immunity to the beloved of those who accept your coming and to anyone else you deem worthy.
  4. Thou shalt kill the beloved of those who resist.
  5. Thou shalt serve humanity for the full span of thy days and thy family shall have immunity as recompense for as long as you live.
  6. Thou shalt lead an exemplary life in word and deed and keep a journal of each and every day.
  7. Thou shalt kill no scythe beyond thyself.
  8. Thou shalt claim no earthly possessions save thy robe, ring and journal.
  9. Thou shalt have neither spouse or spawn.
  10. Thou shalt be beholden to no laws beyond these.

So we must ask ourselves that if in fact we solve all the so called woes of the Human Condition will we solve the root cause of the Human Condition? If we take away mortality (and morality) and can save and upload our memories then what is meant to be Human? Passion and Lust (of life)? Is compassion still needed?

Upon giving me the book to read my daughter laughed and said “Daddy maybe you are one.”

Then again, reflecting on what my daughter said to me when she was referencing the text, at the core maybe we all are Sycthes.

So if your in the market for a good book for your children or you just want a quick read that will be a good catalyst for your thoughts for our future, pick this book up. Here i even will provide the link to the ThunderHead Book Club In The Sky. Note: this is book one of a triology.

Until Then,

#iwishyouwater <- some footage from the recent 50 year storm on the left coast.

@tctjr

Muzak To Blog By: Tchaikovsky’s Symphony No. 6 in B minor, Valery Abisalovich Gergiev conducting the Vienna Philharmonic. Spectacular piece Symphony No. 6 in B minor, Op. 74, also known as the Pathétique Symphony (a.k.a. The Passionate Symphony). I recently got to see this performed by the Charleston Symphony with Jonathan Heyward conducting it was spectacular. I was sitting there thinking how someone who has certain sexual proclivities or other passions in their life that at the time were not tolerated in society could create such a work of art; then again, it just goes to show the extreme lengths humans will go to make their true passions as it were, incarnate. i also think it very ironic that this composer would probably not trend in the position of Tchaikovsky due to his political beliefs, but one never knows, does one?

Book Review: How To Read A Book

Reading is a basic tool in the living of a good life.

Mortimer Adler
My copy of HTRAB

First, i hope everyone is safe.

Second, i decided to write this blog based on two unrelated events: (1) as of late during the pandemic i have been reading commentary “online” of varying degrees such as “I want to read more books” and “Can you recommend some books to read?”  (2) i was setting out to write a technical blog on a core machine learning subject and whilst putting together the bibliography i realized i wasn’t truly performing or rather obtaining “level four reading” as outlined in the book i am going to review and by definition recommend.

i also am an admitted bibliomaniac and even more so nowadays an autodidact. i contracted the reading bug from my mother at an early age. i read Webster’s Dictionary twice in grade school. Still to this day she sends me the first edition or rare books to read. Thanks, Mom.

This is the stack of references.

As part of this book review and hopefully subsequent blog on a technical subject within machine learning, i decided to read the book a third time.  Which for this blog and review is an important facet.

As i was thinking about the best way to approach this particular book review i was pondering reading and books in general.  Which i came yet again to the conclusion:

There is much magic and wonder in this world.  Reading to me is a magical process.

It’s a miracle a child learns to speak a language!  It’s a miracle we can read! It’s even more of a miracle given the two previous observations that Humans are such astounding language generators (and authors)! 

One section of many in my library office

What an astonishing thing a book is. It’s a flat object made from a tree with flexible parts on which are imprinted lots of funny dark squiggles. But one glance at it and you’re inside the mind of another person, maybe somebody dead for thousands of years. Across the millennia, an author is speaking clearly and silently inside your head, directly to you. Writing is perhaps the greatest of human inventions, binding together people who never knew each other, citizens of distant epochs. Books break the shackles of time. A book is proof that humans are capable of working magic.

Carl Sagan

i consider a  book a “dual-sided marketplace” for magical access.

“How To Read a Book” by Mortimer J. Adler was originally published in 1940 with a re-issue in 1972.  The 1970s were considered the decade of reading in the United States.

In the 70’s the average reading level in the United States for most content speeches, magazines, books, etc was the 6th grade.  It is now surmised the average reading level and reading content is hovering around the 4-5th grade.

This brings us to the matter at hand the book review. 

The book’s author ​​Mortimer Jerome Adler (December 28, 1902 – June 28, 2001) was an American philosopher, educator, encyclopedist, and popular author. As a philosopher, he worked within the Aristotelian and Thomistic traditions. He taught at Columbia University and the University of Chicago, served as chairman of the Encyclopædia Britannica Board of Editors, and founded his own Institute for Philosophical Research.  

There is no friend as loyal as a book.

Ernest Hemmingway

The book states upfront that there is great inequality in reading with respect to understanding and that understanding must be overcome.  Reading for understanding is not just gaining information.  There is being informed and there is being enlightened when reading a book.  How To Read A Book (HTRAB) is precisely concerned with the latter.  If you remember what you read you have been informed. If you are enlightened from a book you know what the author is attempting to say, know what he means by what they say, and can concisely explain the subject matter. Of course, being informed is a prerequisite to being enlightened.

Professor Adler mentions in the book via Montaingne where he speaks of “An abecedarian ignorance that precedes knowledge, and a doctoral ignorance that comes after it.” 

Let’s first deal with Abcederian:  It essentially means dealing with alphabetized, elementary, rudimentary, or novel levels.  Ergo the novice ignorance arrives first.  The second are those who misread books.  Reading a ton of books is not reading well.  Professor Adler calls them literate ignoramus.  The said another way there are those that have read too widely and not well. 

Widely read and well-read are two vastly different endeavors.

The Greek word for learning and folly is sophomore. From google translate sophomore in Greek: δευτεροετής φοιτητής

This book pulls no punches when it comes to helping you help yourself.

HTRAB is in fact just that how to gain the most out of a book.  The book explains the four levels of reading:

  1. Elementary reading, rudimentary reading, basic reading or initial reading.  This is where one goes from complete illiteracy to at the very least being able to read the words on the page.  
  2. Inspectional reading.  This is where one attempts to get the most out of a book in a prescribed about of time.  What is this book about?
  3. Analytical reading places heavy demands on the reader.  It is also called thorough reading, complete reading or good reading.  This is the best reading you can do.  The analytical reader must ask themselves several questions of inquiry, organizational and objective natures.  The reader grasps the book.  The book at this point becomes her own.  This level of reading is precisely for the sake of understanding.  Also you cannot bring your mind from understanding less to understanding more unless you have skill in the area of analytical reading. 
  4. Syntopical Reading is the highest level.  It is the most complex and systematic reading and it makes the most demands on the reader.  Another name for this level is comparative reading.  When reading syntopically the reader accesses and reads many books placing them in relation to one another where the reader is able to construct and an analysis of knowledge that previously did not exist.  Knowledge creation and synthesis is the key here.

This is what i realized i wasn’t doing with respect to the machine learning blog.  Yes, i ranked and compared the references against one another but did i truly synthesize a net new knowledge with respect to my reading?  

Tools of The Art of Reading

The HTRAB goes on to dissect the processes of each of these four steps and how to obtain them and then move on to the next level.  This reminds me of a knowledge dojo a kind of belt test for readership.

The book also goes on to discuss how to not have any predetermined biases about what the book is or is not.  This is very important i have fallen prey to such behaviors and cannot emphasize enough you must proceed into the book breach with a clear mind

Further, the author took their valuable time to write the book and you took the cash and time to obtain the book. 

Give the respect the book deserves.

Some books are to be tasted, others to be swallowed, and some few to be chewed and digested.

Francis Bacon

The book goes in-depth about how we move from one level of reading to eventually synoptical reading and the basis for this is reading over and over whilst at every read the book is anew and alive with fresh edible if you will information.

To read and to ruminate is derived from the cow.  From Wikipedia we have:

“Ruminants are large hoofed herbivorous grazing or browsing mammals that are able to acquire nutrients from plant-based food by fermenting it in a specialized stomach prior to digestion, principally through microbial actions.”

So to chew the cud or re-chew if you will over and over – ruminating upon the subject matter. The book states in most cases that it takes three reads to obtain synoptical reading levels.  Thus my comment previously about reading this a third time.  Amazingly it clicked.

The folks who need self-help books don’t read them and those that don’t need them do read them.

A.S.L.

The book further explains how to read everything from mathematics to theology.  With very precise steps.  

i recommend this book over and over to folks and i usually get online comments like “so meta’ or “LOL”.  In-person i get raise eyebrows or laughter.

This is not a laughing matter oh dear reader.

The two following lectures deal with HRTAB from the son of someone who worked directly with Professor Adler. His name is Shaykh Hamza Yusuf. Professor Yusuf is an American neo-traditionalist Islamic scholar and co-founder of Zaytuna College. He is a proponent of classical learning in Islam and has promoted Islamic sciences and classical teaching methodologies throughout the world. He is a huge proponent of HRTAB and recommends it in many of his lectures and uses it as a basis for his teachings in many forms. In no shape or form am I endorsing any religious or political stance with posting these videos. i am only posting for the information-rich and amazing lectures alone. He covers several areas of academics as well as several areas of religion and even pop-fad behaviors with respect to reading.

Here are both parts of the lecture:

Get the book to learn how to arrive at chewing and digesting your beloved books to the level of syntopical nirvana.  Your mind and others’ minds will thank you for it. Here is a link on Amazon:

Until then,

#iwishyou water.

Be safe.

@tctjr

Muzak To Blog by:  Cheap Trick Albums.  I had forgotten how good they were.  

Book Review: The Cathedral and The Bazaar (Musings On Linux and Open Source By An Accidental Revolutionary

“Joy, humor, and playfulness are indeed assets;” 

~ Eric S. Raymond

As of late, i’ve been asked by an extreme set of divergent individuals what does “Open Source Software” mean? 

That is a good question.  While i understand the words and words do have meanings i am not sure its the words that matter here.  Many people who ask me that question hear “open source” and hear or think “free’ which is not the case.  

Also if you have been on linkedin at all you will see #Linux, #LinuxFoundation and #OpenSource tagged constantly in your feeds.

Which brings me to the current blog and book review.

(CatB)as it is affectionately known in the industry started out and still is a manifesto as well accessible via the world wide web.  It was originally published in 1997 on the world wide wait and then in print form circa 1999.  Then in 2001 was a revised edition with a foreword by Bob Young, the founding chairman and ceo of Redhat.

Being i prefer to use plain ole’ books we are reviewing the physical revised and extended paperback edition in this blog circa 2001. Of note for the picture, it has some wear and tear.

To start off as you will see from the cover there is a quote by Guy Kawasaki, Apple’s first Evangelist:

“The most important book about technology today, with implications that go far beyond programming.”

This is completely true.  In the same train of thought, it even goes into the aspects of propriety and courtesy within conflict environments and how such environments are of a “merit not inherit” world, and how to properly respond when you are in vehement disagreement.  

To relate it to the book review: What is a cathedral development versus a bazaar environment?

Cathedral is a tip of the fedora if you will to the authoritarian view of the world where everything is very structured and there are only a few at most who will approve moving the codebase forward.

Bazaar refers to the many.  The many coding and contributing in a swarm like fashion.  

In this book, closed source is described as a cathedral development model and open source as a bazaar development model. A cathedral is vertically and centrally controlled and planned. Process and governance rule the project – not coding.  The cathedral is homeostatic. If you build or rebuild Basilica Sancti Petri within Roma you will not be picking it up by flatbed truck and moving it to Firenze.

The forward in the 2001 edition is written by Bob Young co-founder and original CEO of RedHat.  He writes:

“ There have always been two things that would be required if open-source software was to materially change the world; one was for open-source software to become widely used and the other was the benefits this software development model supplied to its users had to be communicated and understood.”

Users here are an interesting target.  Users could be developers and they could be end-users of warez.  Nevertheless, i believe both conditions have been met accordingly.  

i co-founded a machine learning and nlp service as a company in 2007 wherein i had the epiphany after my “second” read of Catb that the future is in fact open source.  i put second in quotes as the first time i read it back in 1998 it wasn’t really a read in depth nor having fully internalized it while i was working at Apple in the CPU software department on OS9/OSX and while at the same time knowing full well that OSX was based on the Mach kernel.  The Mach kernel is often mentioned as one of the earliest examples of a microkernel. However, not all versions of Mach are microkernels. Mach’s derivatives are the basis of the operating system kernel in GNU Hurd and of Apple’s XNU kernel used in macOS, iOS, iPadOS, tvOS, and watchOS.

That being said after years of working with mainly closed source systems in 2007 i re-read Catb.  i literally had a deep epiphany that the future of all development would be open source distributed machine learning – everywhere.

Then i read it recently – deeply – a third time.  This time nearly every line in the book resonates.

The third time with almost anything seems to be the charm.  This third time through i realized not only is this a treatise for the open-source movement it is a call to arms if you will for the entire developer community to behave appropriately with propriety and courtesy in a highly matrixed collaborative environment known as the bazaar.

The most obvious question is:  Why should you care?  i’m glad you asked.

The reason you care is that you are part of the information economy.  The top market cap companies are all information-theoretic developer-first companies.  This means that these companies build things so others can build things.  Software is truly eating the world.  Think in terms of the recent pandemic.  Work (code) is being created at an amazing rate due to the fact that the information work economy is distributed and essentially schedule free.  She who has distributed wins and she who can code anytime wins.  This also means that you are interested in building world-class software and the building of this software is now a decentralized peer reviewed transparent process.  

The book is organized around Raymond’s various essays.   It is important to note that just as software is an evolutionary process by definition so are the essays in this book.  They can also be found online.  The original collection of essays date back to 1992 on the internet: “A Brief History Of Hackerdom.’

The book is not a “how-to” cookbook but rather what i call a “why to” map of the terrain.  While you can learn how to hack and code i believe it must be in your psyche.  The book also uses the term “hacker” in a positive sense to mean one who creates software versus one who cracks software or steals information.

While the history and the methodology is amazing to me the cogent commentary on the types of the reasoning behind why hackers go into open source vary as widely as ice cream flavors.

Raymond goes into the theory of incentives with respect to the instinctive wiring of humans beings.  

“The verdict of history seems to be free-market capitalism is the globally optimal way to cooperate for economic efficiency; perhaps in a similar way to cooperate for generating (and checking!) high-quality creative work.”

He categorizes command hierarchy, exchange economy, and gift culture to address these incentives.  

Command hierarchy:

Goods are allocated in a scarce economy model by one central authority.

Exchange Economy:

The allocation of scarce goods is accomplished in a decentralized manner allowing scale through trade and voluntary cooperation.

Gift Culture:

This is very different than the other two methods or cultures.  Abundance makes command and control relationships difficult to sustain.  In gift cultures, social status is determined not by what you control but by what you give away.

It is clear that if we define the open source hackerdom it would be a gift culture.  (It is beyond the current scope of this blog but it would be interesting to do a neuroscience project on the analysis of open source versus closed source hackers brain chemistry as they work throughout the day)

Given these categories, the essays then go onto define the written and many times unwritten (read secrets) that operate within the open-source world via a reputation game. If you are getting the idea it is tribal you are correct.  Interestingly enough the open source world has in many cases very divergent views on all prickly things within the human condition such as religion and politics but one thing is a constant – ship high-quality code.

Without a doubt the most glaring cogent commentary comes in a paragraph from the essay “The Magic Cauldron.” entitled “Open Source And Strategic Business Risk.”   

Ultimately the reasons open source seems destined to become a widespread practice have more to do with customer demand and market pressures than with supply-efficiencies for vendors.”

And further:

“Put yourself for the moment in the position of a CTO at a Fortune 500 corporation contemplating a build or upgrade of your firm’s IT infrastructure.  Perhaps you need to choose a network operating system to be deployed enterprise-wide; perhaps your concerns involve 24/7 web service and e-commerce, perhaps your business depends on being able to field high-volume, high-reliability transaction databases.  Suppose you go the conventional closed-source route.  If you do, then you put your firm at the mercy of a supplier monopoly – because by definition there is only one place you can go to for support, bug fixes, and enhancements.  If the supplier doesn’t perform, you will have no effective recourse because you are effectively locked by your initial investment.”

FURTHER:

“The truth is this: when your key business processes are executed by opaque blocks of bits that you cant even see inside (let alone modify) you have lost control of your business.”

“Contrast this with the open-source choice.  If you go this route, you have the source code, and no one can take that away from you. Instead of a supplier monopoly with a choke-hold on your business, you now have multiple service companies bidding for your business – and you not only get to play them against each other, but you also have the option of building your own captive support organization if that looks less expensive than contracting out.  The market works for you.”

“The logic is compelling; depending on closed-source code is an unacceptable strategic risk  So much so that I believe it will not be very long until closed-source single-vendor acquisitions when there is an open source alternative available will be viewed as a fiduciary irresponsibility, and rightly grounds for a share-holder lawsuit.”

THIS WAS WRITTEN IN 1997. LOOK AROUND THE WORLD WIDE WAIT NOW… WHAT DO YOU SEE?  

Open Source – full stop.

i will add that there was no technical explanation here only business incentive and responsibility to the company you are building, rebuilt, or are scaling.  Further, this allows true software malleability and reach which is the very reason for software.

i will also go on a limb here and say if you are a software corporation one that creates software you can play the monopoly and open-source models against each other within your corporation. Agility and speed to ship code is the only thing that matters these days. Where is your github? Or why is this not shipping TODAY?

This brings me to yet another amazing prescient prediction in the book that Raymond says that applications are ultimately where we will land for monetary scale.  Well yes, there is an app for that….

While i have never met Eric S. Raymond he is a legend in the field.  We have much to thank him for in the areas of software.  If you have not read CatB and work in the information sector do yourself a favor: buy it today.

As a matter of fact here is the link: The Cathedral & the Bazaar: Musings on Linux and Open Source by an Accidental Revolutionary

Muzak To Blog To:  “Morning Phase” by Beck 

Resources:

http://www.opensource.org

https://www.apache.org/foundation/

Computing The Human Condition – Project Noumena (Part 1)

“I am putting myself to the fullest possible use, which is all I think any conscious entity can ever hope to do.” ~ HAL 9000

“If you want to make the world a better place take a look at yourself and then make a change.” ~ MJ.

First and foremost with this blog i trust everyone is safe.  The world is in an interesting place, space, and time both physically and dare i say collectively – mentally.

A Laundry List

Introduction

This past week we celebrated  Earth Day.  i believe i heard it was the 50th year of Earth Day.  While I applaud the efforts and longevity for a day we should have Earth Day every day.  Further just “thoughting” about or tweeting about Earth Day – while it may wake up your posterior lobe of the pituitary gland and secret some oxytocin – creating the warm fuzzies for you it really doesn’t create an action for furthering Earth Day.  (much like typing /giphy YAY! In Slack).

 As such, i decided to embark on a multipart blog that i have been “thinking” about what i call an Ecological Computing System.  Then the more i thought about it why stop at Ecology?   We are able to model and connect essentially anything, we now have models for the brain that while are coarse-grained can account for gross behaviors, we have tons of data on buying habits and advertisement data and everything is highly mobile and distributed.  Machine learning which can optimize, classify and predict with extremely high dimensionality is no longer an academic exercise.  

Thus, i suppose taking it one step further from ecology and what would differentiate it from other efforts is that <IT>  would actually attempt to provide a compute framework that would compute The Human Condition.  I am going to call this effort Project Noumena.  Kant the eminent thinker of 18th century Germany defined Noumena as a thing as it is in itself, as distinct from a thing as it is knowable by the senses through phenomenal attributes and proposed that the experience was a product of the mind.

My impetus for this are manifold:

  • i love the air, water, trees, and animals,
  • i am an active water person,
  • i want my children’s children’s children to know the wonder of staring at the azure skies, azure oceans and purple mountains,
  • Maybe technology will assist us in saving us from The Human Condition.

Timing

i have waited probably 15+ years to write about this ideation of such a system mainly due to the technological considerations were nowhere near where they needed to be and to be extremely transparent no one seemed to really think it was an issue until recently.  The pandemic seems to have been a global wakeup call that in fact, Humanity is fragile.  There are shortages of resources in the most advanced societies.  Further due to the recent awareness that the pollution levels appear (reported) to be subsiding as a function in the reduction of humans’ daily involvement within the environment. To that point over the past two years, there appears to be an uptake of awareness in how plastics are destroying our oceans.  This has a coupling effect that with the pandemic and other environmental concerns there could potentially be a food shortage due to these highly nonlinear effects.   This uptake in awareness has mainly been due to the usage of technology of mobile computing and social media which in and of itself probably couldn’t have existed without plastics and massive natural resource consumption.  So i trust the irony is not lost there.   

From a technical perspective, Open source and Open Source Systems have become the way that software is developed.  For those that have not read The Cathedral and The Bazaar and In The Beginning Was The Command Line i urge you to do so it will change your perspective.

We are no longer hampered by the concept of scale in computing. We can also create a system that behaves at scale with only but a few human resources.  You can do a lot with few humans now which has been the promise of computing.

Distributed computing methods are now coming to fruition. We no longer think in terms of a monolithic operating system or in place machine learning. Edge computing and fiber networks are accelerating this at an astonishing rate.  Transactions now dictate trust. While we will revisit this during the design chapters of the blog I’ll go out on a limb here and say these three features are cogent to distributed system processing (and possibly the future of computing at scale).

  • Incentive models
  • Consensus models
  • Protocol models

We will definitely be going into the deeper psychological, mathematical, and technical aspects of these items.

Some additional points of interest and on timing.  Microsoft recently released press about a Planetary Computer and announced the position of Chief Ecology Officer.  While i do not consider Project Nuomena to be of the same system type there could be similarities on the ecological aspects which just like in open source creates a more resilient base to work.

The top market cap companies are all information theoretic-based corporations.  Humans that know the science, technology, mathematics and liberal arts are key to their success.  All of these companies are woven and interwoven into the very fabric of our physical and psychological lives.

Thus it is with the confluence of these items i believe the time is now to embark on this design journey.  We must address the Environment, Societal factors and the model of governance.

A mentor once told me one time in a land far away: “Timing is everything as long as you can execute.”  Ergo Timing and Execution Is Everything.

Goals

It is my goal that i can create a design and hopefully, an implementation that is utilizing computational means to truly assist in building models and sampling the world where we can adhere to goals in making small but meaningful changes that can be used within what i am calling the 3R’s:  recycle, redact, reuse.  Further, i hope with the proper incentive models in place that are dynamic it has a mentality positive feedback effect.  Just as in complexity theory a small change – a butterfly wings – can create hurricanes – in this case positive effect. 

Here is my overall plan. i’m not big on the process or gant charts.  I’ll be putting all of this in a README.md as well.  I may ensconce the feature sets etc into a trello or some other tracking mechanism to keep me focused – WebSphere feel free to make recommendations in the comments section:

Action Items:

  • Create Comparative Models
  • Create Coarse-Grained Attributes
  • Identify underlying technical attributes
  • Attempt to coalesce into an architecture
  • Start writing code for the above.

Preamble

Humanity has come to expect growth as a material extension of human behavior.  We equate growth with progress.  In fact, we use the term exponential growth as it is indefinitely positive.  In most cases for a fixed time interval, this means a doubling of the relevant system variable or variables.  We speak of growth as a function of gross national production.  In most cases, exponential growth is treacherous where there are no known or perceived limits.  It appears that humanity has only recently become aware that we do not have infinite resources.  Psychologically there is a clash between the exponential growth and the psychological or physical limit.  The only significance is the relevant (usually local) limit.  How does it affect me, us, and them?  This can be seen throughput most game theory practices – dominant choice.  The pattern of growth is not the surprise it is the collision of the awareness of the limit to the ever-increasing growth function is the surprise.

One must stop and ask: 

Q: Are progress (and capacity) and the ever-increasing function a positive and how does it relate to 2nd law of thermodynamics aka Entropy?  Must it always expand?

We are starting to see that our world can exert dormant forces that within our life can greatly affect our well being. When we approach the actual or perceived limit the forces which are usually negative begin to gain strength.

So given these aspects of why i’ll turn now to start the discussion.  If we do not understand history we cannot predict the future by inventing it or in most cases re-inventing it as it where.

I want to start off the history by referencing several books that i have been reading and re-reading on subjects of modeling the world, complexity, and models for collapse throughout this multipart blog.  We will be addressing issues concerning complex dynamics as are manifested with respect to attributes model types, economics, equality, and mental concerns.  

These core references are located at the end of the blog under references.  They are all hot-linked.  Please go scroll and check them out.  i’ll still be here.  i’ll wait.

Checked them out?  i know a long list. 

As you can see the core is rather extensive due to the nature of the subject matter.  The top three books are the main ones that have been the prime movers and guides of my thinking.  These three books i will refer to as The Core Trilogy:

World Dynamics

The Collapse of Complex Societies 

Six Sources of Collapse 

 As i mentioned i have been deeply thinking about all aspects of this system for quite some time. I will be mentioning several other texts and references along the continuum of creation of this design.

We will start by referencing the first book: World Dynamics by J.W. Forrestor.  World Dynamics came out of several meetings of the Rome Club a 75 person invite-only club founded by the President of Fiat.  The club set forth the following attributes for a dynamic model that would attempt to predict the future of the world:

  • Population Growth
  • Capital Investment
  • Geographical Space
  • Natural Resources
  • Pollution
  • Food Production

The output of this design was codified in a computer program called World3.  It has been running since the 1970s what was then termed a golden age of society in many cases.  All of these variables have been growing at an exponential rate. Here we see the model with the various attributes in action. There have been several criticisms of the models and also analysis which i will go into in further blogs. However, in some cases, the variants have been eerily accurate. The following plot is an output of the World3 model:

2060 does not look good

Issues Raised By World3 and World Dynamics

The issues raised by World3 and within the book World Dynamics are the following:

  • There is a strong undercurrent that technology might not be the savior of humankind
  • Industrialism (including medicine and public health) may be a more disturbing force than the population.  
  • We may face extreme psychological stress and pressures from a four-pronged dilemma via suppression of the modern industrial world.
  • We may be living in a “golden age” despite a widely acknowledged feeling of malaise.  
  • Exhtortions and programs directed at population control may be self-defeating.  Population control, if it works, would yield excesses thereby allowing further procreation.
  • Pollution and Population seem to oscillate whereas the high standard of living increases the production of food and material goods which outrun the population.  Agriculture as it hits a space limit and as natural resources reach a pollution limit then the quality of life falls in equalizing population.
  • There may be no realistic hope of underdeveloped countries reaching the same standard and quality of life as developed countries.  However, with the decline in developed countries, the underdeveloped countries may be equalized by that decline.
  • A society with a high level of industrialization may be unsustainable.  
  • From a long term 100 years hence it may be unwise for underdeveloped countries to seek the same levels of industrialization.  The present underdeveloped nations may be in better conditions for surviving the forthcoming pressures.  These underdeveloped countries would suffer far less in a world collapse.  

Fuzzy Human – Fuzzy Model

The human mind is amazing at identifying structures of complex situations. However, our experiences train us poorly for estimating the dynamic consequences of said complexities.  Our mind is also not very accurate at estimating ad hoc parts of the complexities and the variational outcomes.  

One of the problems with models is well it is just a model  The subject-observer reference could shift and the context shifts thereof.  This dynamic aspect needs to be built into the models.

Also while we would like to think that our mental model is accurate it is really quite fuzzy and even irrational in most cases.  Also attempting to generalize everything into a singular model parameter is exceedingly difficult.  It is very difficult to transfer one industry model onto another.  

In general parameterization of most of these systems is based on some perceptual model we have rationally or irrationally invented.  

When these models were created there was the consideration of modeling social mechanics of good-evil, greed – altruism, fears, goals, habits, prejudice, homeostasis, and other so-called human characteristics.  We are now at a level of science where we can actually model the synaptic impulse and other aspects that come with these perceptions and emotions.

There is a common cross-cutting construct in most complex models within this text that consists of and mainly concerned with the concept of feedback and how the non-linear relationships of these modeled systems feedback into one another.  System-wide thinking permeates the text itself.  On a related note from the 1940’s of which Dr Norbert Weiner and others such as Claude Shannon worked on ballistic tracking systems and coupled feedback both in a cybernetic and information-theoretic fashion of which he attributed the concept of feedback as one of the most fundamental operations in information theory.  This led to the extremely famous Weiner Estimation Filters.  Also, side note: Dr Weiner was a self-styled pacifist proving you can hold two very opposing views in the same instance whilst being successful at executing both ideals.   

Given that basic function of feedback, lets look at the principle structures.  Essentially the model states there will be levels and rates.  Rates are flows that cause levels to change.  Levels can accumulate the net level. Either addition or subtraction to that level.  The various system levels can in aggregate describe the system state at any given time (t).  Levels existing in all subsystems of existence.  These subsystems as you will see include but are not limited to financial, psychological, biological, and economic.   The reason that i say not limited to because i also believe there are some yet to be identified subsystems at the quantum level.  The differential or rate of flow is controlled by one or more systems.  All systems that have some Spatio-temporal manifestation can be represented by using the two variables levels and rates.  Thus with respect to the spatial or temporal variables, we can have a dynamic model.  

The below picture is the model that grew out of interest from the initial meetings of the Club of Rome.  The inaugural meeting which was the impetus for the model was held in Bern, Switzerland on June 29, 1970.  Each of the levels presents a variable in the previously mentioned major structures. System levels appear as right triangles.  Each level is increased or decreased by the respective flow.  As previously mentioned on feedback any closed path through the diagram is a feedback loop.  Some of the closed loops given certain information-theoretic attributes be positive feedback loops that generate growth and others that seek equilibrium will be negative feedback loops.  If you notice something about the diagram it essentially is a birth and death loop. The population loop if you will.  For the benefit of modeling, there are really only two major variables that affect the population.  Birth Rate (BR) and Death Rate (DR).  They represent the total aggregate rate at which the population is being increased or decreased.  The system has coefficients that can initialize them to normal rates.  For example, in 1970 BRN is taken as 0.0885 (88.5 per thousand) which is then multiplied by population to determine BR.  DRN by the same measure is the outflow or reduction.  In 1970 it was 9.5% or 0.095.  The difference is the net and called normal rates.  The normale rates correspond to a physical normal world.  When there are normal levels of food, material standard of living, crowding, and pollution.  The influencers are then multipliers that increase or decrease the normal rates.

Feedback and isomorphisms abound


As a caveat, there have been some detractors of this model. To be sure it is very coarse-grained however while i haven’t seen the latest runs or outputs it is my understanding as i said the current outputs are close. The criticisms come in the shape of “Well its just modeling everything as a y=x*e^{{rt}}. I will be using this concept and map if you will as the basis for Noumena.  The concepts and values as i evolve the system will vary greatly from the World3 model but i believe starting with a minimum viable product is essential here as i said humans are not very good at predicting all of the various outcomes in high dimensional space. We can asses situations very quickly but probably outcomes no so much. Next up we will be delving into the loops deeper and getting loopier.

So this is the first draft if you will as everything nowadays can be considered an evolutionary draft.  

Then again isn’t really all of this just  The_Inifinite_Human_Do_Loop?

until then,

#iwishyouwater

tctjr

References:

(Note: They are all hotlinked)

World Dynamics

The Collapse of Complex Societies 

Six Sources of Collapse 

Beyond The Limits 

The Limits To Growth 

Thinking In Systems Donella Meadows

Designing Distributed Systems Brendan Burns

Introduction to Distributed Algorithms 

A Pragmatic Introduction to Secure Multi-Party Computation 

Reliable Secure Distributed Programming 

Distributed Algorithms 

Dynamic General Equilibrium Modeling 

Advanced Information Systems Engineering 

Introduction to Dynamic Systems Modeling 

Nonlinear Dynamics and Chaos 

Technological Revolutions and Financial Capital 

Marginalism and Discontinuity 

How Nature Works 

Complexity and The Economy 

Complexity a Guided Tour

Future Shock 

Agent_Zero 

Nudge Theory In Action

The Structure of Scientific Revolutions

Agent-Based Modelling In Economics

Cybernetics

Human Use Of Human Beings

The Technological Society

The Origins Of Order

The Lorax

Blog Muzak: Brain and Roger Eno: Mixing Colors

Book Review: Future Shock

Future Shock Book Spine

One of the things, Oh Dear Reader, you will come to find out about me is that I have a disease called biblomaniacism. I argue however as with most things indulgence, not compulsion is the order of the day. However, I also argue if you are going to have a vice or let us say an issue as it were, then obsessive reading or collecting of books is not such a bad thing to have unless they fall on you or if you have to move them. I wanted to give the reader a full context for future meanderings in the realm of book reviews and general book discussions.

As of late, I have been having discussions on several fronts concerning the sharing economy and how transients and complexity add to the perception of less time in our lives. Humans also ask me to recommend books. Given these discussions, I have been recommending a book entitled “Future Shock” by Alvin Toffler. Here are the particulars:

Book Title: Future Shock
Author: Alvin Toffler
Publisher: Random House
ISBN: 0-394-42586-3 (Original hardcover)
Copyright: 1970

I have the original hardback version. I love the black cloth cover with the red letter embossed writing. I also love the perforated edges on the pages. The dedicated page is classic:

Dedication Page

The book’s premise is the presupposes that we as humans are moving into an area of “information overload” as far as I know this is the first mention of the terminology. Once again this book was published in 1970. The book argues that we as a society are facing enormous structural change, a revolution from an industrial society to a “super-industrial society”. As such the underlying delta in our perceptual makeup from moving to “atoms to bits” is that our sense of ownership and therefore our sense of time is greatly affected. The sense of ownership is affected by moving from having and owning to renting and sharing. The tome goes into great detail we are ever more transient in our behavior much in the same aspect our ancestors where nomadic. However, the major differentiation is that the cultural break from the past now comes at a price.

An excerpt from page 11:

“Future Shock is a time phenomenon a product of the greatly accelerated rate of change in our society. It arises from the superposition of a new culture on an old one. It is a culture shock in one’s own society. But its impact is far worse. For most Peace Corpsmen, in fact, most travelers, have the comforting knowledge that the culture they left behind will be there to return to. The victim of the future shock does not.”

The underlying thesis is that we as a society are processing more information in a shorter amount of time which results in all aspects of our being and relationships with life compressed and transient. For example, take an individual out of his/her own culture and set them down in an environment where there are different rules both written and unwritten which apply to conceptions of time, sex, religion, work, personal space and cut off from any hope of retreating back to a more familiar social landscape. This can be exacerbated if the culture has different value systems which it probably does then what is considered rational behavior under these circumstances for the individual? The book takes this view and applies it to entire societies and generations. Thus this incurs future shock on a massive scale.

One very cogent aspect that resonated with me is the concept of fetishizing anything and everything. The execution of this fetishization comes through the application of sub-cultures. Whereas any little modification results in a new genre of the individual with respect to the sub-culture. Maybe one reason this resonated with me was his illustration of surfers being a sub-culture. Toffler does an amazing job of mapping this sub-culture fetish to having styles automatically chosen for us whereas we thereby adopting the lifestyle without having to really perform the machinations associated with say paddling out in an ocean. If you adopt the style the percetion you are part of the culture is enough due to the transient nature of changing sub-cultures.

Toffler also goes into depth addressing the needs for our educational system especially k-12 needing to address thinking in the future instead of rank and file history which he does mention in most cases is variational and filtered as a function of the teacher’s belief system. He proposes a complete overhaul of the educational system on how we now have a static teaching agenda based on 17th-century rote memorization skills to a more adaptive system of learning. He also emphasizes how education will be more of a distributed individualized auto-didactic process. I consider myself to be an auto-didactic and relish the ability to sign up for Udemy or Coursera classes ergo I completely believe he nailed this assumption for the future classroom.

Oh, dear reader, if you made it this far fear not, this book is not a nihilistic or dystopian view of that which will inevitability come to pass. Toffler has a litany of suggestions for how we can overcome the future shock malaise or in fact he suggests it could be a new medical condition. I, however, will not list these in a cookbook fashion as I do not want to be a spoiler. Suffice to say we are seeing some people exercise their future thought to change future shock.

Caveat Emptor: This book will stretch and at the same time bind what you thought was good or bad for our western society. While you will probably pay a premium for the hardback original edition the paperback edition can easily be purchased for a very reasonable price. For those that work in the areas of dealing with humans or creating new technolgy I highly recommend adding this to your reading list. Your neurons will thank you for it.

If you happen to have read the book or are reading the book I would appreciate any comments you care to share.

Blogging Music: “Entre Dos Aquas” by Paco de Lucia, 1981.

Until then,

I wish you water,

tctjr.