- 1) Introduction:
- 2) Abstraction Action Constants:
- 3) Primary User Interfaces:
- 4) Cycles & Loops:
- 5) Definitions, Dictionaries & Document Mark Ups:
- 6) Commonly practiced, yet to be recognized:
- 7) Economic hindsight projected forward:
- 8) Philosophy:
- 9) References & notes:
The physics of abstraction is of an "outside looking in" perspective (*1), where rather than creating another abstract language (inside), instead sees the underlying action machinery enabling the ability to create languages (outside looking in). Since Abstraction is a human mental characteristic, there is an inherent subjectivity to the topic. However, through the use of computers as a working analogy, we can be more objective about abstraction physics. See: Abstraction (computer science)
Abstraction enters the picture of computing with the representation of physical transistor switch positions of ON '1' and OFF '0' or what we call "Binary notation". However, computers have far more transistor switches in them than we can keep up with in such a low level or first order abstract manner, so we create higher level abstractions in order to increase our productivity in programming computers. From Machine language to application interfaces that allow users to define some sequence of action into a word or button press (ie. record and playback macro) so to automate a task, we are working with abstractions that will ultimately access the hardware transistor switches which in turn output to, or control some physical world hardware.
Programming is the act of automating some level of complexity, usually made up of simpler complexities, but done so in order to allow the user to use and reuse the complexity through a simplified interface. And this is a recursive act, building upon abstractions others have created that even our own created abstractions/automatons might be used by another to further create more complex automatons. In general, if we didn't build upon what those before us have done, we then would not advance at all, but rather be like any other mammal incapable of anything more than, at best, first level abstraction. But we are more, and as such have the natural human right and duty to advance in such a manner.
(*1) "outside looking in" - to use an analogy: imagine a translucent sphere. From the inside looking outward, you can only ever see just part of the sphere at any one time as you have to turn to see the part behind you, etc.. However, from outside and at a reasonable distance, you can see the whole sphere at the same time.
2) Abstraction Action Constants:
There is an identifiable and definable "physics of abstraction" (abstraction physics), an identification of what actions are required and unavoidable, in order to make and use abstractions. Abstraction Physics is not exclusive to computing but constantly in use by ... well... us humans. Elements of abstraction physics include the actions of abstraction creation and use:
0) Defining a word to mean a more complex definition (word = definition, function-name = actions to take, etc.)
1) Starting and Stopping the interfacing with abstraction definition sequences.
2) Keeping track of where you are in the progress of abstraction sequence usage (moving from one abstraction to another).
3) Defining and changing "input from" direction.
4) Defining and changing "output to" direction.
5) Getting input to process (using variables or place holders to carry values).
6) Sequentially stepping through abstraction/automation details (inherently includes optionally sending output).
7) looking up the meaning of a word or symbol (abstraction) so to determine action upon or with it.
8) Identifying an abstraction or real item value so to determine action upon it.
9) Putting constraints upon your abstraction look ups and identifications -When you look up a word in a dictionary you don't start at the beginning of the dictionary, but begin with the section that starts with the first letter then followed by the second, etc., and when you open a box with many items to stock, you identify each so as to know where to put it in stock.
These placed into a logical integration for versatility and exception handling provides for a "Virtual Interaction Configuration."  So named after the diagram of "a network of virtual interactions" from the book "The World of Elementary Particles" by Kenneth Ford, as shown and referenced in Fritjof Capras' The Tao of Physics But here the representation is not of physical particles or of Mysticism, but rather the action constants used in the creation and use of "Abstractions" which are used in both Physics and Mysticism, as well as in the abstraction creating and manipulation profession of computer programming.. The Matrix movie representation of the Abstraction Action Constants (Note: The movie is fiction as you cannot "kill off" the action constants.)
3) Primary User Interfaces:
The following "User Interface Diagram", although considered the first significant crop circle recorded but regardless of it's origins, this 1991 Barbury Castle pictograph is a perfect diagram to express virtual interaction of primary user interfaces. Color added to areas of the pictograph only to assist in easier written communication of the user interfaces.
3a) Primary Computer User Interfaces:
Nature likes three (3) in primaries, as color in light (additive - red, blue, green) and paint (subtractive - blue, yellow, red) from which we can create all other colors in the rainbow. This applies to abstraction physics as well, as applied through the tool of a computer, for there are three primary user interfaces. The command-line (Blue area), the Graphical User interface (Red area) and the side door port access to internal application and OS functionality (Yellow area), known by many different names and application levels such as API, IPC, DCOM, dcop, D-BUS, Plumber, computer sockets, etc., though each having its limitation and typically not so end user friendly as the interface should be. And like the primary colors, if you take one away or limit its use, you constrain the ability of the user in putting new automations together or modifying existing ones. Causing false limitations in user ability also applies to the abstraction actions mentioned above, constrain access and you constrain users ability to create or modify.
'User Interface Diagram'
3b) Primary Human Interfaces:
Humans are different than computers, as computer are just stone (earth) running images of human thought processes and can be turned off without issue of coming back on. Humans are on (alive) and self driven by survival instinct. So the interfaces are a little different. You have the physical world interaction interface (Red area), the abstract interaction interface (Blue area) and the internal access interface (Yellow area) of conscious self direction and subconscious function. These are not so different than the primary computer user interfaces, if you think in terms of human abstract interface being like the computer command-line interface (Blue area), the physical interface being like the computer GUI (Red area), and the internal access human interface being like the computer software side door port (Yellow area).
3c) The "Not So Different":
The human difference is the additional self driving subconscious foundation which interacts with the body functions and maintains such things as heart rate, breathing, and up a level to store and use habits, stimuli responses, long term memory and personal beliefs to filter what a human conscious perceives and attaches abstraction to. This subconscious addition equates to the computers Basic Input/Output System (BIOS) (center black circle in Green area) and up a level, the Operating System (OS) of a computer (circle on outer Green area.) Recursively up a level above the subconscious addition, application software runs (circle in White area also extending past the triangles) interfacing internally with the computer BIOS, OS and externally with the application user. In human interface terms, application software equates to human consciousness interfacing internally with the body functions & subconscious belief system, and externally with the world. The straight lines representing the connected relationships of the interfaces. After all, we humans created computers to run our abstract images of our abstract thought processes.
4) Cycles & Loops:
The abstraction tool is most useful when tied to physical reality where we have this thing we call "time". The physical reality of the human body, we have the repetitive heart beat, and in computer terms we have the clock. It is these very basic cycles allowing more to happen upon them over time, a level up. To use an analogy: radio frequencies do not care what is transmitted over them, as the frequency is just a carrier wave.
Now consider three levels, each providing the foundation the level above it function upon. The BIOS, The OS & the Application, or The Body Subconscious (running the body) with the subconscious life experience & belief system, upon which the Conscious functions upon.
There is a great deal to even begin to consider what all is happening within these levels to support the next up, computer or human body. However, we know we have the absolute of the 10 (0+9) Abstraction Action Constants to work with on an abstract level.
This wiki page is meant to be easy to follow so getting into the details of the Virtual Interaction Configuration of the action constants in terms of computer functionality is best left where it currently is. Note: Computers have to be told what to do or they do nothing at all, this makes it very tedious to get a computer to mirror a person and why there is the annual Loebner Prize. So DO NOT feel this is over your head, for actually its going on in your human head.
"Cycles" happen over "time" in a manner that may be repetitive.
"Loops" are more abstract in physical reality than cycles, as "time" can be set aside to some degree, but as abstraction "Loops" are useful and here is why:
Imagine a circle and within that circle there is a smaller one that touches a point on the large circle, and if you want, a smaller on inside and touching a point on the now middle sized circle, for three levels. Though they are just imagined circles, they are abstract where upon you can place a sequence of abstraction. Of course the smaller circle needs to support the existence of the abstraction on the next larger one. It is where they touch that you have access, into and out of one circle to the other.
To put this in human terms, you may consciously want to change a bad habit but fail over and over, simply because your subconscious did not get the message to allow the habit no more. The Body subconscious, with training and perhaps tools you can consciously alter this as well. i.e. Biofeedback, Meditation, stress, etc.. When the "programming" is altered at the lower levels then the upper levels may also be automatically altered to fit what the lower levels allow. A message or programming change that happens once to cause lasting change.
In computer terms, abstract programming at the different levels....
"Loops" are tools of abstract thought and communication.
This is not to say the concept of "cycles" is not useful in terms of abstraction, as we will see in the next section.
5) Definitions, Dictionaries & Document Mark Ups:
Most people may have no or little interest in creating definitions for computer automations, though having the ability to do so, for those rare times, is handy. More important is the fact everyone has their own built-in system, perhaps difficult to grasp due inherent subjectivity, but there regardless, and modifiable.
What is a definition? Its two parts! Generally a smaller part to represent a larger part. i.e. a part number in a catalog, a word in a dictionary, a hand signal meaning a lot more, or whatever agreed upon. Math has the equal sign '=' and what ever is on one side, the other side is its definition. A persons name used in communication certainly represents a great deal, with maybe differences depending on who all is receiving the persons name and how they each have defined the persons name. Computer programming has its various ways of "word = definition" structure, depending on programming language. A computers user created definition might be attracted to a GUI icon for click on action.
A DEFINITION is any one abstraction representing another abstraction, abstraction set or physical object.
Dictionaries? Most people know a dictionary to be an organized collection of abstract words and their abstract definitions. But there is more. There is how the abstractions in the dictionary are integrated and this can become a genuine engineering skill in the sciences and application use. The English dictionary is integrated in being comprised of words and symbols all found to have their own "word = definition" as well as being part of a definition of other words. A computer application program, like the web browser you may be using to read this, the software was written using some form of definition usage, so its dictionary is already built in. As a user of the software you have only the interfaces the software programmer(s) allow. The applications dictionary most certainly is much larger and maybe a lot of the dictionary is not what a typical user would want to mess with anyway. However, does the software have an easy to use side door port interface (yellow area) to the user definitions which are otherwise available via manual user interface? Thus, allowing the user to create their own application related definitions, to automate what they otherwise do manually in using the application. Unfortunately, as mentioned above in the Primary User Interface section, this third user interface is generally lacking in existence and when there its without a consistent across applications interface for user ease. However, such tools as Autoit and Gui4Cli can help to fill this gap while providing GUI (second primary use interface) functionality.
A DICTIONARY is an organized and perhaps integrated set of definitions.
How many definitions are in a dictionary of snow? And if that is all you have in dictionaries, you will not know a hot sunny beach. The point being, dictionaries are constraints, for the value of using the constraints. And to make integrated use of more than one dictionary/application the Virtual Interaction Configuration has the Action Constants to do so, as does your abstract thinking mind.
'Loops & Cycles' Consider the simple '"Loop"' of: "input", "process" & "output" repeating continually. Of course these three further break down into the Action Constants and their details of use, but to keep this a simple explanation, the three. This simple loop is like a computer BIOS (Basic Input Output System) as it is set to a very limited and well defined repetitive sequence of actions. The "Cycle" is closer to using the dictionary analogy of an application program or set of program's dictionaries. As each time you use the program (start to quit), and record your usage, by comparing your usage you will note the unique differences each time used, as you have "Cycled" the application. Of course we also have the bridge between Loops & Cycles combination of the Operating System. In human terms the subconscious belief system, memory storage & recall. The movement of actions in a sequence is what makes Loops and Cycles useful.
DOCUMENT Mark Ups: We have lots of documents! Especially useful are the ones that help us create Definitions & Dictionaries for our own use. Such documents may contain description & instruction on use of application's user functions (i.e. File Open, Save, Save as, and many more unique to the application, etc.) as well as working examples. Again Nature likes "three" and documents can be "marked up" with only the addition of three unique characters and/or character sets, to form definition and dictionary like structure. Like a maps legend or key telling you what symbols on a map are defined to be, so as not to clutter the maps visual and allow navigation ease.
See: Example document marked up with key at top line and the IQ command (7th Action Constant) to process the file (IQ.zip )
IQ Command examples you may do step by step. Also See: old-read-me.txt file in .zip archive.
In the Example document the "filekey : :: :::" (top line) works like this:
- The word "filekey" just indicates the following is a list of the three mark ups to indicate the following.
- The first character or set of characters on any line in the Example document, here being ":", indicates a "word" part of a definition follows. We'll call this the "word indicator" and this with a word we'll call a "word key".
- The character or set of characters in the second position, here being "::", indicates the following is a "sub" part, typically of what the "word key" represents. We'll call this the "sub indicator" and this with a sub we'll call a "sub key".
+ Multiple sub keys are allowed under a word key, like an English dictionary's' definitions.
- And the third character or set of characters, here being ":::", indicates the following is where else to look, as in another dictionary file. We'll call this the "filename indicator" and this with a filename we'll call a "filename key"
+ A file or dictionary can be on the internet.
- As soon as another key character or character set is encountered in processing, the previous keys' following content ends.
(Exception: the "filename indicator" or "filename key" does not end previous key's content.)
- The word "filekey" just indicates the following is a list of the three mark ups to indicate the following.
It is only fair to mention in use there are rules that allow versatility in how these three "mark ups" are used, but we are keeping this simple here.
Tip: About halfway down in the Example document are alternate file keys (filekey) for the document. Look for: "KEY TO GOING FULL CIRCLE".
- To change the filekey indicators/characters is easy, just change them in the files "filekey" (top line in file.)
- To change the filekey indicators/characters is easy, just change them in the files "filekey" (top line in file.)
Remember: computers have to be told tedious details to do anything, so simplify!
How this relates to the human mind is first to understand the human mind is far more dynamic, but still applies pattern matching when you try to remember or recall something. And you are accessing your subconscious storage, like the computer accesses its storage using pattern matching.
6) Commonly practiced, yet to be recognized:
As mentioned above, the application of abstraction physics is a human characteristic and as such, it is inherently common in practice. However abstraction physics has yet to become widely recognized and applied as a science, similar to the difficulty the Hindu-Arabic decimal system had in its acceptance, which included the concept that nothing can have value - re: the Zero , the 0 (number) place holder. It took three hundred years (from inception) for the innovation of the now common decimal system to overcome the far more limited Roman Numeral system. (NOTE: mathematics and the symbol sets used are also abstractions and therefor a subset of abstraction possibilities and certainly an application of abstraction physics.) Though the act of programming is still younger than many who apply it, we are technologically moving at a much faster rate of incorporating innovations and better understandings of reality. The physics of abstraction can be used to model a non-patentable/natural, dynamic, user friendly general automation tool for abstraction creation and usage, including the automation of computer program creation. An abstraction tool that would also allows for organized placement and access of abstractions in a logical or mappable and navigable manner, not unlike reference books we have today, such as dictionaries, thesaurus, quick reference books to catalogs of parts, products, etc.. Even Wikipedia itself is such a mechanism applying "navigational mapping" as links don't have to yet exist.
When abstraction physics becomes more widely recognized and applied as a science, it will become obvious (an anti-patent facet) that software is of such qualities (natural law, physical phenomenon, abstract ideas, algorithms, etc.) to NOT qualify for patent-ability. Currently patent granting organizations have no solid reference point of "abstraction physics" from which to test software patent applications against, or re-evaluate granted software patents. However, effort is underway to change that through the application of just such an abstraction physics automation tool as mentioned above, but created for the use by patent granting organizations to help them, and other interested parties, to search for, and possibly make use of prior art.
7) Economic hindsight projected forward:
The Hindu-Arabic decimal system enabled much more of the general population to apply mathematics in a more powerful (*2) manner than the Roman Numeral system allowed. Likewise, with the establishment and application of abstraction physics as common knowledge, (as the decimal system is today, even taught in primary school) software will become genuinely free simply because it will be easy enough to create that the general population will be able to create it, or cause the machine to (recursive automation nature of programming), regardless of the resource limitations of the general population user regarding complexity details. Otherwise the act of programming becomes falsely constrained, as the acceptance of the decimal system, and its benefits, was constrained (perhaps by the roman numeral accountants protecting their vested interest.)
(*2) Worth noting: The Roman Numeral system and its mathematical limitation would not have allowed us to develop such a level of math complexity required for us to create/invent much of what we have today, including computers. Yet at the introduction of the Hindu-Arabic Decimal system, such potential creations/inventions were not even imagined. Perhaps the same inability to see where the acceptance and open (free) application of "abstraction physics" will indeed lead us in time, is a natural human constraint that only aids the support of the false constraints of "software patents".
The following is a sample result of failed philosophy on the subject matter of Abstraction Physics regarding Philosophy, sadly inspired by the Air France 447 tragedy over the Atlantic as one of many programming failures that have cost lives. Philosophy is meant to be a tool to help us live our lives the way we choose, but often philosophies are in error and fail to help us achieve what we want of our lives. Julian Jaynes book "The Origin of Consciousness in the Breakdown of the Bicameral Mind" Overview which provides a foundation upon which the creation and use of abstractions originated, with us humans, and as such inherently explores the origin of human philosophies. (Note: professor Jaynes did not complete his planned works on this subject. His approach was of humans being subjective to reality, but humans also influence reality.)
Aerospace systems are made by humans, but the way aerospace (life critical and specialized or specific field oriented) software is created, it is highly bug free, quite the opposite of feature creep bloat you see everywhere else, but even at the code level there is avoidance of function calls that can introduce another level of abstraction and complexity and contribute to bugs and failure. It is in this way that using the process of elimination we can come to some conclusions about where error is or can most certainly exist, philosophy.
On a hardware level, we have redundant backups and check system....
As such there is one area that neither software nor hardware has but only as a secondary or implementation of, position. Human error in concepts, beliefs, philosophies, abstraction definition variation, etc... That which exist before the hardware and software and often what hardware and software creation is inspired by, directed by, guide lined by, etc..
If the philosophy base is wrong then its limitations will manifest through the software and hardware created under such a philosophy and eventually show the limitations, via failure to perform.
There are plenty examples of human philosophy errors, such as how it wasn't until the early 1990's that the Catholic Church exonerated Galileo over his observation the earth revolved around the sun. The Atlanta Centennial park bombing where the 911 system failed because no-one gave the park an address..... or is the philosophy of programming a 911 system to require an address the error? Or is it a good thing that all things needing 911 are at an address?
My pet peeve of the computer industry, the button on the front of the computer marked with a 0 & 1 symbol(s), yet over engineering has resulted in the meaning of those symbols to be more than "off & on" and this went further in removing the hard on off switch so that when the software based power switch failed, you have to physically unplug the computer from the wall, or take the battery out. The correct philosophy for such a switch would be a multi-position switch, which the consumer doesn't have to know more than is obvious... And ultimately the motivating philosophy behind the software switch is that of creating an OS that needs a shutdown sequence and time for it. When you think of this "0&1" switch, what better representation of distorting the most basic and fundamental concept of computers with "overcomplexifabulocation" can there possible be?
Software and hardware is not where the error lies in this Air France 447 tragedy, even if there is failure or limitations found there in hardware and software, but the failure is in not providing a manual override. And if the technology has been made to complex for manual control.... then let grandma crawl under the desk to unplug the damn computer....shut it down until the real problem is fixed.
BTW, due to the competitive commercial nature of aerospace software development tools, there is a level of incompatibility between them and as such there is also motive for playing the lockin game regardless of any "unforeseen" risk to others. Perhaps there is a place for open source software here!!!
Don't bow down to the stone image (Stone = computer hardware & Image = software of human thought processing) of the beast of man, for the beast is error prone and his image can be no better. Instead take a closer look at the code and usage of the code.... with many different human eyes.....
9) References & notes:
As is the nature of the internet, external links can become obsolete or change.
1999 USPTO Publication of comments to an RFC  see comment #4
2005 wiki.ffii.org original article  and initial base for this page And......
.....the former Wikipedia article. Note: Discussion on the Wikipedia article removal was deleted that otherwise shown Wikipedia editors unfair bias against the self evident and verifiable unavoidable action constants of Abstraction Physics. However, discussion of another former & related wikipedia article on Timothy Rue addresses Wikipedia weaknesses. Also see: Deception & Overcoming It @ techniques of deception via wrongful use of abstractions.
2006 Project "Open Source as Prior Art" Tagging Prototype 
Functional logic details of "Virtual Interaction Configuration"  (i.e. use of the three values of: current, previous and default on various levels for versatility.)
The IQ Command - IQ.zip (7th Action Constants) written in the Python Programming Language.
Included is a MS Windows .exe version of the IQ command that runs from an MS Windows "command prompt." Read section 5 on "DOCUMENT Mark Ups" on this Home page and IQ Command examples
December 1997 - Simple circular flow-charting Usenet posting  provides an example description of abstraction physics, Virtual Interaction Configuration application of cycles.
About the Pictogram/Icon/Crop Circle (Barbury Castle 1991) in upper left corner of this page and its relevance.
How "The Matrix" movie representation of Abstraction Action Constants came to be. and more in the apparent recursive nature of conspiracy theory entertainment.
"Physics of Computational Abstraction" as the closest I could find at the time in reference to "Abstraction Physics".
A 2006 patent listing in its "other reference" the Virtual Interaction Configuration. This will be interesting to re-write the claims in terms of abstraction physics showing non-novel, and anything else that shows the non-patent-ability of this patent.
A step forward for Abstraction Physics? United States Court of Appeals for the Federal Circuit - IN RE STEPHEN W. COMISKEY The Federal Circuit found the inventor's system unpatentable because it sought to "claim the mental process of resolving a legal dispute" by a human arbitrator. The court warned that "the routine addition of modern electronics to an otherwise unpatentable invention" doesn't make it patent-able. And here is the oral argument.
The Semicolon Wars A July/August 2006 article in American Scientist Online regarding "another programming language".
Another attempt to bring in software patents in Europe, with several interesting links.
End Software Patents - A U.S. based effort to abolish Software Patents
ACLU - First Amendment on Pure Abstraction - A step in the direction of recognizing abstraction is a human right.
Indications of mindset changing at learning institutions towards Abstraction Physics: (Moving Targets)
Great Principles of Computing is an evolving work in progress. Because of this its difficult to tell where it is really going. Could it be another "almost" or will they quantize and simplify the work to recognize "Abstraction Physics"? A March 29, 2007 lecture: Great Principles of Computing - Peter J. Denning
Computational Thinking seems to lack the tools to apply the learning feedback loop that is so important in using and really understanding the tool of computers. The focus is on claims of a new way of "thinking in terms of". Fails to realize proper priority in what came first, the computer and its programmed calculating ability or the common human mental functions that built and programmed the computer. But recognizes there is something there regarding common mental functioning across fields, industries and sciences. Just needs the tools of Abstraction Physics so to provide a verification loop for correct human understanding of the contents of "Computational Thinking"
NSF Cyber-enabled Discovery and Innovation (CDI) Program pursuing the ideals of "Computational Thinking" the National Science Foundation has this new CDI grant program. Though I do not fit the qualifications of being a learning institute or not-for-profit group or any group for that matter, just an individual, I'll point them here anyway. I must admit the text body of the "Introduction" and "Program Description" of the "Program Solicitation 07-603" reminds me of marketing hype and Science Fiction. Not that much of what the goals are, can't be reached, as I believe they can, but some of what is written suggest to me they really don't understand the foundation of the unavoidable abstraction physics, from which they are trying to build from. Recorded CDI webcast the day before LOI deadline w/Q&A It will be interesting to see what projects are awarded grants.
ACM Ubiquity symposium 'What is computation?' Clearly the mindset is changing towards Abstraction Physics. Rhetoric at ACM ubiquity is a bit thicker than it needs to be for the general computer users understanding and use, but I suppose ACM ubiquity addresses educational institutes and computing professional interest in doing so. Always an "almost"... for the end users?
Identification of the ten base action constants was done by Timothy Rue in February 1988, while having lunch at Pizza Hut.
Copyright © 2006, 2007, 2014 by Timothy V. Rue --- Released under Free Document License