When I think about where automated/computer decision making exists in this stack, it is in level 6 – computational creativity. You see, level 5 – artificial intelligence analyzes the world around it, and level 6 synthesizes things from its understanding. One of the things that can be synthesized is decisions. Level1&2:data. Level3&4:information. Level5&6:understanding. Level7&8:reproduction.
When building endemes by hand you are making decisions, so this form of building is a creative action. Endemes systemetize the construction of information, so endeme building can systemetize creativity.
Endemes are useful for some things and not others.
Not to make light of these disadvantages because they are significant, why do I like them?
1. Endeme sets can play well with each other and a great variety of
information can be stored as endemes
– Things of different types can be compared and even related.
– It breaks down the walls that strict logic creates between similar data structures
2. It is oriented toward storing information much more than data
THEREFORE: Endemes contain a tiny piece of intelligence/information in a theoretically scalable form
– they might be used to build an artificial brain
3. Folk programming keeps creating codes. Endemes allow us to manage them.
4. There are ‘no wrong answers’ in a properly built endeme set.
This means endemes can be used for fault tolerant genetic algorithms,
and graceful degradation in systems.
The main problem with the endeme information structure is that
1. it welds multiple fields into a less machine-accessable format which means:
– it can’t be directly used as an index
– you have to ‘pack’ it when you want to create one
– you have to ‘unpack’ it when you want to get at the information back out.
2. Data is lost when you move it from a numeric to a relative strength format.
3. You have to build an interpreter to make sense of it
4. You have to cram fields together until you can cover everything in scope in 22 characteristics or less
– Endemes are not for precise data: The obstacles mean that endemes are not for everything. For eaxample if you want to store temperature, you might not want to use an endeme for the data, although you might want to use it for the field.
Semantic data semantic layer for software development
could software development become easier if we could build a data semantic layer on top of databases?
what if we could build a data semantic layer on top of logical constructs?
not just reports but a data semantic layer adjusted for the terms that programmers want to see
not just the terms that businesses want to see
this could be an object member semantic layer
This list covers action verbs to think about information in order to create new project ideas. Note that ‘negate’ gets used with other action verbs like ‘hurt’; note that these verbs may be combined.
- Advocate: sell/promote
- Benefit: help/improve
- Create: Build/Develop/Construct
- Decision: Decision Making/Choice/Action
- Effect: Event/Result/Output/end/finish
- Future: planning/prediction
- Govern: manage/handle/guide/control
- Hurt: damage/problem/hazard
- Individualize: Customize/User preference
- Joined: Relationships/interaction
- Keep: settle/fix/be
- Location: physical world
- Modify: change/alter
- Negate X: avoidance/nullification/Negation
- Optimize: Balancing/Resources
- Presentation: Present/Format/Arrange/Layout
- Quanta/data: Data/text/numbers/bits/files/documents/measurements/values
- Receive: Get
- Send: Put/publish
- Technology: Integration/Technology/Interfaces/UIs
- Understand: Learning/Understanding/Knowledge building
- View: Vision/Recognition/spotting/finding/searching/detection
Here are some examples of capabilities that using information provides for a program when used inside an application:
- Allocation: Balancing/distribution/Balancing/resource allocation
- Building AI: Knowledge representation/AI/Data–>Information–>Ontologies->AI.
- Context/metadata: Metadata/Context/Richer metadata.
- Defined data: characterized data/data context/semantic data/soft coded context.
- Evolving systems: Evolution/Genetic Algorithms/Genetic algorithms.
- Fuzzy information: Anti-aliasing data and information.
- Generators: Creation/Creating new things programmatically.
- Handling 0nf: automation/Conflated information handling (0NF).
- Importance/order: Ordering/Importance management/Prioritization.
- Judgment: Action/decision/function/Decision automation.
- Knowledge/Information: Core information functionality above the level of data.
- Languages: Natural language/sub-natural languages.
- Mutual languages for users/humans/computers, HCI creative partnering.
- Networking: Mutual languages for data networking.
- Overlooked possibilities: Thorough coverage/Overlooked possibility identification.
- Information proxies: Information data equivalent/Proxy creation and analysis.
- Query/search: Filtering/search/matching/Filtering, searching, and matching.
- Recognition: Viewing/recognizing/profiles, signature/pattern recognition.
- State management: Status/State/Situation information, complex state management
- Type assimilation: Kinds/bits/assimilating database complexity.
- Using the results of data mining/information persistence/Information storage.
- Viewing systems: Condensing data/sparse data or information UIs.
This is in response to a question asked on Fora Is there a “ceiling” in software engineering? Why?
Software developers hit a glass ceiling because software development itself has hit a glass ceiling. Software development has failed to figure out how to work with information directly inside a computer program. Instead, we work with data rather than information. We have left the information work to the BI, data analytics, data mining, knowledge representation world. This world works with data after the fact to extract information from it.
What if programmers could work with information inside a program? before the fact. The next level of development could be to work with information as well as data inside a program. The glass ceiling is that we generally can not work with information. An entire new industry development effort needs to get started developing tools and techniques for doing this. I am doing my little bit to break through this glass ceiling at my blog. I also provide libraries for the techniques so far developed. But we need much more than a few techniques that one software developer can create, God willing. We need an industry push to break through the glass ceiling and build the entire information level of software development. Let’s get started!