Feeds:
Posts
Comments

Archive for February, 2015

The human race began a path towards illiteracy when moving pictures and sound began to dominate our mode of communication. Grammar checking word processors and the Internet catalyzed an acceleration of the process. Smartphones, 3-D printing, social media and algorithmic finance tipped us towards near total illiteracy.

The complexity of the machines have escaped our ability to understand them – to read them and interpret them – and now, more importantly, to author them. The machines author themselves. We inadvertently author them without our knowledge. And, in cruel turn, they author us.

This is not a clarion call to arms to stop the machines. The machines cannot be stopped for we will never want to stop them so intertwined with our survival (the race to stop climate change and or escape the planet will not be done without the machines). It is a call for the return to literacy. We must learn to read machines and maintain our authorship if we at all wish to avoid unwanted atrocities and a painful decline to possible evolutionary irrelevance. If we wish to mediate the relations between each other we must remain the others of those mediations.

It does not take artificial intelligence for our illiteracy to become irreversible. It is not the machines that will do us in and subjugate us and everything else. Intelligence is not the culprit. It is ourselves and the facets of ourselves that make it too easy to avoid learning what can be learned. We plunged into a dark ages before. We can do it again.

We are in this situation, perhaps, unavoidably. We created computers and symbolics that are good enough to do all sorts of amazing things. So amazing that we just went and found ways to unleash things without all the seeming slowness of evolutionary and behavioral consequences we’ve observed played out on geological time scales. We have unleashed an endless computational kingdom of such variety rivaling that of the entire history of Earth. Here we have spawned billions of devices with billions and billions of algorithms and trillions and trillions and trillions of data points about billions of people and trillions of animals and a near infinite hyperlinkage between them all. The benefits have outweighed the downsides in terms of pure survival consequences.

Or perhaps the downside hasn’t caught us yet.

I spend a lot of my days researching, analyzing and using programming languages. I do this informally, for work, for fun, for pure research, for science. It is my obsession. I studied mathematics as an undergraduate – it too is a language most of us are illiterate in and yet our lives our dominated by it. A decade ago I thought the answer was simply this:

Everyone should learn to program. That is, everyone should learn one of our existing programming languages.

It has more recently occurred to me this is not only realistic it is actually a terrible idea. Programming languages aren’t like English or Spanish or Chinese or any human language. They are much less universal. They force constraints we don’t understand and yet don’t allow for any wiggle room. We can only speak them by typing them incredibly specific commands on a keyboard connected to a computer architecture we thought up 50 years ago – which isn’t even close to the dominate form of computer interaction most people use (phones, tablets, tvs, game consoles with games, maps and txt messages and mostly consumptive apps). Yes, it’s a little more nuanced than that in that we have user interfaces that try to allow us all sorts of flexbility in interaction and they will handle the translation to specific commands for us.

Unfortunately it largely doesn’t work. Programming languages are not at all like how humans program. They aren’t at all how birds or dogs or dolphins communicate. They start as an incredibly small set of rules that must be obeyed or something definitely will breakdown (a bug! A crash!). Sure, we can write an infinite number of programs. Sure most languages and the computers we use to run the programs written with language are universal computers – but that doesn’t make them at all as flexible and useful as natural language (words, sounds, body language).

As it stands now we must rely on about 30 million people on the entire planet to effectively author and repair the billions and billions of machines (computer programs) out there (http://www.infoq.com/news/2014/01/IDC-software-developers)

Only 30 million people speak computer languages effectively enough to program them. That is a very far cry from a universal or even natural language. Most humans can understand any other human, regardless of the language, on a fairly sophisticated level – we can easily tell each others basic state of being (fear, happiness, anger, surprise, etc) and begin to scratch out sophisticate relationships between ideas. We cannot do this at all with any regularity or reliability with computers. Certainly we can communicate with some highly specific programs some highly specific ideas/words/behaviors – but we cannot converse even remotely close with a program/machine in any general way. We can only rely on some of the 30 million programmers to improve the situation slowly.

If we’re going to be literate in the age of computation our language interfaces with computers must beome much better. And I don’t believe that’s going to happen by billions of people learning Java or C or Python. No it’s going to happen by the evolution of computers and their languages becoming far more human author-able. And it’s not clear the computers survival depends on it. I’m growing in my belief that humanity’s survival depends on it though.

I’ve spent a fair amount of time thinking about what my own children should learn in regards to computers. And I have not at all shaped them into learning some specific language of todays computers. Instead, I’ve focused on them asking questions and not being afraid of the confusing probable nature of the world. It is my educated hunch that the computer languages of the future will account for improbabilities and actually rely on them, much as our own natural languages do. I would rather have my children be able to understand our current human languages in all their oddities and all their glorious ability to express ideas and questions and forever be open to new and different interpretations.

The irony is… teaching children to be literate into todays computer programs as opposed to human languages and expresses, I think, likely to leave them more illiterate in the future when the machines or our human authors have developed a much richer way to interact. And yet, the catch-22 is that someone has to develop these new languages. Who will do it if not myself and my children? Indeed.

This is why my own obsession is to continue to push forward a more natural and messier idea of human computer interaction. It will not look like our engineering efforts today with a focus on speed and efficiency and accuracy. Instead it will will focus on richness and interpretative variety and serendipity and survivability over many contexts.

Literacy is not a complete efficiency. It is a much deeper phenomena. One that we need to explore further and in that exploration not settle for the computational world as it is today.

Read Full Post »

The Point

Everything is a pattern and connected to other patterns.   The variety of struggles, wars, businesses, animal evolution, ecology, cosmological change – all are encompassed by the passive and active identification and exploitation of changes in patterns.

What is Pattern

Patterns are thought of in a variety of ways – a collection of data points, pictures, bits and bytes, tiling.   All of the common sense notions can be mapped to the abstract notion of a graph or network of nodes and their connections, edges.   It is not important, for the sake of the early points of this essay, to worry to much about the concept of a graph or network or its mathematical or epistemological construction.   The common sense ideas that might come to mind should suffice – everything is a pattern connected to other patterns. E.g. cells are connected to other cells sometimes grouped into organs connected to other organs sometimes grouped into creatures connected to other creatures.

Examples

As can be imagined the universe has a practically infinite number of methods of pattern identification and exploitation. Darwinian evolution is one such example of a passive pattern identification and exploration method. The basic idea behind it is generational variance with selection by consequences. Genetics combined with behavior within environments encompass various strategies emergent within organisms which either hinder or improve the strategies chance of survival. Broken down and perhaps too simplistically an organism (or collection of organisms or raw genetic material) must be able to identify threats, energy sources and replication opportunities and exploit these identifications better than the competition.   This is a passive process overall because the source of identification and exploitation is not built in to the pattern selected, it is emergent from the process of evolution. On the other hand sub processes within the organism (object of pattern were considering here) can be active – such as in the case of the processing of an energy source (eating and digestion and metabolism).

Other passive pattern processes include the effects of gravity on solar systems and celestial bodies on down to their effects on planetary ocean tides and other phenomena.   Here it is harder to spot what is the identification aspect?   One must abandon the Newtonian concept and focus on relativity where gravity is the name of the changes to the geometry of spacetime.   What is identified is the geometry and different phenomena exploit different aspects of the resulting geometry.   Orbits form around a sun because of the suns dominance in the effect on the geometry and the result can be exploited by planets that form with the right materials and fall into just the right orbit to be heated just right to create oceans gurgling up organisms and so on.   It is all completely passive – at least with our current notion of how life my have formed on this planet. It is not hard to imagine based on our current technology how we might create organic life forms by exploiting identified patterns of chemistry and physics.

In similar ways the trajectory of artistic movements can be painted within this patterned theory.   Painting is an active process of identifying form, light, composition, materials and exploiting their interplay to represent, misrepresent or simply present pattern.   The art market is an active process of identifying valuable concepts or artists or ideas and exploiting them before mimicry or other processes over exploit them until the value of novelty or prestige is nullified.

Language and linguistics are the identification and exploitations of symbols (sounds, letters, words, grammars) that carry meaning (the meaning being built up through association (pattern matching) to other patterns in the world (behavior, reinforcers, etc).   Religion, by the organizers, is the active identification and exploitation of imagery, language, story, tradition, and habits that maintain devotional and evangelical patterns. Religion, by the practitioner, can be active and passive maintenance of those patterns. Business and commerce is the active (sometimes passive) identification and exploitation of efficient and inefficient patterns of resource availability, behavior and rules (asset movement, current social values, natural resources, laws, communication medium, etc).

There is not a category of inquiry or phenomena that can escape this analysis.   Not because the analysis is so comprehensive but because pattern is all there is. Even the definition and articulation of this pattern theory is simply a pattern itself which only carries meaning (and value) because of the connection to other patterns (linear literary form, English, grammar, word processing programs, blogging, the Web, dictionaries).

Mathematics and Computation

It should be of little surprise that mathematics and computation forms the basis of so much of our experience now.   If pattern is everything and all patterns are in a competition it does make some common sense that efficient pattern translation and processing would arise as a dominant concept, at least in some localized regions of existence.

Mathematics effectiveness in a variety of situations/contexts (pattern processing) is likely tied to its more general, albeit often obtuse and very abstracted, ability to identify and exploit patterns across a great deal of categories.   And yet, we’ve found that mathematics is likely NOT THE END GAME. As if anything could be the end game.   Mathematics’ own generalness (which we could read as reductionist and lack of full fidelity of patterns) does it in – the proof of incompleteness showed that mathematics itself is a pattern of patterns that cannot encode all patterns. Said differently – mathematics incompleteness necessarily means that some patterns cannot be discovered nor encoded by the process of mathematics.   This is not a hard meta-physical concept. Incompleteness merely means that even for formal systems such as regular old arithmetic there are statements (theorems) where the logical truth or falsity cannot be established. Proofs are also patterns to be identified and exploited (is this not what pure mathematics is!) and yet we know, because of proof, that we will always have patterns, called theorems, that will not have a proof.   Lacking a proof for a theorem doesn’t mean we can’t use the theorem, it just means we can’t count on the theorem to prove another theorem. i.e. we won’t be doing mathematics with it.   It is still a pattern, like any sentence or painting or concept.

Robustness

The effectiveness of mathematics is its ROBUSTNESS. Robustness (a term I borrow from William Wimsatt) is the feature of a pattern that when it is processed from multiple other perspectives (patterns) the inspected pattern maintains its overall shape.   Some patterns maintain their shape only within a single or limited perspective – all second order and higher effects are like this. That is, anything that isn’t fundamental is of some order of magnitude less robust that things that are.   Spacetime geometry seems to be highly robust as a pattern of existential organization.   Effect carrying ether, as proposed more than 100 years ago, is not.   Individual artworks are not robust – they appear different to any different perspective. Color as commonly described is not robust.   Wavelength is.

While much of mathematics is highly robust or rather describes very robust patterns it is not the most robust pattern of patterns of all. We do not and likely won’t ever know the most robust pattern of all but we do have a framework for identifying and exploiting patterns more and more efficiently – COMPUTATION.

Computation, by itself. 

What is computation?

It has meant many things over the last 150 years.   Here defined it is simply patterns interacting with other patterns.   By that definition it probably seems like a bit of a cheat to define the most robust pattern of patterns we’ve found to be patterns interacting with other patterns. However, it cannot be otherwise. Only a completely non-reductive concept would fit the necessity of robustness.   The nuance of computation is that there are more or less universal computations.   The ultimate robust pattern of patterns would be a truly universal-universal computer that could compute anything, not just what is computable.   The real numbers are not computable, the integers are.   A “universal computer” described by today’s computer science is a program/computer that can compute all computable things. So a universal computer can compute the integers but cannot compute the real numbers (pi, e, square root of 2). We can prove this and have (the halting problem, incompleteness, set theory….).   So we’re not at a completely loss of interpreting patterns of real numbers (irrational numbers in particular). We can and do compute with pi and e and square root millions of times a second.   In fact, this is the key point.   Computation, as informed by mathematics, allows us to identify and exploit patterns far more than any other apparatus humans have devised.   However, as one would expect, the universe itself computes and computes itself.   It also has no problem identifying and exploiting patterns of all infinitude of types.

Universal Computation

So is the universe using different computation than we are? Yes and no.   We haven’t discovered all the techniques of computation at play. We never will – it’s a deep well and new approaches are created constantly by the universe. But we now have unlocked the strange loopiness of it all.   We have uncovered Turing machines and other abstractions that allow us to use English-like constructs to write programs that get translated into bits for logic gates in parallel to compute and generate solutions to math problems, create visualizations, search endless data, write other programs, produce self replicating machines, figure out interesting 3D printer designs, simulate markets, generate virtual and mixed realities and anything else we or the machines think up.

What lies beneath this all though is this very abstract yet simple concept of networks.   Nodes and edges. The mathematics and algorithms of networks.   Pure relation between things. Out of the simple connection of things from things arise all the other phenomena we experience.   The network is limitless – it imposes no guardrails to what can or can’t happen. That it is a network does explain and impose why all possibilities exhibit as they do and the relative emergent levels of phenomena and experience.

The computation of pure relation is ideal.   It only supersedes (makes sense to really consider) the value of reductionist modes of analysis, creation and pattern processing when the alternative pattern processing is not sufficient in accuracy and/or has become sufficiently inefficient to provide relative value for it’s reduction.   That is, a model of the world or a given situation is only as value as it doesn’t overly sacrifice accuracy too much for efficiency.   It turns out for most day to day situations Newtonian physics suffices.

What Next

we’ve arrived at a point in discovery and creation where the machines and machine-human-earth combinations are venturing into virtual, mixed and alternate realities that current typical modes of investigation (pattern recognition and exploitation) are not sufficient. The large hadron collider is an example and less an extreme example than it was before. The patterns we want to understand and exploit – the quantum and the near the speed of light and the unimaginably large (the entire web index with self driving cars etc) – are of such a different magnitude and kind.   Then when we’ve barely scratched the surface there we get holograms and mixed reality which will create it’s own web and it’s own physical systems as rich and confusing as anything we have now. Who can even keep track of the variety of culture and being and commerce and knowledge in something such as Minecraft? (and if we can’t keep track (pattern identify) how can we exploit (control, use, attach to other concepts…)?

The pace of creation and discovery will never be less in this local region of spacetime.   While it may not be our goal it is our unavoidable fate (yes we that’s a scary word) to continue to compute and have a more computational approach to existence – the identification and exploitation of patterns by other patterns seems to carry this self-reinforcing loop of recursion and the need of ever more clarifying tools of inspection that need more impressive means of inspecting themselves…   everything in existence replicates passively or actively and at a critical level/amount of interconnectivity (complexity, patterns connected to patterns) self inspection (reasoning, introspection, analysis, recursion) becomes necessary to advance to the next generation (explore exploitation strategies).

Beyond robotics and 3d printing and self-replicating and evolutionary programs the key pattern processing concept humans will need is a biological approach to reasoning about programs/computation.   Biology is a way of reasoning that attempts to classify patterns by similar behavior/configurations/features.   And in those similarities find ways to relate things (sexually=replication, metabolism=Energy processing, etc).   It is necessarily both reductionist, in its approach to categorize, and anti-reductionist in its approach to look at everything anew. Programs / computers escape our human (and theoretical) ability to understand them and yet we need some way to make progress if we, ourselves, are to persist along side them.

And So.

It’s quite possible this entire train of synthesis is a justification for my own approach to life and my existence. And this would be consistent with my above claims.   I can’t do anything about the fact that my view is entirely biased by my own existence as a pattern made of patterns of patterns all in the lineage of humans emerged from hominids and so on all the way down to whatever ignited patterns of life on earth.

I could be completely wrong. Perhaps some other way of synthesizing existence all the way up and down is right. Perhaps there’s no universal way of looking at it. Though it seems highly unlikely/very strange to me that patterns at one level or in one perspective couldn’t be analyzed abstractly and apply across and up and down.   And that the very idea itself suggests patterns of pattern synthesis is fundamental strikes me as much more sensible, useful and worth pursuing than anything else we’ve uncovered and cataloged to date.

Read Full Post »