March 2016

April 2017
Blowing Code Apart:

The ultimate in code management. Take any piece of code and split into its base components, classify, organize, and then place into a system of management. Singularities falls out very quickly, making most of the code extremely easy to organize.

Once in the system of management, it by nature permits reorganization, additions, change and alterations with complete confidence.

Singularity in Programming:

To have each piece of code work on a single value or task.  This is contrary to everything I have been taught or have read about software development.  This is the key to having everything in context, for giving software the ability to change, and for removing internal and external dependencies.

Code will have the tendency to be correct, and fail proof if logic is manageable by humans.  Manageability of code is key for successful implementation of Adam. We remove the individual from the equation of logic development by moving the task of code management out of the hands of application developers and into a system of singularity programming management.

"For me context is the key - from that comes the understanding of everything" -- Kenneth Noland

“Wisdom is intelligence in context.”  
-- Raheel Farooq

"Without context, words and actions have no meaning at all. This is true not only of human communication in words but also of all communication whatsoever, of all mental process, of all mind, including that which tells the sea anemone how to grow and the amoeba what he should do next." -- Gregory Bateson

"Language does not merely report to the world, represent the world, describe the world. Rather, language creates worlds, and in that creation is power. Language creates, distorts, carries, discloses, hides, allows, oppresses, enriches, enthralls."
-- Ken Wilber


Everything in Context:

Verbs and Nouns in context will reduce program complexity and coding by 75%.  I have just begun the science of programming in context, and have already seen a 90% reduction of code for most of my applications. I expect this will be typical for all future programming.

The 75% reduction in coding is a very small step toward the goal of Adam, which is to eliminate all software development. A far bigger advantage to having things in context, is that it simplifies communication, making it a far simpler system to maintain and manage.

In context programming, almost all conditional statements are gone, along with the statements involved with the setup and disposition of values and parameters.

The development in context programming is far different than conventional programming. The change in programming style is not obvious, and requires a different mind set.  All of the verbs and nouns in Adam will be in context, however I expect it will take 10 or more iterations in logic before I can perfect the process. The problem is that I am not just talking about a single objects, rather all objects, and how they are organized in relationship to their parents and their children in every possible situation.

Singularity plays a major role in context.  Or should I say, singularity is context. It then becomes not a task of writing code or of logic, rather it becomes the task of organization by context that we wish to achieve. With proper organization, tasks that used to take 80 lines of code can now be done in 2.

All the parameters that are needed are available and the place to put the result is ready to accept, this is "in context". Software no longer will look outside itself to perform the called upon task.

Speed of the software will increase with the reduction of overhead associated with conventional programming. Security will become an integral part of context, making it far easier to implement a truly secure system. 



Internal Dependencies:

Dependencies in software development will cause failure in any system. I generally think of dependencies such as compilers, API's, Libraries, external systems, operating systems, hardware. I have come to find out that internal dependencies are far more difficult to expunge from the list of design issues that cause failures.

External dependencies are easy to remove, just do not use them. Internal dependencies are far more likely to cause failure since we cannot ignore them.

Change is needed. Any change is never good. How to change and stay the same?  This is the last major hurdle for Adam.  I believe that this can be solved with proper design. It will take professionals that have mastered the science of internal dependencies to move the science of software development forward. It will not be by accident that progress is made, It will be by design.

I consider any software design that hinders change to be an internal dependency.  Software that does not allow context change is one example. Another is the inability of recursion for a given level of context. These two examples cover a wide range of limitations caused by internal dependencies.  These dependencies are the most complex software design problems that we must solve in order to move forward in having intelligent machines.

Even though I have solved most of the technical problems, this is one that may take another few years to implement. I fell that by having everything in context will resolve this problem. There might by other reasons for a internal dependency, these will require unique solutions.

Everything in context will be a design solution for security. However it will be tied directly to the Content Delivery System (CDS).  To take this to the extreme, a complete Adam system will be built for every individual in context which will include security and their own CDS. This extreme solution would allow for an absolute secure solution.

Author: Clif Collins
Houston, Texas

April 8, 2016