Apr 2015

Sept 2015


Adding context to terms. A unique and powerful concept added to the accessing and to the storing of data.  We live in a world by context. Just about everything we do or think is in some kind of context. Where we live, people we know, we address them in context. In the world of software development, context is missing and yet it somehow controls our failure and our limitations.

I have created a system of context that is possible for every value. The first two uses I have for this are Language and Data Storage.

I want Max (my system) to understand all natural languages. So the first context is "Language". The context can be set to "English US" and/or "Chinese" and Max will be able to operate in both (or any number of) languages simply by setting the "Language" context.

One of the major failures in database technology is the limitation on data separation by context. Most data is context sensitive, Accounting systems for example should be physically separated by YEAR if not my MONTH, maybe be COMPANY and possibility by DEPARTMENT. 

Speed, security, archival and data transfers would be greatly improved simply by the physical separation of data by context.  Access to the data is seamless, yet with very little logic and no loss of speed, you could for example restrict access to a year of data, or to just one company.

The age of information in most cases determines its frequency of change. The amount of processing that I can do on information that never changes is a lot different than on one that constantly changes. This means that separation by date improves speed.

"The difference between stupidity and genius is that genius has its limits." - unknown

"Limits, like fear, is often an illusion."  - Michael Jordan

"The essence of strategy is that you must set limits on what you're trying to accomplish." - Michael Porter

"Real knowledge is to know the extent of one's ignorance." - Confucius

“If you can‘t explain it simply, you don‘t understand it well enough.” - Albert Einstein

“Everybody’s a genius. But if you judge a fish by its ability to climb a tree, it’ll spend its life believing that it’s stupid” - Albert Einstein

"Fall down seven times, stand up eight" – Japanese proverb

A craftsman will meet his own expectations, a master will exceed them." -- Clif Collins

Removing Number System Limitations:

One of the last limitations that I have removed is the current binary number system. I have changed the concept of fix length bit numbers, 8, 16, 32, 64, 128 and gone to a compressed binary number system. A number in Max can be any size for any use. This removed the limitation on the size of any value in the system without lost of speed and also saves on space.

All existing Adam systems run on fixed length binary numbering systems, arbitrarily selected by the programmer, giving us all of our size limitations.  A good example is "Date" which is commonly represented as a 64 bit number of milliseconds of  some fixed date range, 1970 to 2034.  Every number used in our existing Adam systems has a limit.  I removed this limitation by a simple change in the number's binary representation.  With this I have removed all number limitations; a "Date" can now represent one trillion trillion years into the past and into the future in picoseconds.

Speed initially will be faster in data transfer and in conversion logic. In the future, adjustments to the hardware could make number math operations just as faster as the current fixed bit number system.

Space will be significantly compressed since only the number of bits required to store each value is used.

This is a win-win situation,  I gain speed, space, and reduce programming logic simply by removing the limitation on numbers. A limit I thought could not be removed. By carrying out this logic to floating point numbers the limit on precision is removed. Our 64 bit floating point numbers has 15 digits of precision. This limitation is now removed and any number of digits can be represented. 

Just because our existing hardware has number limitations, does not mean that software must also have them, in fact this is our biggest problem in software development today. The binary number has caused, directly or indirectly, all of the failures and limitations that we have in our systems today.

Initial Release of MAX:

I hope to have an initial demonstrable version of Max by July 26, 2015.  I hope to prove that there is an end to software development.

Max will work in any natural language. All knowledge about a term is known. Application size without limits. Information size without limits. Independent of current technologies. Permanent access to logic. No programming required over time, software that is accumulative: an end to software development.

A system that never fails, has no versions, needs no documentation and can replace every software system that currently exists.

These are my expectations.


Removing the limitation on numbers, has forced me into coming up with a number to represent "infinity". This is some value that any number is not larger than.

In software development this concept is missing, but is used quite often. If we use infinity in context the meaning can change based on usage. This is the domain of the term. For example someone's age 0 to 200, for the age of dinosaur 231.4 million to 135 million year past.

IC Logic:

Infinite Continuous (IC) is a term I use for removing the limitation on the accessing of large data sets. 

As our data sets get larger our access gets smaller. A key quality of software should be that size should not limit speed or accessibility. Just as Google Maps proved that we can access tens of millions of images instantaneously, we can do this with all data sets.

Tables and files in Max (my system) are all IC accessible, meaning that only the visible rows of data the user can see need to be retrieved or updated.

Speed is greatly improved since only the minimum amount of data is accessed. There is no size limitation on the files or tables.

Other improvements to the IC logic will also increase speed, shared access and security.  The use of data aware indexing schemes will also be added to permit subset access instantaneously.

Max is the knowledge system, so all information about tables and files is available for every application.  The better we get at content delivery systems, the faster we will get at accessing larger and larger dataset. By having better indexing, value locking, and caching, the better our systems will become.

The terms "Cloud Computing" and "Big Data" are simply sales tools. How many of something or where it is, I should never really care. The system should take care of this seamlessly. This is what computers do.


Author: Clif Collins
Houston, Texas

June 7, 2015

email: c2@CollinsSoftware.com