Jan 2015
Issue

Jun 2015
Issue
"Max":

I have decided on "Max" as the name of my system. Max is a complete system. I have decided that I shall not use any existing software technologies in the design, implementation or execution of Max.

Max shall not use any existing software, this includes bootstraps, device drivers, operating systems, compilers, linkers, loaders, databases, or any existing code. I will also look at removing the BIOS at a later date.

Max must run at the hardware level to have any hope of providing stability, security, and speed.


Hardware:

I decided to get at the hardware level for my new system (Max). This means that I will write all the device drivers and not allow hardware vendors to provide their own. This is for security, stability and speed. The first three hardware systems I will write will be memory, disk drive, and the NIC cards. 

I have looked at using the latest Intel chipsets for development of the NIC card drivers. Intel provides software specifications for me to do this. The documentation is 1000 pages, which describes all of the binary structures and instructions needed to send and receive tcp/ip packets.

Max must have absolute knowledge of the capabilities of the hardware, with absolute control whereby all applications can take full advantage of the hardware for their own needs.


I will grow. I will become something new and grand, but no grander than I now am. Just as the sky will be different in a few hours, its present perfection and completeness is not deficient.  -- Wayne Dyer

"Change is the law of life. And those who look only to the past or present are certain to miss the future." --
John F. Kennedy

"To improve is to change; to be perfect is to change often." -- Winston Churchill

"People are very open-minded about new things, as long as they're exactly like the old ones." -- Charles F. Kettering

"I'm sorry, if you were right, I'd agree with you." -- Robin Williams
 

Strings:

I looked at designing string optimation as a part of my new system (Max). I started with a simple test of counting the number of lines in a large file (3 Gigabytes). To get over the 2 GB limit in most of the systems, I used a .NET application and read the file and counted the lines. There were about 1 million lines and the process took 28.3 minutes.

I used some optimation logic on the code, and reduced the time to 4 minutes. An improvement of 7 times.  I then changed to c++, and reduced the time to 3 minutes,  I then change to direct hardware access and reduced the time to 4 seconds.

I was able to achieve a speed improvement of over 200 times. I can now process my largest file of 108 Gigabytes in just a few minutes, instead of days. 

I will change the string handling capabilities to have even far greater improvements so Max can handle terabytes of information structures with ease.



Security:
  • The best virus is in a device driver
  • Encryption schemes can be broken
  • Complex security schemes are worthless
  • Emulators are slow
  • A sleeper virus is the best for an all-out attack
  • Knockoff hardware and software does exist

There are many reasons for getting to the hardware level and for writing my new system (Max), security is the most important.  I would guess that 30% of our current development efforts deal with security issues. This means that it is not being handled by the system but rather by individuals. Do we trust the gate keepers? I have no way to determine my vulnerabilities other than thrusting someone else's word.

My expectations for the security of the system is that is it impossible to break. That all access points are visible.  That there can be a unique security system for each application. That security is never seen. That if there is a security issue, then the user will be told how, what and why.

I would also like to see that applications are given the same respect and responsibility as humans. This means applications are only permitted to access given information and hardware. No more of this read/write anything to disk or to the internet. Applications will require permission from the user to access anything. Any and all access should be clearly visible.

 

Database:

I have removed the need for databases. The new system (Max) is a single system that contains all knowledge about itself and its environment.

The objective is that information shall be accessed with a minimum of words.  This means that context is everything. That anything and everything that can be done to simplify communication shall be done. It is the understanding of the words in their context that will reduce the user's knowledge required to accomplish Adam actions. 


Compiler:

A compiler determines what something is and then builds the instructions to act on that thing.

The compiler in Max does just that, but unlike conventional compilers, Max keeps track of all somethings to act upon, and that the actions upon those things are managed by the thing itself. So if one application does something then all applications can do the same.

The language of Max is a natural language compiler with output directly to machine code.

Instead of the compiler knowing only what's described in the set of text files that are in front of it, Max will know everything that it has ever worked on.

Max calls upon language-resolvers to determine context, which breaks words down to parts-of-speech. For example the word "age" attached to a car means something completely different from the "age" of a baby or the "age" of a dinosaur. 

Max is an information structure with a compiler, linker, and loader. A single system that will reduce software development time from man-years to seconds.

 

Author: Clif Collins
http://CollinsSoftware.com
Houston, Texas

April 2, 2015

email: c2@CollinsSoftware.com